Top Banner

of 43

m09 Inference

May 30, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/9/2019 m09 Inference

    1/43

    Inference in first-order logicChapter 9

  • 8/9/2019 m09 Inference

    2/43

    Outline

    Reducing first-order inference topropositional inference

    Unification Generalized Modus Ponens Forward chaining

    Backward chaining Resolution

  • 8/9/2019 m09 Inference

    3/43

    Universal instantiation (UI) Every instantiation of a universally quantified sentence is entailed by

    it:

    v

    Subst({v/g}, )

    for any variable vand ground term g

    E.g., xKing(x) Greedy(x) Evil(x) yields:

    King(John) Greedy(John) Evil(John)

    King(Richard) Greedy(Richard) Evil(Richard)

  • 8/9/2019 m09 Inference

    4/43

    Existential instantiation (EI)

    For any sentence , variable v, and constantsymbol kthat does not appear elsewhere in theknowledge base:

    vSubst({v/k}, )

    E.g.,

    x Crown

    (x) OnH

    ead(x,John

    ) yields:Crown(C1) OnHead(C1,John)

    provided C1 is a new constant symbol, called a

  • 8/9/2019 m09 Inference

    5/43

    Reduction to propositional

    inferenceSuppose the KB contains just the following:x King(x) Greedy(x) Evil(x)King(John)Greedy(John)

    Brother(Richard,John)

    Instantiating the universal sentence in all possible ways, we have:King(John) Greedy(John) Evil(John)King(Richard) Greedy(Richard) Evil(Richard)King(John)Greedy(John)Brother(Richard,John)

    The new KB is propositionalized: proposition symbols are

    King(John), Greedy(John), Evil(John), King(Richard), etc.

  • 8/9/2019 m09 Inference

    6/43

    Reduction contd.

    Every FOL KB can be propositionalized so as topreserve entailment

    (A ground sentence is entailed by new KB iff entailed byoriginal KB)

    Idea: propositionalize KB and query, apply resolution,return result

    Problem: with fu

    nction symbols, there are infinitely many

  • 8/9/2019 m09 Inference

    7/43

  • 8/9/2019 m09 Inference

    8/43

    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 produceslots of facts such as Greedy(Richard) that are irrelevant

    Withp k-ary predicates and n constants, there are pnkinstantiations.

  • 8/9/2019 m09 Inference

    9/43

    Unification We can get the inference immediately if we can find a substitution

    such that King(x) and Greedy(x) match King(John) and Greedy(y)

    = {x/John,y/John} works

    Unify(,) = if =

    p q Knows(John,x) Knows(John,Jane)Knows(John,x) Knows(y,OJ)Knows(John,x) Knows(y,Mother(y))Knows(John,x) Knows(x,OJ)

  • 8/9/2019 m09 Inference

    10/43

    Unification We can get the inference immediately if we can find a substitution

    such that King(x) and Greedy(x) match King(John) and Greedy(y)

    = {x/John,y/John} works

    Unify(,) = if =

    p q Knows(John,x) Knows(John,Jane) {x/Jane}}Knows(John,x) Knows(y,OJ)Knows(John,x) Knows(y,Mother(y))Knows(John,x) Knows(x,OJ)

  • 8/9/2019 m09 Inference

    11/43

    Unification We can get the inference immediately if we can find a substitution

    such that King(x) and Greedy(x) match King(John) and Greedy(y)

    = {x/John,y/John} works

    Unify(,) = if =

    p q Knows(John,x) Knows(John,Jane) {x/Jane}}Knows(John,x) Knows(y,OJ) {x/OJ,y/John}}Knows(John,x) Knows(y,Mother(y))Knows(John,x) Knows(x,OJ)

  • 8/9/2019 m09 Inference

    12/43

    Unification We can get the inference immediately if we can find a substitution

    such that King(x) and Greedy(x) match King(John) and Greedy(y)

    = {x/John,y/John} works

    Unify(,) = if =

    p q Knows(John,x) Knows(John,Jane) {x/Jane}}Knows(John,x) Knows(y,OJ) {x/OJ,y/John}}Knows(John,x) Knows(y,Mother(y)) {y/John,x/Mother(John)}}Knows(John,x) Knows(x,OJ)

  • 8/9/2019 m09 Inference

    13/43

    Unification We can get the inference immediately if we can find a substitution

    such that King(x) and Greedy(x) match King(John) and Greedy(y)

    = {x/John,y/John} works

    Unify(,) = if =

    p q Knows(John,x) Knows(John,Jane) {x/Jane}}Knows(John,x) Knows(y,OJ) {x/OJ,y/John}}Knows(John,x) Knows(y,Mother(y)) {y/John,x/Mother(John)}}Knows(John,x) Knows(x,OJ) {fail}

  • 8/9/2019 m09 Inference

    14/43

    Unification

    To unify Knows(John,x) and Knows(y,z),

    = {y/John, x/z } or = {y/John, x/John, z/John}

    The first unifier is more general than the second.

    There is a single most general unifier(MGU) thatis unique up to renaming of variables.

    MGU = { y/John, x/z }

  • 8/9/2019 m09 Inference

    15/43

    The unification algorithm

  • 8/9/2019 m09 Inference

    16/43

    The unification algorithm

  • 8/9/2019 m09 Inference

    17/43

    Generalized Modus Ponens

    (GMP)p1', p2', , pn', ( p1 p2 pn q)q

    p1' is King(John) p1 is King(x)p2' is Greedy(y) p2 is Greedy(x)

    is {x/John,y/John} q is Evil(x)q is Evil(John)

    GMP used with KB ofdefinite clauses (exactly one positive literal)

    All variables assumed universally quantified

    where pi' = pi for all i

  • 8/9/2019 m09 Inference

    18/43

    Soundness of GMP Need to show that

    p1', , pn', (p1 pn q) q

    provided that pi' = pi for all I

    Lemma: For any sentence p, we have p p by UI

    1. (p1 pn q) (p1 pn q) = (p1 pn q)2.2. p1', \; , \;pn' p1' pn' p1' pn'3. From 1 and 2, q follows by ordinary Modus Ponens4.

  • 8/9/2019 m09 Inference

    19/43

    Example knowledge base

    The law says that it is a crime for an American to sellweapons to hostile nations. The country Nono, anenemy of America, has some missiles, and all of its

    missiles were sold to it by Colonel West, who isAmerican.

    Prove that Col. West is a criminal

  • 8/9/2019 m09 Inference

    20/43

    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., xOwns(Nono,x) Missile(x):

    Owns(Nono,M1) andMissile(M1)

    all of its missiles were sold to it by Colonel WestMissile(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)

  • 8/9/2019 m09 Inference

    21/43

    Forward chaining algorithm

  • 8/9/2019 m09 Inference

    22/43

    Forward chaining proof

  • 8/9/2019 m09 Inference

    23/43

    Forward chaining proof

  • 8/9/2019 m09 Inference

    24/43

  • 8/9/2019 m09 Inference

    25/43

    Properties of forward chaining

    Sound and complete for first-order definite clauses

    Datalog = first-order definite clau

    ses + no fu

    nctions FC terminates for Datalog in finite number of iterations

    May not terminate in general if is not entailed

    This is unavoidable: entailment with definite clauses issemidecidable

  • 8/9/2019 m09 Inference

    26/43

    Efficiency of forward chaining

    Incremental forward chaining: no need to match a rule oniteration kif a premise wasn't added on iteration k-1

    match each rule whose premise contains a newly added positiveliteral

    Matching itself can be expensive:Database indexing allows O(1) retrieval of known facts

    e.g., query Missile(x) retrieves Missile(M1)

    Forward chaining is widely used in deductive databases

  • 8/9/2019 m09 Inference

    27/43

    Hard matching example

    Colorable

    () is inferred iff the CS

    P has a solu

    tion CSPs include 3SAT as a special case, hencematching is NP-hard

    Diff(wa,nt) Diff(wa,sa) Diff(nt,q)

    Diff(nt,sa) Diff(q,nsw) Diff(q,sa)

    Diff(nsw,v) Diff(nsw,sa) Diff(v,sa)

    Colorable()

    Diff

    (Red,Blue) D

    iff(Red,Gree

    n)Diff(Green,Red) Diff(Green,Blue)

    Diff(Blue,Red) Diff(Blue,Green)

  • 8/9/2019 m09 Inference

    28/43

    Backward chaining algorithm

    SUBST(COMPOSE(1, 2), p) = SUBST(2,SUBST(1, p))

  • 8/9/2019 m09 Inference

    29/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    30/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    31/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    32/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    33/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    34/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    35/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    36/43

    Backward chaining example

  • 8/9/2019 m09 Inference

    37/43

    Properties of backward chaining

    Depth-first recursive proof search: space islinear in size of proof

    Incomplete due to infinite loops

    fix by checking current goal against every goal onstack

    Inefficient due to repeated subgoals (bothsuccess and failure) fixusing caching of previous results (extra space)

  • 8/9/2019 m09 Inference

    38/43

    Logic programming: Prolog Algorithm = Logic + Control

    Basis: backward chaining with Horn clauses + bells & whistlesWidely used in Europe, Japan (basis of 5th Generation project)

    Compilation techniques 60 million LIPS

    Program = set of clauses = head :- literal1, literaln.criminal(X) :- american(X), weapon(Y), sells(X,Y,Z), hostile(Z).

    Depth-first, left-to-right backward chaining Built-in predicates for arithmetic etc., e.g., X is Y*Z+3 Built-in predicates that have side effects (e.g., input and output predicates, assert/retract predicates)

    Closed-world assu

    mption ("negation as failu

    re") -

  • 8/9/2019 m09 Inference

    39/43

    Prolog Appending two lists to produce a third:

    append([],Y,Y).

    append([X|L],Y,[X|Z]) :- append(L,Y,Z).

    query: append(A,B,[1,2]) ?

    answers: A=[] B=[1,2]

    A=[1] B=[2]

    A=[1,2] B=[]

  • 8/9/2019 m09 Inference

    40/43

    Resolution: brief summary Full first-order version:

    l1 lk, m1 mn

    (l1

    l

    i-1

    l

    i+1

    l

    k

    m

    1

    m

    j-1

    m

    j+1

    m

    n

    )where Unify(li, mj) = .

    The two clauses are assumed to be standardized apart so that theyshare no variables.

    For example,

    Rich(x) Unhappy(x)Rich(Ken)

    Unhappy(Ken)

  • 8/9/2019 m09 Inference

    41/43

    Conversion to CNF

    Everyone who loves all animals is loved bysomeone:

    x [y Animal(y) Loves(x,y)] [y Loves(y,x)]

    1. Eliminate biconditionals and implications

    x [y Animal(y) Loves(x,y)] [y Loves(y,x)]

    2. Move inwards: x p xp, x p xp

    x

    [

    y

    (Anim

    al

    (y) L

    oves(x,y))]

    [

    yLoves(y,x)]

  • 8/9/2019 m09 Inference

    42/43

  • 8/9/2019 m09 Inference

    43/43

    Resolution proof: definite clauses