cooperating intelligent systems

36
Cooperating Intelligent Systems Inference in first-order logic Chapter 9, AIMA

Upload: dmitri

Post on 14-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Cooperating Intelligent Systems. Inference in first-order logic Chapter 9, AIMA. Reduce to propositional logic. Reduce the first order logic sentences to propositional (boolean) logic. Use the inference systems in propositional logic. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cooperating Intelligent Systems

Cooperating Intelligent Systems

Inference in first-order logicChapter 9, AIMA

Page 2: Cooperating Intelligent Systems

Reduce to propositional logic

• Reduce the first order logic sentences to propositional (boolean) logic.

• Use the inference systems in propositional logic.

We need a system for transfering sentences with quantifiers to sentences without quantifiers

Page 3: Cooperating Intelligent Systems

FOL inference rulesAll the propositional rules (Modus Ponens, And

Elimination, And introduction, etc.) plus:

Universal Instantiation (UI)

Where the variable x is replaced by

the ground term a everywhere in

the sentence w.

Example:∀x P(x,f(x),B) ⇒ P(A,f(A),B)

)(

)(

aw

xwx

Existential Instantiation (EI)

Where the variable x is replaced by a

ground term a (that makes the

sentence true) in the sentence w.

Example:∃x Q(x,g(x),B) ⇒ Q(A,g(A),B)A must be a new symbol.

)(

)(

aw

xwx

Ground term = a term without variables

Page 4: Cooperating Intelligent Systems

Example: Kings...UI: (Universal Instantiation)

∀x (King(x) ∧ Greedy(x)) ⇒ Evil(x)

King(John) ∧ Greedy(John) ⇒ Evil(John)

King(Richard) ∧ Greedy(Richard) ⇒ Evil(Richard)

EI: (Existential Instantiation)

∃x (Crown(x) ∧ OnHead(x,John))

Crown(C) ∧ OnHead(C,John)

C is called a Skolem constant

Making up names is called skolemization

Page 5: Cooperating Intelligent Systems

Example: Kings...UI: (Universal Instantiation)

∀x (King(x) ∧ Greedy(x)) ⇒ Evil(x)

King(John) ∧ Greedy(John) ⇒ Evil(John)

King(Richard) ∧ Greedy(Richard) ⇒ Evil(Richard)

EI: (Existential Instantiation)

∃x (Crown(x) ∧ OnHead(x,John))

Crown(C) ∧ OnHead(C,John)

C is called a Skolem constant

Making up names is called skolemization

Page 6: Cooperating Intelligent Systems

PropositionalizationApply Universal Instantiation (UI) and Existential Instantiation

(EI) so that every FOL KB is made into a propositional KB.

⇒ We can use the tools from propositional logic to prove theorems.

Problem with function constants: Father(A), Father(Father(A)), Father(Father(Father(A))), etc. ad infinitum...infinite number of sentences...how can we prove this in finite time?

Theorem: We can find every entailed sentence [Gödel, Herbrand], but the search is not guaranteed to stop for nonentailed sentences.(”Solution”: negation-as-failure, stop after a certain time and assume the sentence is false)

Inefficient...generalized (lifted) inference rules better

Page 7: Cooperating Intelligent Systems

Notation: Substitution

Subst() = Apply the substitution to the sentence .

Example: = {x/John} (replace x with John)

= (King(x) ∧ Greedy(x)) ⇒ Evil(x)

(King(John) ∧ Greedy(John)) ⇒ Evil(John)

General form: = {v/g} where v is a variable and g is a ground term.

Page 8: Cooperating Intelligent Systems

Generalized (lifted) Modus Ponens

For atomic sentences pi, qi, and r where there exists a substitution such that Subst(,pi) = Subst(,qi) for all i

),Subst(

)(,,,, 2121

r

rqqqppp nn

∀x (King(x) ∧ Greedy(x) ⇒ Evil(x))

r = Evil(x) = {x/John}

q2 = Greedy(x)p2 = Greedy(John)

q1 = King(x)p1 = King(John)

KB

Page 9: Cooperating Intelligent Systems

Generalized (lifted) Modus Ponens

For atomic sentences pi, qi, and r where there exists a substitution such that Subst(,pi) = Subst(,qi) for all i

),Subst(

)(,,,, 2121

r

rqqqppp nn

∀x (King(x) ∧ Greedy(x) ⇒ Evil(x))

r = Evil(x) = {x/John}

q2 = Greedy(x)p2 = Greedy(John)

q1 = King(x)p1 = King(John)

KB

Page 10: Cooperating Intelligent Systems

Generalized (lifted) Modus Ponens

For atomic sentences pi, qi, and r where there exists a substitution such that Subst(,pi) = Subst(,qi) for all i

),Subst(

)(,,,, 2121

r

rqqqppp nn

⇒Evil(John)

King(John), Greedy(John)

∀x (King(x) ∧ Greedy(x) ⇒ Evil(x))

Subst(,r) = Evil(John)

r = Evil(x) = {x/John}

q2 = Greedy(x)p2 = Greedy(John)

q1 = King(x)p1 = King(John)

KB

Lifted inference rules make only the necessary substitutions

Page 11: Cooperating Intelligent Systems

Example: Arms dealer

(1) ∀x (American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z) ⇒ Criminal(x))

