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

Knowledge Representation

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

Knowledge Representation

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

KNOWLEDGE REPRESENTATION

&
PREDICATE LOGIC
• To solve complex problems, we need:
1. Large amount of knowledge
2. Mechanism for representation and manipulation
of existing knowledge to create new solution.

Knowledge Representation
– Facts: Things we want to represent. Truth in
some relevant world.
– Representation of facts.
Representation and Mapping

reasoning
programs
Internal
Facts
Representations

English English
understanding generation

English
Representations
Representation and Mapping

Initial desired real reasoning Final


facts facts

forward backward
representation representation
mapping mapping

Internal Internal
representations representations
of initial facts operation of final facts
of program
Intelligent agents should have capacity for:

• Perceiving, that is, acquiring information from environment,


• Knowledge Representation, that is, representing its
understanding of the world,
• Reasoning, that is, inferring the implications of what it knows
and of the choices it has, and
• Acting, that is, choosing what it want to do and carry it out
Knowledge Base ,Logic

knowledge-base: A knowledge-base is a set of


sentences. Each sentence is expressed in a language
called the knowledge representation language.
Logic is the primary vehicle for representing and
reasoning about knowledge.
A logic consists of two parts, a language and a method
of reasoning. The logical language, in turn, has two
aspects, syntax and semantics.
What is Logic?
• Reasoning about the validity of arguments.
• An argument is valid if its conclusions follow logically
from its premises – even if the argument doesn’t actually
reflect the real world: „
• All lemons are blue
• Mary is a lemon „
• Therefore, Mary is blue.
Syntax:
The atomic symbols of the logical language, and the rules for
constructing well-formed, non-atomic expressions (symbol
structures) of the logic. Syntax specifies the symbols in the
language and how they can be combined to form sentences.

Semantics: The meanings of the atomic symbols of the logic,


and the rules for determining the meanings of non-atomic
expressions of the logic.
A fact is a claim about the world, and may be true or false.
Syntactic Inference Method:
The rules for determining a subset of logical expressions,
called theorems of the logic. It refers to mechanical method for
computing (deriving) new (true) sentences from existing
sentences.
Representation and Mapping
• Spot is a dog

• Every dog has a tail

Spot has a tail


1
0
Representation and Mapping
• Spot is a dog
dog(Spot)

• Every dog has a tail


x: dog(x)  hastail(x)

hastail(Spot)
Spot has a tail
1
1
Good Knowledge representation should exhibit:
1. Representational adequacy-
Ability to represent all kinds of knowledge that are needed in the domain.
2. Inferential adequacy-
Ability to manipulate representational structures such that new
knowledge can be derived/inferred from the old.
3. Inferential efficiency-
Ability to incorporate additional information into an existing knowledge
base that can be used to focus the attention of inference mechanisms
in the most promising direction.
4. Acquisitional efficiency-
Ability to easily acquire new information
Approaches to KR
1. Simple relational knowledge:
• Provides very weak inferential capabilities.
• May serve as the input to powerful inference engines.
Player Height Weight handed
Peter 6-0 180 right
Ajay 5-10 170 left
John 6-2 215 left
Vickey 6-3 205 right

Fails to infer “which right handed player can best face a


particular bowler” .

10
Approaches to KR
Inheritable knowledge:
• Objects are organized into classes and classes are
organized in a generalization hierarchy.
• Inheritance is a powerful form of inference, but not
adequate.
• Ex. Property inheritance inference mechanism.

isa handed
Adult male Person Right

instance

Peter Tata Consultancy 11


Works_at
Approaches to KR

Inferential knowledge:
• Facts represented in a logical form, which facilitates
reasoning.
• An inference engine is required.

ex. 1. “Marcus is a man”


2. “All men are mortal”
Implies:
3. “Marcus is mortal” 12
Approaches to KR

Procedural knowledge:
• Representation of “how to make it” rather than “what
it is”.
• May have inferential efficiency, but no inferential
adequacy and acquisitional efficiency.
• Ex. Writing LISP programs

