Inferencing - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Inferencing

Description:

... (ali,X) knows(ali,sana) knows(ali,X) knows(Y,hira) knows(ali,X) knows(Y,mother(Y)) knows(ali,X) ... knows(ali,X) knows(Y,mother(Y)) knows(ali,X) knows(X,hira) ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 54
Provided by: michaelb51
Category:
Tags: ali | inferencing

less

Transcript and Presenter's Notes

Title: Inferencing


1
Inferencing
  • Finding solution to queries
  • Propositionalization
  • (For reference only, may leave slides 2 to 7)
  • Unification
  • Forward Chaining
  • Backward Chaining
  • Resolution

2
Lugers BookChapter 2andChapter 12(upto
12.2)
3
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
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
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
Reduction contd.
  • Theorem Herbrand (1930). If a sentence a is
    entailed by an FOL KB, it is entailed by a finite
    subset of the propositionalized KB
  • Idea For n 0 to 8 do
  • create a propositional KB by instantiating
    with depth-n terms
  • see if a is entailed by this KB
  • Problem works if a is entailed, loops if a is
    not entailed
  • Theorem Turing (1936), Church (1936) Entailment
    for FOL is semidecidable (algorithms exist that s
    ay yes to every entailed sentence, but no
    algorithm exists that also says no to every
    nonentailed sentence.)

7
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 pnk instantiations.

8
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
Unification
  • Unify(a,ß) ? if a? ß?
  • 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
Unification
  • Unify(a,ß) ? if a? ß?
  • 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
Unification
  • Unify(a,ß) ? if a? ß?
  • 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
Unification
  • Unify(a,ß) ? if a? ß?
  • 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
Unification
  • Unify(a,ß) ? if a? ß?
  • 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
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
Implementation of Unification
  •  UsingList 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))

16
Unification Examples
  • Unify
  • ((parents X(father X) (mother bill)), (parents
    bill (father bill)Y)).
  •  Complete Substitution
  • bill/X, mother (bill)/Y

17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
Logic Based Financial Advisor To help a user
decide whether to invest in a saving A/C or the
stock market or both
21
  • 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

22
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
Calculating Adequacy
  • Define Functions to calculate the minimum income
    and savings
  • Minimum Savings min_saving(X)
  • min_saving(X)250005000X
  • where X are the number of dependents
  • Minimum Income min_income(X)
  • min_income(X)150004000X

24
Outputs   Investment (savings) Investment
(stocks) Investment (combination)     How can we
represent outputs?
25
Rules       saving_acc (inadequate) ? investment
(savings)     saving_acc(adequate)
income(adequate) ? investment(stocks)    
 saving_acc (adequate) income (inadequate) ?
investment (combination)
26
What next?
  • Define Saving adequate
  • Define saving inadequate
  • Define income adequate
  • Define income inadequate

27
Savings
  • Check if saved amount is greater than the minimum
    saving required

28
Income
  • Check if the income is greater than the minimum
    income

29
Try firing rules with 9, 10, 11
30
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
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)

32
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 ?X owns(nono,X) ? missile(X)
  • all of its missiles were sold to it by Colonel
    West
  • R3 missile(X) ? owns(nono,X) ?
    sells(west,X,nono)
  • Missiles are weapons
  • R4 missile(X) ? weapon(X)
  • An enemy of America counts as "hostile
  • R5 enemy(X,america) ? hostile(X)

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)
33
  • 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)
  • 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)
1. FORWARD CHAINING
34
  • 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)

R5 nono/X
R4 m1/X
R3 m1/X
35
  • 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)

R1 west/X , m1/Y , nono/Z
36
2. BACKWARD CHAINING
  • 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)
  • START FROM THE CONCLUSION
  • THINK IS THE RULE SUPPORT AVAILABLE

37
Backward chaining example
  • 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)

38
Backward chaining example
  • 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)

39
Backward chaining example
  • 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)

40
Backward chaining example
  • 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)

41
Backward chaining example
  • 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)

42
Backward chaining example
  • 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)

43
3. Modus Ponen Based Solution
  • 6 with 3 suggests, through Modus Ponens
  • weapons(m1) m1/X
  • 2. From 4 and 9
  • hostile(nono) nono/X
  • From 2, 5, 6, Modus Ponens
  • sells(west,nono,m1)m1/X
  • 4. From 2,3,4,5,6, and 9
  • criminal(west)
  • west/X, m1/Y, nono/Z
  1. ?X,Y,Zamerican(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)

44
Composition
  • Find Overall Substitutions
  • Given two or more sets of substitutions

45
Example
  • S1A/K
  • S2a/A, H/J
  • What set would represent overall substitutions
  • S1.S2a/K, H/J
  • Algorithm?

46
Example
  • S1A/K S2a/A, H/J
  • S1.S2a/K, H/J
  • Algorithm
  • Apply S2 to S1 (find overall substitution)
  • Add S2 to S1
  • Drop all substitutions in S2 which have common
    denominators with S1

47
Example
  • S1A/K S2a/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.S2a/K
  • Add S2 to S1
  • S1.S2a/K a/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
Example
  • S1D/A
  • S2a/D
  • S12a/A, a/D
  • S1D/A,S/G
  • S2x/X, f/D, q/S,w/A
  • S1.S2f/A,q/G, x/X, f/D, q/S,w/A
  • S1.S2f/A,q/G, x/X,q/S (w/A gets dropped)
  • S1.S2f/A,q/G, x/X,q/S

49
Is S1.S2 same as S2.S1
  • S1D/A
  • S2a/D
  • S21a/A, D/A?a/A where as S12a/A, a/D
  • S1D/A,S/G
  • S2x/X, f/D, q/S,w/A
  • S2.S1x/X, f/D, q/S, w/A D/A,S/G
  • S2.S1x/X, f/D, q/S, w/A, S/G (D/A gets
    dropped)
  • Hence generally speaking S1.S2 not equal to S2.S1

50
Is S12 same as S21
  • S1D/A
  • S2X/A
  • S12D/A, X/A
  • S12D/A
  • S21X/A,D/A
  • S21X/A

51
Example
  • S1D/A, d/F,S/E
  • S2g/D
  • S12g/A, d/F,S/E, g/D
  • S12g/A, d/F,S/E, g/D
  • S21g/D, D/A, d/F,S/E

52
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.
  • S1a/X,b/Y,z/V S2U/X,b/V composable
  • S1a/X,b/Y,z/V S2X/U, b/V noncomposable

53
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.
Write a Comment
User Comments (0)
About PowerShow.com