For Wednesday No reading Homework: –Chapter 8, exercise 24.

Slides:



Advertisements
Similar presentations
Artificial Intelligence 8. The Resolution Method
Advertisements

Some Prolog Prolog is a logic programming language
Resolution Proof System for First Order Logic
Inference Rules Universal Instantiation Existential Generalization
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Standard Logical Equivalences
Resolution.
ITCS 3153 Artificial Intelligence Lecture 15 First-Order Logic Chapter 9 Lecture 15 First-Order Logic Chapter 9.
Inference in first-order logic Chapter 9. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
First Order Logic Resolution
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
We have seen that we can use Generalized Modus Ponens (GMP) combined with search to see if a fact is entailed from a Knowledge Base. Unfortunately, there.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
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.
Logic Use mathematical deduction to derive new knowledge.
13 Automated Reasoning 13.0 Introduction to Weak Methods in Theorem Proving 13.1 The General Problem Solver and Difference Tables 13.2 Resolution.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Logic.
Resolution in Propositional and First-Order Logic.
RESOLUTION: A COMPLETE INFERENCE PROCEDURE. I Then we certainly want to be able to conclude S(A); S(A) is true if S(A) or R(A) is true, and one of those.
Resolution Theorem Prover in First-Order Logic
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
Formal Logic Proof Methods Direct Proof / Natural Deduction Conditional Proof (Implication Introduction) Reductio ad Absurdum Resolution Refutation.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2004.
1 Automated Reasoning Introduction to Weak Methods in Theorem Proving 13.1The General Problem Solver and Difference Tables 13.2Resolution Theorem.
Inference and Resolution for Problem Solving
Methods of Proof Chapter 7, second half.
Knoweldge Representation & Reasoning
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Fall 2004.
Artificial Intelligence
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2005.
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
INFERENCE IN FIRST-ORDER LOGIC IES 503 ARTIFICIAL INTELLIGENCE İPEK SÜĞÜT.
Inference in First-Order logic Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
For Wednesday Read chapter 10 Prolog Handout 4. Exam 1 Monday Take home due at the exam.
For Monday Read chapter 9 Homework: –Chapter 8, exercises 9 and 10.
Conjunctive normal form: any formula of the predicate calculus can be transformed into a conjunctive normal form. Def. A formula is said to be in conjunctive.
1 Chapter 8 Inference and Resolution for Problem Solving.
For Wednesday No reading Homework –Chapter 8, exercises 9 and 10.
Logical Inference 2 rule based reasoning
Logical Agents Logic Propositional Logic Summary
1 Knowledge Representation. 2 Definitions Knowledge Base Knowledge Base A set of representations of facts about the world. A set of representations of.
For Wednesday No new reading Prolog handout 2 Chapter 9, exercise 4.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
An Introduction to Artificial Intelligence – CE Chapter 7- Logical Agents Ramin Halavati
For Friday No new reading Logic and Resolution Homework.
Unification Algorithm Input: a finite set Σ of simple expressions Output: a mgu for Σ (if Σ is unifiable) 1. Set k = 0 and  0 = . 2. If Σ  k is a singleton,
For Monday Read “lectures” 6,9-12 of Learn Prolog Now: saarland.de/~kris/learn-prolog-now/ saarland.de/~kris/learn-prolog-now/
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Reasoning Early AI explored how to automate several reasoning tasks – these were solved by what we might call weak problem solving methods as.
For Monday Read “lectures” 1-5 of Learn Prolog Now: prolog-now/
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
For Wednesday Finish reading chapter 10 – can skip chapter 8 No written homework.
Dr. Shazzad Hosain Department of EECS North South Universtiy Lecture 04 – Part B Propositional Logic.
Backward chaining Assume the same representation of rules as in forward chaining, i.e. If is true, is true, … is true Then is true. Rule interpretation.
For Wednesday No reading Prolog handout 2 Chapter 9, exercise 4.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
For Friday Finish chapter 9 Program 1 due. Program 1 Any questions?
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
EA C461 Artificial Intelligence
Logical Inference 2 Rule-based reasoning
For Monday Read Prolog handout 4 Homework:
Logical Inference 2 Rule-based reasoning
For Monday Read chapter 10, sections 1-3 Prolog handout 4
Artificial Intelligence
Methods of Proof Chapter 7, second half.
RESOLUTION.
Presentation transcript:

For Wednesday No reading Homework: –Chapter 8, exercise 24

Program 1 Any questions?

Homework

Generalized Modus Ponens Combines three steps of “natural deduction” (Universal Elimination, And Introduction, Modus Ponens) into one. Provides direction and simplification to the proof process for standard inferences. Generalized Modus Ponens: p 1 ', p 2 ',...p n ', (p 1  p 2 ...  p n  q) |- SUBST( ,q) where  is a substitution such that for all i SUBST( ,p i ') = SUBST( ,p i )

Example 1)  x,y(Parent(x,y)  Male(x)  Father(x,y)) 2) Parent(Tom,John) 3) Male(Tom)  ={x/Tom, y/John) 4) Father(Tom,John)

Canonical Form In order to use generalized Modus Ponens, all sentences in the KB must be in the form of Horn sentences:  v 1,v 2,...v n p 1  p 2 ...  p m  q Also called Horn clauses, where a clause is a disjunction of literals, because they can be rewritten as disjunctions with at most one non­negated literal.  v ,v 2,...v n ¬p 1  ¬p 2 ...  ¬ p n  q

Horn Clauses Single positive literals (facts) are Horn clauses with no antecedent. Quantifiers can be dropped since all variables can be assumed to be universally quantified by default. Many statements can be transformed into Horn clauses, but many cannot (e.g. P(x)  Q(x), ¬P(x))

Unification In order to match antecedents to existing literals in the KB, we need a pattern matching routine. UNIFY(p,q) takes two atomic sentences and returns a substitution that makes them equivalent. UNIFY(p,q)=  where SUBST( ,p)=SUBST( ,q)  is called a unifier

Unification Examples UNIFY(Parent(x,y), Parent(Tom, John)) = {x/Tom, y/John} UNIFY(Parent(Tom,x), Parent(Tom, John)) = {x/John}) UNIFY(Likes(x,y), Likes(z,FOPC)) = {x/z, y/FOPC} UNIFY(Likes(Tom,y), Likes(z,FOPC)) = {z/Tom, y/FOPC} UNIFY(Likes(Tom,y), Likes(y,FOPC)) = fail UNIFY(Likes(Tom,Tom), Likes(x,x)) = {x/Tom} UNIFY(Likes(Tom,Fred), Likes(x,x)) = fail

Same Variable Exact variable names used in sentences in the KB should not matter. But if Likes(x,FOPC) is a formula in the KB, it does not unify with Likes(John,x) but does unify with Likes(John,y) We can standardize one of the arguments to UNIFY to make its variables unique by renaming them. Likes(x,FOPC) ­> Likes(x 1, FOPC) UNIFY(Likes(John,x),Likes(x 1,FOPC)) = {x 1 /John, x/FOPC}

Which Unifier? There are many possible unifiers for some atomic sentences. –UNIFY(Likes(x,y),Likes(z,FOPC)) = {x/z, y/FOPC} {x/John, z/John, y/FOPC} {x/Fred, z/Fred, y/FOPC} UNIFY should return the most general unifier which makes the least commitment to variable values.

How Do We Use It? We have two primary methods for using Generalized Modus Ponens We can start with the knowledge base and try to generate new sentences –Forward Chaining We can start with a sentence we want to prove and try to work backward until we can establish the facts from the knowledge base –Backward Chaining