(2) Owns(NoNo,M)

(3) Missile(M)

(4) ∃x (Missile(x) ∧ Owns(NoNo,x) ⇒ Sells(West,x,NoNo))

(5) ∀x (Missile(x) ⇒ Weapon(x))

(6) ∀x (Enemy(x,America) ⇒ Hostile(x))

(7) American(West)

(8) Enemy(NoNo,America)

KB in Horn Form

Page 12: Cooperating Intelligent Systems

Example: Arms dealer

(1) ∀x (American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z) ⇒ Criminal(x))

(2) Owns(NoNo,M)

(3) Missile(M)

(4) ∃x (Missile(x) ∧ Owns(NoNo,x) ⇒ Sells(West,x,NoNo))

(5) ∀x (Missile(x) ⇒ Weapon(x))

(6) ∀x (Enemy(x,America) ⇒ Hostile(x))

(7) American(West)

(8) Enemy(NoNo,America)

KB in Horn Form

Facts

Page 13: Cooperating Intelligent Systems

Owns(NoNo,M)Missile(M)American(West) Enemy(NoNo,America)

Forward chaining: Arms dealer

Hostile(NoNo)

Enemy(x,America) ⇒ Hostile(x) = {x/NoNo}

Sells(West,M,NoNo)Weapon(M)

Missile(x) ⇒ Weapon(x) = {x/M}

Missile(x) ∧ Owns(NoNo,x) ⇒ Sells(West,x,NoNo) = {x/M}

Criminal(West)

American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z) ⇒ Criminal(x) = {x/West, y/M, z/NoNo}

Forward chaining generates all inferences (also irrelevant ones)

We have proved thatWest is a criminal

Page 14: Cooperating Intelligent Systems

Example: Financial advisor

KB in Horn Form

1) SavingsAccount(Inadequate) ⇒ Investments(Bank)2) SavingsAccount(Adequate) ∧ Income(Adequate) ⇒ Investments(Stocks)3) SavingsAccount(Adequate) ∧ Income(Inadequate) ⇒ Investments(Mixed)4) ∀x (AmountSaved(x) ∧ ∃y (Dependents(y) ∧ Greater(x,MinSavings(y))) ⇒

SavingsAccount(Adequate))5) ∀x (AmountSaved(x) ∧ ∃y (Dependents(y) ∧ ¬Greater(x,MinSavings(y))) ⇒

SavingsAccount(Inadequate))6) ∀x (Earnings(x,Steady) ∧ ∃y (Dependents(y) ∧ Greater(x,MinIncome(y))) ⇒

Income(Adequate))7) ∀x (Earnings(x,Steady) ∧ ∃y (Dependents(y) ∧ ¬Greater(x,MinIncome(y))) ⇒

Income(Inadequate))8) ∀x (Earnings(x,UnSteady) ⇒ Income(Inadequate))9) AmountSaved($22000)10) Earnings($25000,Steady)11) Dependents(3)

