Knowledge representation and Predicate logic

A
Amey KerkarAssistant Professor em Don Bosco College of Engineering
KNOWLEDGE REPRESENTATION
&
PREDICATE LOGIC
Amey D.S.Kerkar,
Asst.Professor, Computer Engineering Dept.
Don Bosco College of Engineering,
Fatorda-Goa.
• 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
Facts
Internal
Representations
English
Representations
reasoning
programs
English
understanding
English
generation
Initial
facts
Internal
representations
of initial facts
desired real reasoning
forward
representation
mapping
Final
facts
Internal
representations
of final facts
backward
representation
mapping
operation
of program
5
Representation and Mapping
• Spot is a dog
• Every dog has a tail
Spot has a tail
6
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
• Fact-representation mapping is not one-to-one.
• Good representation can make a reasoning program
trivial.
The Multilated Checkerboard Problem
“Consider a normal checker board from which two
squares, in opposite corners, have been removed.
The task is to cover all the remaining squares exactly
with donimoes, each of which covers two squares. No
overlapping, either of dominoes on top of each other or
of dominoes over the boundary of the multilated board
are allowed.
Can this task be done?” 7
8
Representation and Mapping
No. black squares
= 30
No. white square
= 32
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. 9
10
Approaches to KR
1. Simple relational knowledge:
• Provides very weak inferential capabilities.
• May serve as the input to powerful inference engines.
Fails to infer “which right handed player can best face a
particular bowler” .
Player Height Weight handed
Peter 6-0 180 right
Ajay 5-10 170 left
John 6-2 215 left
Vickey 6-3 205 right
11
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.
Adult male Person
isa
Peter
instance
Right
handed
Tata Consultancy
Works_at
12
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”
13
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
14
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”.
• 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.
15
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]
16
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:
18
19
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
20
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
21
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
22
11.Fundamental identities:
P ˄ ‫ך‬ p => F [contradiction]
P ˅ ‫ך‬P => T [Tautology]
P ˅ T => P
P ˅ F => P
P ˅ ‫ך‬ T => P
P ˄ F => F
P ˄ T => P
23
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 Q
seperately: P ˄ Q  P
P ˄ Q Q
25
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
26
• 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
27
28
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  SUNNY
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
29
2. Disjunctive normal form (DNF):
e.g. ( P ˄ Q ˄ R ) ˅ (P ˄ Q ) ˅ (P ˄ R ) ˅ P
It is disjunction (˅) of conjunctions (˄)
30
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.
31
Conversion to CNF example
Q. Convert into CNF : ( ( PQ )R )
Solution:
Step 1: ( ( PQ )R ) ==> ( ( ‫ך‬P ˅ Q)R)
==> ‫ך‬ ( ‫ך‬P ˅ Q) ˅ R
Step 2: ‫ך‬ ( ‫ך‬P ˅ Q) ˅ R ==> (P ˄ ‫ך‬ Q ) ˅ R
Step 3: (P ˄ ‫ך‬ Q ) ˅ R ==> ( P ˅ R ) ˄ (‫ך‬ Q ˅ R )
CNF
32
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.
33
• 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.
34
• Let us assume “it will NOT rain” [ ‫ך‬R ]
• [ ‫ך‬R ] [ ‫ך‬H ˅ R]
‫ך‬H [ ‫ך‬O ˅ H]
‫ך‬ O O
E [EMPTY CLAUSE / CONTRADICTION ]
35
• 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
36
PREDICATE LOGIC
• Can represent objects and quantification
• Theorem proving is semi-decidable
37
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)
38
39
Using Predicate Logic
1. Marcus was a man.
man(Marcus)
40
Using Predicate Logic
2. Marcus was a Pompeian.
Pompeian(Marcus)
• Quantifiers:
• 2 types:-
• 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”
•
41
• Quantifiers:
• 2 types:-
• 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)
42
• Existential quantifier (  ):
• Used to represent the fact “ there exists some”
• Ex:
• “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)
43
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)
44
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)
45
46
6. “All Pompeians were Romans”
x: Pompeian(x)  Roman(x)
8. Marcus tried to assassinate Caesar.
tryassassinate(Marcus, Caesar)
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)}
47
• “god helps those who helps themselves”
x: helps( god, helps(x , x))
• “everyone 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 ) ] ]
48
• “god helps those who helps themselves”
x: helps( god, helps(x , x))
• “everyone 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 ) ] ]
• “god helps those who helps themselves”
x: helps( god, helps(x , x))
• “everyone 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 ) ] ]
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, 150 ) 
dead ( x, t2)
49
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.
50
51
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))
52
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) Skolem constant
x: y P(x, y)  x: P(x, f(x)) Skolem function
6. 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.
53
• 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)) ]
54
• 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 ) ] ]
55
• 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
56
• 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 produces a 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:
x: leads ( f(x) , x )
Where f(x) is skolem function. 57
• 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)]
58
• 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) )
59
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
60
61
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
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
62
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.
64
65
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.
1. “Marcus was a man”
------------- 1
2. “Marcus was a Pompeian”
------------- 2
3. “All Pompeian's were Romans”
=> x1: pompeian(x1)  roman(x1).
=> x1:  pompeian(x1)  roman(x1)
----------------- 3
66
man(marcus)
pompeian (marcus)
 pompeian (x1)  roman(x1)
4. “Caesar was a ruler”
---------------- 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)
------ 5
67
ruler (caesar)
 roman ( x2)  loyalto (x2 , caesar)  hate (x2 , caesar)
• “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))
---------------- 6
68
loyalto (x3, f(x3))
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))
» ---------- 7
8. “Marcus tried to assassinate Caesar”
tryassassinate(marcus , caesar)
------------ 8
To prove : marcus hate caesar i.e. hate(marcus, caesar)
70

 man( x4)   ruler(f(x4))   tryassassinate(x4, f(x4)) 
loyalto(x4, f(x4))
tryassassinate( marcus , caesar )
• Assume  hate(marcus, caesar)
71
(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, caesar)
loyalto (marcus, caesar)
(7)
x4/ marcus
f(x4)/ caesar
 man( marcus)   ruler( caesar )   tryassassinate( marcus , caesar )
(8)
tryassassinate( marcus , caesar )
 man( marcus)   ruler( caesar )
(1)
man( marcus)
 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.
73
• 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]
74
• 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)
=>  eats(milka , x1)  eats(alka, x1) (6)
Question to be answered : 1. “Does Milka likes Pizza ?”
assume : “Milka does not like Pizza”
 like(milka , pizza) (7)
76
 like(milka , pizza) (2)
 food(y1)  like( milka , y1)
pizza/ y1
 food(pizza)
(1)
eats(x , y)  food(y) pizza/ y
 eats(x , pizza)
(5)
eats( alka, pizza)
alka/ x
E
Since  like(milka , pizza) is contradiction like(milka , pizza) is true
77
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)
=>  eats (alka , x2) (7)
(7) (5)
 eats (alka , x2) eats( alka, pizza)
pizza/ x2
E
78
• 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”
79
Instance and Isa relationship
• “ Marcus is a man”
man(marcus)
OR
instance( marcus , man) where marcus is an object/
instance of class ‘man’
“ all pompeians were romans”
x: pompeian(x)  roman(x).
OR
x: instance(x, pompeian)  instance(x, roman).
80
• Isa Predicate :
“ all pompeians were romans”
x: pompeian(x)  roman(x).
OR
x: instance(x, pompeian)  instance(x, roman).------(1)
• Now using isa predicate (1) becomes,
Isa( pompeian , roman)
which means pompeian is a subclass of roman class
but it also requires extra axiom :
x: y: z: isa( y, z)  instance (x , y)  instance ( x , z)
81
82
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).
83
1 de 83

Recomendados

Dempster shafer theory por
Dempster shafer theoryDempster shafer theory
Dempster shafer theoryDr. C.V. Suresh Babu
4.2K visualizações9 slides
Artificial Intelligence (AI) | Prepositional logic (PL)and first order predic... por
Artificial Intelligence (AI) | Prepositional logic (PL)and first order predic...Artificial Intelligence (AI) | Prepositional logic (PL)and first order predic...
Artificial Intelligence (AI) | Prepositional logic (PL)and first order predic...Ashish Duggal
3.7K visualizações16 slides
Predicate logic por
 Predicate logic Predicate logic
Predicate logicHarini Balamurugan
18.7K visualizações55 slides
knowledge representation using rules por
knowledge representation using rulesknowledge representation using rules
knowledge representation using rulesHarini Balamurugan
17.6K visualizações37 slides
Propositional logic por
Propositional logicPropositional logic
Propositional logicRushdi Shams
7K visualizações26 slides
Artificial Intelligence Searching Techniques por
Artificial Intelligence Searching TechniquesArtificial Intelligence Searching Techniques
Artificial Intelligence Searching TechniquesDr. C.V. Suresh Babu
3.2K visualizações38 slides

Mais conteúdo relacionado

Mais procurados

Issues in knowledge representation por
Issues in knowledge representationIssues in knowledge representation
Issues in knowledge representationSravanthi Emani
60.2K visualizações11 slides
Knowledge representation in AI por
Knowledge representation in AIKnowledge representation in AI
Knowledge representation in AIVishal Singh
88.9K visualizações33 slides
Knowledge representation In Artificial Intelligence por
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceRamla Sheikh
15.7K visualizações25 slides
Problems, Problem spaces and Search por
Problems, Problem spaces and SearchProblems, Problem spaces and Search
Problems, Problem spaces and SearchBMS Institute of Technology
12K visualizações60 slides
State Space Representation and Search por
State Space Representation and SearchState Space Representation and Search
State Space Representation and SearchHitesh Mohapatra
31.8K visualizações31 slides
Unification and Lifting por
Unification and LiftingUnification and Lifting
Unification and LiftingMegha Sharma
6.3K visualizações11 slides

Mais procurados(20)

Issues in knowledge representation por Sravanthi Emani
Issues in knowledge representationIssues in knowledge representation
Issues in knowledge representation
Sravanthi Emani60.2K visualizações
Knowledge representation in AI por Vishal Singh
Knowledge representation in AIKnowledge representation in AI
Knowledge representation in AI
Vishal Singh88.9K visualizações
Knowledge representation In Artificial Intelligence por Ramla Sheikh
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial Intelligence
Ramla Sheikh15.7K visualizações
State Space Representation and Search por Hitesh Mohapatra
State Space Representation and SearchState Space Representation and Search
State Space Representation and Search
Hitesh Mohapatra31.8K visualizações
Unification and Lifting por Megha Sharma
Unification and LiftingUnification and Lifting
Unification and Lifting
Megha Sharma6.3K visualizações
Conceptual dependency por Jismy .K.Jose
Conceptual dependencyConceptual dependency
Conceptual dependency
Jismy .K.Jose51.5K visualizações
I.BEST FIRST SEARCH IN AI por vikas dhakane
I.BEST FIRST SEARCH IN AII.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AI
vikas dhakane2.2K visualizações
Multi Head, Multi Tape Turing Machine por Radhakrishnan Chinnusamy
Multi Head, Multi Tape Turing MachineMulti Head, Multi Tape Turing Machine
Multi Head, Multi Tape Turing Machine
Radhakrishnan Chinnusamy12.6K visualizações
Problem solving agents por Megha Sharma
Problem solving agentsProblem solving agents
Problem solving agents
Megha Sharma4.2K visualizações
Unit IV UNCERTAINITY AND STATISTICAL REASONING in AI K.Sundar,AP/CSE,VEC por sundarKanagaraj1
Unit IV UNCERTAINITY AND STATISTICAL REASONING in AI K.Sundar,AP/CSE,VECUnit IV UNCERTAINITY AND STATISTICAL REASONING in AI K.Sundar,AP/CSE,VEC
Unit IV UNCERTAINITY AND STATISTICAL REASONING in AI K.Sundar,AP/CSE,VEC
sundarKanagaraj1238 visualizações
Informed search por Amit Rathi
Informed searchInformed search
Informed search
Amit Rathi1.4K visualizações
AI: Learning in AI por DataminingTools Inc
AI: Learning in AI AI: Learning in AI
AI: Learning in AI
DataminingTools Inc41.1K visualizações
Planning por Amar Jukuntla
Planning Planning
Planning
Amar Jukuntla3.4K visualizações
Planning por ahmad bassiouny
PlanningPlanning
Planning
ahmad bassiouny26K visualizações
I. AO* SEARCH ALGORITHM por vikas dhakane
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHM
vikas dhakane9.5K visualizações
First order logic por Megha Sharma
First order logicFirst order logic
First order logic
Megha Sharma949 visualizações
Informed and Uninformed search Strategies por Amey Kerkar
Informed and Uninformed search StrategiesInformed and Uninformed search Strategies
Informed and Uninformed search Strategies
Amey Kerkar49.4K visualizações
First order logic por Rushdi Shams
First order logicFirst order logic
First order logic
Rushdi Shams12.4K visualizações
Hill climbing por Mohammad Faizan
Hill climbingHill climbing
Hill climbing
Mohammad Faizan67.9K visualizações

Destaque

Predicate Logic por
Predicate LogicPredicate Logic
Predicate Logicgiki67
42.1K visualizações71 slides
Heuristic Search Techniques {Artificial Intelligence} por
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}FellowBuddy.com
32.6K visualizações22 slides
Lecture 21 problem reduction search ao star search por
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchHema Kashyap
14.1K visualizações16 slides
Pulse modulation por
Pulse modulationPulse modulation
Pulse modulationA.Q Khan Institiute Of Technology
70.9K visualizações9 slides
Knowledge Representation & Reasoning por
Knowledge Representation & ReasoningKnowledge Representation & Reasoning
Knowledge Representation & ReasoningSajid Marwat
18.9K visualizações34 slides
(Radhika) presentation on chapter 2 ai por
(Radhika) presentation on chapter 2 ai(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 aiRadhika Srinivasan
9.3K visualizações34 slides

Destaque(10)

Predicate Logic por giki67
Predicate LogicPredicate Logic
Predicate Logic
giki6742.1K visualizações
Heuristic Search Techniques {Artificial Intelligence} por FellowBuddy.com
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}
FellowBuddy.com32.6K visualizações
Lecture 21 problem reduction search ao star search por Hema Kashyap
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star search
Hema Kashyap14.1K visualizações
Knowledge Representation & Reasoning por Sajid Marwat
Knowledge Representation & ReasoningKnowledge Representation & Reasoning
Knowledge Representation & Reasoning
Sajid Marwat18.9K visualizações
(Radhika) presentation on chapter 2 ai por Radhika Srinivasan
(Radhika) presentation on chapter 2 ai(Radhika) presentation on chapter 2 ai
(Radhika) presentation on chapter 2 ai
Radhika Srinivasan9.3K visualizações
State space search por Timothy Makgato
State space search State space search
State space search
Timothy Makgato5K visualizações
Problems problem spaces and search por Amey Kerkar
Problems problem spaces and searchProblems problem spaces and search
Problems problem spaces and search
Amey Kerkar12.5K visualizações
State Space Search(2) por luzenith_g
State Space Search(2)State Space Search(2)
State Space Search(2)
luzenith_g8.2K visualizações
Frames por amitp26
FramesFrames
Frames
amitp2624K visualizações

Similar a Knowledge representation and Predicate logic

DMS UNIT-1 ppt.pptx por
DMS UNIT-1 ppt.pptxDMS UNIT-1 ppt.pptx
DMS UNIT-1 ppt.pptxDrMadhavaReddyCh
31 visualizações48 slides
Top school in delhi ncr por
Top school in delhi ncrTop school in delhi ncr
Top school in delhi ncrEdhole.com
418 visualizações67 slides
Logic por
LogicLogic
LogicShiwani Gupta
89 visualizações30 slides
1019Lec1.ppt por
1019Lec1.ppt1019Lec1.ppt
1019Lec1.pptVimbainasheMavhima
14 visualizações41 slides
Logic.ppt por
Logic.pptLogic.ppt
Logic.pptsyedadamiya
17 visualizações76 slides
AI NOTES ppt 4.pdf por
AI NOTES ppt 4.pdfAI NOTES ppt 4.pdf
AI NOTES ppt 4.pdfARMANVERMA7
6 visualizações31 slides

Similar a Knowledge representation and Predicate logic(20)

DMS UNIT-1 ppt.pptx por DrMadhavaReddyCh
DMS UNIT-1 ppt.pptxDMS UNIT-1 ppt.pptx
DMS UNIT-1 ppt.pptx
DrMadhavaReddyCh31 visualizações
Top school in delhi ncr por Edhole.com
Top school in delhi ncrTop school in delhi ncr
Top school in delhi ncr
Edhole.com418 visualizações
Logic por Shiwani Gupta
LogicLogic
Logic
Shiwani Gupta89 visualizações
Logic.ppt por syedadamiya
Logic.pptLogic.ppt
Logic.ppt
syedadamiya17 visualizações
AI NOTES ppt 4.pdf por ARMANVERMA7
AI NOTES ppt 4.pdfAI NOTES ppt 4.pdf
AI NOTES ppt 4.pdf
ARMANVERMA76 visualizações
4535092.ppt por ntabdelnaiem
4535092.ppt4535092.ppt
4535092.ppt
ntabdelnaiem2 visualizações
CMSC 56 | Lecture 1: Propositional Logic por allyn joy calcaben
CMSC 56 | Lecture 1: Propositional LogicCMSC 56 | Lecture 1: Propositional Logic
CMSC 56 | Lecture 1: Propositional Logic
allyn joy calcaben1.1K visualizações
Knowledge based agent por Shiwani Gupta
Knowledge based agentKnowledge based agent
Knowledge based agent
Shiwani Gupta228 visualizações
Lecture # 2 discrete for beginners.ppt por faizahanif618
Lecture # 2 discrete for beginners.pptLecture # 2 discrete for beginners.ppt
Lecture # 2 discrete for beginners.ppt
faizahanif6186 visualizações
Aa - Module 1 Fundamentals_2.pdf por AayushSharma261
Aa  - Module 1  Fundamentals_2.pdfAa  - Module 1  Fundamentals_2.pdf
Aa - Module 1 Fundamentals_2.pdf
AayushSharma2617 visualizações
Logic por H K
LogicLogic
Logic
H K2.6K visualizações
Logic in Computer Science Unit 2 (1).pptx por PriyalMayurManvar
Logic in Computer Science Unit 2 (1).pptxLogic in Computer Science Unit 2 (1).pptx
Logic in Computer Science Unit 2 (1).pptx
PriyalMayurManvar110 visualizações
Course notes1 por Von Adam Martinez
Course notes1Course notes1
Course notes1
Von Adam Martinez489 visualizações
Artificial intelligent Lec 5-logic por Taymoor Nazmy
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logic
Taymoor Nazmy72 visualizações
Lecture 01.ppt por VinhQuang898733
Lecture 01.pptLecture 01.ppt
Lecture 01.ppt
VinhQuang89873315 visualizações
Discrete Structures lecture 2 por Ali Usman
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2
Ali Usman11.2K visualizações
chapter 1 (part 2) por Raechel Lim
chapter 1 (part 2)chapter 1 (part 2)
chapter 1 (part 2)
Raechel Lim1.6K visualizações
Mathematical Logic por Joey Valdriz
Mathematical LogicMathematical Logic
Mathematical Logic
Joey Valdriz7.4K visualizações

Último

BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth por
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for GrowthInnomantra
20 visualizações4 slides
dummy.pptx por
dummy.pptxdummy.pptx
dummy.pptxJamesLamp
7 visualizações2 slides
Unlocking Research Visibility.pdf por
Unlocking Research Visibility.pdfUnlocking Research Visibility.pdf
Unlocking Research Visibility.pdfKhatirNaima
11 visualizações19 slides
Integrating Sustainable Development Goals (SDGs) in School Education por
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School EducationSheetalTank1
11 visualizações29 slides
GDSC Mikroskil Members Onboarding 2023.pdf por
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdfgdscmikroskil
68 visualizações62 slides
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx por
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptxlwang78
188 visualizações19 slides

Último(20)

BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth por Innomantra
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth
Innomantra 20 visualizações
dummy.pptx por JamesLamp
dummy.pptxdummy.pptx
dummy.pptx
JamesLamp7 visualizações
Unlocking Research Visibility.pdf por KhatirNaima
Unlocking Research Visibility.pdfUnlocking Research Visibility.pdf
Unlocking Research Visibility.pdf
KhatirNaima11 visualizações
Integrating Sustainable Development Goals (SDGs) in School Education por SheetalTank1
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School Education
SheetalTank111 visualizações
GDSC Mikroskil Members Onboarding 2023.pdf por gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil68 visualizações
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx por lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78188 visualizações
MongoDB.pdf por ArthyR3
MongoDB.pdfMongoDB.pdf
MongoDB.pdf
ArthyR351 visualizações
DESIGN OF SPRINGS-UNIT4.pptx por gopinathcreddy
DESIGN OF SPRINGS-UNIT4.pptxDESIGN OF SPRINGS-UNIT4.pptx
DESIGN OF SPRINGS-UNIT4.pptx
gopinathcreddy21 visualizações
Module-1, Chapter-2 Data Types, Variables, and Arrays por Demian Antony D'Mello
Module-1, Chapter-2 Data Types, Variables, and ArraysModule-1, Chapter-2 Data Types, Variables, and Arrays
Module-1, Chapter-2 Data Types, Variables, and Arrays
Demian Antony D'Mello6 visualizações
Design of machine elements-UNIT 3.pptx por gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy38 visualizações
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc... por csegroupvn
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
csegroupvn13 visualizações
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf por AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure10 visualizações
sam_software_eng_cv.pdf por sammyigbinovia
sam_software_eng_cv.pdfsam_software_eng_cv.pdf
sam_software_eng_cv.pdf
sammyigbinovia11 visualizações
Proposal Presentation.pptx por keytonallamon
Proposal Presentation.pptxProposal Presentation.pptx
Proposal Presentation.pptx
keytonallamon76 visualizações
unit 1.pptx por rrbornarecm
unit 1.pptxunit 1.pptx
unit 1.pptx
rrbornarecm5 visualizações
REACTJS.pdf por ArthyR3
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
ArthyR337 visualizações
Global airborne satcom market report por defencereport78
Global airborne satcom market reportGlobal airborne satcom market report
Global airborne satcom market report
defencereport787 visualizações
Web Dev Session 1.pptx por VedVekhande
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptx
VedVekhande20 visualizações
AWS A5.18 A5.18M-2021.pdf por ThinhNguyen455948
AWS A5.18 A5.18M-2021.pdfAWS A5.18 A5.18M-2021.pdf
AWS A5.18 A5.18M-2021.pdf
ThinhNguyen4559488 visualizações

Knowledge representation and Predicate logic

  • 1. KNOWLEDGE REPRESENTATION & PREDICATE LOGIC Amey D.S.Kerkar, Asst.Professor, Computer Engineering Dept. Don Bosco College of Engineering, Fatorda-Goa.
  • 2. • 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.
  • 4. Initial facts Internal representations of initial facts desired real reasoning forward representation mapping Final facts Internal representations of final facts backward representation mapping operation of program
  • 5. 5 Representation and Mapping • Spot is a dog • Every dog has a tail Spot has a tail
  • 6. 6 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
  • 7. • Fact-representation mapping is not one-to-one. • Good representation can make a reasoning program trivial. The Multilated Checkerboard Problem “Consider a normal checker board from which two squares, in opposite corners, have been removed. The task is to cover all the remaining squares exactly with donimoes, each of which covers two squares. No overlapping, either of dominoes on top of each other or of dominoes over the boundary of the multilated board are allowed. Can this task be done?” 7
  • 8. 8 Representation and Mapping No. black squares = 30 No. white square = 32
  • 9. 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. 9
  • 10. 10 Approaches to KR 1. Simple relational knowledge: • Provides very weak inferential capabilities. • May serve as the input to powerful inference engines. Fails to infer “which right handed player can best face a particular bowler” . Player Height Weight handed Peter 6-0 180 right Ajay 5-10 170 left John 6-2 215 left Vickey 6-3 205 right
  • 11. 11 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. Adult male Person isa Peter instance Right handed Tata Consultancy Works_at
  • 12. 12 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”
  • 13. 13 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
  • 14. 14 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”.
  • 15. • 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. 15
  • 16. 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] 16
  • 17. 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
  • 19. 19
  • 20. 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 20
  • 21. 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 21
  • 22. 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 22
  • 23. 11.Fundamental identities: P ˄ ‫ך‬ p => F [contradiction] P ˅ ‫ך‬P => T [Tautology] P ˅ T => P P ˅ F => P P ˅ ‫ך‬ T => P P ˄ F => F P ˄ T => P 23
  • 24. 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
  • 25. 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 Q seperately: P ˄ Q  P P ˄ Q Q 25
  • 26. 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 26
  • 27. • 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 27
  • 28. 28 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  SUNNY
  • 29. 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 29
  • 30. 2. Disjunctive normal form (DNF): e.g. ( P ˄ Q ˄ R ) ˅ (P ˄ Q ) ˅ (P ˄ R ) ˅ P It is disjunction (˅) of conjunctions (˄) 30
  • 31. 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. 31
  • 32. Conversion to CNF example Q. Convert into CNF : ( ( PQ )R ) Solution: Step 1: ( ( PQ )R ) ==> ( ( ‫ך‬P ˅ Q)R) ==> ‫ך‬ ( ‫ך‬P ˅ Q) ˅ R Step 2: ‫ך‬ ( ‫ך‬P ˅ Q) ˅ R ==> (P ˄ ‫ך‬ Q ) ˅ R Step 3: (P ˄ ‫ך‬ Q ) ˅ R ==> ( P ˅ R ) ˄ (‫ך‬ Q ˅ R ) CNF 32
  • 33. 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. 33
  • 34. • 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. 34
  • 35. • Let us assume “it will NOT rain” [ ‫ך‬R ] • [ ‫ך‬R ] [ ‫ך‬H ˅ R] ‫ך‬H [ ‫ך‬O ˅ H] ‫ך‬ O O E [EMPTY CLAUSE / CONTRADICTION ] 35
  • 36. • 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 36
  • 37. PREDICATE LOGIC • Can represent objects and quantification • Theorem proving is semi-decidable 37
  • 38. 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) 38
  • 39. 39 Using Predicate Logic 1. Marcus was a man. man(Marcus)
  • 40. 40 Using Predicate Logic 2. Marcus was a Pompeian. Pompeian(Marcus)
  • 41. • Quantifiers: • 2 types:- • 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” • 41
  • 42. • Quantifiers: • 2 types:- • 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) 42
  • 43. • Existential quantifier (  ): • Used to represent the fact “ there exists some” • Ex: • “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) 43
  • 44. 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) 44
  • 45. 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) 45
  • 46. 46 6. “All Pompeians were Romans” x: Pompeian(x)  Roman(x) 8. Marcus tried to assassinate Caesar. tryassassinate(Marcus, Caesar)
  • 47. 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)} 47
  • 48. • “god helps those who helps themselves” x: helps( god, helps(x , x)) • “everyone 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 ) ] ] 48 • “god helps those who helps themselves” x: helps( god, helps(x , x)) • “everyone 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 ) ] ] • “god helps those who helps themselves” x: helps( god, helps(x , x)) • “everyone 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 ) ] ]
  • 49. 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, 150 )  dead ( x, t2) 49
  • 50. 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. 50
  • 51. 51 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))
  • 52. 52 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) Skolem constant x: y P(x, y)  x: P(x, f(x)) Skolem function 6. Drop . x: P(x)  P(x)
  • 53. 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. 53
  • 54. • 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)) ] 54
  • 55. • 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 ) ] ] 55
  • 56. • 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 56
  • 57. • 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 produces a 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: x: leads ( f(x) , x ) Where f(x) is skolem function. 57
  • 58. • 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)] 58
  • 59. • 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) ) 59
  • 60. 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 60
  • 61. 61 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
  • 62. 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 62
  • 63. 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
  • 64. 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. 64
  • 65. 65 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.
  • 66. 1. “Marcus was a man” ------------- 1 2. “Marcus was a Pompeian” ------------- 2 3. “All Pompeian's were Romans” => x1: pompeian(x1)  roman(x1). => x1:  pompeian(x1)  roman(x1) ----------------- 3 66 man(marcus) pompeian (marcus)  pompeian (x1)  roman(x1)
  • 67. 4. “Caesar was a ruler” ---------------- 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) ------ 5 67 ruler (caesar)  roman ( x2)  loyalto (x2 , caesar)  hate (x2 , caesar)
  • 68. • “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)) ---------------- 6 68 loyalto (x3, f(x3))
  • 69. 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
  • 70.   man(x4)   ruler(f(x4))   tryassassinate(x4, f(x4))  loyalto(x4, f(x4)) » ---------- 7 8. “Marcus tried to assassinate Caesar” tryassassinate(marcus , caesar) ------------ 8 To prove : marcus hate caesar i.e. hate(marcus, caesar) 70   man( x4)   ruler(f(x4))   tryassassinate(x4, f(x4))  loyalto(x4, f(x4)) tryassassinate( marcus , caesar )
  • 71. • Assume  hate(marcus, caesar) 71 (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, caesar)
  • 72. loyalto (marcus, caesar) (7) x4/ marcus f(x4)/ caesar  man( marcus)   ruler( caesar )   tryassassinate( marcus , caesar ) (8) tryassassinate( marcus , caesar )  man( marcus)   ruler( caesar ) (1) man( marcus)  ruler( caesar ) 72
  • 73.  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. 73
  • 74. • 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] 74
  • 75. • 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
  • 76. 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) =>  eats(milka , x1)  eats(alka, x1) (6) Question to be answered : 1. “Does Milka likes Pizza ?” assume : “Milka does not like Pizza”  like(milka , pizza) (7) 76
  • 77.  like(milka , pizza) (2)  food(y1)  like( milka , y1) pizza/ y1  food(pizza) (1) eats(x , y)  food(y) pizza/ y  eats(x , pizza) (5) eats( alka, pizza) alka/ x E Since  like(milka , pizza) is contradiction like(milka , pizza) is true 77
  • 78. 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) =>  eats (alka , x2) (7) (7) (5)  eats (alka , x2) eats( alka, pizza) pizza/ x2 E 78
  • 79. • 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” 79
  • 80. Instance and Isa relationship • “ Marcus is a man” man(marcus) OR instance( marcus , man) where marcus is an object/ instance of class ‘man’ “ all pompeians were romans” x: pompeian(x)  roman(x). OR x: instance(x, pompeian)  instance(x, roman). 80
  • 81. • Isa Predicate : “ all pompeians were romans” x: pompeian(x)  roman(x). OR x: instance(x, pompeian)  instance(x, roman).------(1) • Now using isa predicate (1) becomes, Isa( pompeian , roman) which means pompeian is a subclass of roman class but it also requires extra axiom : x: y: z: isa( y, z)  instance (x , y)  instance ( x , z) 81
  • 82. 82 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).
  • 83. 83