Presentation is loading. Please wait.

Presentation is loading. Please wait.

Normal Forms and Resolution in FOL

Similar presentations


Presentation on theme: "Normal Forms and Resolution in FOL"— Presentation transcript:

1 Normal Forms and Resolution in FOL
automated reasoning with predicates

2 Conjunctive normal form
KB must be in CNF for resolution conjunction of disjunctions of predicates or negations D Goforth - COSC 4117, fall 2003

3 1a. eliminate <=> A <=> B A => B ^ B => A 1b. eliminate => A => B ~A  B

4 reduction to CNF 1. eliminate => and <=>
2. move negatives inward to predicates 3. Standardize apart variables 4. Skolemize (eliminate existentials) 5. Drop universals (assumed for variables) 6. Distribute conjunction over disjunction 7. Standardize apart again if necessary D Goforth - COSC 4117, fall 2003

5 example reduction (Luger and Stubblefiled, 1993)
All people who are smart and not poor are happy. Those people who read are not stupid. Happy people have exciting lives. John can read and is wealthy. Can anyone be found who has an exciting life? D Goforth - COSC 4117, fall 2003

6 also need general knowledge
All people who are smart and not poor are happy. Those people who read are not stupid. Happy people have exciting lives. John can read and is wealthy. Can anyone be found who has an exciting life? x (Smart(x)  ~Poor(x)) => Happy(x) x Read(x) => ~Stupid(x) x Happy(x) => Exciting(x) Read(John)  Wealthy(John) x Exciting(x) also need general knowledge ?

7 also need general knowledge
All people who are smart and not poor are happy. Those people who read are not stupid. Happy people have exciting lives. John can read and is wealthy. Can anyone be found who has an exciting life? x (Smart(x)  ~Poor(x)) => Happy(x) x Read(x) => ~Stupid(x) x Happy(x) => Exciting(x) Read(John)  Wealthy(John) x Exciting(x) also need general knowledge x Wealthy(x) <=> ~Poor(x) x Smart(x) <=> ~Stupid(x)

8 eliminate => and <=>
x (Smart(x)  ~Poor(x)) => Happy(x) x Read(x) => ~Stupid(x) x Happy(x) => Exciting(x) Read(John)  Wealthy(John) x Exciting(x) x Wealthy(x) <=> ~Poor(x) x Smart(x) <=> ~Stupid(x) eliminate => and <=> x ~(Smart(x)  ~Poor(x))  Happy(x)

9 eliminate => and <=>
x (Smart(x)  ~Poor(x)) => Happy(x) x Read(x) => ~Stupid(x) x Happy(x) => Exciting(x) Read(John)  Wealthy(John) x Exciting(x) x Wealthy(x) <=> ~Poor(x) x Smart(x) <=> ~Stupid(x) eliminate => and <=> x ~(Smart(x)  ~Poor(x))  Happy(x) x ~Read(x)  ~Stupid(x) x ~Happy(x)  Exciting(x) x ~Wealthy(x)  ~Poor(x) x Wealthy(x)  Poor(x) x Smart(x)  Stupid(x) x ~Smart(x)  ~Stupid(x)

10 3. standardize apart variables
x ~(Smart(x)  ~Poor(x))  Happy(x) (2. ~ inwards) x ~Smart(x)  Poor(x)  Happy(x) x ~Read(x)  ~Stupid(x) x ~Happy(x)  Exciting(x) Read(John)  Wealthy(John) x Exciting(x) x ~Wealthy(x)  ~Poor(x) x Wealthy(x)  Poor(x) x Smart(x)  Stupid(x) x ~Smart(x)  ~Stupid(x) 3. standardize apart variables y ~Read(y)  ~Stupid(y) z ~Happy(z)  Exciting(z) v Exciting(v) u ~Wealthy(u)  ~Poor(u) t Wealthy(t)  Poor(t) s Smart(s)  Stupid(s) r ~Smart(r)  ~Stupid(r)

