# Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm.

## Presentation on theme: "Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm."— Presentation transcript:

Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm

Knowledge-Based Agent environment agent ? sensors actuators Knowledge base

Types of Knowledge Procedural, e.g.: functions Such knowledge can only be used in one way -- by executing it Declarative, e.g.: constraints It can be used to perform many different sorts of inferences

Logic Logic is a declarative language to: Assert sentences representing facts that hold in a world W (these sentences are given the value true) Deduce the true/false values to sentences representing other aspects of W

Connection World-Representation World W Conceptualization Facts about W hold Sentences represent Facts about W represent Sentences entail

Examples of Logics Propositional calculus A  B  C First-order predicate calculus ( x)( y) Mother(y,x) Logic of Belief B(John,Father(Zeus,Cronus))

Model Assignment of a truth value – true or false – to every atomic sentence Examples: Let A, B, C, and D be the propositional symbols m = {A=true, B=false, C=false, D=true} is a model m’ = {A=true, B=false, C=false} is not a model With n propositional symbols, one can define 2 n models

Model of a KB Let KB be a set of sentences A model m is a model of KB iff it is a model of all sentences in KB, that is, all sentences in KB are true in m Given a vocabulary A, B, C and D, how many models for A^B -> C are there? for A^B -> B?

Satisfiability of a KB A KB is satisfiable iff it admits at least one model; otherwise it is unsatisfiable KB1 = {P,  Q  R} is satisfiable KB2 = {  P  P} is satisfiable KB3 = {P,  P} is unsatisfiable valid sentence or tautology

Logical Entailment KB : set of sentences  : arbitrary sentence KB entails  – written KB  – iff every model of KB is also a model of  Alternatively, KB  iff {KB,  } is unsatisfiable KB   is valid

Inference Rule An inference rule { ,  }  consists of 2 sentence patterns  and  called the conditions and one sentence pattern  called the conclusion If  and  match two sentences of KB then the corresponding  can be inferred according to the rule 

Inference I: Set of inference rules KB: Set of sentences Inference is the process of applying successive inference rules from I to KB, each rule adding its conclusion to KB

Example: Modus Ponens Battery-OK  Bulbs-OK  Headlights-Work Battery-OK  Starter-OK   Empty-Gas-Tank  Engine-Starts Engine-Starts   Flat-Tire  Car-OK Battery-OK  Bulbs-OK { ,  }  { ,  }   

 Connective symbol (implication) Logical entailment Inference  KB  iff KB   is valid

Soundness An inference rule is sound if it generates only entailed sentences All inference rules previously given are sound, e.g.: modus ponens: {   ,  }  The following rule: {   ,  }  is unsound, which does not mean it is useless  

Completeness A set of inference rules is complete if every entailed sentences can be obtained by applying some finite succession of these rules Modus ponens alone is not complete, e.g.: from A  B and  B, we cannot get  A

Proof The proof of a sentence  from a set of sentences KB is the derivation of  by applying a series of sound inference rules

Proof 1. Battery-OK  Bulbs-OK  Headlights-Work 2. Battery-OK  Starter-OK   Empty-Gas-Tank  Engine-Starts 3. Engine-Starts   Flat-Tire  Car-OK 4. Headlights-Work 5. Battery-OK 6. Starter-OK 7.  Empty-Gas-Tank 8.  Car-OK 9. Battery-OK  Starter-OK  (5+6) 10. Battery-OK  Starter-OK   Empty-Gas-Tank  (9+7) 11. Engine-Starts  (2+10) 12. Engine-Starts  Flat-Tire  (3+8) 13. Flat-Tire  (11+12)

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

KB  iff {KB,  } is unsatisfiable Deduction vs. Satisfiability Test 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

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  …  L p and M where L i,…, L p and M are all literals, and M and L i are complementary literals Infer: L 1  …  L i-1  L i+1  …  L p

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

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

Full Resolution Rule Given two sentences: L 1  …  L p and M 1  …  M q where L 1,…, L p, M 1,…, M q are all literals, and L i and M j are complementary literals Infer: L 1  …  L i-1  L i+1  …  L k  M 1  …  M j-1  M j+1  …  M k in which only one copy of each literal is retained (factoring)

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

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

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

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

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

Full Resolution Rule Given two clauses: L 1  …  L p and M 1  …  M q Infer the clause: L 1  …  L i-1  L i+1  …  L k  M 1  …  M j-1  M j+1  …  M k

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  ) clauses  set of clauses obtained from KB and  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

Example 1.  Battery-OK   Bulbs-OK  Headlights-Work 2.  Battery-OK   Starter-OK  Empty-Gas-Tank  Engine-Starts 3.  Engine-Starts  Flat-Tire  Car-OK 4. Headlights-Work 5. Battery-OK 6. Starter-OK 7.  Empty-Gas-Tank 8.  Car-OK 9.  Flat-Tire

Summary Propositional Logic Model of a KB Logical entailment Inference rules Resolution rule Clause form of a set of sentences Resolution refutation algorithm

Download ppt "Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm."

Similar presentations