1 FOL CS 331 Dr M M Awais Inferencing Finding solution to queries Propositionalization –(For reference only, may leave slides 2 to 7) Unification –Forward.

Slides:



Advertisements
Similar presentations
Inference in first-order logic
Advertisements

Inference in first-order logic
First-Order Logic.
Inference Rules Universal Instantiation Existential Generalization
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.
1 FOL CS 331/531 Dr M M Awais Composition Find Overall Substitutions Given two or more sets of substitutions.
Artificial Intelligence Inference in first-order logic Fall 2008 professor: Luigi Ceccaroni.
Some Thoughts to Consider 7 What is the difference between Knowledge Engineering and Programming? What is the difference between Knowledge Engineering.
Inference in FOL All rules of inference for propositional logic apply to first-order logic We just need to reduce FOL sentences to PL sentences by instantiating.
First-Order Logic Inference
1 FOL CS 331/531 Dr M M Awais Unification “It is an algorithm for determining the substitutions needed to make two predicate calculus expressions match”
1 FOL Resolution based Inferencing Resolution based rules studied earlier can lead to inferences, rules such as modus ponen, unit resolution etc… Other.
CSCE 580 Artificial Intelligence Ch.9: Inference in First-Order Logic
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2004.
Cooperating Intelligent Systems Inference in first-order logic Chapter 9, AIMA.
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9.
Inference in first-order logic Chapter 9. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
Cooperating Intelligent Systems Inference in first-order logic Chapter 9, AIMA.
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Fall 2004.
1 FOL CS 331/531 Dr M M Awais Composition Find Overall Substitutions Given two or more sets of substitutions.
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2005.
Inference in First-Order Logic Inference Rules with Quantifiers The three new inference rules are as follows: Universal Elimination: For any sentence ,
1 Inference in First-Order Logic. 2 Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward chaining.
CSC411Artificial intelligence 1 Chapter 2 The Predicate Calculus Contents The Propositional Calculus The Predicate Calculus Using Inference Rules to Produce.
Cooperating Intelligent Systems Inference in first-order logic Chapter 9, AIMA.
Predicate Logic or FOL Chapter 8. Syntax See text for formal rules. All of propositional + quantifiers, predicates, functions, and constants. Variables.
CHAPTER 9 Oliver Schulte Inference in First-Order Logic.
Inference in First-Order Logic CS 271: Fall 2007 Instructor: Padhraic Smyth.
Inference in first-order logic I CIS 391 – Introduction to Artificial Intelligence AIMA Chapter (through p. 278) Chapter 9.5 (through p. 300)
1 Inference in first-order logic Chapter 9. 2 Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
Inference in first-order logic Chapter 9. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
CS 416 Artificial Intelligence Lecture 12 First-Order Logic Chapter 9 Lecture 12 First-Order Logic Chapter 9.
Inference in first- order logic. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward chaining.
Computing & Information Sciences Kansas State University Friday, 29 Sep 2006CIS 490 / 730: Artificial Intelligence Lecture 16 of 42 Friday, 29 September.
Inference in First-Order Logic 부산대학교 전자전기컴퓨터공학과 인공지능연구실 김민호
1 Inference in First-Order Logic CS 271: Fall 2009.
1 Inference in First Order Logic CS 171/271 (Chapter 9) Some text and images in these slides were drawn from Russel & Norvig’s published material.
5/18/2005EE562 EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 13, 5/18/2005 University of Washington, Department of Electrical Engineering Spring.
1 First Order Logic (Syntax, Semantics and Inference)
An Introduction to Artificial Intelligence – CE Chapter 9 - Inference in first-order logic Ramin Halavati In which we define.
1 First Order Logic CS 171/271 (Chapters 8 and 9) Some text and images in these slides were drawn from Russel & Norvig’s published material.
1/19 Inference in first-order logic Chapter 9- Part2 Modified by Vali Derhami.
Inference in first-order logic
Inference in First Order Logic. Outline Reducing first order inference to propositional inference Unification Generalized Modus Ponens Forward and backward.
Inference in First-Order Logic Chapter 9. Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward.
1 Chaining in First Order Logic CS 171/271 (Chapter 9, continued) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Knowledge Representation using First-Order Logic
Presented By S.Yamuna AP/CSE
Inference in first-order logic
Logical Agents Chapter 7.
School of Computer Science & Engineering
Inference in First-Order Logic
Knowledge Representation & Reasoning
Introduction to Artificial Intelligence
Inference in First-Order Logic
Inference in first-order logic part 1
Example of Knowledge Base
Artificial intelli-gence 1:Inference in first-order logic
Artificial Intelligence
Introduction to Artificial Intelligence
Artificial intelligence: Inference in first-order logic
Artificial Intelligence Inference in First Order Logic
Inference in first-order logic
Inference in first-order logic part 1
Inference in First Order Logic (1)
First-Order Logic Inference
CS 8520: Artificial Intelligence
First-Order Logic Prof. Dr. Widodo Budiharto 2018
Presentation transcript:

