1 / 36

CS 414

CS 414. ARTIFICIAL INTELLIGENCE. LECTURE 06. Proving Theorem in FOL. Proving theorem in FOL raises two additional problems: Need to remove quantifiers Need to be able to compare variable (which represent unknown values). Substitution and Unification.

Albert_Lan
Download Presentation

CS 414

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 414 ARTIFICIAL INTELLIGENCE LECTURE 06

  2. Proving Theorem in FOL • Proving theorem in FOL raises two additional problems: • Need to remove quantifiers • Need to be able to compare variable (which represent unknown values)

  3. Substitution and Unification • A substitution is a set of variable/ term pairs that one can apply to sentences to perform some needed unification or other manipulation SUBST(, ) denoted the result of applying substitution  to sentence  e.g., SUBST({x/A, y/ f(x)}, P (x,y)) = P(A, f(A)) • Unification is the process of taking 2 atomic statements and finding a substitution that make them equivalent UNIFY(p,q) =  where SUBST(, p) = SUBST(, q) e.g. UNIFY(P(x), P(A) = { x/A }

  4. Unification Example Knows(John, x)  Hates(John, x) Knows(John, Jane) Knows(y, Leonid) Knows(y, Mother(y)) Knows(x, Elizabeth) UNIFY(Knows(John, x), Knows(John, Jane)) = {x/Jane} UNIFY(Knows(John, x), Knows(y, Leonid)) = {x/Leonid, y/John} UNIFY(Knows(John, x), Knows(y, Mother(y))) = {y/John, x/Mother(John)} UNIFY(Knows(John, x), Knows(x, Elizabeth) = fail

  5. Resolution • Input are sentences in conjunctive normal form with no apparent quantifiers (implicit universal quantifiers). • How do we go from the full range of sentences in FOL, with the full range of quantifiers, to sentences that enable us to use resolution as our single inference rule? • We will convert the input sentences into a new normal form called clausal form.

  6. Converting to Clausal Form 1. Eliminate ,  a b ≡¬a v b 2. Drive in ¬ ¬(a v b) ≡ ¬ a⋀¬ b ¬(a⋀b) ≡ ¬ a v ¬ b ¬¬a ≡ a ¬x. P(x) ≡ x. ¬P(x) ¬x. P(x) ≡ x. ¬P(x) 3. Rename variables apart x. y. (P(x) x. Q(x,y)) x1. y2. (P(x1) x3.Q(x3,y2))

  7. 4. Skolemize Substitute brand new name for each existentially quantified variable Substitute a new function of all universally quantified variables in enclosing scopes for each existentially quantified variable. x. P(x)  P(Fred) x. P(x,y)  P(X11, Y13) x. P(x) ⋀ Q(x)  P(Blue) ⋀ Q(Blue) y. x. Loves(x,y) x. Loves(x, Englebert) x. y. Loves(x,y) x. Loves(x, Beloved(x)) 5. Drop universal quantifiers 6. Convert to CNF 7. Rename the variables in each clause x. P(x) ⋀Q(x) y. P(y) ⋀z. Q(z) Converting to Clausal Form

  8. Example: Converting to clausal form

  9. Example: Converting to clausal form

  10. Curiosity Killed the Cat

  11. Resolution Proof • Question (informal): Is Marcus alive in the year 2001? • Axioms (informal) • Marcus was a man. • Marcus was a Pompeian. • Marcus was born in 40 A.D. • All man are mortal. • The volcano erupted in 79 A.D. • All Pompeians died when the volcano erupted. • No mortal lives longer than 150 years. • Additional axioms are required. 8. Alive means not dead 9. If someone dies, they remain dead.

  12. Resolution Proof Axioms in clause form • Man(Marcus) • Pompeian(Marcus) • Born(Marcus, 40) • Man(x1)  Mortal(x1) from... x Man(x)  Mortal(x) • Erupted(Volcano, 79) • Pomepeian(x2)  Died(x2, 79) from... x Pompeian(x)  Died(x, 79) • Mortal(x3)  Born(x3, t1)  Gt(t2-t1, 150)  Dead(x3, t2) from... x,t1,t2 (Mortal(x)Born(x,t)Gt(t2-t1, 150)  Dead(x, t2))

  13. Resolution Proof 8a. Alive(x4, t3)  Dead(x4, t3) 8b. Dead(x4, t3)  Alive(x4, t3) from... x,tAlive(x, t)  Dead(x, t) 9. Died(x6, t5)  Gt(t6,t5)  Dead(x6,t6) from... x,t1,t2 Died(x, t1) Gt(t2,t1)  Dead(x, t2) Prove: alive(Marcus, 2001) Negate clause to be proved and add to list: alive(Marcus, 2001)

  14. Alive(Marcus, 2001) Alive(x4, t3)Dead(x4, t3) {x4/Marcus, t3/2001} Mortal(x3)  Born(x3, t1)  Gt(t2-t1, 150)  Dead(x3, t2) Dead(x4, 2001) {x3/Marcus, t2/2001} Mortal(Marcus)  Born(Marcus, t1)  Gt(2001-t1, 150) Man(x1)  Mortal(x1) {x1/Marcus} Man(Marcus)  Born(Marcus, t1)  Gt(2001-t1, 150) Man(Marcus) Born(Marcus, t1)  Gt(2001-t1, 150) Born(Marcus, 40) {t1/40} Gt(2001-40, 150) Gt(1961, 150)

  15. Try this • Use Resolution prove that West is a criminal

More Related