1 / 48

First-Order Logic

Learn the basics of First-Order Logic, including symbols, variables, quantifiers, and sentences. Understand how to represent and manipulate logical statements in FOL.

haroldmoss
Download Presentation

First-Order Logic

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. First-Order Logic ECE457 Applied Artificial Intelligence Spring 2008 Lecture #7

  2. Outline • First-order logic (FOL) • Sentences • Russell & Norvig, chapter 8 • Inference • Russell & Norvig, chapter 9 ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 2

  3. First-Order Logic • Propositional logic is limited • Cannot represent information concisely • We want something more expressive • First-order logic • Allows the representation of objects, functions on objects and relations between objects • Allows us to represent almost any English sentence ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 3

  4. New Symbols in FOL • Constant symbol • An individual object in the world • Bob, James, Hat • Predicate symbol • A relation between two objects that can be true or false • Brother(Bob, James), OnHead(Hat, Bob) • Function symbol • Special type of relation that maps one object to another • Head(Bob) • All symbols begin with uppercase letters ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 4

  5. New Variables in FOL • Begin with lowercase letters • Stand-in for any symbol • Brother(x,y) • x is the brother of y ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 5

  6. New Quantifiers in FOL • Universal quantifier  • x means “For all x…” • Always true • Usually used with  • x means “Not all x…” • Existential quantifier  • x means “There exists an x…” • True for at least one interpretation • Usually used with  • x means “There exists no x…” ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 6

  7. Properties of New Quantifiers • Duality • x P(x) same as x P(x) • x P(x) same as x P(x) • Nesting • x y P(x,y) same as y x P(x,y) • x y P(x,y) same as y x P(x,y) • x y P(x,y) not same as y x P(x,y) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 7

  8. Sentences in FOL • Term • Constant symbol, function symbol, or variable • Atom (atomic sentence) • Predicate symbol with value true or false • Represents a relation between terms • Sentence (complex sentence) • Atom(s) joined together using logical connectives and/or quantifiers ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 8

  9. Example Sentences • Purple mushrooms are poisonous • Purple(x)  Mushroom(x)  Poisonous(x) • Some purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) (bad!) • x Purple(x)  Mushroom(x)  Poisonous(x) • No purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) • x Purple(x)  Mushroom(x)  Poisonous(x) • There are exactly two purple mushrooms • x yz Purple(x)  Mushroom(x)  Purple(y)  Mushroom(y)  (x=y)  Purple(z)  Mushroom(z)  (x=z)  (y=z) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 9

  10. Implication Truth Table • If α is true, then β must be true for the implication to be true • If α is false, then we have no information about β • β might be true or false without affecting the implication • β is not necessarily true • If implication is true and α is true, then β must be true (Modus Ponens) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 10

  11. Universal Implication • x = { , , } • All purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) • Universal: all three implications are true • is purple and a mushroom  is poisonous • is purple and a mushroom  is poisonous • is purple and a mushroom  is poisonous • But the first one is the only one where the premise is true, therefore the only one where we know the consequent is true (Modus Ponens) • Otherwise, we don’t know whether x is poisonous ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 11

  12. Existential Implication • x = { , , } • Some purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) • Existential: at least one implication is true • is purple and a mushroom  is poisonous • is purple and a mushroom  is poisonous • is purple and a mushroom  is poisonous • But all those where the premise is false are true • The existential implication doesn’t give us any information ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 12

  13. Existential Conjunction • x = { , , } • Some purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) • Existential: at least one statement is true • is purple and a mushroom and is poisonous • is purple and a mushroom and is poisonous • is purple and a mushroom and is poisonous • The first statement is true, the other two are false • The existential quantifier is satisfied • The situation is consistent with our original meaning ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 13

  14. Universal Conjunction • x = { , , } • All purple mushrooms are poisonous • x Purple(x)  Mushroom(x)  Poisonous(x) • Universal: all three statements are true • is purple and a mushroom and is poisonous • is purple and a mushroom and is poisonous • is purple and a mushroom and is poisonous • “Everything is a poisonous purple mushroom” • This is false, and not the original meaning of our sentence ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 14

  15. Summary • Universal quantifier  • Usually used with  to create universal rules • Using it with  makes blanket statements about all objects in the world • Existential quantifier  • Usually used with  to list properties of an object • Using it with  creates sentences that do not say much ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 15

  16. Example Sentences • You can fool some people all the time • x y Person(x) Time(y)  CanBeFooled(x,y) • Everyone who loves all animals is loved by someone • x y Animal(y)  Love(x,y)  z Love(z,x) • No living man can kill the Witch-King • x Living(x)  Man(x)  CanKill(x, Witch-King) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 16

  17. Wumpus World in FOL • Predicate to represent adjacent rooms • x,y,a,b Adjacent([x,y],[a,b]) [a,b]  {[x+1,y], [x-1,y], [x,y+1], [x,y-1]} • Sentences to represent the relationship between breezy rooms and pits • r Breeze(r)  s Adjacent(r,s)  Pit(s) • s Pit(s)  (r Adjacent(r,s)  Breeze(r)) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 17

  18. Inference in FOL • We know how to do inference in propositional logic • Can we reduce FOL to propositional logic and infer from there? • Propositionalization • Eliminate universal quantifiers • Eliminate existential quantifiers ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 18

  19. Universal Instantiation • A universal variable x in a true sentence P(x) can be substituted by any (and all) ground terms g without variables in the domain of x, and P(g) will be true • SUBST({x/g},P(x)) = P(g) • Example • x  {Bob, James, Tom} • x Strong(x)  Fast(x)  Athlete(x) • Strong(Bob)  Fast(Bob)  Athlete(Bob)Strong(James)  Fast(James)  Athlete(James)Strong(Tom)  Fast(Tom)  Athlete(Tom) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 19

  20. Existential Instantiation • Any existential variable x in a true sentence P(x) can be replaced by a constant symbol not already in the KB • Skolem constant • Example • x Purple(x)  Mushroom(x) Poisonous(x) • Purple(C)  Mushroom(C)  Poisonous(C) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 20

  21. Inference Example • We know the following • All of Bob’s dogs are brown. Fido is a dog. Bob owns Fido. • Can we infer that Fido is brown? • Translate into FOL KB • x Dog(x)  Own(Bob,x)  Brown(x) • Dog(Fido) • Own(Bob,Fido) • Apply inference rules • Universal Instantiation with {x/Fido}: Dog(Fido)  Own(Bob,Fido)  Brown(Fido) • And-Introduction: Dog(Fido)  Own(Bob,Fido) • Modus Ponens: Brown(Fido) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 21

  22. Problem with Propositionalization • The set of ground substitution can be infinite • Function symbols can be nested infinitely • Example: Father(x) = Father(Bob), Father(Father(Bob)), Father(Father(Father(Bob))), … • Algorithms can prove sentence is entailed • Search every depth successively until sentence is found • Algorithms cannot prove sentence is not entailed • Will search deeper and deeper, forever • Entailment in FOL is semidecidable ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 22

  23. Problem with Propositionalization • Modify the previous example • x Dog(x)  Own(Bob,x)  Brown(x) • Dog(Fido), Dog(Barky), Dog(Dogbert), Dog(Princess), Dog(Lassie), Dog(K-9) • Own(Bob,Fido) • Inference with Propositionalization • Universal Instantiation: Dog(Fido)  Own(Bob,Fido)  Brown(Fido)Dog(Barky)  Own(Bob,Barky)  Brown(Barky)Dog(Dogbert)  Own(Bob,Dogbert)  Brown(Dogbert)Dog(Princess)  Own(Bob,Princess)  Brown(Princess)Dog(Lassie)  Own(Bob,Lassie)  Brown(Lassie)Dog(K-9)  Own(Bob,K-9)  Brown(K-9) • And-Introduction: Dog(Fido)  Own(Bob,Fido) • Modus Ponens: Brown(Fido) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 23

  24. Problem with Propositionalization • Brown(Fido) is obvious to us • Universal Instantiation generates a lot of useless substitutions which are obviously unnecessary (to us) • Recall Modus Ponens: • (α  β), αβ ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 24

  25. Generalized Modus Ponens • Combine And-Introduction, Universal Elimination, and Modus Ponens • p1’, p2’,…, pn’, (p1 p2 …  pnq) SUBST(, q) • p1 = Dog(x) p2 = Own(Bob,x) q = Brown(x) • p1’ = Dog(Fido) p2’ = Own(Bob,Fido) •  = {x/Fido} • SUBST(, q) = Brown(Fido) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 25

  26. Inference Example • FOL KB • x Dog(x)  Own(Bob,x)  Brown(x) • Dog(Fido), Dog(Barky), Dog(Dogbert), Dog(Princess), Dog(Lassie), Dog(K-9) • Own(Bob,Fido) • Inference with Generalized Modus Ponens • Dog(Fido), Own(Bob,Fido), Dog(x)  Own(Bob,x)  Brown(x) •  = {x/Fido} • Brown(Fido) • Requires some form of pattern matching to discover  ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 26

  27. Unification • Unification algorithm takes two sentences p and q • Returns the substitutions to make both sentences match, or failure if none is possible • UNIFY(p,q) = , where  is the list of substitutions in p and q • Find the matching that places the least restrictions on the variables • Most general unifier (MGU) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 27

  28. Unification • Given sentences p and q,  is empty • Scan p and q left to right • If they disagree on terms r and s • If r is a variable • If s is a complex term and r occurs in s • Fail • Else • Add r/s to  • Else if s is a variable (but r is a complex term) • If s occurs in r • Fail • Else • Add s/r to  • Else (both r and s are complex term) • Apply unification to r and s ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 28

  29. Unification Rules • Function symbols and predicate symbols unify with function symbols and predicate symbols that have identical names and number of arguments • Constant symbols can only unify with identical constant symbols • Variables can unify with other variables, constant symbols, or function symbols • Variables cannot unify with a term in which that variable occurs. • x cannot unify with P(x), as that leads to P(P(P(P(…P(x)…)))) • That is an occur check error ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 29

  30. Unification Examples • p = Parents(x, Father(x), Mother(Bob))q = Parents(Bob, Father(Bob), y) • Consider first term of each sentence • r = Parents(x, Father(x), Mother(Bob)) • s = Parents(Bob, Father(Bob), y) • Disagreement • r and s are predicate symbols with identical names and number of arguments, so unification is possible • Unify arguments • r = x, s = Bob, x/Bob • r = Father(Bob), s = Father(Bob), no substitution • r = Mother(Bob), s = y, y/Mother(Bob) •  = {x/Bob, y/Mother(Bob)} ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 30

  31. Unification Examples • p = Parents(x, Father(x), Mother(Bob))q = Parents(Bob, Father(y), z) • Unify arguments • r = x, s = Bob, x/Bob • r = Father(Bob), s = Father(y), y/Bob • r = Mother(Bob), s = z, z/Mother(Bob) •  = {x/Bob, y/Bob, z/Mother(Bob)} ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 31

  32. Unification Examples • p = Parents(x, Father(x), Mother(Jane))q = Parents(Bob, Father(y), Mother(y)) • Unify arguments • r = x, s = Bob, x/Bob • r = Father(Bob), s = Father(y), y/Bob • r = Mother(Jane), s = Mother(Bob), Fail • Fail ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 32

  33. Unification Exercises • p = Parents(x, Father(x), Mother(x))q = Parents(Bob, SpermDonor(y), Mother(Bob)) • Fail • p = Parents(x, Father(x), Mother(x))q = Parents(Anakin, Mother(Anakin)) • Fail • p = Parents(Bob, x, Mother(y))q = Parents(Bob, Father(y), Mother(Bob)) • {x/Father(Bob), y/Bob} • p = Parents(Bob, x, Mother(y))q = Parents(Bob, Father(x), Mother(Bob)) • Fail ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 33

  34. Forward / Backward Chaining • Unification algorithm finds  that unifies (p1’, …, pn’) and (p1 …  pn) • Makes Generalized Modus Ponens possible • Recall from Propositional Logic • Inference using Modus Ponens • Either forward chaining or backward chaining • We have Generalized Modus Ponens for FOL • Inference is possible! • Forward chaining or backward chaining ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 34

  35. Forward / Backward Chaining • Forward chaining • Data-driven reasoning • Start with known symbols • Infer new symbols and add to KB • Use new symbols to infer more new symbols • Repeat until query proven or no new symbols can be inferred • Backward chaining • Goal-driven reasoning • Start with query, try to infer it • If there are unknown symbols in the premise of the query, infer them first • If there are unknown symbols in the premise of these symbols, infer those first • Repeat until query proven or its premise cannot be inferred ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 35

  36. Resolution • Recall from Propositional Logic • (αβ), (¬βγ)(α  γ) • Resolution rule is both sound and complete • Proof by contradiction • Convert KB to conjunctive normal form (CNF) • Add negation of query • Then perform inference until we reach a contradiction resulting from the negated query • Reaching contradiction means query is true ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 36

  37. Resolution Steps • Convert problem into FOL KB • Convert FOL statements in KB to CNF • Add negation of query (in CNF) in KB • Use FOL resolution rule to infer new clauses from KB • Produce a contradiction that proves our query ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 37

  38. Conversion to CNF • Three new steps (4, 5, 6) & rules in step 3 • Eliminate biconditionals: (αβ) ((αβ)(βα)) • Eliminate implications: (α  β) (¬α β) • Move/Eliminate negations: ¬(¬α)  α, ¬(α  β) (¬α ¬β), ¬(α  β) (¬α ¬β),¬x P(x)  x ¬P(x), ¬x P(x)  x ¬P(x) • Standardize variables: x P(x)  x Q(x)  x P(x)  y Q(y) • Skolemize: x P(x)  P(C) • Drop universal quantifiers: x P(x)  P(x) • Distribute  over : (α (βγ)) ((αβ)  (αγ)) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 38

  39. Conversion to CNF • Everyone who loves all animals is loved by someone • x [y Animal(y)  Love(x,y)]  y Love(y,x) • x ¬[y Animal(y)  Love(x,y)]  y Love(y,x) • x y ¬[Animal(y)  Love(x,y)]  y Love(y,x)x y ¬Animal(y) ¬Love(x,y)  y Love(y,x) • x y ¬Animal(y) ¬Love(x,y)  z Love(z,x) • x ¬Animal(C1) ¬Love(x,C1)  Love(C2,x) • ¬Animal(C1) ¬Love(x,C1)  Love(C2,x) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 39

  40. Conversion to CNF • There is a book which everyone buys only if there is a class that requires it • x Book(x)  [y Buy(y,x)]  [y Class(y)  Requires(y,x)] • x Book(x)  {[y Buy(y,x)]  [y Class(y)  Requires(y,x)]}  {[y Class(y)  Requires(y,x)] [y Buy(y,x)]} • x Book(x)  {¬[y Buy(y,x)]  [y Class(y)  Requires(y,x)]}  {¬[y Class(y)  Requires(y,x)]  [y Buy(y,x)]} • x Book(x)  {[y ¬Buy(y,x)]  [y Class(y)  Requires(y,x)]}  {[y ¬Class(y) ¬Requires(y,x)]  [y Buy(y,x)]} • x Book(x)  {y ¬Buy(y,x)  [z Class(z)  Requires(z,x)]}  {[z ¬Class(z) ¬Requires(z,x)]  y Buy(y,x)} • Book(C1)  {¬Buy(C2,C1)  [Class(C3)  Requires(C3,C1)]}  {[z ¬Class(z) ¬Requires(z,C1)]  y Buy(y,C1)} • Book(C1)  {¬Buy(C2,C1)  [Class(C3)  Requires(C3,C1)]}  {¬Class(z) ¬Requires(z,C1)  Buy(y,C1)} • Book(C1)  [¬Buy(C2,C1)  Class(C3)]  [¬Buy(C2,C1)  Requires(C3,C1)]  [¬Class(z) ¬Requires(z,C1)  Buy(y,C1)] ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 40

  41. FOL Resolution • (αβ’), (¬βγ)SUBST(, αγ) •  = UNIFY(β’, β) • Example • Animal(Dog(x))  Love(Bob,x) • ¬Love(y,z)  ¬Hunt(y,z) • UNIFY( Love(Bob,x), Love(y,z) ) •  = {y/Bob, z/x} • Animal(Dog(x))  ¬Hunt(Bob,x) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 41

  42. Example of Resolution • Consider the story • Anyone passing their ECE457 exam and winning the lottery is happy. Anyone who studies or is lucky can pass all their exams. Bob did not study but is lucky. Anyone who’s lucky can win the lottery. • Is Bob happy? • Use: • Pass(x,y), Win(x,y), Happy(x), Study(x), Lucky(x), ECE457, Lottery, Bob ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 42

  43. Example of Resolution • Convert to FOL • Anyone passing their ECE457 exam and winning the lottery is happy. x Pass(x, ECE457)  Win(x,Lottery)  Happy(x) • Anyone who studies or is lucky can pass all their exams. x y Study(x)  Lucky(x)  Pass(x,y) • Bob did not study but is lucky. ¬Study(Bob)  Lucky(Bob) • Anyone who’s lucky can win the lottery.x Lucky(x)  Win(x,Lottery) • Is Bob happy?Happy(Bob) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 43

  44. Example of Resolution • Convert to CNF • x Pass(x, ECE457)  Win(x,Lottery)  Happy(x)x ¬(Pass(x, ECE457)  Win(x,Lottery)) Happy(x)x ¬Pass(x, ECE457)  ¬Win(x,Lottery)  Happy(x)¬Pass(x, ECE457)  ¬Win(x,Lottery)  Happy(x) • x y Study(x)  Lucky(x)  Pass(x,y)x y ¬(Study(x)  Lucky(x))  Pass(x,y)x y (¬Study(x)  ¬Lucky(x))  Pass(x,y)(¬Study(x)  ¬Lucky(x))  Pass(x,y) (¬Study(x)  Pass(x,y))  (¬Lucky(x)  Pass(x,y)) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 44

  45. Example of Resolution • Convert to CNF • ¬Study(Bob)  Lucky(Bob) • x Lucky(x)  Win(x,Lottery)x ¬Lucky(x) Win(x,Lottery)¬Lucky(x) Win(x,Lottery) • Negation of query for resolution¬Happy(Bob) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 45

  46. Example of Resolution • Content of KB • ¬Pass(x1, ECE457)  ¬Win(x1,Lottery)  Happy(x1) • ¬Study(x2)  Pass(x2,y1) • ¬Lucky(x3)  Pass(x3,y2) • ¬Study(Bob) • Lucky(Bob) • ¬Lucky(x4) Win(x4,Lottery) • ¬Happy(Bob) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 46

  47. Example of Resolution • (¬Pass(x1, ECE457)  ¬Win(x1,Lottery)  Happy(x1))  (¬Study(x2)  Pass(x2,y1))  (¬Lucky(x3)  Pass(x3,y2))  ¬Study(Bob)  Lucky(Bob)  (¬Lucky(x4) Win(x4,Lottery))  ¬Happy(Bob) • (¬Pass(x1, ECE457)  ¬Win(x1,Lottery)  Happy(x1)) (¬Study(x2)  Pass(x2,y1))  (¬Lucky(x3)  Pass(x3,y2))  ¬Study(Bob)  Lucky(Bob)  (¬Lucky(x4) Win(x4,Lottery))  ¬Happy(Bob) • {x1/Bob} • (¬Pass(Bob, ECE457)  ¬Win(Bob,Lottery)) (¬Study(x2)  Pass(x2,y1))  (¬Lucky(x3)  Pass(x3,y2))  ¬Study(Bob)  Lucky(Bob)  (¬Lucky(x4) Win(x4,Lottery)) ¬Happy(Bob) • {x4/Bob} ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 47

  48. Example of Resolution • (¬Pass(Bob, ECE457) ¬Lucky(Bob))  (¬Study(x2)  Pass(x2,y1))  (¬Lucky(x3)  Pass(x3,y2))  ¬Study(Bob)  Lucky(Bob)  ¬Happy(Bob) • No substitution needed • ¬Pass(Bob, ECE457)  (¬Study(x2)  Pass(x2,y1))  (¬Lucky(x3)  Pass(x3,y2)) ¬Study(Bob)  Lucky(Bob)  ¬Happy(Bob) • {x3/Bob, y2/ECE457} • ¬Pass(Bob, ECE457) (¬Study(x2)  Pass(x2,y1))  ¬Lucky(Bob)  ¬Study(Bob)  Lucky(Bob)  ¬Happy(Bob) • No substitution needed ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 48

More Related