Introduction to
Artificial Intelligence
Chapter 3: Knowledge
Representation and Reasoning
(2) Propositional Logic (cont)
Nguyễn Hải Minh, Ph.D
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
1
/>
Outline
❑Horn Clauses
❑Forward and Backward Chaining
❑DPLL Algorithm
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
2
/>
Horn Clauses
❑KB:
Clause 1
Disjuctions of literals
(𝑙1 ∨ 𝑙2 ∨ ⋯ ∨ 𝑙𝑚)
∧
Clause 2
∧…∧
Clause n
Conjunction Normal Form (CNF)
Disjunctions of literals of which at most one is positive
(¬𝑙1 ∨ ¬𝑙2 ∨ ⋯ ∨ 𝑙𝑚)
Restricted form
Horn Clause
E.g., ¬B1,2 ∨ ¬B2,1 ∨ P2,2
07/09/2018
B1,2 ∧ B2,1 ⇒ P2,2
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
3
/>
Horn Clauses
B ⇒ A ,B
❑Modus Ponens for Horn Form:
A
❑More general version of the rule:
B1 ∧ B2 ∧ … ∧ Bk ⇒ A ,
B1, B2, … , Bk
A
❑Why do we need Horn Clauses?
o Horn clauses are closed under resolution
o In the implication form, the sentence is easier to
understand
o Can be used with forward chaining or backward
chaining.
o These algorithms are very natural and run in linear time.
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
4
/>
A grammar for CNF, Horn Clauses
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
5
/>
Forward chaining
❑Idea:
o fire any rule whose premises are satisfied in the KB,
o add its conclusion to the KB, until query is found
query →
KB →
AND
OR
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
6
/>
Forward chaining algorithm
❑Forward chaining is sound and complete for Horn KB
07/10/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
7
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
8
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
9
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
10
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
11
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
12
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
13
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
14
/>
Forward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
15
/>
Backward chaining
❑Idea: work backwards from the query q:
o to prove q by BC,
•
•
check if q is known already, or
prove by BC all premises of some rule
concluding q
❑Avoid loops: check if new subgoal is already on
the goal stack
❑Avoid repeated work: check if new subgoal
o
o
has already been proved true, or
has already failed
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
16
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
17
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
18
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
19
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
20
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
21
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
22
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
23
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
24
/>
Backward chaining example
07/09/2018
Nguyễn Hải Minh @ FIT - HCMUS
CuuDuongThanCong.com
25
/>