1 FOL CS 331 Dr M M Awais Inferencing Finding solution to queries Propositionalization –(For reference only, may leave slides 2 to 7) Unification –Forward Chaining –Backward Chaining Resolution

Luger’s Book: Chapter 2 and Chapter 12 (upto 12.2)

3 FOL CS 331 Dr M M Awais Propositionalization 1.Brute Force Approach 2.Apply all possible bindings to the variables. 3.Add every clause in the sentence as a proposition to the knowledge base. 4.Search for the required proposition (Goal proposition)

4 FOL CS 331 Dr M M Awais Reduction to propositional inference Suppose the KB contains just the following:  X wealthy(X)  greedy(X)  bad(X) wealthy(arif) greedy(arif) cousins(shahid,arif) Instantiating the universal sentence in all possible ways, we have: wealthy(arif)  greedy(arif)  bad(arif) wealthy(shahid)  greedy(shahid)  bad(shahid) wealthy(arif) greedy(arif) cousins(shahid,arif) Universal Instantiation The new KB is propositionalized: proposition symbols are wealthy(arif), greedy(arif), bad(arif), wealthy(shahid), greedy(shahid), bad(shahid), cousins(shahid,arif).

5 FOL CS 331 Dr M M Awais Reduction contd. Every FOL KB can be propositionalized so as to preserve entailment (entailments are dependencies) (A ground sentence is entailed by new KB iff entailed by original KB) Idea: propositionalize KB and query, apply resolution, return result Problem: with function symbols, there are infinitely many ground terms, –e.g., Father(Father(Father(John)))

6 FOL CS 331 Dr M M Awais Reduction contd. Theorem: Herbrand (1930). If a sentence α is entailed by an FOL KB, it is entailed by a finite subset of the propositionalized KB Idea: For n = 0 to ∞ do create a propositional KB by instantiating with depth-$n$ terms see if α is entailed by this KB Problem: works if α is entailed, loops if α is not entailed Theorem: Turing (1936), Church (1936) Entailment for FOL is semidecidable (algorithms exist that say yes to every entailed sentence, but no algorithm exists that also says no to every nonentailed sentence.)

7 FOL CS 331 Dr M M Awais Problems with propositionalization Propositionalization seems to generate lots of irrelevant sentences. E.g., from:  x King(x)  Greedy(x)  Evil(x) King(John)  y Greedy(y) Brother(Richard,John) it seems obvious that Evil(John), but propositionalization produces lots of facts such as Greedy(Richard) that are irrelevant With p k-ary predicates and n constants, there are p · n k instantiations.

8 FOL CS 331 Dr M M Awais Unification “It is an algorithm for determining the substitutions needed to make two predicate calculus expressions match” The process of universal/existential instantiation require substitutions

