First-Order Logic
-
Upload
rosalyn-conley -
Category
Documents
-
view
47 -
download
1
description
Transcript of First-Order Logic
![Page 1: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/1.jpg)
First-Order Logic
ECE457 Applied Artificial IntelligenceSpring 2007 Lecture #7
![Page 2: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/2.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 2
Outline First-order logic (FOL) Sentences
Russell & Norvig, chapter 8 Inference
Russell & Norvig, chapter 9
![Page 3: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/3.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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
![Page 4: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/4.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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
![Page 5: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/5.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 5
New Variables in FOL Begin with lowercase letters Stand-in for any symbol Brother(x,y)
x is the brother of y
![Page 6: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/6.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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…”
![Page 7: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/7.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 7
Properties of New Quantifiers 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)
Duality x P(x) same as x P(x) x P(x) same as x P(x)
![Page 8: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/8.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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
![Page 9: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/9.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)
![Page 10: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/10.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 10
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)
![Page 11: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/11.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 11
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))
And so on…
![Page 12: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/12.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 12
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
![Page 13: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/13.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 13
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)
![Page 14: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/14.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 14
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)
![Page 15: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/15.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 15
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)
![Page 16: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/16.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 16
Problem with Propositionalization The set of ground substitution can be
infinite Function symbols can be nested infinitely Example: 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
![Page 17: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/17.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 17
Problem with Propositionalization Modify the previous example
x Dog(x) Own(Bob,x) Brown(x) Dog(Fido) Own(Bob,Fido) Dog(Barky)
Brown(Fido) is obvious to us Universal Instantiation also expands
Dog(Barky)Own(Bob,Barky) Brown(Barky)which is obviously unnecessary (to us)
Recall Modus Ponens: (α β), α
β
![Page 18: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/18.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 18
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)
Requires some form of pattern matching
![Page 19: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/19.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 19
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)
![Page 20: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/20.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 20
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
![Page 21: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/21.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 21
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
![Page 22: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/22.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 22
Forward / Backward Chaining 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
![Page 23: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/23.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 23
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
![Page 24: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/24.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 24
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
![Page 25: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/25.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 25
Resolution Steps
1. Convert problem into FOL KB2. Convert FOL statements in KB to
CNF3. Add negation of query (in CNF) in
KB4. Use resolution to infer new clauses
from KB5. Produce a contradiction that
proves our query
![Page 26: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/26.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 26
Conversion to CNF Three new steps (4, 5, 6)
Eliminate biconditionals: (αβ) ((αβ)(βα))
Eliminate implications: (α β) (¬α β) Move/Eliminate negations: ¬(¬α) α,
¬(α β) (¬α ¬β), ¬(α β) (¬α ¬β) 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 : (α (βγ)) ((αβ) (αγ))
![Page 27: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/27.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 27
Example of Resolution Consider the story
Anyone passing their 457 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?
![Page 28: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/28.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 28
Example of Resolution Convert to FOL
Anyone passing their exams and winning the lottery is happy. x Pass(x, 457) 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)
![Page 29: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/29.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 29
Example of Resolution Convert to CNF
x Pass(x, 457) Win(x,Lottery) Happy(x)x ¬(Pass(x, 457) Win(x,Lottery)) Happy(x)x ¬Pass(x, 457) ¬Win(x,Lottery) Happy(x)¬Pass(x, 457) ¬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))
![Page 30: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/30.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 30
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)
![Page 31: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/31.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 31
Example of Resolution Content of KB
¬Pass(x1, 457) ¬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)
![Page 32: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/32.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 32
Example of Resolution Resolution
{x1/Bob} (¬Pass(x1, 457) ¬Win(x1,Lottery)
Happy(x1)) ¬Happy(Bob) ¬Pass(Bob, 457) ¬Win(Bob,Lottery)
{x4/Bob} (¬Pass(Bob, 457) ¬Win(Bob,Lottery))
(¬Lucky(x4) Win(x4,Lottery)) ¬Pass(Bob, 457) ¬Lucky(Bob)
![Page 33: First-Order Logic](https://reader036.fdocuments.us/reader036/viewer/2022062422/56812fc9550346895d954a2e/html5/thumbnails/33.jpg)
ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 33
Example of Resolution Resolution
No substitution needed (¬Pass(Bob, 457) ¬Lucky(Bob))
Lucky(Bob) ¬Pass(Bob, 457)
{x3/Bob, y2/457} ¬Pass(Bob, 457) (¬Lucky(Bob)
Pass(Bob,457)) ¬Lucky(Bob)
No substitution needed ¬Lucky(Bob) Lucky(Bob) Empty clause: FALSE