48
First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

Embed Size (px)

Citation preview

Page 1: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

First-Order Logic

ECE457 Applied Artificial IntelligenceFall 2007

Lecture #7

Page 2: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

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 ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

α β α β

T T T

T F F

F T T

F F T

Page 11: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 12: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 13: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 14: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 15: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 16: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 17: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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))

Page 18: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 19: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 20: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 21: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 22: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 22

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

Problem with Propositionalization

Page 23: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 24: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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: (α β), α

β

Page 25: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 26: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 27: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 28: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 29: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 30: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)}

Page 31: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)}

Page 32: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 33: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 34: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 35: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 36: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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

Page 37: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 37

Resolution Steps

1. Convert problem into FOL KB2. Convert FOL statements in KB to

CNF3. Add negation of query (in CNF) in

KB4. Use FOL resolution rule to infer

new clauses from KB5. Produce a contradiction that

proves our query

Page 38: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 38

Conversion to CNF Three new steps (4, 5, 6) & rules in step 3

1. Eliminate biconditionals: (αβ) ((αβ)(βα))

2. Eliminate implications: (α β) (¬α β)3. Move/Eliminate negations: ¬(¬α) α,

¬(α β) (¬α ¬β), ¬(α β) (¬α ¬β),¬x P(x) x ¬P(x), ¬x P(x) x ¬P(x)

4. Standardize variables: x P(x) x Q(x) x P(x) y Q(y)

5. Skolemize: x P(x) P(C)6. Drop universal quantifiers: x P(x) P(x)7. Distribute over : (α (βγ)) ((αβ) (αγ))

Page 39: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 40: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)]

Page 41: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 41

FOL Resolution (αβ’), (¬βγ)

SUBST(, αγ)) = UNIFY(β’, ¬β)

Example Animal(Dog(x)) Love(Bob,x) ¬Love(y,z) ¬Hunt(y,z) = {y/Bob, z/x} Animal(Dog(x)) ¬Hunt(Bob,x)

Page 42: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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?

Page 43: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 44: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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))

Page 45: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 46: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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)

Page 47: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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}

Page 48: First-Order Logic ECE457 Applied Artificial Intelligence Fall 2007 Lecture #7

ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 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