Example from G.F. Luger, ”Artificial Intelligence” 2002

MinSavings(x) ≡ $5000•xMinIncome(x) ≡ $15000 + ($4000•x)

Page 15: Cooperating Intelligent Systems

Dependents(3) Earnings($25000,Steady)AmountSaved($22000)

MinIncome = $27000MinSavings = $15000

¬Greater($25000,MinIncome)

Income(Inadequate)

SavingsAccount(Adequate)

Greater($22000,MinSavings)

Investments(Mixed)

FC financial advisor

Page 16: Cooperating Intelligent Systems

FOL CNF (Conjunctive Normal Form)

Literal = (possibly negated) atomic sentence, e.g., ¬Rich(Me)

Clause = disjunction of literals, e.g. ¬Rich(Me) ∨ Unhappy(Me)

The KB is a conjunction of clauses

Any FOL KB can be converted to CNF as follows:1. Replace (P ⇒ Q) by (¬P ∨ Q) (implication elimination)2. Move ¬ inwards, e.g., ¬∀x P(x) becomes ∃x ¬P(x)3. Standardize variables apart, e.g., (∀x P(x) ∨ ∃x Q(x)) becomes (∀x P(x) ∨ ∃y

Q(y))4. Move quantifiers left, e.g., (∀x P(x) ∨ ∃y Q(y)) becomes ∀x ∃y (P(x) ∨ Q(y))5. Eliminate ∃ by Skolemization6. Drop universal quantifiers7. Distribute ∧ over ∨, e.g., (P ∧ Q) ∨ R becomes (P ∨ R) ∧ (Q ∨ R)

Slide from S. Russel

Page 17: Cooperating Intelligent Systems

CNF example

∀x [∀y Animal(y) ⇒ Loves(x,y)] ⇒ ∃y Loves(y,x)Implication elimination

∀x ¬[∀y ¬Animal(y) ∨ Loves(x,y)] ∨ ∃y Loves(y,x)Move ¬ inwards (¬∀y P becomes ∃y ¬P)

∀x [∃y ¬(¬Animal(y) ∨ Loves(x,y))] ∨ ∃y Loves(y,x)∀x [∃y (Animal(y) ∧ ¬Loves(x,y))] ∨ ∃y Loves(y,x)∀x [∃y Animal(y) ∧ ¬Loves(x,y)] ∨ ∃y Loves(y,x)

Standardize variables individually∀x [∃y Animal(y) ∧ ¬Loves(x,y)] ∨ ∃z Loves(z,x)

Skolemize (Replace ∃ with constants)∀x [Animal(F(x)) ∧ ¬Loves(x,F(x))] ∨ Loves(G(x),x)Why not ∀x [Animal(A) ∧ ¬Loves(x,A)] ∨ Loves(B,x) ??

Drop ∀[Animal(F(x)) ∧ ¬Loves(x,F(x))] ∨ Loves(G(x),x)

Distribute ∨ over ∧ [Animal(F(x)) ∨ Loves(G(x),x)] ∧ [¬Loves(x,F(x)) ∨ Loves(G(x),x)]

”Everyone who loves all animals is loved by someone”

Page 18: Cooperating Intelligent Systems

Notation: Unification

Unify(p,q) =

means that

Subst(,p) = Subst(,q)

Page 19: Cooperating Intelligent Systems

FOL resolution inference rule

First-order literals are complementary if one unifies with the negation of the other

),(

)( ),(

111111

2121

njjkii

nk

mmmmllllSubst

mmmlll

Where Unify(li,¬mj) = .

[Animal(F(x)) ∨ Loves(G(x),x)], [¬Loves(u,v) ∨ ¬Kills(u,v)]

Subst({u/G(x),v/x}, [Animal(F(x)) ∨ ¬Kills(u,v)])

Which produces resolvent [Animal(F(x)) ∨ ¬Kills(G(x),x)]

Note that li and mj are removed

Page 20: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Start fromthe top

Page 21: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

∀x (American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z) ⇒ Criminal(x))