9 FOL CS 331 Dr M M Awais Unification Unify(α,β) = θ if αθ = βθ p q θ knows(ali,X) knows(ali,sana) knows(ali,X)knows(Y,hira) knows(ali,X) knows(Y,mother(Y)) knows(ali,X)knows(X,hira) Standardizing apart eliminates overlap of variables, e.g., the fourth sentence can have knows(Z,hira)

10 FOL CS 331 Dr M M Awais Unification Unify(α,β) = θ if αθ = βθ p q θ knows(ali,X) knows(ali,sana) {sana/X} knows(ali,X)knows(Y,hira) knows(ali,X) knows(Y,mother(Y)) knows(ali,X)knows(X,hira) Standardizing apart eliminates overlap of variables, e.g., the fourth sentence can have knows(Z,hira)

11 FOL CS 331 Dr M M Awais Unification Unify(α,β) = θ if αθ = βθ p q θ knows(ali,X) knows(ali,sana) {sana/X} knows(ali,X)knows(Y,hira) {hira/X,ali/Y} knows(ali,X) knows(Y,mother(Y)) knows(ali,X)knows(X,hira) Standardizing apart eliminates overlap of variables, e.g., the fourth sentence can have knows(Z,hira)

12 FOL CS 331 Dr M M Awais Unification Unify(α,β) = θ if αθ = βθ p q θ knows(ali,X) knows(ali,sana) {sana/X} knows(ali,X)knows(Y,hira) {hira/X,ali/Y} knows(ali,X) knows(Y,mother(Y)) {ali/Y,mother(ali)} knows(ali,X)knows(X,hira) Standardizing apart eliminates overlap of variables, e.g., the fourth sentence can have knows(Z,hira)

13 FOL CS 331 Dr M M Awais Unification Unify(α,β) = θ if αθ = βθ p q θ knows(ali,X) knows(ali,sana) {sana/X} knows(ali,X)knows(Y,hira) {hira/X,ali/Y} knows(ali,X) knows(Y,mother(Y)) {ali/Y,mother(ali)} knows(ali,X)knows(X,hira) {fail} Standardizing apart eliminates overlap of variables, e.g., the fourth sentence can have knows(Z,hira)

14 FOL CS 331 Dr M M Awais Unification - MGU To unify knows(ali,X) and knows(Y,Z) θ = {ali/Y, Z/X } or θ = {ali/Y, ali/X, ali/Z} (if only ali is present in the data base of facts) The first unifier is more general than the second. There is a single Most General Unifier (MGU) that is unique up to renaming of variables. MGU = { ali/Y, Z/X}

15 FOL CS 331 Dr M M Awais Implementation of Unification Using“List format” PC SyntaxList Syntax p(a,b)(p a b) p(f(a), g(X,Y))(p(f a)(g X Y)) p(x) ^ q(y)((p x) ^ (q y))

16 FOL CS 331 Dr M M Awais Unification Examples Unify ((parents X(father X) (mother bill)), (parents bill (father bill)Y)). Complete Substitution {bill/X, mother (bill)/Y}

17 FOL CS 331 Dr M M Awais

18 FOL CS 331 Dr M M Awais

19 FOL CS 331 Dr M M Awais

20 FOL CS 331 Dr M M Awais Logic – Based Financial Advisor To help a user decide whether to invest in a saving A/C or the stock market or both

21 FOL CS 331 Dr M M Awais Policy: Saving inadequate - should invest in saving A/c regardless of income Saving adequate and adequate income - More profitable option of stock investment Low Income & adequate savings - Split surplus between saving and stock investment

22 FOL CS 331 Dr M M Awais Defining Constraints Adequate Savings/Income: Income:Rs 15000/month extra Rs 4000/ dependent/month Saving:Rs 25,000/year extra Rs 5000/dependent/year

23 FOL CS 331 Dr M M Awais Calculating Adequacy Define Functions to calculate the minimum income and savings Minimum Savings:min_saving(X) min_saving(X)= *X where X are the number of dependents Minimum Income:min_income(X) min_income(X)= *X

24 FOL CS 331 Dr M M Awais Outputs Investment (savings) Investment (stocks) Investment (combination) How can we represent outputs?

