200 likes | 307 Views
Chaining in First Order Logic. CS 171/271 (Chapter 9, continued) Some text and images in these slides were drawn from Russel & Norvig’s published material. Forward Chaining. Forward Chaining in PL extends to FOL A similar restriction applies to the KB Implications Atomic sentences
E N D
Chaining in First Order Logic CS 171/271 (Chapter 9, continued) Some text and images in these slides were drawn fromRussel & Norvig’s published material
Forward Chaining • Forward Chaining in PL extends to FOL • A similar restriction applies to the KB • Implications • Atomic sentences • KB can contain quantifiers • Apply EI for existentially quantified sentences • Allow variables for universally quantified sentences (omit quantifier in such sentences)
Knowledge Base Example • The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American. • Prove that Colonel West is a criminal
Knowledge Base Example ... it is a crime for an American to sell weapons to hostile nations: American(x) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x) Nono … has some missiles, i.e., x Owns(Nono,x) Missile(x): Owns(Nono,M1) and Missile(M1) … all of its missiles were sold to it by Colonel West Missile(x) Owns(Nono,x) Sells(West,x,Nono) Missiles are weapons: Missile(x) Weapon(x) An enemy of America counts as "hostile“: Enemy(x,America) Hostile(x) West, who is American … American(West) The country Nono, an enemy of America … Enemy(Nono,America)
Forward Chaining Example Missile(x) Weapon(x) Enemy(x,America) Hostile(x) Missile(x) Owns(Nono,x) Sells(West,x,Nono)
Forward Chaining Example American(x) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x)
About Forward Chaining • Matching rules against known facts • Incremental forward chaining • Irrelevant facts
Backward Chaining • Begin with goal (query) • Recursively build a set of substitutions that satisfy the premises necessary to conclude goal
Backward Chaining Algorithm SUBST(COMPOSE(θ1, θ2), p) = SUBST(θ2, SUBST(θ1, p))
About Backward Chaining • Uses composition of substitutions • A DFS algorithm • Linear time • Repeated states and incompleteness