+ All Categories
Home > Documents > CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification:...

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification:...

Date post: 19-Jan-2016
Category:
Upload: randolf-mckinney
View: 218 times
Download: 0 times
Share this document with a friend
22
CSE 415 -- (c) S. Tanimot o, 2008 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability Horn clauses and PROLOG
Transcript
Page 1: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

1

Predicate Calculus 2

Outline:

Unification: definitions, algorithmFormal interpretations and satisfiabilityHorn clauses and PROLOG

Page 2: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

2

UnificationPredicate calculus rules are sometimes so general that we need to create specializations of them in order to perform resolution.

Suppose we have the ruleIf x is a working automobile, then x has an engine.P(x) Q(x)and we have the factTim’s Chevy is a working automobileP(a)

These cannot immediately be resolved because P(x) and P(a) don’t quite match. They must be “unified.”

Page 3: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

3

Modus Ponens and Resolution

P QP---------Q

Modus ponens is a special case of resolution:

P v QP---------Q

Page 4: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

4

Modus Ponensin the Predicate Calculus

P(a) Q(a)P(a)---------Q(a)

But we haveP(x) Q(x)So we create a substitution instance of it:P(a) Q(a)

using the substitution { a/x }

Page 5: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

5

SubstitutionsA substitution is a set of term/variable pairs.e.g., { a/x, f(a)/y, w/z }Each element of the set is an elementary substitution.A particular variable occurs at most once on the the right-hand side of any elementary subst. in a substitution.{ a/x, b/x } is not an acceptable substitution.

The empty set is an acceptable substitution.

If E is a term or a formula of the predicate calculus, and S is a substitution, then S(E) is the result of applying S to E, i.e., replacing each variable of S that occurs in E by the corresponding term in S.

Page 6: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

6

UnifiersGiven a pair of literals L1 and L2, if S is a substitution such thatS(L1) = S(L2) or S(L1) = S(L2), then S is a unifier for L1 and L2.

Example:L1 = P(x, f(a))L2 = P(b, y)

S = { b/x, f(a)/y }

S(L1) = P(b, f(a)) = S(L2)Therefore S is a unifier for L1 and L2.

Page 7: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

7

The Occurs CheckA unifier may not contain an elementary substitution of the form f(x)/x and may not cause an indefinite recursion.In general the term in a term/variable pair may not include that variable.

P(x) and P(f(x)) cannot be unified, since f(x)/x is illegal.P(y, f(y)) and P(f(x), y) cannot be unified, sinceS = { f(x)/y, f(y)/x } leads to an indefinite recursion.

Testing whether a variable appears in its corresponding term is called the “occurs check”.

Some automated reasoning systems do not perform the occurs check in order to save time.

Page 8: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

8

Generality of UnifiersSome pairs of literals may have more than one possible unifier. P(x), P(y) is unified by each of { x/y }, { y/x }, { z/x, z/y }, { a/x, a/y}, { f(a)/x, f(a)/y } etc.

Suppose S1 and S2 are unifiers for L1 and 12.Then S1(P1) = S1(P2) or S1(P1) = ~S1(P2) S2(P1) = S2(P2) or S2(P1) = ~S2(P2)

S2 is less general than S1 if no S3 exists such thatS3(S2(P1)) = S1(P1).

{ a/x, a/y } is less general than { y/x }.

Page 9: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

9

Most General Unifiers

A unifier S1 for L1 and L2 is a most general unifier (MGU) for L1 and L2 provided that for any other unifier S2 of L1 and L2 there exists a substitution S3 such thatS3(S1(L1)) = S2(L1).

S1 = { y/x } is a most general unifier for P(x), P(y).

S2 = { f(a)/x, f(a)/y } is not a MGU for P(x), P(y).

S3 = { f(a)/y }

S3(S1(P(x))) = P(f(a)) = S2(P(x)).

Page 10: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

10

Finding a Most-General Unifier

1. Given literals L1 and L2, place a cursor at the left end of each. Skip any negation sign. If the predicate symbols do not match, return NOT-UNIFIABLE.

2. Let S = { }.

3. Move the cursors right to the next term in each literal. If there are no terms left, return S as a MGU. Let t1 and t2 be the terms.

