Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automated Reasoning in Propositional Logic

Similar presentations


Presentation on theme: "Automated Reasoning in Propositional Logic"— Presentation transcript:

1 Automated Reasoning in Propositional Logic
Russell and Norvig: Chapters 6 and 9 Chapter 7, Sections 7.5—7.6 CS121 – Winter 2003

2 Problem Given: KB: a set of sentence : a sentence Answer: KB  ?

3 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

4 Computational Approaches
Enumeration of models Construction of a proof Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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)

5 Enumeration of Models P: Set of propositional symbols in {KB,}
n: Size of P ENTAILS?(KB,) For each of the 2n models on P do If it is a model of {KB,} then return no Return yes

6 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

7 Construction of a Proof
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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)

8 Construction of a Proof
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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

9 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

10 Unit Resolution Rule Given two sentences: L1  …  Lp and M where Li,…, Lp and M are all literals, and M and Li are complementary literals Infer: L1  …  Li-1  Li+1  …  Lp

11 Examples From: Engine-Starts  Car-OK Engine-Starts Infer: Car-OK
Modus ponens Engine-Starts  Car-OK From: Engine-Starts  Car-OK Car-OK Infer: Engine-Starts Modus tolens

12 Another Example Engine-Starts  Flat-Tire  Car-OK Engine-Starts

13 Detection of Unsatisfiability
Car-OK Car-OK False

14 Soundness of Unit Resolution
Let m be a model of: L1  …  Lp and M where M and Li are complementary literals Li must be False in m, hence L1  …  Li-1  Li+1  …  Lp must be True

15 Shortcoming of Unit Resolution
From: Engine-Starts  Flat-Tire  Car-OK Engine-Starts  Empty-Gas-Tank we can infer nothing!

16 Full Resolution Rule Given two sentences: L1  …  Lp and M1  …  Mq where L1,…, Lp, M1,…, Mq are all literals, and Li and Mj are complementary literals Infer: L1 … Li-1Li+1…LkM1 … Mj-1Mj+1…Mk in which only one copy of each literal is retained (factoring)

17 Example From: Engine-Starts  Flat-Tire  Car-OK
Engine-Starts  Empty-Gas-Tank Infer: Empty-Gas-Tank  Flat-Tire  Car-OK

18 Example From: P  Q ( P  Q) Q  R ( Q  R) Infer:
P  R ( P  R)

19 Not All Inferences are Useful!
From: Engine-Starts  Flat-Tire  Car-OK Engine-Starts  Flat-Tire Infer: Flat-Tire  Flat-Tire  Car-OK

20 Not All Inferences are Useful!
From: Engine-Starts  Flat-Tire  Car-OK Engine-Starts  Flat-Tire Infer: Flat-Tire  Flat-Tire  Car-OK tautology

21 Not All Inferences are Useful!
From: Engine-Starts  Flat-Tire  Car-OK Engine-Starts  Flat-Tire Infer: Flat-Tire  Flat-Tire  Car-OK  True tautology

22 Soundness of Full Resolution
Left as an exercise

23 Full Resolution Rule clauses
Given two sentences: L1  …  Lp and M1  …  Mq Infer: L1 … Li-1Li+1…LkM1 … Mj-1Mj+1…Mk clauses

24 Sentence  Clause Form Example: (A  B)  (C  D)

25 Sentence  Clause Form Example: (A  B)  (C  D)
1. Eliminate  (A  B)  (C  D)

26 Sentence  Clause Form Example: (A  B)  (C  D)
1. Eliminate  (A  B)  (C  D) 2. Reduce scope of  (A  B)  (C  D)

27 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)

28 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}

29 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  new U res If new  clauses then return no clauses  clauses U new

30 Completeness of Resolution Refutation
Left as an exercise

31 Example Battery-OK  Bulbs-OK  Headlights-Work
Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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  Empty-Gas-Tank  Engine-Starts Battery-OK  Starter-OK  Engine-Starts Engine-Starts  Flat-Tire Engine-Starts  Car-OK

32 Example Battery-OK  Bulbs-OK  Headlights-Work
Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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  Empty-Gas-Tank  Engine-Starts Battery-OK  Starter-OK  Engine-Starts Engine-Starts  Flat-Tire Engine-Starts  Car-OK

33 Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Battery-OK  Starter-OK  Engine-Starts Engine-Starts  Flat-Tire

34 Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Battery-OK  Starter-OK  Engine-Starts Engine-Starts  Flat-Tire Battery-OK  Starter-OK  Flat-Tire Starter-OK  Flat-Tire Flat-Tire False (empty clause)

35 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: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)

36 Example (Set-of-Support)
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts Engine-Starts  Flat-Tire  Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire

37 Example (Set-of-Support)
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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 Battery-OK  Starter-OK  Empty-Gas-Tank Starter-OK  Empty-Gas-Tank Empty-Gas-Tank False Note the goal-directed flavor

38 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: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)

39 Example (Shortest-Clause)
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts Engine-Starts  Flat-Tire  Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire

40 Example (Shortest-Clause)
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts 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 Starter-OK  Empty-Gas-Tank Empty-Gas-Tank False

41 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: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)

42 Example (Pure Literal)
Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK  Empty-Gas-Tank  Engine-Starts Engine-Starts  Flat-Tire  Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire

43 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

44 Summary Entailment problem Resolution rule
Clause form of a set of sentences Resolution refutation algorithm Resolution heuristics


Download ppt "Automated Reasoning in Propositional Logic"

Similar presentations


Ads by Google