25 FOL CS 331 Dr M M Awais Rules  saving_acc (inadequate)  investment (savings)  saving_acc(adequate) ^ income(adequate)  investment(stocks)  saving_acc (adequate) ^ income (inadequate)  investment (combination)

26 FOL CS 331 Dr M M Awais What next? Define Saving adequate Define saving inadequate Define income adequate Define income inadequate

27 FOL CS 331 Dr M M Awais Savings Check if saved amount is greater than the minimum saving required

28 FOL CS 331 Dr M M Awais Income Check if the income is greater than the minimum income

29 FOL CS 331 Dr M M Awais Try firing rules with 9, 10, 11

30 FOL CS 331 Dr M M Awais Example knowledge base The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American. Prove that Col. West is a criminal

31 FOL CS 331 Dr M M Awais Example knowledge base contd.... it is a crime for an American to sell weapons to hostile nations: american(X)  weapon(Y)  sells(X,Y,z)  hostile(z)  criminal(X) Nono … has some missiles, i.e.,  X Owns(Nono,X)  Missile(X): owns(nono,m 1 ) and missile(m 1 ) … all of its missiles were sold to it by Colonel West missile(X)  owns(nono,X)  sells(west,X,nono) Missiles are weapons: missile(X)  weapon(X) An enemy of America counts as "hostile“: enemy(X,america)  hostile(X) West, who is American … american(west) The country Nono, an enemy of America … enemy(nono,america)

32 FOL CS 331 Dr M M Awais Example knowledge base contd. Rule Base:... it is a crime for an American to sell weapons to hostile nations: R1: american(X)  weapon(Y)  sells(X,Y,z)  hostile(z)  criminal(X) Nono … has some missiles, i.e., R2 R2:  X owns(nono,X)  missile(X): … all of its missiles were sold to it by Colonel West R3 R3: missile(X)  owns(nono,X)  sells(west,X,nono) Missiles are weapons: R4: R4: missile(X)  weapon(X) An enemy of America counts as "hostile“: R5 R5: enemy(X,america)  hostile(X) Database of Facts: owns(nono,m 1 ) and missile(m 1 ) West, who is American … american(west) The country Nono, an enemy of America … enemy(nono,america)

33 FOL CS 331 Dr M M Awais START FROM THE FACTS THINK WHICH RULES APPLY Be careful about the convention constants start with capital letters and variables with small (applicable to next few slides) R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) 1. FORWARD CHAINING

34 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) R4 {m1/X} R3 {m1/X} R5 {nono/X}

35 FOL CS 331 Dr M M Awais R1 {west/X, m1/Y, nono/Z} R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) : R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X)

36 FOL CS 331 Dr M M Awais 2. BACKWARD CHAINING START FROM THE CONCLUSION THINK IS THE RULE SUPPORT AVAILABLE R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X)

37 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

38 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

39 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

40 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

41 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

42 FOL CS 331 Dr M M Awais R1: american(X)  weapon(Y)  sells(X,Y,Z)  hostile(Z)  criminal(X) R2:  X owns(nono,X)  missile(X): R3: missile(X)  owns(nono,X)  sells(west,X,nono) R4: missile(X)  weapon(X) R5: enemy(X,america)  hostile(X) Backward chaining example

43 FOL CS 331 Dr M M Awais 3. Modus Ponen Based Solution 1.6 with 3 suggests, through Modus Ponens: weapons(m1) :{m1/X} 2.From 4 and 9 hostile(nono) : {nono/X} 3.From 2, 5, 6, Modus Ponens sells(west,nono,m1):m1/X 4.From 2,3,4,5,6, and 9criminal(west): {west/X, m1/Y, nono/Z} 1.  X,Y,Z[american(X)^weapon(Y)^n ation(Z)^hostile(Z)^sells(X,Z,Y)  criminal(X)] 2.  X owns(nono,X)^missiles(X)  sells(west,nono,X) 3.  X missiles(X)  weapons (X) 4.  X enemy(X,america)  hostile(X) 5.owns(nono,m1) 6.missiles(m1) 7.american(west) 8.nation(nono) 9.enemy(nono,america) 10.nation(america)

