1. Lecture 12, 13– Predicate Calculus
and Knowledge Representation
2. Logic and inferencing
Vision NLP
Expert
Systems
Planning
Robotics
•
Search
•
Reasoning
•
Learning
•
Knowledge
Obtaining implication of given facts and rules -- Hallmark of
intelligence
3. Inferencing through
−
Deduction (General to specific)
−
Induction (Specific to General)
−
Abduction (Conclusion to hypothesis in absence of any other evidence
to contrary)
Deduction
Given: All men are mortal (rule)
Shakespeare is a man (fact)
To prove: Shakespeare is mortal (inference)
Induction
Given: Shakespeare is mortal
Newton is mortal (Observation)
Dijkstra is mortal
To prove: All men are mortal (Generalization)
4. If there is rain, then there will be no picnic
Fact1: There was rain
Conclude: There was no picnic
Deduction
Fact2: There was no picnic
Conclude: There was no rain (?)
Induction and abduction are fallible forms of reasoning. Their conclusions are
susceptible to retraction
Two systems of logic
1) Propositional calculus
2) Predicate calculus
5. Propositions
−
Stand for facts/assertions
−
Declarative statements
−
As opposed to interrogative statements (questions) or imperative
statements (request, order)
Operators
=> and ¬ form a minimal set (can express other operations)
- Prove it.
Tautologies are formulae whose truth value is always T, whatever the
assignment is
)((~),),(),( ⇒∨∧ NIMPLICATIONOTORAND
6. Model
In propositional calculus any formula with n propositions has 2n
models
(assignments)
- Tautologies evaluate to T in all models.
Examples:
1)
2)
-
e Morgan with AND
PP ¬∨
)()( QPQP ¬∨¬⇔∧¬
7. Semantic Tree/Tableau method of proving tautology
Start with the negation of the formula
α-formula
β-formula
α-formula
p
q
¬q¬ p
- α - formula
- β - formula
)]()([ QPQP ¬∨¬⇒∧¬¬
)( QP ∧¬
)( QP ¬∨¬¬
- α - formula
8. Example 2:
B C B CContradictions in all paths
X
α-formula
¬A ¬C
¬A
¬B ¬A ¬B
A
B∨C
A
B∨C A
B∨C
A
B∨C
(α - formulae)
(β - formulae)
(α - formula)
)]()()([ CABACBA ∧∨∧⇒∨∧¬
)( CBA ∨∧
))()(( CABA ∧∨∧¬
)( BA ∧¬
))( CA ∧¬
11. Knowledge
Declarative Procedural
• Declarative knowledge deals with factoid questions
(what is the capital of India? Who won the
Wimbledon in 2005? Etc.)
• Procedural knowledge deals with “How”
• Procedural knowledge can be embedded in
declarative knowledge
12. Example: Employee knowledge base
Employee record
Emp id : 1124
Age : 27
Salary : 10L / annum
Tax : Procedure to calculate tax from basic salary,
Loans, medical factors, and # of children
14. A Semantic Graph
in: modifier
a: indefinite
the: definite
student
past tense
agent
bought
object
time
computer
new
June
modifier
The student bought a new computer in June.
16. UNL: a United Nations project
Started in 1996
10 year program
15 research groups across continents
First goal: generators
Next goal: analysers (needs solving various
ambiguity problems)
Current active language groups
UNL_French (GETA-CLIPS, IMAG)
UNL_Hindi (IIT Bombay with additional work on
UNL_English)
UNL_Italian (Univ. of Pisa)
UNL_Portugese (Univ of Sao Paolo, Brazil)
UNL_Russian (Institute of Linguistics, Moscow)
UNL_Spanish (UPM, Madrid)
Dave, Parikh and Bhattacharyya, Journal of Machine Translation, 2002
20. The boy who works here went to school
plt
agt
@ entry @ past
school(icl>institution)
go(icl>move)
boy(icl>person
)
work(icl>do
)
here
@ entry
agt
plc
:01
Another Example
22. Predicate Calculus: well known
examples
Man is mortal : rule
∀x[man(x) → mortal(x)]
shakespeare is a man
man(shakespeare)
To infer shakespeare is mortal
mortal(shakespeare)
23. Forward Chaining/ Inferencing
man(x) → mortal(x)
Dropping the quantifier, implicitly Universal
quantification assumed
man(shakespeare)
Goal mortal(shakespeare)
Found in one step
x = shakespeare, unification
24. Backward Chaining/
Inferencing
man(x) → mortal(x)
Goal mortal(shakespeare)
x = shakespeare
Travel back over and hit the fact asserted
man(shakespeare)
25. Resolution - Refutation
man(x) → mortal(x)
Convert to clausal form
~man(shakespeare) mortal(x)
Clauses in the knowledge base
~man(shakespeare) mortal(x)
man(shakespeare)
mortal(shakespeare)
∨
∨
26. Resolution – Refutation contd
Negate the goal
~man(shakespeare)
Get a pair of resolvents
)(~ eshakespearmortal )()(~ eshakespearmortaleshakespearman ∨
)(~ eshakespearman )(~ eshakespearman
28. Search in resolution
Heuristics for Resolution Search
Goal Supported Strategy
Always start with the negated goal
Set of support strategy
Always one of the resolvents is the most recently
produced resolute
29. Inferencing in Predicate Calculus
Forward chaining
Given P, , to infer Q
P, match L.H.S of
Assert Q from R.H.S
Backward chaining
Q, Match R.H.S of
assert P
Check if P exists
Resolution – Refutation
Negate goal
Convert all pieces of knowledge into clausal form (disjunction of
literals)
See if contradiction indicated by null clause can be derived
QP →
QP →
30. 1. P
2. converted to
3.
Draw the resolution tree (actually an inverted
tree). Every node is a clausal form and
branches are intermediate inference steps.
QP → QP ∨~
Q~
Q~
QP ∨~
P~ P
31. Terminology
Pair of clauses being resolved is called the
Resolvents. The resulting clause is called
the Resolute.
Choosing the correct pair of resolvents is a
matter of search.
32. Predicate Calculus
Introduction through an example (Zohar Manna,
1974):
Problem: A, B and C belong to the Himalayan
club. Every member in the club is either a
mountain climber or a skier or both. A likes
whatever B dislikes and dislikes whatever B likes.
A likes rain and snow. No mountain climber likes
rain. Every skier likes snow. Is there a member
who is a mountain climber and not a skier?
Given knowledge has:
Facts
Rules
33. Predicate Calculus: Example
contd.
Let mc denote mountain climber and sk denotes skier.
Knowledge representation in the given problem is as follows:
1. member(A)
2. member(B)
3. member(C)
4. ∀x[member(x) → (mc(x) ∨ sk(x))]
5. ∀x[mc(x) → ~like(x,rain)]
6. ∀x[sk(x) → like(x, snow)]
7. ∀x[like(B, x) → ~like(A, x)]
8. ∀x[~like(B, x) → like(A, x)]
9. like(A, rain)
10. like(A, snow)
11. Question: ∃x[member(x) ∧ mc(x) ∧ ~sk(x)]
We have to infer the 11th
expression from the given 10.
Done through Resolution Refutation.
34. Club example: Inferencing
1. member(A)
2. member(B)
3. member(C)
4.
– Can be written as
–
5.
–
6.
–
7.
–
))]()(()([ xskxmcxmemberx ∨→∀
))]()(()([ xskxmcxmember ∨→
)()()(~ xskxmcxmember ∨∨
)],()([ snowxlkxskx →∀
),()(~ snowxlkxsk ∨
)],(~)([ rainxlkxmcx →∀
),(~)(~ rainxlkxmc ∨
)],(~),([ xBlkxAlikex →∀
),(~),(~ xBlkxAlike ∨
38. Assignment
Prove the inferencing in the Himalayan club
example with different starting points,
producing different resolution trees.
Think of a Prolog implementation of the
problem
Prolog Reference (Prolog by Chockshin &
Melish)
40. A “department” environment
1. Dr. X is the HoD of CSE
2. Y and Z work in CSE
3. Dr. P is the HoD of ME
4. Q and R work in ME
5. Y is married to Q
6. By Institute policy staffs of the same
department cannot marry
7. All married staff of CSE are insured by LIC
8. HoD is the boss of all staff in the
department
44. Tourist in a country of truth-
sayers and liers
Facts and Rules: In a certain country, people
either always speak the truth or always
lie. A tourist T comes to a junction in the
country and finds an inhabitant S of the
country standing there. One of the roads at
the junction leads to the capital of the country
and the other does not. S can be asked only
yes/no questions.
Question: What single yes/no question can T
ask of S, so that the direction of the capital is
revealed?
46. Deciding the Propositions: a very difficult
step- needs human intelligence
P: Left road leads to capital
Q: S always speaks the truth
47. Meta Question: What question
should the tourist ask
The form of the question
Very difficult: needs human intelligence
The tourist should ask
Is R true?
The answer is “yes” if and only if the
left road leads to the capital
The structure of R to be found as a
function of P and Q
48. A more mechanical part: use
of truth table
P Q S’s
Answer
R
T T Yes T
T F Yes F
F T No F
F F No T
49. Get form of R: quite
mechanical
From the truth table
R is of the form (P x-nor Q) or (P ≡
Q)
50. Get R in
English/Hindi/Hebrew…
Natural Language Generation: non-trivial
The question the tourist will ask is
Is it true that the left road leads to the
capital if and only if you speak the truth?
Exercise: A more well known form of this
question asked by the tourist uses the X-OR
operator instead of the X-Nor. What changes
do you have to incorporate to the solution, to
get that answer?
52. Another tourist example: this time in a
restaurant setting in a different country
(Manna, 1974)
Facts: A tourist is in a restaurant in a country when
the waiter tells him:
“do you see the three men in the table yonder? One of them
is X who always speaks the truth, another is Y who always
lies and the third is Z who sometimes speaks the truth and
sometimes lies, i.e., answers yes/no randomly without
regard to the question.
Question: Can you (the tourist) ask three yes/no
questions to these men, always indicating who should
answer the question, and determine who of them is
X, who y and who Z?
53. Solution: Most of the steps are
doable by humans only
Number the persons: 1, 2, 3
1 can be X/Y/Z
2 can be X/Y/Z
3 can be X/Y/Z
Let the first question be to 1
One of 2 and 3 has to be NOT Z.
Critical step in the solution: only
humans can do?
54. Now cast the problem in the
same setting as the tourist and
the capital example
Solving by analogy
Use of previously solved problems
Hallmark of intelligence
55. Analogy with the tourist and
the capital problem
Find the direction to the capital
Find Z; who amongst 1, 2 and 3 is Z?
Ask a single yes/no question to S (the person
standing at the junction)
Ask a single yes/no question to 1
Answer forced to reveal the direction of the
capital
Answer forced to reveal who from 1,2,3 is Z
56. Question to 1
Ask “Is R true” and the answer is yes if
and only if 2 is not Z
Propositions
P: 2 is not Z
Q: 1 always speaks the truth, i.e., 1 is X
57. Use of truth table as before
P Q 1’s
Answer
R
T T Yes T
T F Yes F
F T No F
F F No T
58. Question to 1: the first
question
Is it true that 2 is not Z if and
only if you are X?
59. Analysis of 1’s answer
Ans= yes
Case 1: 1 is X/Y (always speaks the truth
or always lies)
2 is indeed not Z (we can trust 1’s answer)
Case 2: 1 is Z
2 is indeed not Z (we cannot trust 1’s answer;
but that does not affect us)
60. Analysis of 1’s answer (contd)
Ans= no
Case 1: 1 is X/Y (always speaks the truth
or always lies)
2 is Z; hence 3 is not Z
Case 2: 1 is Z
3 is not Z
Note carefully: how cleverly Z is identified.
Can a machine do it?
61. Next steps: ask the 2nd
question to determine X/Y
Once “Not Z” is identified- say 2, ask
him a tautology
Is P≡P
If yes, 2 is X
If no, 2 is Y
62. Ask the 3rd
Question
Ask 2 “is 1 Z”
If 2 is X
Ans=yes, 1 is Z
Ans=no, 1 is Y
If 2 is Y (always lies)
Ans=yes, 1 is X
Ans=no, 1 is Z
3 is the remaining person
63. What do these examples
show?
Logic systematizes the reasoning process
Helps identify what is
mechanical/routine/automatable
Brings to light the steps that only human
intelligence can perform
These are especially of foundational and structural
nature (e.g., deciding what propositions to
start with)
Algorithmizing reasoning is not trivial