Automated Reasoning in Propositional Logic Problem Given n
Automated Reasoning in Propositional Logic
Problem Given: n n KB: a set of sentence : a sentence Answer: n KB ?
Deduction vs. Satisfiability Test KB iff {KB, } is unsatisfiable Hence: • Deciding whether a set of sentences entails another sentence, or not • Testing whether a set of sentences is satisfiable, or not are closely related problems
Computational Approaches Enumeration of models Construction of a proof 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12)
Enumeration of Models P: Set of propositional symbols in {KB, } n: Size of P ENTAILS? (KB, ) For each of the 2 n models on P do If it is a model of {KB, } then return no Return yes
Satisfiability Test as CSP Each propositional symbol is a variable The domain of each variable is {True, False} Each sentence in {KB, } is a constraint on the value(s) taken by one or several variables Recursive backtracking CSP techniques and heuristics are applicable
Construction of a Proof 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12)
Construction of a Proof 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12) What do we need? A complete set of sound inference rules A complete search algorithm to decide which rule to apply next and to which sentences
Complementary Literals A literal is a either an atomic sentence or the negated atomic sentence, e. g. : P or P Two literals are complementary if one is the negation of the other, e. g. : P and P
Unit Resolution Rule Given two sentences: L 1 … Lp and M where Li, …, Lp and M are all literals, and M and Li are complementary literals Infer: L 1 … Li-1 Li+1 … Lp
Examples From: Engine-Starts Infer: Car-OK Modus ponens Engine-Starts Car-OK From: Engine-Starts Car-OK Infer: Engine-Starts Modus tolens Car-OK
Another Example 1. Engine-Starts Flat-Tire Car-OK 2. Engine-Starts 3. Flat-Tire 4. Flat-Tire Car-OK 5. Car-OK
Detection of Unsatisfiability 1. Car-OK 2. Car-OK 3. False
Soundness of Unit Resolution Let m be a model of: L 1 … Lp and M where M and Li are complementary literals Li must be False in m, hence L 1 … Li-1 Li+1 … Lp must be True
Shortcoming of Unit Resolution From: w Engine-Starts Flat-Tire Car-OK w Engine-Starts Empty-Gas-Tank we can infer nothing!
Full Resolution Rule Given two sentences: L 1 … Lp and M 1 … Mq where L 1, …, Lp, M 1, …, Mq are all literals, and Li and Mj are complementary literals Infer: L 1 … Li-1 Li+1 … Lk M 1 … Mj-1 Mj+1 … Mk in which only one copy of each literal is retained (factoring)
Example From: Flat-Tire Car-OK Engine-Starts Empty-Gas-Tank Engine-Starts Infer: Empty-Gas-Tank Flat-Tire Car-OK
Example From: Q Q R P ( P Q) ( Q R) Infer: P R ( P R)
Not All Inferences are Useful! From: Flat-Tire Car-OK Engine-Starts Flat-Tire Engine-Starts Infer: Flat-Tire Car-OK
Not All Inferences are Useful! From: Flat-Tire Car-OK Engine-Starts Flat-Tire Engine-Starts Infer: Flat-Tire Car-OK tautology
Not All Inferences are Useful! From: Flat-Tire Car-OK Engine-Starts Flat-Tire Engine-Starts Infer: Flat-Tire Car-OK True tautology
Soundness of Full Resolution Left as an exercise
Full Resolution Rule Given two sentences: L 1 … Lp and M 1 … Mq Infer: L 1 … Li-1 Li+1 … Lk M 1 … Mj-1 Mj+1 … Mk clauses
Sentence Clause Form Example: (A B) (C D)
Sentence Clause Form Example: (A B) (C D) 1. Eliminate (A B) (C D)
Sentence Clause Form Example: (A B) (C D) 1. Eliminate (A B) (C D) 2. Reduce scope of ( A B) (C D)
Sentence Clause Form Example: (A B) (C D) 1. Eliminate (A B) (C D) 2. Reduce scope of ( A B) (C D) 3. Distribute over ( A (C D)) (B (C D)) ( A C) ( A D) (B C) (B D)
Sentence Clause Form Example: (A B) (C D) 1. Eliminate (A B) (C D) 2. Reduce scope of ( A B) (C D) 3. Distribute over ( A (C D)) (B (C D)) ( A C) ( A D) (B C) (B D) Set of clauses: { A C , A D , B C , B D}
Resolution Refutation Algorithm RESOLUTION-REFUTATION(KB, a) clauses set of clauses obtained from KB and a new {} Repeat: For each C, C’ in clauses do res RESOLVE(C, C’) If res contains the empty clause then return yes new U res If new clauses then return no clauses U new
Completeness of Resolution Refutation Left as an exercise
Example 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Starter-OK Empty-Gas-Tank Engine-Starts Battery-OK Starter-OK Engine-Starts Flat-Tire Engine-Starts Car-OK
Example 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Starter-OK Empty-Gas-Tank Engine-Starts Battery-OK Starter-OK Engine-Starts Flat-Tire Engine-Starts Car-OK
Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire … Battery-OK Starter-OK Engine-Starts Flat-Tire …
Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire … Battery-OK Starter-OK Engine-Starts Flat-Tire … Battery-OK Starter-OK Flat-Tire … False (empty clause)
Resolution Heuristics Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: n Remove any clause containing two complementary literals (tautology) n Remove any clause C that contains all the literals of another clause C’ n If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
Example (Set-of-Support) 1. 2. 3. 4. 5. 6. 7. 8. 9. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Example (Set-of-Support) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Note the goal-directed Empty-Gas-Tank flavor Car-OK Flat-Tire Engine-Starts Car-OK Engine-Starts Battery-OK Starter-OK Empty-Gas-Tank False
Resolution Heuristics Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: n Remove any clause containing two complementary literals (tautology) n Remove any clause C that contains all the literals of another clause C’ n If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
Example (Shortest-Clause) 1. 2. 3. 4. 5. 6. 7. 8. 9. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Example (Shortest-Clause) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Engine-Starts Car-OK Engine-Starts Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank False
Resolution Heuristics Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: n Remove any clause containing two complementary literals (tautology) n Remove any clause C that contains all the literals of another clause C’ n If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
Example (Pure Literal) 1. 2. 3. 4. 5. 6. 7. 8. 9. Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
When to Use Logic? When the knowledge base is large and can be made explicit When formulating a problem as a CSP problem would yield complex constraints When the agent’s environment is conveniently described by true or false sentences
Summary Entailment problem Resolution rule Clause form of a set of sentences Resolution refutation algorithm Resolution heuristics
- Slides: 44