29
For Friday No reading Homework: Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants straight Program 1 due

For Friday

  • Upload
    hateya

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

For Friday. No reading Homework: Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants straight Program 1 due. Program 1. Any questions?. Backward Chaining. - PowerPoint PPT Presentation

Citation preview

Page 1: For  Friday

For Friday• No reading• Homework:

– Chapter 9, exercise 4(This is VERY short – do it while you’re running your tests)Make sure you keep variables and constants straight

• Program 1 due

Page 2: For  Friday

Program 1

• Any questions?

Page 3: For  Friday

Backward Chaining• Start from query or atomic sentence to be

proven and look for ways to prove it. • Query can contain variables which are assumed

to be existentially quantified. Sibling(x,John) ? Father(x,y) ?

• Inference process should return all sets of variable bindings that satisfy the query.

Page 4: For  Friday

Method• First try to answer query by unifying it to all

possible facts in the KB. • Next try to prove it using a rule whose consequent

unifies with the query and then try to recursively prove all of its antecedents.

• Given a conjunction of queries, first get all possible answers to the first conjunct and then for each resulting substitution try to prove all of the remaining conjuncts.

• Assume variables in rules are renamed (standardized apart) before each use of a rule.

Page 5: For  Friday

Backchaining Examples

KB: 1) Parent(x,y) Ù Male(x) Þ Father(x,y) 2) Father(x,y) Ù Father(x,z) Þ Sibling(y,z) 3) Parent(Tom,John) 4) Male(Tom) 7) Parent(Tom,Fred)

Query: Parent(Tom,x) Answers: ( {x/John}, {x/Fred})

Page 6: For  Friday

Query: Father(Tom,s) Subgoal: Parent(Tom,s) Ù Male(Tom)

{s/John} Subgoal: Male(Tom)

Answer: {s/John} {s/Fred}

Subgoal: Male(Tom) Answer: {s/Fred}

Answers: ({s/John}, {s/Fred})

Page 7: For  Friday

Query: Father(f,s) Subgoal: Parent(f,s) Ù Male(f)

{f/Tom, s/John} Subgoal: Male(Tom)

Answer: {f/Tom, s/John} {f/Tom, s/Fred}

Subgoal: Male(Tom) Answer: {f/Tom, s/Fred}

Answers: ({f/Tom,s/John}, {f/Tom,s/Fred})

Page 8: For  Friday

Query: Sibling(a,b) Subgoal: Father(f,a) Ù Father(f,b)

{f/Tom, a/John} Subgoal: Father(Tom,b)

{b/John} Answer: {f/Tom, a/John, b/John}

{b/Fred} Answer: {f/Tom, a/John, b/Fred}

{f/Tom, a/Fred} Subgoal: Father(Tom,b)

{b/John} Answer: {f/Tom, a/Fred, b/John}

{b/Fred} Answer: {f/Tom, a/Fred, b/Fred}

Answers: ({f/Tom, a/John, b/John},{f/Tom, a/John, b/Fred}

{f/Tom, a/Fred, b/John}, {f/Tom, a/Fred, b/Fred})

Page 9: For  Friday

Incompleteness• Rule based inference is not complete, but is

reasonably efficient and useful in many circumstances.

• Still can be exponential or not terminate in worst case.

• Incompleteness example: P(x) Þ Q(x) ¬P(x) Þ R(x) (not Horn) Q(x) Þ S(x) R(x) Þ S(x)

– Entails S(A) for any constant A but is not inferable from modus ponens

Page 10: For  Friday

Completeness• In 1930 GÖdel showed that a complete inference

procedure for FOPC existed, but did not demonstrate one (non constructive proof).

• In 1965, Robinson showed a resolution inference procedure that was sound and complete for FOPC.

• However, the procedure may not halt if asked to prove a thoerem that is not true, it is said to be semidecidable.

• If a conclusion C is entailed by the KB then the procedure will eventually terminate with a proof. However if it is not entailed, it may never halt.

• It does not follow that either C or ¬C is entailed by a KB (may be independent). Therefore trying to prove both a conjecture and its negation does not help.

• Inconsistency of a KB is also semidecidable.

Page 11: For  Friday

Resolution• Propositional version. {a Ú b, ¬b Ú c} |- a Ú c OR {¬aÞ b, b Þ c} |- ¬a Þ c Reasoning by cases OR transitivity of implication • First order form