11 6. Distrubute  over  (none), 7.restandardize apart (none)
x ~Smart(x)  Poor(x)  Happy(x) y ~Read(y)  ~Stupid(y) z ~Happy(z)  Exciting(z) Read(John)  Wealthy(John) v Exciting(v) (4. Skolemize) Exciting(K) u ~Wealthy(u)  ~Poor(u) t Wealthy(t)  Poor(t) s Smart(s)  Stupid(s) r ~Smart(r)  ~Stupid(r) 5. Drop universals ~Smart(x)  Poor(x)  Happy(x) ~Read(y)  ~Stupid(y) ~Happy(z)  Exciting(z) ~Wealthy(u)  ~Poor(u) Wealthy(t)  Poor(t) Smart(s)  Stupid(s) ~Smart(r)  ~Stupid(r) 6. Distrubute  over  (none), 7.restandardize apart (none)

12 Conjunctive normal form
~Smart(x)  Poor(x)  Happy(x) ~Read(y)  ~Stupid(y) ~Happy(z)  Exciting(z) Read(John) Wealthy(John) Exciting(K) ~Wealthy(u)  ~Poor(u) Wealthy(t)  Poor(t) Smart(s)  Stupid(s) ~Smart(r)  ~Stupid(r) D Goforth - COSC 4117, fall 2003

13 Resolution with FOL Predicates can be resolved (positive with negative) only if they can be unified P(x)  ~Q(x), R(y)  ~P(y) Subst({x/y}) ~Q(y)  R(y) (in effect, need to establish that general knowledge applies to facts) D Goforth - COSC 4117, fall 2003

14 example resolution (continued) (Luger and Stubblefiled, 1993)
All people who are smart and not poor are happy. Those people who read are not stupid. Happy people have exciting lives. John can read and is wealthy. Can anyone be found who has an exciting life? D Goforth - COSC 4117, fall 2003

15 Question in CNF Show by resolution refutation that:
~Smart(x)  Poor(x)  Happy(x) ~Read(y)  ~Stupid(y) ~Happy(z)  Exciting(z) Read(John) Wealthy(John) ~Wealthy(u)  ~Poor(u) Wealthy(t)  Poor(t) Smart(s)  Stupid(s) ~Smart(r)  ~Stupid(r) Show by resolution refutation that: Exciting(K) D Goforth - COSC 4117, fall 2003

16 Strategy of Resolution refutation
convert to CNF assume inverse of question and add to KB ~x Exciting(x) or x ~Exciting(x) show by resolution that a contradiction results refute assumption D Goforth - COSC 4117, fall 2003

17 Resolution refutation (1)
Assume inverse, add to KB ~Smart(x)  Poor(x)  Happy(x) ~Read(y)  ~Stupid(y) ~Happy(z)  Exciting(z) Read(John) Wealthy(John) ~Wealthy(u)  ~Poor(u) Wealthy(t)  Poor(t) Smart(s)  Stupid(s) ~Smart(r)  ~Stupid(r) ~Exciting(k) // assumption – note variable k D Goforth - COSC 4117, fall 2003

18 Resolution refutation (2)
~Exciting(k) ~Happy(z)  Exciting(z) {k/z} ~Happy(k) ~Smart(x)  Poor(x)  Happy(x) ~Smart(x)  Poor(x)  Happy(x) ~Read(y)  ~Stupid(y) ~Happy(z)  Exciting(z) Read(John) Wealthy(John) ~Wealthy(u)  ~Poor(u) Wealthy(t)  Poor(t) Smart(s)  Stupid(s) ~Smart(r)  ~Stupid(r) ~Exciting(k) {k/x} ~Smart(k)  Poor(k) ~Read(y)  ~Stupid(y) {y/s} Smart(s)  Stupid(s) ~Read(y)  Smart(y) {k/y} ~Read(k)  Poor(k) ~Wealthy(u)  ~Poor(u) {John/u} Wealthy(John) {John/k} ~Poor(John) ~Read(John) Read(John) {} nil

19 Resolution refutation (3)
conflict Read(John) , ~Read(John) => nil initial assumption of ~x Exciting(x) is wrong so x Exciting(x) D Goforth - COSC 4117, fall 2003


Download ppt "Normal Forms and Resolution in FOL"

Similar presentations


Ads by Google