1 fol cs 331 dr m m awais inferencing finding solution to queries propositionalization –(for...
Post on 19-Dec-2015
215 views
TRANSCRIPT
CS 331 Dr M M Awais 1
FOL
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 2and
Chapter 12(upto 12.2)
CS 331 Dr M M Awais 3
FOL
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)
CS 331 Dr M M Awais 4
FOL Reduction to propositional inferenceSuppose 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).
CS 331 Dr M M Awais 5
FOL
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)))
–•
•
•
CS 331 Dr M M Awais 6
FOL
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.)
•
CS 331 Dr M M Awais 7
FOL
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·nk instantiations.
••
••
CS 331 Dr M M Awais 8
FOL
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
CS 331 Dr M M Awais 9
FOL
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)
•
•
CS 331 Dr M M Awais 10
FOL
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)
•
•
CS 331 Dr M M Awais 11
FOL
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)
•
CS 331 Dr M M Awais 12
FOL
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)
•
CS 331 Dr M M Awais 13
FOL
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)
•
CS 331 Dr M M Awais 14
FOL
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}••
CS 331 Dr M M Awais 15
FOL
Implementation of Unification
Using“List format”
PC Syntax List 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))
CS 331 Dr M M Awais 16
FOL
Unification Examples
Unify((parents X(father X) (mother bill)), (parents bill (father bill)Y)).
Complete Substitution
{bill/X, mother (bill)/Y}
CS 331 Dr M M Awais 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
Logic – Based Financial Advisor
To help a user decide whether to invest in a saving A/C or the stock market or both
CS 331 Dr M M Awais 21
FOL
Policy:
Saving inadequate - should invest in saving A/c regardless of income
Saving adequateand adequate income - More profitable option of stock investment
Low Income& adequate savings - Split surplus between saving and stock investment
CS 331 Dr M M Awais 22
FOL
Defining ConstraintsDefining Constraints
Adequate Savings/Income:
Income: Rs 15000/month
extra Rs 4000/ dependent/month
Saving: Rs 25,000/year
extra Rs 5000/dependent/year
CS 331 Dr M M Awais 23
FOL
Calculating AdequacyDefine Functions to calculate the minimum income and
savings
Minimum Savings: min_saving(X)
min_saving(X)=25000+5000*X
where X are the number of dependents
Minimum Income: min_income(X)
min_income(X)=15000+4000*X
CS 331 Dr M M Awais 24
FOL
Outputs
Investment (savings)Investment (stocks)Investment (combination)
How can we represent outputs?
CS 331 Dr M M Awais 25
FOL
Rules saving_acc (inadequate) investment (savings)
saving_acc(adequate) ^ income(adequate) investment(stocks)
saving_acc (adequate) ^ income (inadequate) investment (combination)
CS 331 Dr M M Awais 26
FOL
What next?
• Define Saving adequate
• Define saving inadequate
• Define income adequate
• Define income inadequate
CS 331 Dr M M Awais 27
FOL
Savings
Check if saved amount is greater than the minimum saving required
)(_
))(min_,(^)((^)(_
adequateaccsaving
YsavingXgreaterYdependantsYXsavedamtX
)(_
))(min_,(^)((^)(_
inadequateaccsaving
YsavingXgreaterYdependantsYXsavedamtX
CS 331 Dr M M Awais 28
FOL
Income
Check if the income is greater than the minimum income
)(
))(_,(^)((^),(
adequateincome
YincomemixgreaterYdependantsYsteadyXearningsX
)(
))(_,(^)((^),(
inadequateincome
YincomemixgreaterYdependantsYsteadyXearningsX
)(),( inadequateincomeunsteadyXearningsX
CS 331 Dr M M Awais 29
FOL
Try firing rules with 9, 10, 11
CS 331 Dr M M Awais 30
FOL
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 criminalProve that Col. West is a criminal•
•
CS 331 Dr M M Awais 31
FOL
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,m1) and missile(m1)… 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)
–••••
CS 331 Dr M M Awais 32
FOL
Example knowledge base contd.Rule Base: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.,
R2R2: X owns(nono,X) missile(X):… all of its missiles were sold to it by Colonel West
R3R3: 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“:
R5R5: enemy(X,america) hostile(X)
•Database of Facts:Database of Facts:owns(nono,m1) and missile(m1)
West, who is American …american(west)
The country Nono, an enemy of America …enemy(nono,america)
•••
CS 331 Dr M M Awais 33
FOL
•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
CS 331 Dr M M Awais 34
FOL 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}
CS 331 Dr M M Awais 35
FOL
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)
•
CS 331 Dr M M Awais 36
FOL
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)
•
CS 331 Dr M M Awais 37
FOL 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
CS 331 Dr M M Awais 38
FOL 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
CS 331 Dr M M Awais 39
FOL 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
CS 331 Dr M M Awais 40
FOL 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
CS 331 Dr M M Awais 41
FOL 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
CS 331 Dr M M Awais 42
FOL 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
CS 331 Dr M M Awais 43
FOL
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 9
criminal(west):criminal(west):
{west/X, m1/Y, nono/Z}{west/X, m1/Y, nono/Z}
1. X,Y,Z[american(X)^weapon(Y)^nation(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)
CS 331 Dr M M Awais 44
FOL
Composition
• Find Overall Substitutions
• Given two or more sets of substitutions
CS 331 Dr M M Awais 45
FOL
Example• S1={A/K}
• S2={a/A, H/J}
What set would represent overall substitutions
• S1.S2={a/K, H/J}
• Algorithm?
CS 331 Dr M M Awais 46
FOL
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
CS 331 Dr M M Awais 47
FOL
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/KApply H/J to A/K cannot be appliedS1.S2={a/K}
Add S2 to S1S1.S2={a/K a/A,H/J}
Drop all substitutions in S2 which have common denominators with S1nothing gets dropped, hence the answer is {a/K,a/A,H/J}
CS 331 Dr M M Awais 48
FOL
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}
CS 331 Dr M M Awais 49
FOL
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
CS 331 Dr M M Awais 50
FOL
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}
CS 331 Dr M M Awais 51
FOL
Example• S1={D/A, d/F,S/E}
• S2={g/D}
• S12={g/A, d/F,S/E, g/D}
• S12={g/A, d/F,S/E, g/D}
• S21={g/D, D/A, d/F,S/E}
CS 331 Dr M M Awais 52
FOLSubstitution: 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
CS 331 Dr M M Awais 53
FOL Application ExampleKnowledge 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.