– For two literals pj and qk in two clauses • p1 Ú ... pj ... Ú pm • q1 Ú ... qk ... Ú qn

such that q=UNIFY(pj , ¬qk), derive

SUBST(q, p1Ú...pj 1Úpj+1...ÚpmÚq1Ú...qk 1 qk+1...Úqn)

Page 12: For  Friday

Implication form

• Can also be viewed in implicational form where all negated literals are in a conjunctive antecedent and all positive literals in a disjunctive conclusion.

¬p1Ú...Ú¬pmÚq1Ú...Úqn Û p1Ù... Ù pm Þ q1Ú ...Ú qn

Page 13: For  Friday

Conjunctive Normal Form (CNF)• For resolution to apply, all sentences must be in

conjunctive normal form, a conjunction of disjunctions of literals

(a1 Ú ...Ú am) Ù (b1 Ú ... Ú bn) Ù ..... Ù (x1 Ú ... Ú xv)

• Representable by a set of clauses (disjunctions of literals)

• Also representable as a set of implications (INF).

Page 14: For  Friday

Example

Initial CNF INF P(x) Þ Q(x) ¬P(x) Ú Q(x) P(x) Þ Q(x) ¬P(x) Þ R(x) P(x) Ú R(x) True Þ P(x) Ú

R(x) Q(x) Þ S(x) ¬Q(x) Ú S(x) Q(x) Þ S(x) R(x) Þ S(x) ¬R(x) Ú S(x) R(x) Þ S(x)

Page 15: For  Friday

Resolution Proofs• INF (CNF) is more expressive than Horn

clauses. • Resolution is simply a generalization of

modus ponens. • As with modus ponens, chains of resolution

steps can be used to construct proofs. • Factoring removes redundant literals from

clauses – S(A) Ú S(A) -> S(A)

Page 16: For  Friday

Sample Proof

P(w) Þ Q(w) Q(y) Þ S(y) {y/w}

P(w) Þ S(w) True Þ P(x) Ú R(x) {w/x}

True Þ S(x) Ú R(x) R(z) Þ S(z) {x/A, z/A}

True Þ S(A)

Page 17: For  Friday

Refutation Proofs• Unfortunately, resolution proofs in this form

are still incomplete. • For example, it cannot prove any tautology

(e.g. PÚ¬P) from the empty KB since there are no clauses to resolve.

• Therefore, use proof by contradiction (refutation, reductio ad absurdum). Assume the negation of the theorem P and try to derive a contradiction (False, the empty clause). – (KB Ù ¬P Þ False) Û KB Þ P

Page 18: For  Friday

Sample Proof

P(w) Þ Q(w) Q(y) Þ S(y) {y/w}

P(w) Þ S(w) True Þ P(x) Ú R(x) {w/x}

True Þ S(x) Ú R(x) R(z) Þ S(z) {z/x}

S(A) Þ False True Þ S(x) {x/A} False

Page 19: For  Friday

Resolution Theorem Proving• Convert sentences in the KB to CNF

(clausal form) • Take the negation of the proposed theorem

(query), convert it to CNF, and add it to the KB.

• Repeatedly apply the resolution rule to derive new clauses.

• If the empty clause (False) is eventually derived, stop and conclude that the proposed theorem is true.

Page 20: For  Friday

Conversion to Clausal Form• Eliminate implications and biconditionals by

rewriting them. p Þ q -> ¬p Ú q p Û q > (¬p Ú q) Ù (p Ú ¬q) • Move ¬ inward to only be a part of literals by

using deMorgan's laws and quantifier rules. ¬(p Ú q) -> ¬p Ù ¬q ¬(p Ù q) -> ¬p Ú¬q ¬"x p -> $x ¬p ¬$x p -> "x ¬p

¬¬p -> p

Page 21: For  Friday

Conversion continued• Standardize variables to avoid use of the

same variable name by two different quantifiers.

"x P(x) Ú $x P(x) -> "x1 P(x1) Ú $x2 P(x2) • Move quantifiers left while maintaining

order. Renaming above guarantees this is a truth preserving transformation.

"x1 P(x1) Ú $x2 P(x2) -> "x1 $x2 (P(x1) Ú P(x2))

Page 22: For  Friday

Conversion continued• Skolemize: Remove existential quantifiers by replacing

