Post on 02-Jan-2016
description
transcript
1
FOL
Resolution based Inferencing
Resolution based rules studied earlier can lead to inferences, rules such as modus ponen, unit resolution etc…
Other Approach include resolution through REFUTATTION Forward Chaining Backward Chaining
Used in Automated Reasoning and PROLOG interpretators
2
FOL
Procedure for Refutation Proofs1. Convert Predicate form to clause form2. Add the negation of what is to be
inferred or proved in the clause form3. Resolve the clauses together4. If a contradiction exists in the clause
form, steps will generate an empty clause
5. Note all the substitutions used to generate the contradiction
3
FOL 1. Clause formEnglish:All men are mortal, everyone who is
mortal dies, Shahid is a man.Will shahid die?
Predicate form:
All men are mortal
X man(X) mortal (X)
Everyone who is mortal dies
X mortal(X) die (X)
Shahid is a man
man(shahid)
Clause form:
man(X) mortal (X)
mortal(X) die (X)
man(shahid)
5
FOL
Final Clause formAll men are mortal, everyone who is mortal dies, Shahid is a man.
Will shahid die?
Complete Clause form:
( man(X) mortal (X)) ^ ( mortal(X) die (X)) ^ man(shahid)
6
FOL
Resolve
All men are mortal, everyone who is mortal dies, Shahid is a man.
Will shahid die?
( man(X) mortal (X)) ( mortal(X) die (X))
die(shahid) die(shahid)
[]
man(X) die (X) man(shahid)
{shahid/X}Under substitution shahid/X die(shahid) follows from the clause form
7
FOL Resolution: brief summary Full first-order version:
l1 ··· lk, m1 ··· mn
(l1 ··· li-1 li+1 ··· lk m1 ··· mj-1 mj+1 ··· mn)
where Unify(li, mj) = . The two clauses are assumed to be standardized apart
so that they share no variables. For example,
healthy(X) unhappy(X) rich(imran)
unhappy(imran)with = {imran/X}
Apply resolution steps to CNF(KB ); complete for FOL
8
FOL
Conversion to CNF
Everyone who loves all animals is loved by someone:X [Y animal(Y) loves(X,Y)] [Y loves(Y,X)]
Eliminate biconditionals and implicationsX [Y animal(Y) loves(X,Y)] [Y loves(Y,X)]
Move inwards: X p X p, X p X pX [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)]
9
FOL
Conversion to CNF contd. Standardize variables: each quantifier should use a different
one:X [Y animal(Y) loves(X,Y)] [Z loves(Z,X)]
Skolemize: a more general form of existential instantiation.Each existential variable is replaced by a Skolem function of the enclosing universally quantified variables:X [animal(f(X)) loves(X,f(X))] loves(g(X),X)
Drop universal quantifiers:[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)]
10
FOL
Hostile Nation Example
american(X) weapon(Y) sells(X,Y,Z) hostile(Z) criminal(X) (american(X) weapon(Y) sells(X,Y,Z) hostile(Z)) v criminal(X) (american(X) v weapon(Y) v sells(X,Y,Z) v hostile(z)) v
criminal(X)X owns(nono,X) missile(X) owns(nono,X) v missile(X)missile(X) owns(nono,X) sells(west,X,nono) missile(X) v owns(nono,X) v sells(west,X,nono)missile(X) weapon(X) missile(X) v weapon(X)enemy(X,america) hostile(X) enemy(X,america) v hostile(X)owns(nono,m1)missile(m1)american(west)enemy(nono,america)
Add the negation of the goal to the database criminal(X)