Date post: | 29-Aug-2014 |
Category: |
Documents |
Upload: | nitin-pritwani |
View: | 134 times |
Download: | 9 times |
Using Predicate and Propositional Logic
Unit 2
2
Using Propositional LogicRepresenting simple facts
It is rainingRAININGIt is sunnySUNNYIt is windyWINDYIf it is raining, then it is not sunnyRAINING SUNNY
3
Using Propositional Logic•Theorem proving is decidable
•Cannot represent objects and quantification
Compound Proposition or Complex sentences are formed from atomic formulas using the logical connectives. There are five connectives in common are:⋀ (&) : for AND or conjunction
˅ : for OR or disjunction (~) : for NOT or negation ( ) : for if_then or implication ( ) : for if and only if or
biconditional or equivalence
4
Every propositional symbol is a Well formed formulas(WFF) • If P and Q are WFF then (P ⋀ Q)
(P ˅ Q)(P Q) and (P Q) are also WFFs.
• Negation of a WFF is a WFF
5
Truth Table for WFF
P Q P P˄Q P˅Q P Q P Q T T F T T T T T F F F T F F F T T F T T F
F F T F F T T
6
Example : Prove that implication is transitive in the propositional calculus using truth table i.e. (((P Q)˄(Q R)) (P R))
• Solution :_______________________________________________
P Q R A:P Q B:Q R C:A˄B D:P R C D T T T T T T T T T T F T F F F T T F T F T F T T T F F F T F F T F T T T T T T T F T F T F F T T F F T T T T T T F F F T T T T T
7
8
Using Predicate Logic•Can represent objects and quantification
•Theorem proving is semi-decidable
9
Using Predicate Logic1. 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.
10
Using Predicate Logic1. Marcus was a man.
man(Marcus)
11
Using Predicate Logic2. Marcus was a Pompeian.
Pompeian(Marcus)
12
Using Predicate Logic3. All Pompeians were Romans.
x: Pompeian(x) Roman(x)
13
Using Predicate Logic4. Caesar was a ruler.
ruler(Caesar)
14
Using Predicate Logic5. All Pompeians were either loyal to Caesar or hated
him.inclusive-orx: Roman(x) loyalto(x, Caesar) hate(x, Caesar)
exclusive-orx: Roman(x) (loyalto(x, Caesar) hate(x, Caesar))
(loyalto(x, Caesar) hate(x, Caesar))
15
Using Predicate Logic6. Every one is loyal to someone.
x: y: loyalto(x, y) y: x: loyalto(x, y)
16
Using Predicate Logic7. People only try to assassinate rulers they are not loyal
to.
x: y: person(x) ruler(y) tryassassinate(x, y) loyalto(x, y)
17
Using Predicate Logic8. Marcus tried to assassinate Caesar.
tryassassinate(Marcus, Caesar)
18
Using Predicate LogicWas Marcus loyal to Caesar?
man(Marcus) ruler(Caesar) tryassassinate(Marcus, Caesar)
x: man(x) person(x)loyalto(Marcus, Caesar)
19
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).
Properties of Well Formed Formulas(WFFs)
• Valid or Tautologies : True for every interpretation• Satisfiable or Consistent : Some Interpretation True• Contradiction or Inconsistent or Unsatisfiable : No
Interpretation True• Equivalence : Two sentences are equivalent if they
have the same truth value under every interpretation
• Logical Consequences or Logically Follow : A sentence is a logical consequence of another if it is satisfied by all interpretations which satisfy the first.
20
21
Reasoning1. Marcus was a Pompeian.2. All Pompeians died when the volcano erupted in 79
A.D.3. It is now 2008 A.D.
Is Marcus alive?
22
Reasoning1. Marcus was a Pompeian.
Pompeian(Marcus)
2. All Pompeians died when the volcano erupted in 79 A.D.erupted(volcano, 79) x: Pompeian(x) died(x, 79)
3. It is now 2008 A.D.now = 2008
23
Reasoning1. Marcus was a Pompeian.
Pompeian(Marcus)
2. All Pompeians died when the volcano erupted in 79 A.D.erupted(volcano, 79) x: Pompeian(x) died(x, 79)
3. It is now 2008 A.D.now = 2008
x: t1: t2: died(x, t1) greater-than(t2, t1) dead(x, t2)
24
ResolutionRobinson, J.A. 1965. A machine-oriented logic based on the resolution principle.
25
ResolutionThe basic ideas
KB | KB |false
26
ResolutionThe basic ideas
KB | KB |false
( ) ( ) ( )
27
ResolutionThe basic ideas
KB | KB |false
( ) ( ) ( )
sound and complete
28
Resolution in Propositional Logic1. 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.
29
Resolution in Propositional LogicExample:
KB = {P, (P Q) R, (S T) Q, T}
= R
30
Resolution in Predicate LogicExample:
KB = {P(a), x: (P(x) Q(x)) R(x), y: (S(y) T(y)) Q(y), T(a)}
= R(a)
31
Resolution in Predicate LogicUnification:
UNIFY(p, q) = unifier where SUBST(, p) = SUBST(, q)
32
Resolution in Predicate LogicUnification: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
33
Resolution in Predicate LogicUnification: Standardization
UNIFY(knows(John, x), knows(y, Elizabeth)) = {John/y, Elizabeth/x}
34
Resolution in Predicate LogicUnification: Most general unifier
UNIFY(knows(John, x), knows(y, z)) = {John/y, John/x, John/z}
= {John/y, Jane/x, Jane/z}
= {John/y, v/x, v/z}= {John/y, z/x, Jane/v}= {John/y, z/x}
35
Resolution in Predicate LogicUnification: Occur check
UNIFY(knows(x, x), knows(y, mother(y))) = FAIL
36
Conversion to Clause Form1. Eliminate .
P Q P Q2. Reduce the scope of each to a single term.
(P Q) P Q(P Q) P Qx: P x: Px: 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))
37
Conversion to Clause Form4. 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 constantx: 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.
38
Conversion to Clause Form1. Eliminate .2. Reduce the scope of each to a single term.3. Standardize variables so that each quantifier binds a unique
variable.4. Move all quantifiers to the left without changing their relative
order.5. Eliminate (Skolemization).6. Drop .7. Convert the formula into a conjunction of disjuncts.8. Create a separate clause corresponding to each conjunct.9. Standardize apart the variables in the set of obtained clauses.
39
Example1. 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.
40
Example1. Man(Marcus).2. Pompeian(Marcus).3. x: Pompeian(x) Roman(x).4. ruler(Caesar).5. x: Roman(x) loyalto(x, Caesar) hate(x, Caesar).6. x: y: loyalto(x, y).7. x: y: person(x) ruler(y) tryassassinate(x, y)
loyalto(x, y).8. tryassassinate(Marcus, Caesar).
41
ExampleProve:
hate(Marcus, Caesar)
42
Question Answering1. When did Marcus die?2. Whom did Marcus hate?3. Who tried to assassinate a ruler?4. What happen in 79 A.D.?. 5. Did Marcus hate everyone?
43
Question AnsweringPROLOG:• Only Horn sentences are acceptable
44
Question AnsweringPROLOG:• Only Horn sentences are acceptable• The occur-check is omitted from the unification: unsound
test P(x, x) P(x, f(x))
45
Question AnsweringPROLOG:• Only Horn sentences are acceptable• The occur-check is omitted from the unification: unsound
test P(x, x) P(x, f(x))
• Backward chaining with depth-first search: incompleteP(x, y) Q(x, y) P(x, x)Q(x, y) Q(y, x)
46
Question AnsweringPROLOG:• Unsafe cut: incomplete
A B, C AB D, !, ED B, C
D, !, E, C
!, E, C
47
Question AnsweringPROLOG:• Unsafe cut: incomplete
A B, C AB D, !, ED B, C
D, !, E, C
!, E, C
• Negation as failure: P if fails to prove P
48
HomeworkExercises 1-13, Chapter 5, Rich&Knight AI Text Book