16
Issues in KR
1. Important Attributes: Isa and instance attributes.
2. Relationships among attributes: inverses, existence in a Isa
hierarchy, single-valued attributes, techniques for reasoning
about values.
3.Choosing the Granularity: High-level facts may not be adequate
for inference. Low-level primitives may require a lot of storage.
• Ex: “john spotted sue”
[representation: spotted(agent(john),object(sue))]
Q1: “who spotted sue?” Ans1: “john”.
Q2: “Did john see sue?” Ans2: NO ANSWER!!!!
• Add detailed fact: spotted(x,y)-->saw(x,y) then Ans2:
“Yes”.
17
• 4.Representing Set of Objects:
• 5. finding the right structure as needed.:

Ex: word “fly” can have multiple meanings:


1. “John flew to new york”
2. “John flew into a rage” [idiom]
3. “john flew a kite”

SELF: Please read frame problem pg. 96-97, Rich &


Knight,3rd edition.

18
Propositional logic
• Statements used in mathematics.
• Proposition :is a declarative sentence whose value is
either true or false.

Examples:
• “The sky is blue.” [Atomic Proposition]
• “The sky is blue and the plants are green.”
[Molecular/Complex Proposition]
• “Today is a rainy day” [Atomic
Proposition]
• “Today is Sunday” [Atomic Proposition]
• “ 2*2=4” [Atomic Proposition]
19
Terminologies in propositional algebra:
Statement: sentence that can be true/false.

Properties of statement:
 Satisfyability: a sentence is satisfyable if there is
an
interpretation for which it is true.
Eg.”we wear woollen cloths”

 Contradiction: if there is no interpretation for which


sentence is true.
Eg. “Japan is capital of India”
 Validity: a sentence is valid if it is true for every
interpretation.
Eg. “Delhi is the capital of India” 17
Inference rules:

21
22
INFERENCE RULES IN PROPOSITIONAL
LOGIC
1. Idempotent rule:
P ˄ P ==> P
P ˅ P ==> P
2. Commutative rule:
P ˄ Q ==> Q ˄ P
P ˅ Q ==> Q ˅ P
3.Associative rule:
P ˄ (Q ˄ R) ==> (P ˄ Q) ˄ R
P ˅ (Q ˅ R) ==> (P ˅ Q) ˅
R 23
4. Distributive Rule:
P ˅ (Q ˄ R) ==> (P ˅ Q) ˄ (P ˅
R) P ˄ (Q ˅ R) ==> (P ˄ Q) ˅ (P
˄ R)

5. De-Morgan’s Rule:
‫(ך‬P ˅ Q) ==> ‫ך‬P ˄
‫ך‬Q ‫( ך‬P ˄ Q) ==> ‫ ך‬P ˅
‫ך‬Q
6. Implication elimination:
P  Q => ‫ך‬P ˅ Q 24
7. Bidirectional Implication elimination:
( P  Q ) ==> ( P  Q ) ˄ (Q  P)
8. Contrapositive rule:
P  Q => ‫ך‬P  ‫ך‬Q
9. Double Negation rule:
‫ך (ך‬P) => P
10. Absorption Rule:
P ˅ ( P ˄ Q) => P
P ˄ ( P ˅ Q) => P

25
11.Fundamental identities:
P ˄ ‫ ך‬p => F [contradiction]
P ˅ ‫ך‬P [Tautology]
=> T
P ˅ T => P
P ˅ F => P
P ˅ ‫ ך‬T => P

P ˄ F => F
P ˄ T => P
26
12. Modus Ponens:
If P is true and PQ then we can infer Q is also true.
P
PQ

Hence, Q

13. Modus Tollens:


If ‫ך‬P is true and PQ then we can infer ‫ך‬Q .
‫ך‬P
PQ

Hence, ‫ך‬Q 24
14. Chain rule:
If pq and qr then pr

15. Disjunctive Syllogism:


if ‫ך‬p and p˅q we can infer q is true.

16. AND elimination:


Given P and Q are true then we can deduce P and
seperately:
Q P˄QP
P ˄ Q Q
28
17. AND introduction:
Given P and Q are true then we deduce P ˄ Q

18. OR introduction:
Given P and Q are true then we can deduce P and
Q separately:
P P ˅ Q
Q P ˅ Q

29
• Example:
“I will get wet if it rains and I go out of the house”

Let Propositions be:


W : “I will get wet “
R : “it rains “
S: “I go out of the house”