Page 11: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

11

Finding an MGU (Cont.)4a. If t1 = t2, go to Step 3.4b. Otherwise, if either t1 or t2 is a variable (call it v and call the other term t), then attempt to add t/v to S (see below).4c. Otherwise if t1 and t2 both begin with function symbols, and these symbols are the same, move the cursors to the first argument of these symbols and go to step 4a.4d. Otherwise, return NOT-UNIFIABLE.

Page 12: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

12

Finding an MGU (Cont.)

When trying to add t/v to S, apply { t/v } to each term in S. If this results in any elementary substitution whose term includes its variable, return NOT-UNIFIABLE. Otherwise, replace each elementary substitution in S by the result of applying { t/v } and add t/v itself to S.

Page 13: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

13

Example

L1: P(a, f(x, a))L2: P(a, f(g(y), y))

S: { }S: { g(y)/x }S: { g(a)/x, a/y }

Page 14: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

14

Logical Inferences Per SecondLIPS are sometimes used to describe the performance of a logical reasoning system.

Can mean the number of successful unification operations per second.

1 successful unification

1 successful resolution step.

Note: some unifiers are trivial to compute, yet there is no upper bound on the size of a unifier. Also, discovering that two literals are not unifiable can be arbitrarily costly.

Page 15: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

15

Formal InterpretationsAn interpretation for a given formula W consists of the following:

A domain D of elements that can be referred to by terms. E.g., D = (0, 1, 2, . . . }

An assignment that maps each constant symbol of W to an element of D.

For each n-ary function symbol of W a mapping from n-tuples of elements of D to single elements of D.

For each n-ary predicate symbol of W a mapping from n-tuples of elements of D to {T, F}.

Page 16: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

16

Example of InterpretationLet W = ( x) (P(a) Q(x, a) )

An interpretation for W:D = { apple, peach }{ a = apple } mapping for constants { } mappings for functions { P(apple) = T, P(peach) = T; mappings for predicates Q(apple,apple) = T, Q(apple, peach) = T, Q(peach,apple) = T, Q(peach, peach) = T }

Page 17: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

17

Satisfiability and ModelsA formula W is satisfiable iff there exists some interpretation of W that make W true.

A formula W is unsatisfiable iff there does NOT exist any interpretation of W that make W true.Then W is inconsistent. W is a contradiction.

If every interpretation of W satisfies W (makes W true), then W is a tautology.

If I is an interpretation for W that satisfies W , then I is a model for W.

Page 18: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

18

Another InterpretationLet W = (x) (P(a) Q(x, a) )

An interpretation for W:D = { 0, 1, 2, . . . }{ a = 0 } mapping for constants { } mappings for functions { P(n) iff n = 0; mappings for predicates Q(m,n) iff n > m. }

Note that Q(x, x).

This interpretation fails to satisfy W. It’s not a model for W.

Page 19: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

19

The Basis of Proof by Resolution

Resolution is used to prove that a given set of clauses is inconsistent. (i.e., it cannot have a model).

Each time a resolvent is formed, it is added to the set of clauses. This does not change the consistency of the set.

However, if the null clause is ever added to the set, then it becomes very obvious that the set is inconsistent.

Page 20: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

20

Horn Clauses: The basis for Logic Programming

Examples of Horn clauses:PP V QQ

Q V RP V Q V RP V Q V R[]

A Horn clause is a clause in which at most one literal is unnegated

Examples of non-Horn clauses:

P V QP V ~Q V R

Page 21: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

21

Horn Clauses: Goal-oriented form

P V Q V R Standard mathematical form

(Q R) P Equivalent conditional form

P (Q V R) Goal-oriented form

p :- q, r. Edinburgh PROLOG syntax

head :- body.

goal :- subgoal1, subgoal2, ..., subgoalN.

Page 22: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.

CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus II

22

Prolog: Horn Clauses + Resolution + Backward Chaining

grandparent(X, Y) :- parent(X, Z), parent(Z, Y).parent(X, Y) :- father(X, Y).parent(X, Y) :- mother(X, Y).father(abe, bev).mother(bev, carl).mother(bev, mary).?- grandmother(A, B).A = abe, B = carl;A = abe, B = mary;no


Recommended