1 / 21

# Inroduction - PowerPoint PPT Presentation

Resolution and Refutation Proofs. Introduction to Artificial Intelligence CS440/ECE448 Lecture 13 Homework due March 2. Last lecture. Substitutions and unification Generalized Modus Ponens Resolution definition This lecture Refutation proofs True-or-false questions

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Inroduction' - denim

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Resolution and Refutation Proofs

Introduction to Artificial Intelligence

CS440/ECE448

Lecture 13

Homework due March 2

• Substitutions and unification

• Generalized Modus Ponens

• Resolution definition

This lecture

• Refutation proofs

• True-or-false questions

• Fill-in-the-blanks questions

• Resolution properties

• Chapter 9

p1’, p2’,…, pn’, (p1p2… pn  q) wherepi’ = pi

q for all i

For example, let

p1’ = Faster (Bob, Pat)

p2’ = Faster (Pat, Steve)

Faster (x, y)  Faster (y, z)  Faster (x, z)

Unify p1’ and p2’ with the premise

 = { x/Bob, y/Pat, z/Steve }

Apply substitution to the conclusion

q = Faster(Bob, Steve)

pi and q atomic sentences

Universally quantified variables

• White: Facts added in turn

• Yellow: The result of implication of rules.

• Buffalo(x) Pig(y)  Faster(x, y)

• Pig(y) Slug(z)  Faster(y, z)

• Faster(x, y) Faster(y, z)  Faster(x, z)

• Buffalo(Bob) [ Unifies with 1-a ]

• Pig(Pat) [ Unifies with 1-b, GMP Fires ]

[ Unifies with 2-a ]

• Faster(Bob,Pat) [ Unifies with 3-a, 3-b ]

• Slug(Steve) [ Unifies with 2-b, GMP Fires ]

• Faster(Pat, Steve) [ Unifies with 3-b and with 6,GMP Fires ]

• Faster (Bob, Steve)

Pig(y) Slug(z)  Faster (y, z)

Slimy(a) Creeps(a)  Slug(a)

Pig(Pat)

Slimy(Steve)

Creeps(Steve)

Backward Chaining Example

• Given

• a knowledge base KB (collection of true sentences),

• a proposition P,

we wish to prove that P is true.

• Assume that P is FALSE (i.e., that P is TRUE).

• Show that a contradiction arises.

• A complete approach to refutation can be obtained using a single inference rule: resolution.

• Idea: If  is true or  is true

and  is false or  is true

then  or  must be true

• Basic resolution rule from propositional logic:

     

  

• Can be expressed in terms of implications

  ,   

  

• Note that Resolution rule is a generalization of Modus Ponens

,    is equivalent to TRUE  ,   

 TRUE  

Generalized resolution rule for first order logic (with variables)

If pj can be unified with qk, then we can apply the resolution rule:

p1  …  pj …  pm

q1  …  qk …  qn

Subst(, (p1  …  pj-1  pj+1 …  pm q1  …  qk-1  qk+1 …  qn))

where  = Unify (pj, qk)

• Example:

KB:  Rich(x)  Unhappy(x)

Rich(Me)

Substitution:  = { x/Me }

Conclusion: Unhappy(Me)

• For generalized Modus Ponens, entire knowledge base is represented as Horn Sentences.

• For resolution, entire database will be represented using Conjunctive Normal Form (CNF)

• Any first order logic sentence can be converted to a Canonical CNF form.

• Note: Can also do resolution with implicative form, but let’s stick to CNF.

• 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 sentence can be converted to CNF as follows:

• Replace P  QbyP  Q

• Move inwards to literals, e.g., x P becomes x P

• Standardize variables, e.g., (x P)  (x Q) becomes (x P)  (y Q)

• Move quantifiers left in order, e.g., x P  y Q becomes x y P  Q

• Eliminate  by Skolemization (next slide)

• Drop universal quantifiers

• Distribute  over  , e.g., (P  Q)  R becomes (P  R)  (Q R)

• Flatten nested conjunctions & disjunctions, e.g. (P  Q)  R  P  Q  R

(Thoralf Skolem 1920)

• The process of removing existential quantifiers by elimination.

• Simple case: No universal quantifiers.

 Existential Elimination Rule

• For example:

x Rich(x)

becomes

Rich(G1)

where G1 is a new ``Skolem constant'‘.

• More tricky when  is inside .

• More tricky when  is inside 

E.g., ``Everyone has a heart''

x Person(x)   y Heart(y)  Has(x,y)

• Incorrect:

x Person(x)  Heart(H1)  Has(x,H1)

This means everyone has the same heart calledH1.

• Problem is that for each person, we need another “heart” – i.e., consider the “heart” to be a function of the person.

• Correct:

 Person(x)  Heart(H(x))  Has(x,H(x))

where H is a new symbol (``Skolem function'')

• Skolem function arguments: all enclosing universally quantified variables.

p1  …  pj …  pm

q1  …  qk …  qn

Subst(, (p1  …  pj-1  pj+1 …  pm q1  …  qk-1  qk+1 …  qn))

• To prove :

• Negate .

• Convert to CNF.

• Infer contradiction using the resolution rule (a contradiction is detected when resolution derives the empty clause).

• E.g., to prove Rich(Me),add Rich(Me) to the CNF KB, then:

PhD(x)  HighlyQualified(x)

PhD(x)  EarlySalary(x)

HighlyQualified(x)  Rich(x)

EarlySalary(x)  Rich(x)

 Rich(Me)

PhD(x)  HighlyQualified(x)

PhD(x)  EarlySalary(x)

HighlyQualified(x)  Rich(x)

EarlySalary(x)  Rich(x)

 Rich(Me)

PhD(x)  HighlyQualified(x)

PhD(x)  EarlySalary(x)

HighlyQualified(x)  Rich(x)

EarlySalary(x)  Rich(x)

 Rich(Me)

PhD(x)  HighlyQualified(x)

PhD(x)  EarlySalary(x)

HighlyQualified(x)  Rich(x)

EarlySalary(x)  Rich(x)

 Rich(Me)

PhD(x)  HighlyQualified(x)

PhD(x)  EarlySalary(x)

HighlyQualified(x)  Rich(x)

EarlySalary(x)  Rich(x)

Pete is a bird

Does Pete Fly?

The Knowledge base

1. Bird(x) Flies(x)

Bird(Pete)

The query

 Flies ( Pete)

Applying Resolution

 Bird(Pete) 1,4

{ } 3,6

True-or-False Question

• Given a database KB and a sentence  with free variables v1, …, vn what are the bindings that make  true?

• Prove that given KB,  v1, …, vn 

• i.e., add  to the database, derive a contradiction and find what is the subsitution leading to it.

How hard is it to determine if KB entails ?

• Propositional logic (zeroth order) is decidable:

• Can determine whether or not KB entails  in finite time.

• Second order logic is undecidable:

• Cannot determine whether KB entails  in finite time.

• First order logic is semi-decidable:

• If KB entails  or , then a proof will be found in finite time.

• But, if KB neither entails  or , then proof process may never terminate.

• Resolution is sound.

• Resolution refutation is complete. (See Section 9.5 for proof.)

• Resolution (and any proof procedure) is at best semi-decidable.

• Note: checking consistency of a database is also semidecidable.