Translate to CNF:

∀x (¬(American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z)) ∨ Criminal(x))∀x ((¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z)) ∨ Criminal(x))∀x (¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z) ∨ Criminal(x))¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z) ∨ Criminal(x)

Any FOL KB can be converted to CNF as follows:1. Replace (P Q) by (⇒ ¬P Q) (implication elimination)∨2. Move ¬ inwards, e.g., ¬ x P(x) becomes x ∀ ∃ ¬P(x)3. Standardize variables apart, e.g., ( x P(x) x Q(x)) becomes ( x P(x) y Q(y))∀ ∨ ∃ ∀ ∨ ∃4. Move quantifiers left, e.g., ( x P(x) y Q(y)) becomes x y (P(x) Q(y))∀ ∨ ∃ ∀ ∃ ∨5. Eliminate by Skolemization∃6. Drop universal quantifiers7. Distribute over , e.g., (P Q) R becomes (P R) (Q R)∧ ∨ ∧ ∨ ∨ ∧ ∨

Page 22: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

∀x (American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z) ⇒ Criminal(x))

Translate to CNF:

∀x (¬(American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sells(x,y,z)) ∨ Criminal(x))∀x ((¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z)) ∨ Criminal(x))∀x (¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z) ∨ Criminal(x))¬American(x) ∨ ¬Weapon(y) ∨ ¬Hostile(z) ∨ ¬Sells(x,y,z) ∨ Criminal(x)

Any FOL KB can be converted to CNF as follows:1. Replace (P Q) by (⇒ ¬P Q) (implication elimination)∨2. Move ¬ inwards, e.g., ¬ x P(x) becomes x ∀ ∃ ¬P(x)3. Standardize variables apart, e.g., ( x P(x) x Q(x)) becomes ( x P(x) y Q(y))∀ ∨ ∃ ∀ ∨ ∃4. Move quantifiers left, e.g., ( x P(x) y Q(y)) becomes x y (P(x) Q(y))∀ ∨ ∃ ∀ ∃ ∨5. Eliminate by Skolemization∃6. Drop universal quantifiers7. Distribute over , e.g., (P Q) R becomes (P R) (Q R)∧ ∨ ∧ ∨ ∨ ∧ ∨

Page 23: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

),(

)( ),(

111111

2121

njjkii

nk

mmmmllllSubst

mmmlll

Where Unify(li,¬mj) = .

Page 24: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

),(

)( ),(

111111

2121

njjkii

nk

mmmmllllSubst

mmmlll

l1 = ¬American(x)l2 = ¬Weapon(y)l3 = ¬Sells(x,y,z)l4 = ¬Hostile(z)l5 = Criminal(x)m1 = Criminal(West)

Where Unify(li,¬mj) = .

Unify(l5,¬m1) = = {x/West}

Subst( l1 ∨ l2 ∨ l3 ∨ l4) =...

Page 25: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 26: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

l1 = ¬American(x)l2 = ¬Weapon(y)l3 = ¬Sells(x,y,z)l4 = ¬Hostile(z)l5 = Criminal(x)m2 = American(West)

Unify(l1,¬m2) = = {x/West}

Subst( l2 ∨ l3 ∨ l4) =...

Page 27: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 28: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 29: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

?

Page 30: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

l2 = ¬Weapon(y)l3 = ¬Sells(x,y,z)l4 = ¬Hostile(z)m3 = Weapon(x)m4 = Missile(x)

Unify(l2,¬m3) = = {y/x}

Subst( l2 ∨ l3 ∨ l4 ∨ m4) =...

Page 31: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

?

Page 32: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 33: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 34: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 35: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬

Page 36: Cooperating Intelligent Systems

Resolution proves KB ⊨ by proving (KB ∧ ¬) is unsatisfiable

Arms dealer example

¬