0% found this document useful (0 votes)
47 views

Chapter 5

This document discusses using predicate logic to represent knowledge and perform reasoning. It provides examples of representing statements about people like Marcus and events in 79 AD using predicates and quantifiers. It then shows translating the knowledge into clause form to use the resolution principle for automated theorem proving. Key points covered include: - Representing objects, properties, and relationships using predicates - Using quantifiers like ∀ and ∃ to represent general statements - Converting knowledge to clause form by eliminating implications and quantifiers - Performing resolution by selecting two clauses and deriving a new clause - Handling variables through standardization and unification

Uploaded by

saroj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Chapter 5

This document discusses using predicate logic to represent knowledge and perform reasoning. It provides examples of representing statements about people like Marcus and events in 79 AD using predicates and quantifiers. It then shows translating the knowledge into clause form to use the resolution principle for automated theorem proving. Key points covered include: - Representing objects, properties, and relationships using predicates - Using quantifiers like ∀ and ∃ to represent general statements - Converting knowledge to clause form by eliminating implications and quantifiers - Performing resolution by selecting two clauses and deriving a new clause - Handling variables through standardization and unification

Uploaded by

saroj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 43

Using Predicate Logic

Using Predicate Logic


Can represent objects and quantification
Theorem proving is semi-decidable

Using Predicate Logic


1.

Marcus was a man.


man(Marcus)

Using Predicate Logic


2.

Marcus was a Pompeian.


Pompeian(Marcus)

Using Predicate Logic


3.

All Pompeians were Romans.


x: Pompeian(x) Roman(x)

Using Predicate Logic


4.

Caesar was a ruler.


ruler(Caesar)

Using Predicate Logic


5.

All Pompeians were either loyal to Caesar or hated


him.
x: Roman(x) loyalto(x, Caesar) hate(x, Caesar)

Using Predicate Logic


6.

Every one is loyal to someone.


x: y: loyalto(x, y)

y: x: loyalto(x, y)

Using Predicate Logic


7.

People only try to assassinate rulers they are not loyal


to.

x: y: person(x) ruler(y) tryassassinate(x, y)


loyalto(x, y)

Using Predicate Logic


8.

Marcus tried to assassinate Caesar.


tryassassinate(Marcus, Caesar)

10

Using Predicate Logic


Was Marcus loyal to Caesar?
man(Marcus)
ruler(Caesar)
tryassassinate(Marcus, Caesar)

x: man(x) person(x)

loyalto(Marcus, Caesar)

11

12

Using Predicate Logic


Many English sentences are ambiguous.
There is often a choice of how to represent
knowledge.

Obvious information may be necessary for


reasoning

We may not know in advance which statements to


deduce (P or P).

15

Reasoning
1.

Marcus was a Pompeian.

2.

All Pompeians died when the volcano erupted in 79


A.D.

3.

It is now 2008 A.D.

Is Marcus alive?

16

Reasoning
1.

Marcus was a Pompeian.


Pompeian(Marcus)

2.

All Pompeians died when the volcano erupted in 79


A.D.
erupted(volcano, 79) x: Pompeian(x) died(x, 79)

3.

It is now 2008 A.D.


now = 2008

17

Reasoning
1.

Marcus was a Pompeian.


Pompeian(Marcus)

2.

All Pompeians died when the volcano erupted in 79 A.D.


erupted(volcano, 79) x: Pompeian(x) died(x, 79)

3.

It is now 2008 A.D.


now = 2008
x: t1: t2: died(x, t1) greater-than(t2, t1) dead(x, t2)

18

Resolution
Robinson, J.A. 1965. A machine-oriented logic
based on the resolution principle. Journal of ACM
12 (1): 23-41.

19

Resolution
The basic ideas
KB |

KB |false

20

Resolution
The basic ideas
KB |

KB |false

( ) ( )

( )

21

Resolution
The basic ideas
KB |

KB |false

( ) ( )

( )

sound and complete

22

Resolution in Propositional Logic


1.

Convert all the propositions of KB to clause form (S).

2.

Negate and convert it to clause form. Add it to S.

3.

Repeat until either a contradiction is found or no


progress can be made.
a. Select two clauses ( P) and ( P).
b. Add the resolvent ( ) to S.

23

Resolution in Propositional Logic


Example:
KB = {P, (P Q) R, (S T) Q, T}
=R

24

Resolution in Predicate Logic


Example:
KB = {P(a), x: (P(x) Q(x)) R(x), y: (S(y) T(y))
Q(y), T(a)}
= R(a)

25

Resolution in Predicate Logic


Unification:
UNIFY(p, q) = unifier where SUBST(, p) = SUBST(, q)

26