each existentially quantified variable with a Skolem constant or Skolem function as appropriate. – If an existential variable is not within the scope of any universally

quantified variable, then replace every instance of the variable with the same unique constant that does not appear anywhere else.

$x (P(x) Ù Q(x)) -> P(C1) Ù Q(C1) – If it is within the scope of n universally quantified variables, then

replace it with a unique n ary function over these universally quantified variables.

"x1$x2(P(x1) Ú P(x2)) -> "x1 (P(x1) Ú P(f1(x1))) "x(Person(x) Þ $y(Heart(y) Ù Has(x,y))) -> "x(Person(x) Þ Heart(HeartOf(x)) Ù Has(x,HeartOf(x))) – Afterwards, all variables can be assumed to be universally

quantified, so remove all quantifiers.

Page 23: For  Friday

Conversion continued• Distribute Ù over Ú to convert to conjunctions of

clauses (aÙb) Ú c -> (aÚc) Ù (bÚc) (aÙb) Ú (cÙd) -> (aÚc) Ù (bÚc) Ù (aÚd) Ù (bÚd) – Can exponentially expand size of sentence.

• Flatten nested conjunctions and disjunctions to get final CNF (a Ú b) Ú c -> (a Ú b Ú c) (a Ù b) Ù c -> (a Ù b Ù c)

• Convert clauses to implications if desired for readability (¬a Ú ¬b Ú c Ú d) -> a Ù b Þ c Ú d

Page 24: For  Friday

Sample Clause Conversion"x((Prof(x) Ú Student(x)) Þ ($y(Class(y) Ù Has(x,y)) Ù

$y(Book(y) Ù Has(x,y)))) "x(¬(Prof(x) Ú Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù

$y(Book(y) Ù Has(x,y)))) "x((¬Prof(x) Ù ¬Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù

$y(Book(y) Ù Has(x,y)))) "x((¬Prof(x) Ù ¬Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù

$z(Book(z) Ù Has(x,z)))) "x$y$z((¬Prof(x)Ù¬Student(x))Ú ((Class(y) Ù Has(x,y)) Ù

(Book(z) Ù Has(x,z)))) (¬Prof(x)Ù¬Student(x))Ú (Class(f(x)) Ù Has(x,f(x)) Ù

Book(g(x)) Ù Has(x,g(x))))

Page 25: For  Friday

Clause Conversion(¬Prof(x)Ù¬Student(x))Ú (Class(f(x)) Ù Has(x,f(x)) Ù

Book(g(x)) Ù Has(x,g(x)))) (¬Prof(x) Ú Class(f(x))) Ù (¬Prof(x) Ú Has(x,f(x))) Ù (¬Prof(x) Ú Book(g(x))) Ù (¬Prof(x) Ú Has(x,g(x))) Ù (¬Student(x) Ú Class(f(x))) Ù (¬Student(x) Ú Has(x,f(x))) Ù (¬Student(x) Ú Book(g(x))) Ù (¬Student(x) Ú Has(x,g(x))))

Page 26: For  Friday

Sample Resolution Problem

• Jack owns a dog. • Every dog owner is an animal lover. • No animal lover kills an animal. • Either Jack or Curiosity killed Tuna the cat. • Did Curiosity kill the cat?

Page 27: For  Friday

In Logic Form

A) $x Dog(x) Ù Owns(Jack,x) B) "x ($y Dog(y) Ù Owns(x,y)) Þ

AnimalLover(x)) C) "x AnimalLover(x) Þ ("y Animal(y) Þ

¬Kills(x,y)) D) Kills(Jack,Tuna) Ú Kills(Cursiosity,Tuna) E) Cat(Tuna) F) "x(Cat(x) Þ Animal(x)) Query: Kills(Curiosity,Tuna)

Page 28: For  Friday

In Normal Form

A1) Dog(D) A2) Owns(Jack,D) B) Dog(y) Ù Owns(x,y) Þ AnimalLover(x) C) AnimalLover(x) Ù Animal(y) Ù Kills(x,y) Þ False

D) Kills(Jack,Tuna) Ú Kills(Curiosity,Tuna) E) Cat(Tuna) F) Cat(x) Þ Animal(x) Query: Kills(Curiosity,Tuna) Þ False

Page 29: For  Friday

Resolution Proof