Presentation is loading. Please wait.

Presentation is loading. Please wait.

1/19 Inference in first-order logic Chapter 9- Part2 Modified by Vali Derhami.

Similar presentations


Presentation on theme: "1/19 Inference in first-order logic Chapter 9- Part2 Modified by Vali Derhami."— Presentation transcript:

1 1/19 Inference in first-order logic Chapter 9- Part2 Modified by Vali Derhami

2 2/19 Backward chaining algorithm SUBST(COMPOSE(θ 1, θ 2 ), p) = SUBST(θ 2, SUBST(θ 1, p)) ترکیب جایگزینی معادل تاثیر به کارگیری هر یک از جایگزینها به نوبت است

3 3/19 Backward chaining example

4 4/19 Backward chaining example

5 5/19 Backward chaining example

6 6/19 Backward chaining example

7 7/19 Backward chaining example

8 8/19 Backward chaining example

9 9/19 Backward chaining example

10 10/19 Backward chaining example

11 11/19 Properties of backward chaining Depth-first recursive proof search: space is linear in size of proof Incomplete due to infinite loops (even for Datalog) –  fix by checking current goal against every goal on stack Inefficient due to repeated subgoals (both success and failure) –  fix using caching of previous results (extra space) (جوابهای هدفهای فرعی در حین تولید نگهداری، در هنگام تکرار هدفهای فرعی از انها استفاده) Widely used for logic programming

12 12/19 Logic programming: Prolog Algorithm = Logic + Control Basis: backward chaining with Horn clauses Uses uppercase letters for variables and lowercase for constants. Clauses are written with the head preceding the body; ": -" is used for left- implication, commas separate literals in the body, and ‘.’ for end of a sentence. Widely used in Europe, Japan Program = set of clauses = head :- literal 1, … literal n. 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

13 13/19 Prolog Built-in predicates that have side effects (e.g., input and output predicates, assert/retract predicates) Closed-world assumption ("negation as failure") –e.g., given alive(X) :- not dead(X). –alive(joe) succeeds if dead(joe) fails 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=[]

14 14/19 Resolution: brief summary Full first-order version: l 1  ···  l k, m 1  ···  m n ( l 1  ···  l i-1  l i+1  ···  l k  m 1  ···  m j-1  m j+1  ···  m n )θ where Unify ( l i,  m j ) = θ. The two clauses are assumed to be standardized apart so that they share no variables. For example:  Rich(x)  Unhappy(x) Rich(Ken) Unhappy(Ken) with θ = {x/Ken} Apply resolution steps to CNF(KB   α); complete for FOL

15 15/19 Conversion to CNF Everyone who loves all animals is loved by someone:  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 ≡  x  p,   x p ≡  x  p  x [  y  (  Animal(y)  Loves(x,y))]  [  y Loves(y,x)]  x [  y  Animal(y)   Loves(x,y)]  [  y Loves(y,x)]  x [  y Animal(y)   Loves(x,y)]  [  y Loves(y,x)]

16 16/19 Conversion to CNF contd. 3.Standardize variables: each quantifier should use a different one  x [  y Animal(y)   Loves(x,y)]  [  z Loves(z,x)] 4.Skolemize: a more general form of existential instantiation. Each existential variable is replaced by a Skolem function of the enclosing universally quantified variables:  x [Animal(F(x))   Loves(x,F(x))]  Loves(G(x),x) 5.Drop universal quantifiers: [Animal(F(x))   Loves(x,F(x))]  Loves(G(x),x) 6.Distribute  over  : [Animal(F(x))  Loves(G(x),x)]  [  Loves(x,F(x))  Loves(G(x),x)]

17 17/19 Resolution proof: definite clauses R1: American(x)  Weapon(y)  Sells(x,y,z)  Hostile(z)  Criminal(x) R2: Missile(x1)  Owns(Nono,x1)  Sells(West,x1,Nono) R3: Missile(x2)  Weapon(x2) R4: Enemy(x3,America)  Hostile(x3) Owns(Nono,M1) Missile(M1) American(West) Enemy(Nono,America)

18 18/19 Resolution proof: definite clauses R1: American(x)  Weapon(y)  Sells(x,y,z)  Hostile(z)  Criminal(x) R2: Missile(x1)  Owns(Nono,x1)  Sells(West,x1,Nono) R3: Missile(x2)  Weapon(x2) R4: Enemy(x3,America)  Hostile(x3) Owns(Nono,M1) Missile(M1) American(West) Enemy(Nono,America)

19 19/19 تمارین فصل 9: 4، 9، 18 و سوالات تستی


Download ppt "1/19 Inference in first-order logic Chapter 9- Part2 Modified by Vali Derhami."

Similar presentations


Ads by Google