(S ˄ R)  W

30
Using Propositional Logic

Representing simple facts


It is raining
RAINING
It is sunny
SUNNY
It is windy
WINDY
If it is
raining,
then it is
not sunny
RAINING
31

Normal Forms in propositional Logic
1. Conjunctive normal form (CNF):

e.g. ( P ˅ Q ˅ R ) ˄ (P ˅ Q ) ˄ (P ˅ R ) ˄ P It

is conjunction (˄) of disjunctions (˅)

Where disjunctions are:


1. ( P ˅ Q ˅ R )
2. (P ˅ Q )
3. (P ˅ R ) clauses
4. P

33
2. Disjunctive normal form (DNF):

e.g. ( P ˄ Q ˄ R ) ˅ (P ˄ Q ) ˅
(P ˄ R ) ˅ P

It is disjunction (˅) of conjunctions (˄)

34
Procedure to convert a statement to CNF
1. Eliminate implications and biconditionals using formulas:
• ( P  Q ) ==> ( P  Q ) ˄ (Q  P)
• P  Q => ‫ך‬P ˅ Q

2.Apply De-Morgan’s Law and reduce NOT symbols so as to bring negations


before the atoms. Use:
• ‫(ך‬P ˅ Q) ==> ‫ך‬P ˄ ‫ך‬Q
• ‫( ך‬P ˄ Q) ==> ‫ ך‬P ˅ ‫ך‬Q

3. Use distributive and other laws & equivalent formulas to obtain Normal
forms.

35
Conversion to CNF example
Q. Convert into CNF :
( ( PQ )R ) Solution:

Step 1: ( ( PQ )R ) ==> ( ( ‫ך‬P ˅


==> Q)R) ‫ך ( ך‬P
˅ Q) ˅ R
Step ‫ך ( ך‬P ˅ Q) ˅ R ==> (P ˄ ‫ ך‬Q ) ˅
2: R
Step 3: (P ˄ ‫ ך‬Q ) ˅ ==> ( P ˅ R ) ˄ (‫ ך‬Q ˅
R R)

CNF
36
Resolution in propositional logic
Proof by Refutation / contradiction.
• Used for theorem proving / rule of inference.

• Method: Say we have to prove proposition A


• Assume A to be false i.e. ‫ך‬A
• Continue solving the algorithm starting from ‫ך‬A
• If you get a contradiction (F) at the end it means your initial
assumption i.e. ‫ך‬A is false and hence proposition A
must be true.

• Clause: disjunction of literals is called clause.

37
• How it works?
• E.g. “ If it is Hot then it is Humid. If it is humid then it will rain.
It is hot.” prove that “ it will rain.”

• Solution:
• Let us denote these statements with propositions H,O and R:
– H: “ It is humid”.
– O: “ It is Hot”. And R: “It will rain”.

• Formulas corresponding to the sentences are:


• 1. “if it is hot then it is humid” [ OH] ==> ‫ך‬O ˅ H
• 2. “If it is humid then it will rain”. [ HR] ==> ‫ך‬H ˅ R
• 3. “ It is Hot” [O] ==> O

• To prove: R.
38
• Let us assume “it will NOT rain” [ ‫ך‬R ]

• [ ‫ך‬R ] [ ‫ך‬H ˅ R]

‫ך‬H [ ‫ך‬O ˅
H]

‫ך‬O O

E [EMPTY CLAUSE / CONTRADICTION ]


39
• Since an empty clause ( E ) has been deduced we say that
our assumption is wrong and hence we have proved:
“It will rain”

Using Prepositional
Logic:
• Theorem proving is decidable BUT

• It Cannot represent objects and quantification.

• Hence we go for PREDICATE LOGIC

40
Predicate Logic – Definition

A predicate is an expression of one or more variables


determined on some specific domain. A predicate with
variables can be made a proposition by either authorizing a
value to the variable or by quantifying the variable.
•Consider Equal(x, y) denote "x = y"
•Consider X(a, b, c) denote "a + b + c = 0"
•Consider Married(x, y) denote "x is married to y
PREDICATE LOGIC

• Can represent objects and quantification

43
Representing simple facts (Preposition)
“SOCRATES IS A MAN”
SOCRATESMAN ---------1
“PLATO IS A MAN”
PLATOMAN ---------2

Fails to capture relationship between Socrates and man.


We do not get any information about the objects involved
Ex:
if asked a question : “who is a man?” we cannot
get
answer.

Using Predicate Logic however we can represent above


facts as: Man(Socretes) and Man(Plato)
44
Propositional Logic Predicate Logic
Propositional logic is the logic that deals with a Predicate logic is an expression consisting of
collection of declarative statements which have variables with a specified domain. It consists of
a truth value, true or false. objects, relations and functions between the
objects.
It is the basic and most widely used logic. Also It is an extension of propositional logic covering
known as Boolean logic. predicates and quantification.
A proposition has a specific truth value, either A predicate’s truth value depends on the
true or false. variables’ value.
Propositions are combined with Logical Predicate Logic adds by introducing quantifiers
Operators or Logical Connectives like to the existing proposition.
Negation(¬), Disjunction(∨), Conjunction(∧),
Exclusive OR(⊕), Implication(⇒), Bi-Conditional
or Double Implication(⇔).
It is a more generalized representation. It is a more specialized representation.
(a+b)2 = a2 + 2ab + b2 In P(x) : x>5, x is the subject or the variable and
If x is real, then x2 >= 0 ‘>5’ is the predicate.
If x is real, then x2 < 0
The sun rises in the east.
The sun rises in the west.
Using Predicate Logic

1. Marcus was a man.


man(Marcus)

46
Using Predicate Logic

2. Marcus was a Pompeian.


Pompeian(Marcus)

47
Quantifier
• The variable of predicates is quantified by quantifiers. There are two
types of quantifier in predicate logic − Universal Quantifier and
Existential Quantifier

• Universal quantifier ()


• x: means “for all” x

• It is used to represent phrase “ for all”.


• It says that something is true for all possible values of
a variable.

• Ex. “ John loves everyone”


x: loves(John , x)

48
Universal Quantifier example

1. If P(x) denotes “x is an undergraduate student” and U is


{Enorlled Students in COMPSCI 230}, then ∀ x P(x) is
TRUE.
2. If P(x) denotes “x > 0” and U is the integers, then ∀ x P(x) is
FALSE.
3. If P(x) denotes “x > 0” and U is the positive integers, then ∀ x
P(x) is TRUE.
4. If P(x) denotes “x is even” and U is the integers, then ∀ x P(x)
is FALSE.
5. If P(x) denotes “x is mortal” and U represents all human
beings, then ∀ x P(x) is TRUE.
Existential quantifier (  ):
• If p(x) is a proposition over the universe U. Then it is denoted
as ∃x p(x) and read as "There exists at least one value in the
universe of variable x such that p(x) is true. The quantifier ∃ is
called the existential quantifier.
There are several ways to write a proposition, with an existential
quantifier, i.e.,(∃x∈A)p(x) or ∃x∈A such that p (x) or
(∃x)p(x) or p(x) is true for some x ∈A.
• “some people like reading and hence they gain good
knowledge”

 x: { [person(x)  like (x , reading)] gain(x, knowledge) }

• “lord Haggins has a crown on his head”


•  x: crown(x)  onhead (x , Haggins)
Existential Quantifier Example
1.If P(x) denotes “x is a Duke student” and U is the set of all
Enorlled Students in COMPSCI 230, then ∃x x P(x) is TRUE.

2. If P(x) denotes “x = x + 1” and U is the integers, then ∃x x P(x) is


FALSE.

3. If P(x) denotes “x = x * 2” and U is the integers, then ∃x x P(x) is


TRUE.

4. If P(x) denotes “x is a friend of Mickey mouse” and U is the


cartoon characters, then ∃x x P(x) is TRUE. Namely, Minnie
mouse! 5.
If P(x) denotes “x is the oldest person in this room” and U is
everyone present in the classroom now, then ∃x x P(x) is TRUE.
Namely, your instructor!
Nested Quantifiers
• We can use both  and  seperately

• Ex: “ everybody loves somebody ”

x: y: loves


( x , y)

• Connection between  and 


• “ everyone dislikes garlic”
 x:  like ( x ,
garlic )
 This can be also said as:
“there does not exists someone who likes garlic”
 x: like (x, garlic
3. All Romans were either loyal to Caesar or hated him.

x: Roman(x)  loyalto (x, Caesar)  hate(x, Caesar)

4. Every one is loyal to someone.


x: y: loyalto(x, y) y: x: loyalto(x, y)
5. People only try to assassinate rulers they are not loyal to.
x: y: person(x)  ruler(y)  tryassassinate(x, y)
 loyalto(x, y)

53
6. “All Pompeians were Romans”
x: Pompeian(x)  Roman(x)

8. Marcus tried to assassinate Caesar.


tryassassinate(Marcus, Caesar)

54
Some more examples
• “all indoor games are easy”
x: indoor_game( x)  easy(x)

• “Rajiv likes only cricket”


Like(Rajiv, Cricket)

• “Any person who is respected by every person is a king”


x:y: { person(x)  person(y)  respects (y ,x) king( x)}

55
• “god hheellpps those who helps
tthheemmsseellvveess”
x: helps( god, helps(x , x))

• “eeevvveeerrryyyooonnee who loves all animals is


loved by someone”
x: [ y: animal (y) 
loves( x , y) ]
everyone who loves all animals

z: loves( z , x ) there exist someone z and z


loves x Thus the predicate sentence is:

x: [ [y: animal (y)  loves( x , y) ]  [ z: loves( z , x ) ] ]

56
Computable functions and predicates
• “ Marcus was born in 40 A.D”
Born( Marcus, 40)

• “ All Pompeians died when volcano erupted in 79 A.D”


Erupted(volcano, 79)  x: [ Pompeian (x )  Died (x , 79)]

• “ no mortal lives longer than 150 years”


• How to solve ?
• let t1 is time instance 1 and t2 is time instance 2
• We use computable function gt( … , ….) which
computes greater than.

x: t1: t2: mortal (x)  born ( x, t1)  gt( t2 –t1,


49
150 )  dead ( x,
Resolution algorithm in predicate
logic
• Proof by refutation.
• INPUT: Predicate sentences in clausal form (CNF)
• (See conversion algo on next slide)

• Algorithm steps :-

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.
58
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))


59
4. Move all quantifiers to the left without changing their
order.
relative
(x: P(x))  (y: Q(y)) 
x: y: (P(x)  (Q(y))

5. Eliminate  (Skolemization).
x: P(x)  P(c) Skolem constant

x: y P(x, y)  x: P(x, f(x)) Skolem function

6. Drop .
x: P(x)  P(x)

60
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.

61
• Example of conversion:
x:  [ Roman (x)  ( Pompeian( x)   hate ( x,
Caesar))]
After step 1: i.e. elimination of  and  the above stmt
becomes:

x:  [  Roman (x)  (Pompeian( x)   hate ( x,


Caesar))]

After step 2: i.e. reducing scope of  the above stmt becomes:

x: [ Roman (x)  (Pompeian( x)   hate ( x, Caesar)) ]

x: [ Roman (x)  (Pompeian( x)  hate ( x, Caesar))62 ]


• Example to demonstrate step 3:- i.e. standardization of
variables.

x: [ [y: animal (y)  loves( x , y) ]  [ y:


loves( y , x ) ]
]

After step 3 above stmt becomes,

x: [ [y: animal (y)  loves( x , y) ]  [ z: loves( z, x


)] ]

63
• Example to demostrate step 4: Move all quantifiers to the left
without changing their relative order.

• x: [ [y: animal (y)  loves( x , y) ]  [ z: loves( z,
x)] ]

• After applying step 4 above stmt becomes:

• x: y: z: [ animal (y)  loves( x , y)  loves( z, x ) ]

• After first 4 processing steps of conversion are carried


out on original statement S, the statement is said to be in
PRENEX NORMAL FORM

64
• Example to demostrate step 5: skolemization ( i.e. elimination
of  quantifier )

y: President (y)


Can be transformed into
President (S1)
where S1 is a function that somehow producesa value
that satisfies President (S1) – S1 called as Skolem
constant

• Ex. 2:
y: x: leads ( y , x )
Here value of y that satisfies ‘leads’ depends on particular
value of x hence above stmt can be written as:
Wherex: leads
f(x) ( f(x) , x )
is skolem 57
function.
• Example to demonstrate step 6: dropping prefix 

x: y: z: [ Roman (x)  know ( x, y)  hate( y,


z)]

• After prefix dropped becomes,

[ Roman (x)  know ( x, y)  hate( y, z)]

66
• Example to demostrate step 7: Convert the formula into a
conjunction of disjuncts.(CNF)

• Roman (x)  ( ( hate (x , caesar)  loyalto ( x ,


caesar) )

• Roman (x)  ( ( hate (x , caesar)  loyalto ( x ,

caesar) ) P Q R

• P (Q  R )  ( P  Q )  (P  R )

CLAUSE 1 ( Roman (x)  ( hate (x , caesar) ) 


CLAUSE 2 ( Roman (x)  loyalto ( x , caesar) )
67
Substitution
A ground instance of a clause is obtained by uniformly
substituting constants for the variables in the clause.
Unification
• It’s a matching procedure that compares two literals and
discovers whether there exists a set of substitutions that can make
them identical.

• E.g.
Hate( marcus , X) Hate (marcus , caesar)

caesar/ X

e.g. 2.

Hate(X,Y) Hate( john, Z) could be unified as:

John/X and y/z

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

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 ,x) ,knows(John, Jane)) = {Jane/x}


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

70
Resolution
To prove a statement (i.e., show that it is valid), resolution
attempts to show that the negation of the statement produces
a contradiction with the known statements (i.e., that it is
unsatisfiable).
Resolution algorithm
• It is used as inference mechanism.
• Pre-processing steps:
1. Convert the given English sentence into predicate sentence.
2. Not all of these sentences will be in clausal form (CNF).
If any sentence is not in clausal form then convert it into clausal form.
3. Give these sentences (clauses) as an input to resolution
algorithm.

Resolution algorithm steps:


A. Negate the proposition which is to be proved.
i.e. If we have to prove :-
like(tommy , cookies) then assume 
like(tommy,cookies) Add the resultant sentence to the set of sentences
from step 3
72
B. Repeat until contradiction is found or no progress can be
made:
i. Select two clauses , call them parent clauses and resolve
them together.
The resultant clause is called resolvant.

e.g. P(x)  Q(x) R(x)   P(X)

Q(x)  R(x)

ii. If resolvant contains empty clause then contradiction has been found.

G(x)  G(x)

E [ EMPTY CLAUSE] 63
iii. If step ii. Results in empty clause , it means our
assumption is wrong
and the original clause (to be proved) has to be
true.

74
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.

75
1. “Marcus was a man”

man(marcus)
1

2. “Marcus was a Pompeian”

pompeian (marcus) ------------- 2

3. “All Pompeian's were Romans”


=> x1: pompeian(x1) 
roman(x1).
=> x1:  pompeian(x1) 
 pompeian (x1)  roman(x1)
roman(x1) ----------------- 3
76
4. “Caesar was a ruler”
ruler (caesar)
---------------- 4

5. “all romans were either loyalto caesar or hated him”


=> x2: roman(x2)  [ loyalto(x2 , caesar)  hate(x2 ,
caesar) ]
=> x2:  roman(x2)  loyalto(x2 , caesar)  hate(x2 , caesar)
=>  roman(x2)  loyalto(x2 , caesar)  hate(x2 , caesar)
 roman ( x2)  loyalto (x2 , caesar)  hate (x2 , caesar) ------ 5

77
• “Every one is loyal to someone”
=> x3: y1: loyalto(x3, y1).

Let f(x3) be a skolem function then,

=> x3: loyalto(x3, f(x3)).


=> loyalto(x3, f(x3))

loyalto (x3, f(x3)) ---------------- 6

78
7. “People only try to assassinate rulers they are not loyal to.”

=> x4: y2: [man(x4)  ruler(y2)  tryassassinate(x4, y2) ]


 loyalto(x4, y2)

=> x4: y2:  [man(x4)  ruler(y2)  tryassassinate(x4, y2) ]


 loyalto(x4, y2)

 x4: y2:  man(x4)   ruler(y2)   tryassassinate(x4, y2)



loyalto(x4, y2)

let f(x4) be skolem function then,


 => x4:  man(x4)   ruler(f(x4)) 
 tryassassinate(x4, f(x4))  loyalto(x4, f(x4)) 69
  man(x4)   ruler(f(x4))   tryassassinate(x4, f(x4))

loyalto(x4, f(x4))

 man( x4)   ruler(f(x4))   tryassassinate(x4, f(x4)) 


» ---------- 7
loyalto(x4, f(x4))

8. “Marcus tried to assassinate Caesar”

tryassassinate(marcus , caesar)

tryassassinate( marcus , caesar ) ------------ 8

To prove : marcus hate caesar i.e. hate(marcus, caesar)


70
• Assume  hate(marcus, caesar)
(5)
‫ ך‬hate (marcus , caesar)  roman ( x2)  loyalto (x2 , caesar)

hate (x2 , caesar)

x2 / marcus

 roman ( marcus)  loyalto (marcus, caesar)

 pompeian (x1) 
roman(x1)
(3)
x1 / marcus
(2)
pompeian (marcus)
 pompeian (marcus)  loyalto (marcus,
caesar)
loyalto (marcus, 71
caesar)
loyalto (marcus,
(7) caesar)

x4/ marcus
f(x4)/ caesar

 man( marcus)   ruler( caesar )   tryassassinate( marcus , caesar )

(8)
tryassassinate( marcus ,

caesar )

 man( marcus)  
(1) ruler( caesar )
man( marcu
s)
 ruler( caesar ) 72
 ruler( caesar )

(4)
ruler( caesar )

E
• Since we get an empty clause i.e. contradiction our assumption
that  hate(marcus, caesar) is false

hence
hate(marcus, caesar) must be true.

83
EXAMPLE 2
• Consider the following paragraph:
“ anything anyone eats is called food. Milka likes all kind of
food. Bread is a food. Mango is a food. Alka eats pizza. Alka
eats everything milka eats.”

Translate the following sentences into (WFF) in predicate logic


and then into set of clauses. Using resolution principle answer
the following:
1. Does Milka like pizza?
2. what food Alka eats? [ Question answering]

84
• Solution:
1. “ anything anyone eats is called food.”
x: y: eats(x , y)  food(y)
 x: y:  eats(x , y)  food(y)
  eats(x , y)  food(y)

(1)
2. “Milka likes all kind of food”
y1: food(y1)  like(milka , y1)
 y1:  food(y1)  like( milka , y1)
  food(y1)  like( milka , y1) (2)

3. “Bread is a food”
food(bread) (3)

4. “Mango is a food”
food( mango) (4)
75
5. “Alka eats Pizza”
eats( alka, pizza) (5)

6. “Alka eats everything Milka eats”


x1: eats(milka , x1)  eats(alka, x1)
=> x1:  eats(milka , x1) 
eats(alka, x1) (6)
=>  eats(milka , x1)  eats(alka,
x1)
Question to be answered : 1. “Does Milka likes
Pizza ?” : “Milka does not like
assume
Pizza” (7)
 like(milka , pizza)

76
 like(milka , (2)
pizza)  food(y1)  like( milka ,
y1)

pizza/
y1

 food(pizza)
(1)
eats(x , y)  pizza/
food(y) y

 eats(x ,
(5) pizza)
eats( alka,
pizza) alka/
x

E 77
Since  like(milka , pizza) is contradiction like(milka , is
Question to be answered : 2. “ what
food Alka eats ?” eats( alka, ??)

there exist something which Alka eats we have to find the value of
x

x: eats ( alka, x)

Assume : alka does not eat anything


 [x2: eats ( alka, x2)]
=> x2:  eats (alka ,
=> x2) (7)
 eats (alka , x2)
(7) (5)
 eats (alka , eats( alka,
x2) pizza)
pizza/
78
x2 E
• Therefore alka does not eat anything is false and
• Alka eats something is true.
• And x2 stores pizza

• Therefore we conclude :

eats ( alka, ??)

answer is

“pizza”

89
Example 3:
"All people who are not poor and are smart are happy. Those
people who' read are not stupid. John can read, is wealthy.
Happy people have exciting lives. Can anyone be found with an
exciting life?"
EXAMPLE 3 Cont…
These predicate calculus expressions for the happy
life problem are transformed into the following
clauses:
Resolution prove for the "exciting life" problem
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).

93
94

You might also like