44 FOL CS 331 Dr M M Awais Composition Find Overall Substitutions Given two or more sets of substitutions

45 FOL CS 331 Dr M M Awais Example S1={A/K} S2={a/A, H/J} What set would represent overall substitutions S1.S2={a/K, H/J} Algorithm?

46 FOL CS 331 Dr M M Awais Example S1={A/K} S2={a/A, H/J} S1.S2={a/K, H/J} Algorithm: 1.Apply S2 to S1 (find overall substitution) 2.Add S2 to S1 3.Drop all substitutions in S2 which have common denominators with S1

47 FOL CS 331 Dr M M Awais Example S1={A/K} S2={a/A, H/J} Algorithm: Apply S2 to S1 (find overall substitution) Apply a/A to A/K would lead to a/K Apply H/J to A/K cannot be applied S1.S2={a/K} Add S2 to S1 S1.S2={a/Ka/A,H/J} Drop all substitutions in S2 which have common denominators with S1 nothing gets dropped, hence the answer is {a/K,a/A,H/J}

48 FOL CS 331 Dr M M Awais Example S1={D/A} S2={a/D} S12={a/A, a/D} S1={D/A,S/G} S2={x/X, f/D, q/S,w/A} S1.S2={f/A,q/G, x/X, f/D, q/S,w/A} S1.S2={f/A,q/G,x/X,q/S} (w/A gets dropped) S1.S2={f/A,q/G,x/X,q/S}

49 FOL CS 331 Dr M M Awais Is S1.S2 same as S2.S1 S1={D/A} S2={a/D} S21={a/A, D/A}  {a/A} where as S12={a/A, a/D} S1={D/A,S/G} S2={x/X, f/D, q/S,w/A} S2.S1={x/X, f/D, q/S, w/A D/A,S/G} S2.S1={x/X, f/D, q/S, w/A, S/G} (D/A gets dropped) Hence generally speaking S1.S2 not equal to S2.S1

50 FOL CS 331 Dr M M Awais Is S12 same as S21 S1={D/A} S2={X/A} S12={D/A, X/A} S12={D/A} S21={X/A,D/A} S21={X/A}

51 FOL CS 331 Dr M M Awais Example S1={D/A, d/F,S/E} S2={g/D} S12={g/A, d/F,S/E, g/D} S21={g/D, D/A, d/F,S/E}

52 FOL CS 331 Dr M M Awais Substitution: Discussion Domain: Variables in the substitution together form the domain (denominators) Replacements: Terms are the replacements (numerators) Pure Vs Impure Substitutions: –A pure substitution is if all replacements are free of the variables in the domain of the substitution. Otherwise impure –{s/X, t/I, j/G} (pure) –The composition of pure substitutions may be impure and vice versa Composability: –A substitution S1 and S2 are composable if and only if the variables in the domain of S1 do not appear among the replacements of S2, otherwise they are noncomposable. –S1={a/X,b/Y,z/V} S2={U/X,b/V}composable –S1={a/X,b/Y,z/V} S2={X/U, b/V}noncomposable

53 FOL CS 331 Dr M M Awais Application Example Knowledge base: knows(ali,sana) knows(X,shahid)knows(X,Y) We also know knows(ali,X)  hates(ali,X) Unify the conditions to find ali hates whom unify(knows(ali,X), knows(ali,sana)) = {sana/X} Using the binding and the rule: ali hates sana unify(knows(ali,X), knows(X,shahid)) = {ali/X,shahid/X} This would fail as X cannot have two values at the same time As the composition of {ali/X} with {shahid/X} or vice versa will result in only one valid substitution unify(knows(ali,X), knows(X,Y)) = {ali/X,X/Y} This would mean that ali knows everyone including himself, therefore hates everyone.