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.