Resolution in Predicate Logic


Unification:
x: knows(John, x) hates(John, x)
knows(John, Jane)
y: knows(y, Leonid)
y: knows(y, mother(y))
x: knows(x, Elizabeth)
UNIFY(knows(John,
UNIFY(knows(John,
UNIFY(knows(John,
mother(John)/x}
UNIFY(knows(John,

x), knows(John, Jane)) = {Jane/x}


x), knows(y, Leonid)) = {Leonid/x, John/y}
x), knows(y, mother(y))) = {John/y,
x), knows(x, Elizabeth)) = FAIL
27

Resolution in Predicate Logic


Unification: Standardization
UNIFY(knows(John, x), knows(y, Elizabeth)) = {John/y,
Elizabeth/x}

28

Resolution in Predicate Logic


Unification: Most general unifier
UNIFY(knows(John, x), knows(y, z))
John/z}

= {John/y, John/x,
=
=
=
=

{John/y,
{John/y,
{John/y,
{John/y,

Jane/x, Jane/z}
v/x, v/z}
z/x, Jane/v}
z/x}

29

Resolution in Predicate Logic


Unification: Occur check
UNIFY(knows(x, x), knows(y, mother(y))) = FAIL

30

Conversion to Clause Form


1.

Eliminate .
P Q P Q

2.

Reduce the scope of each to a single term.


(P Q) P Q
(P Q) P Q
x: P x: P
x: p x: P
P P

3.

Standardize variables so that each quantifier binds a


unique variable.
(x: P(x)) (x: Q(x)) (x: P(x)) (y: Q(y))
31

Conversion to Clause Form


4.

Move all quantifiers to the left without changing their


relative order.
(x: P(x)) (y: Q(y)) x: y: (P(x) (Q(y))

5.

Eliminate (Skolemization).
x: P(x) P(c)
x: y P(x, y) x: P(x, f(x))

6.

Skolem constant
Skolem function

Drop .
x: P(x) P(x)

7.

Convert the formula into a conjunction of disjuncts.


(P Q) R (P R) (Q R)

8.

Create a separate clause corresponding to each conjunct.

9.

Standardize apart the variables in the set of obtained


clauses.
32

Conversion to Clause Form


1.

Eliminate .

2.

Reduce the scope of each to a single term.

3.

Standardize variables so that each quantifier binds a unique


variable.

4.

Move all quantifiers to the left without changing their relative


order.

5.

Eliminate (Skolemization).

6.

Drop .

7.

Convert the formula into a conjunction of disjuncts.

8.

Create a separate clause corresponding to each conjunct.

9.

Standardize apart the variables in the set of obtained clauses.


33

Example
1.

Marcus was a man.

2.

Marcus was a Pompeian.

3.

All Pompeians were Romans.

4.

Caesar was a ruler.

5.

All Pompeians were either loyal to Caesar or hated him.

6.

Every one is loyal to someone.

7.

People only try to assassinate rulers they are not loyal


to.

8.

Marcus tried to assassinate Caesar.


34

Example
1.

Man(Marcus).

2.

Pompeian(Marcus).

3.

x: Pompeian(x) Roman(x).

4.

ruler(Caesar).

x: Roman(x) loyalto(x, Caesar) hate(x, Caesar).

x: y: loyalto(x, y).

x: y: person(x) ruler(y) tryassassinate(x, y)


loyalto(x, y).

8.

tryassassinate(Marcus, Caesar).
35

Example
Prove:
hate(Marcus, Caesar)

36

Question Answering
1. When did Marcus die?
2. Whom did Marcus hate?
3. Who tried to assassinate a ruler?
4. What happen in 79 A.D.?.
5. Did Marcus hate everyone?

37

Question Answering
PROLOG:

Only Horn sentences are acceptable

38

Question Answering
PROLOG:

Only Horn sentences are acceptable

The occur-check is omitted from the unification:


unsound
test P(x, x)
P(x, f(x))

39

Question Answering
PROLOG:

Only Horn sentences are acceptable

The occur-check is omitted from the unification:


unsound
test P(x, x)
P(x, f(x))

Backward chaining with depth-first search: incomplete


P(x, y) Q(x, y)
P(x, x)
Q(x, y) Q(y, x)
40

Question Answering
PROLOG:

Unsafe cut: incomplete


A B, C

B D, !, E
D

B, C
D, !, E, C
!, E, C

41

Question Answering
PROLOG:

Unsafe cut: incomplete


A B, C

B D, !, E
D

B, C
D, !, E, C
!, E, C

Negation as failure: P if fails to prove P


42

Homework
Exercises 1-13, Chapter 5, Rich&Knight AI Text Book

43

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy