Download Knowledge Representation Using Predicate Logic Representing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Knowledge Representation Using
Predicate Logic
•
•
•
Representing Simple Facts in Logic
Representing Instance and Isa
Relationships
Computable Functions and
Predicates
•
Resolution
•
Natural Deduction
Chapter 5
1
Representing Simple Facts in
Logic
1. Marcus was a man
man(Marcus)
2. Marcus was a Pompiean
Pompiean(Marcus)
3. All Pmpien are Romans
νx: Pompiean(x) -> Roman(x)
4. Caesar was a ruler
ruler(Caesar )
5. All Romans were either loyal to
Caesar or hated him
ν x: Roman(x) -> loyalto(x,Caesar) v hate(x,Caesar)
Chapter 5
2
6. Everyone is loyal to someone
ν x:∋ y : loyal(x,y)
7. People only try to assassinate
rulers they are not loyal to
ν x: ν
y : person(x) Λ ruler(y) Λ tryassassinate(x,y) -> not
loyalto(x,y)
8. Marcus tried to assassinate Caesar
tryassassinate(Marcus,Caesar)
9. All men are people
ν x: man(x) -> person(x)
Chapter 5
3
not loyalto(Marcus,Caesar)
(7, substitution)
person(Marcus)
ruler(Caesar)
tryassassinate(Marcus,Caesar)
(4)
person(Marcus)
tryassassinate(Marcus,Caesar)
(8)
person(Marcus)
An Attempt to Prove
not loyalto(Marcus,Caesar)
Chapter 5
4
Representing Instance and Isa
Relationships
1. man(Marcus)
2. Pompiean(Marcus)
3. ν x: Pompiean(x) -> Roman(x)
4. ruler(Caesar )
5. ν x: Roman(x) -> loyalto(x,Caesar) ν hate(x,Caesar)
1. instance(Marcus,man)
2. instance(Marcus, Pompiean)
3. ν x: instance(x, Pompiean)->instance(x,Roman)
4. instance(Caesar,ruler)
5. ν x: instance(x, Roman)->loyalto(x,Caesar) ν hate(x,Caesar)
1. instance(Marcus,man)
2. instance(Marcus, Pompiean)
3. isa(Pompiean,Roman)
4. instance(Caesar,ruler)
5. ν x: instance(x, Roman)->loyalto(x,Caesar) hate(x,Caesar)
6.
ν
x: ν y: ν z: instance(x,y)Λ isa(y,z)-> instance(x,z)
Three Ways of Representing Class
Membership
Chapter 5
5
Conversion to Clause Form
ν x: [R(x)Λ k(x,M)] ->
[h(x,C) ν ( ν y: ∋ z: h(y,z) -> t(x,y))]
1.Eliminate -> using the fact a->b is eq. to not a ν b
ν x: not [R(x) Λ k(x,M)]
ν [h(x,C) ν ( ν y:not(∋ z: h(y,z))ν t(x,y))]
2.Reduce the scope of each not to a single
term using not (not p) = p, deMorgan's law, and the
standard correspondence between quantifiers
[not ν x:P(x)= ∋ x: not P(x) and
not ∋ x:P(x)= ν x:-P(x)]
ν x: [not R(x) ν not k(x,M)]
ν [h(x,C) ν ( ν y:ν z: not h(y,z)ν t(x,y))]
3.Standardize variables
For example
ν x: P(x) ν ν x:Q(x)
would be converted to
νx: P(x) ν ν y:Q(y)
Chapter 5
6
4.Move all quantifiers to the left of the formula
ν x:ν y: ν z: [ not R(x) ν not k(x,M)]
ν [h(x,C) ν (not h(y,z)ν t(x,y))] (prenex normal
form)
5.Eliminate existential quantifier
∋ y: President(y) can be transformed into the formula
President(S1)
where S1 is a function with no argument that somehow
produces a value that satisfies President
ν x: ∋ y: father-of(y,x) can be transformed into
ν x: father-of(S2(x),x))
6.Drop the prefix
not R(x) ν not k(x,M) ν h(x,C) ν not h(y,z)ν t(x,y)
7.Convert the matrix into a conjunction of disjuncts
You can use the distribution law in this step but
we don have in this example
8.Create a separate clause for each conjunct
We have only one clause
Chapter 5
7
9. Standardize apart the variables in the set of clauses
generated in step 8
Chapter 5
8
Resolution in Propositional Logic
Given Axioms
Converted to Clause Form
P
(P Λ Q) -> R
(S ν T) -> Q
P
not P ν not Q ν R
not S ν Q
not T ν
Q
T
T
A Few Facts in Propositional Logic
-Pν-Qν R
-R
-P ν -Q
-T
Q
P
-Q
-T
T
Resolution in Propositional Logic
Chapter 5
9
Resolution in Predicate Logic
Axioms in clause form:
1.man(Marcus)
2.Pompiean(Marcus)
3.- Pompiean(x1) ν Roman(x1)
4.ruler(Caesar )
5.- Roman(x2) ν loyalto(x2,Caesar) ν hate(x2,Caesar)
6. loyal(x3,f(x3))
7.- man(x4) ν - ruler(y1) ν - tryassassinate(x4,y1) ν
loyalto(x4,y1)
8.tryassassinate(Marcus,Caesar)
Prove: hate(Marcus,Caesar)
- hate(Marcus,Caesar)
5
3
- Roman(Marcus) ν loyalto(Marcus,Caesar)
Pompiean(Marcus) ν loyalto(Marcus,Caesar)
7
2
loyalto(Marcus,Caesar)
1 - man(Marcus) ν- ruler(Caesar)νtryassassi..(Marcus,Caesar)
- ruler(Caesar) ν - tryassassinate(Marcus,Caesar)
4
- tryassassinate(Marcus,Caesar) 8
A Resolution Proof
Chapter 5
10
Prove: loyalto(Marcus,Caesar)
- loyalto(Marcus,Caesar)
5
- Roman(Marcus) ν hate(Marcus,Caesar)
3
- Pompiean(Marcus) ν hate(Marcus,Caesar)
10
9
hate(Marcus,Caesar)
persecute(Caesar,Marcus)
hate(Marcus,Caesar)
An Unsuccessful Attempt at
Resolution
Chapter 5
11
2
Given
1.
2.
3.
4.
1
father (x,y) ν - women(x)
mother(x,y) ν women(x)
mother(Chris, Mary)
father(Chris, Bill)
2
- father(x,y) ν - mother(x,y)
3
- father(Chris,Mary)
The need to Standardize Variables
1
2
- father(a,y) ν - mother(a,b)
- father(Chris,y)
Chapter 5
3
4
12
Prove:∋x: hate(Marcus,x)Λ ruler(x)
(negate):- ∋ x: hate(Marcus,x) Λ ruler(x)
(clausify): - hate(Marcus,x) ν - ruler(x)
- hate(Marcus,x) ν - ruler(x)
hate(Marcus, Paulus)
- ruler(x)
(a)
- hate(Marcus,x) ν - ruler(x)
hate(Marcus, Julian)
- ruler(Julian)
(b)
- hate(Marcus,x) ν - ruler(x)
hate(Marcus, Caesar)
- ruler(Caesar)
ruler(Caesar)
-
(c)
Trying Several Substitution
Chapter 5
13
- ∋ t: died(Marcus,t) = - died(Marcus,t)
- Pompeian(x1) ν died(x1,79)
- died(Marcus,t)
79/t,Marcus/x1
- Pompeian(Marcus)
Pompeian(Marcus)
(a)
- Pompeian(x1) νdied(x1,79) - died(Marcus,t)νdied(Marcus,t)
79/t,Marcus/x1
- Pompeian(Marcus) ν died(Marcus,t)
Pompeian(Marcus)
died(Marcus,79)
Answer Extraction Using Resolution
Chapter 5
14