Forward Chaining Use modus ponens to derive all consequences from new information. Inferences cascade to draw deeper and deeper conclusions To avoid looping and duplicated effort, must prevent addition of a sentence to the KB which is the same as one already present. Must determine all ways in which a rule (Horn clause) can match existing facts to draw new conclusions.

Assumptions A sentence is a renaming of another if it is the same except for a renaming of the variables. The composition of two substitutions combines the variable bindings of both such that: SUBST(COMPOSE(  1,  2),p) = SUBST(  2,SUBST(  1,p))

Forward Chaining Algorithm procedure FORWARD­CHAIN(KB, p) if there is a sentence in KB that is a renaming of p then return Add p to KB for each ( p 1 ...  p n  q) in KB such that for some i, UNIFY( p i, p) =  succeeds do FIND­AND­INFER(KB, [p 1, …, p i-1, p i-1, …, p n ],q,  ) end procedure FIND­AND­INFER(KB,premises,conclusion,  ) if premises = [] then FORWARD-CHAIN(KB, SUBST( , conclusion)) else for each p´ in KB such that UNIFY(p´, SUBST( , FIRST( premises))) =  2 do FIND­AND­INFER(KB, REST( premises), conclusion, COMPOSE( ,  2 )) end

Forward Chaining Example Assume in KB 1) Parent(x,y)  Male(x)  Father(x,y) 2) Father(x,y)  Father(x,z)  Sibling(y,z) Add to KB 3) Parent(Tom,John) Rule 1) tried but can't ``fire'' Add to KB 4) Male(Tom) Rule 1) now satisfied and triggered and adds: 5) Father(Tom, John) Rule 2) now triggered and adds: 6) Sibling(John, John) {x/Tom, y/John, z/John}

Example cont. Add to KB 7) Parent(Tom,Fred) Rule 1) triggered again and adds: 8) Father(Tom,Fred) Rule 2) triggered again and adds: 9) Sibling(Fred,Fred) {x/Tom, y/Fred, z/Fred} Rule 2) triggered again and adds: 10) Sibling(John, Fred) {x/Tom, y/John, z/Fred} Rule 2) triggered again and adds: 11) Sibling(Fred, John) {x/Tom, y/Fred, z/John}

Problems with Forward Chaining Inference can explode forward and may never terminate. Consider the following: Even(x)  Even(plus(x,2)) Integer(x)  Even(times(2,x)) Even(x)  Integer(x) Even(2) Inference is not directed towards any particular conclusion or goal. May draw lots of irrelevant conclusions

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.

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.

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})

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})

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})

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})

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

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 (a type of undecidability). 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.

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 p j and q k in two clauses p 1 ... p j...  p m q 1 ... q k...  q n such that  =UNIFY(p j, ¬q k ), derive SUBST( , p 1 ...p j­1  p j+1...  p m  q 1 ...q k­1 q k+1...  q n )

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. ¬p 1 ...  ¬p m  q 1 ...  q n  p 1 ...  p m  q 1 ...  q n

Conjunctive Normal Form (CNF) For resolution to apply, all sentences must be in conjunctive normal form, a conjunction of disjunctions of literals (a 1 ...  a m )  (b 1 ...  b n ) .....  (x 1 ...  x v ) Representable by a set of clauses (disjunctions of literals) Also representable as a set of implications (INF).

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)

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)

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)

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

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

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.

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

Conversion continued Standardize variables to avoid use of the same variable name by two different quantifiers.  x P(x)   x P(x) ->  x 1 P(x 1 )  x 2 P(x 2 ) Move quantifiers left while maintaining order. Renaming above guarantees this is a truth­preserving transformation.  x 1 P(x 1 )  x 2 P(x 2 ) ->  x 1  x 2 (P(x 1 )  P(x 2 ))

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(C 1 )  Q(C 1 ) –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.  x 1  x 2 (P(x 1 )  P(x 2 )) ->  x 1 (P(x 1 )  P(f 1 (x 1 )))  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.

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

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))))

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))))

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?

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)

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

Resolution Proof