Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.

Slides:



Advertisements
Similar presentations
Resolution Proof System for First Order Logic
Advertisements

Biointelligence Lab School of Computer Sci. & Eng.
Inference Rules Universal Instantiation Existential Generalization
1 A formula in predicate logic An atom is a formula. If F is a formula then (~F) is a formula. If F and G are Formulae then (F /\ G), (F \/ G), (F → G),
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 06 : First Order Logic Resolution Prove.
Standard Logical Equivalences
Resolution.
Artificial Intelligence
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.
Models and Propositional Logic In propositional logic, a model in general simply fixes the truth value – true or false – for every proposition symbol.
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.
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.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus.
Using Predicate Logic Chapter 5.
Prolog IV Logic, condensed. 2 Propositional logic Propositional logic consists of: The logical values true and false ( T and F ) Propositions: “Sentences,”
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.
CSE (c) S. Tanimoto, 2008 Propositional Logic
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2004.
AI - Week 16 Logic and Reasoning in AI: Resolution Refutation Lee McCluskey, room 2/07
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
Knoweldge Representation & Reasoning
Chapter 3 Propositional Logic
Artificial Intelligence
Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus.
The Semantic Web – WEEK 8: An automatic Proof technique.. The “Layer Cake” Model – [From Rector & Horrocks Semantic Web cuurse] You are here!
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
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.
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.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
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.
CPSC 386 Artificial Intelligence Ellen Walker Hiram College
C. Varela1 Logic Programming (PLP 11) Predicate Calculus, Horn Clauses, Clocksin-Mellish Procedure Carlos Varela Rennselaer Polytechnic Institute November.
Reasoning using First-Order Logic
The Law of Resolution Formal Aspects of Computer Science - Week 7 The Law of Resolution Lee McCluskey, room 2/07
Propositional Logic Predicate Logic
For Wednesday Finish reading chapter 10 – can skip chapter 8 No written homework.
Knowledge Repn. & Reasoning Lec. #5: First-Order Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2004.
Propositional Logic. Assignment Write any five rules each from two games which you like by using propositional logic notations.
Introduction to Logic for Artificial Intelligence Lecture 2
Knowledge Representation and Reasoning
Resolution in the Propositional Calculus
Propositional Logic Resolution
Horn Clauses and Unification
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Logic Use mathematical deduction to derive new knowledge.
Biointelligence Lab School of Computer Sci. & Eng.
Carlos Varela Rensselaer Polytechnic Institute November 10, 2017
Horn Clauses and Unification
Prolog IV Logic, condensed.
Horn Clauses and Unification
Horn Clauses and Unification
Biointelligence Lab School of Computer Sci. & Eng.
Horn Clauses and Unification
Predicates and Quantifiers
CSNB234 ARTIFICIAL INTELLIGENCE
RESOLUTION.
Resolution Proof System for First Order Logic
Presentation transcript:

Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of representing large bodies of knowledge 1

Logical Reasoning In order to communicate, we need a formal language in which to express – axioms – theorems – hypotheses – rules Common languages include – propositional logic – 1 st order predicate logic 2

Propositional Logic Propositions are statements that are true or false. – P: Sierra is a dog – Q: Muffy is a cat – R: Sierra and Muffy are not friends Propositions can be combined using logic symbols P  Q  R  P  Q 3

Predicate Logic Formulas have predicates with variables and constants: – man(Marcus) – Pompeian(Marcus) – born(Marcus, 40) More symbols –  for every  x Pompeian(x)  died(x,79) –  there exists  x Pompeian(x) 4

Ancient Pompei 5

I was there in

Ancient Theater 7

Ancient Garden (Plants are new.) 8

Vesuvius 9

Predicate Logic Example 1.Pompeian(Marcus) 2.born(Marcus,40) 3.man(Marcus) 4.  x man(x)  mortal(x) 5.  x Pompeian(x)  died(x,79) 6.erupted(Vesuvius,79) 7.  x  t1  t2 mortal(x)  born(x,t1)  gt(t2- t1,150)  dead(x,t2) 10

Dead Guy in gt(now,79) 11

Some Rules of Inference 9.  x  t [alive(x,t)   dead(x,t)]  [  dead(x,t)  alive(x,t)] If x is alive at time t, he’s not dead at time t, and vice versa. 10.  x  t1  t2 died(x,t1)  gt(t2,t1)  dead(x,t2) If x died at time t1 and t2 is later, x is still dead at t2. 12

Prove dead(Marcus,now) 1. Pompeian(Marcus) 2. born(Marcus,40) 3. man(Marcus) 4.  x man(x)  mortal(x) 5.  x Pompeian(x)  died(x,79 ) 6. erupted(Vesuvius,79) 7.  x  t1  t2 mortal(x)  born(x,t1)  gt(t2-t1,150)  dead(x,t2) 8. gt(now,79) 9.  x  t [alive(x,t)   dead(x,t)]  [  dead(x,t)  alive(x,t)] 10.  x  t1  t2 died(x,t1)  gt(t2,t1)  dead(x,t2) 13

Prove dead(Marcus,now) Direct Proof 1. Pompeian(Marcus) 5.  x Pompeian(x)  died(x,79) 8. gt(now,79) 7.  x  t1  t2 died(x,t1)  gt(t2,t1)  dead(x,t2) died(Marcus,79) died(Marcus,79)  gt(now,79) dead(Marcus,now) 14

Proof by Contradiction  dead(Marcus,now)  x  t1  t2 died(x,t1)  gt(t2,t1)  dead(x,t2)  t1  [died(Marcus,t1)  gt(now,t1)] What substitutions were made here? What rule of inference was used? Marcus for x; now for t2 If x  y then  y   x 15

Proof by Contradiction  dead(Marcus,now)  x  t1  t2 died(x,t1)  gt(t2,t1)  dead(x,t2)  t1  [died(Marcus,t1)  gt(now,t1)]  t1  died(Marcus,t1)   gt(now,t1) died(Marcus,79)*  gt(now,79) gt(now,79) *assume we proved this separately contradiction 16

Resolution Theorem Provers for Predicate Logic Given: – F: a set of axioms represented as formulas – S: a conjecture represented as a formula Prove: F logically implies S Technique – Construct  S, the negated conjecture – Show that F’ = F  {  S} leads to a contradiction – Conclude:  {  S} or S 17

Part I: Preprocessing to express in Conjunctive Normal Form 1.Eliminate implication operator  Replace A  B by  (  A,B) Example: man(x)  mortal(x) is replaced by  (  man(x),mortal(x)) or in infix notation  man(x)  mortal(x) 18

Preprocessing Continued 2. Reduce the scope of each  to apply to at most one predicate by applying rules: Demorgan’s Laws   (x1,…,xn) is equivalent to  (  x1,…,  xn)   (x1,…,xn) is equivalent to  (  x1,…,  xn)  (  x)  x  (  x A)   x(  A)  (  x A)   x(  A) 19

Preprocessing Continued Example  [  x  t1  t2 [died(x,t1)  gt(t2,t1)]  dead(x,t2)] Get rid of the implication  [  x  t1  t2  [died(x,t1)  gt(t2,t1)]  dead(x,t2)] Apply the rule for  [   x  t1  t2  (  [died(x,t1)  gt(t2,t1)]  dead(x,t2)) Apply DeMorgan’s Law  x  t1  t2   [died(x,t1)  gt(t2,t1)]   dead(x,t2)  x  t1  t2 died(x,t1)  gt(t2,t1)   dead(x,t2)] 20

Preprocessing Continued 3. Standardize Variables Rename variables so that each quantifier binds a unique variable  x [P(x)   x Q(x)] becomes  x [P(x)   y Q(y)] 21

Preprocessing Continued 4. Eliminate existential qualifiers by introducing Skolem functions. Example  x  y  z P(x,y,z) The variable z depends on x and y. So z is a function of x and y. We choose an arbitrary function name, say f, and replace z by f(x,y), eliminating the .  x  y P(x,y,f(x,y)) 22

Preprocessing Continued 5. Rewrite the result in Conjunctive Normal Form (CNF)  (x1,…,xn) where the xi can be atomic formulas A(x) negated atomic formulas  A(x) disjunctionsA(x)  P(y) This uses the rule  (x1,  (x2, …, xn) =  (  (x1,x2), …,  (x1,xn)) 23

Preprocessing Continued 6. Since all the variables are now only universally quantified, eliminate the  as understood.  x  t1  t2  died(x,t1)   gt(t2,t1)  dead(x,t2) becomes  died(x,t1)   gt(t2,t1)  dead(x,t2) 24

Clause Form The clause form of a set of original formulas consists of a set of clauses as follows. – A literal is an atom or negation of atom. – A clause is a disjunction of literals. – A formula is a conjunction of clauses. Example Clause 1: {A(x),  P(g(x,y),z),  R(z)} (implicit or) Clause 2: {C(x,y), Q(x,y,z)} (another implicit or) 25

Steps in Proving a Conjecture 1.Given a set of axioms F and a conjecture S, let F’ = F   S and find the clause form C of F’. 2.Iteratively try to find new clauses that are logically implied by C. 3.If NIL is one of these clauses you produce, then F’ is unsatisfiable and the conjecture is proved. 4.You get NIL when you produce something that has A and also has  A. 26

Resolution Procedure 1.Convert F to clause form: a set of clauses. 2.Negate S, convert it to clause form, and add it to your set of clauses. 3.Repeat until a contradiction or no progress a. Select two parent clauses. b. Produce their resolvent. c. If the resolvent = NIL, we are done. d. Else add the resolvent to the set of clauses. 27

Resolution for Propositions Let C1 = L1  L2  …  Ln Let C2 = L1’  L2’  …  Ln’ If C1 has a literal L and C2 has the opposite literal  L, they cancel each other and produce resolvent(C1,C2) = L1  L2  …  Ln  L1’  L2’  …  Ln’ with both L and  L removed If no 2 literals cancel, nothing is removed 28

Propositional Logic Example Formulas: P  Q, P  Q, Q  R Conjecture: R Negation of conjecture:  R Clauses: {P  Q,  P  Q,  Q  R,  R} Resolvent(P  Q,  P  Q) is Q. Add Q to clauses. Resolvent(  Q  R,  R) is  Q. Add  Q to clauses. Resolvent(Q,  Q) is NIL. The conjecture is proved. 29

Refutation Graph Original Clauses: {P  Q,  P  Q,  Q  R,  R} P  Q  P  Q  Q  R  R Q  Q NIL 30

Exercise Given P  R and R  Q, prove that P  Q 31

Resolution for Predicates Requires a matching procedure that compares 2 literals and determines whether there is a set of substitutions that makes them identical. This procedure is called unification. C1 = eats(Tom x) C2 = eats(Tom, ice cream) The substituion ice cream/x (read “ice cream for x”) makes C1 = C2. You can substitute constants for variables and variables for variables, but nothing for constants. 32

Proof Using Unification Given  x P(x)  R(x) {  P(x),R(x)}  z R(z)  Q(z) {  R(z),Q(z)} Prove  x P(x)  Q(x) Negation   x P(x)  Q(x)  x  (P(x)  Q(x))  x  (  P(x)  Q(x))  x P(x)   Q(x) P(a)   Q(a)*{P(a)} {  Q(a)} * Skolem function for a single variable is just a constant 33

Refutation Graph with Unification {  P(x),R(x)} {  R(z),Q(z)} Substitution x/z {  P(x),Q(x)} {P(a)} Q(a)  Q(a) NIL Substitution a/x 34

Another Pompeian Example Prove: Marcus hates Caesar 1.man(Marcus) 2.Pompeian(Marcus) 3.  Pompeian(x1)  Roman(x1) 4.ruler(Caesar) 5.  Roman(x2)  loyalto(x2,Caesar)  hate(x2,Caesar) 6.loyalto(x3,f1(x3)) 7.  man(x4)   ruler(y1)   tryassissinate(x4,y1)   loyalto(x4,y1) 8. tryassissinate(Marcus,Caesar) 35

Another Pompeian Example 5. If x2 is Roman and not loyal to Caesar then x2 hates Caesar. 6. For every x3, there is someone he is loyal to. 7. If x4 is a man and y1 is a ruler and x4 tries to assassinate x1 then x4 is not loyal to y1. 8. Marcus tried to assassinate Caesar. 5.  Roman(x2)  loyalto(x2,Caesar)  hate(x2,Caesar) 6. loyalto(x3,f1(x3)) 7.  man(x4)   ruler(y1)   tryassissinate(x4,y1)   loyalto(x4,y1) 8. tryassissinate(Marcus,Caesar) 36

37

38

39

Monkey Solution If we change the conjecture to {  HB(s), HB(s)} the result of the refutation becomes: HB(grasp(climbbox(pushbox(c,s0))) 40