Artificial Intelligence
Artificial Intelligence
Chapter 7
Mausam
(Based on slides of Dan Weld, Stuart Russell,
Subbarao Kambhampati, Henry Kautz, Dieter
Fox, and other UW AI Faculty)
Knowledge Representation
• represent knowledge about the world in a manner that facilitates
inferencing (i.e. drawing conclusions) from knowledge.
3
Common KR Languages
Prop logic
Fuzzy Logic
First order predicate logic Prob. Prop. logic
(FOPC)
4
KR Languages
• Propositional Logic
• Predicate Calculus
• Frame Systems
• Rules with Certainty Factors
• Bayesian Belief Networks
• Influence Diagrams
• Ontologies
• Semantic Networks
• Concept Description Languages
• Non-monotonic Logic 5
Basic Idea of Logic
• By starting with true assumptions, you can
deduce true conclusions.
6
Truth
•Francis Bacon (1561-1626) •Blaise Pascal (1623-1662)
No pleasure is comparable to the We know the truth, not only by
standing upon the vantage-ground the reason, but also by the heart.
of truth.
•François Rabelais (c. 1490-1553)
•Thomas Henry Huxley (1825- Speak the truth and shame the
1895) Devil.
Irrationally held truths may be
more harmful than reasoned •Daniel Webster (1782-1852)
errors.
There is nothing so powerful as
truth, and often nothing so
•John Keats (1795-1821) strange.
Beauty is truth, truth beauty; that
is all ye know on earth, and all ye
need to know.
7
Components of KR
• Syntax: defines the sentences in the language
• Semantics: defines the “meaning” to sentences
• Inference Procedure
– Algorithm
– Sound?
– Complete?
– Complexity
• Knowledge Base
8
Knowledge bases
• Then it can Ask itself what to do - answers should follow from the KB
10
Propositional Logic: Syntax
• Atoms
– P, Q, R, …
• Literals
– P, P
• Sentences
– Any literal is a sentence
– If S is a sentence
• Then (S S) is a sentence
• Then (S S) is a sentence
• Conveniences
P Q same as P Q
11
Semantics
• Syntax: which arrangements of symbols are legal
– (Def “sentences”)
• Semantics: what the symbols mean in the world
– (Mapping between symbols and worlds)
Inference
Sentences Sentences
Semantics
Semantics
Representation
World
Facts Facts 12
Propositional Logic: SEMANTICS
Q Q
T F T F
T T F T T T
P P
F F F F T F
PQ PQ
13
Satisfiability, Validity, & Entailment
• S is satisfiable if it is true in some world
14
Examples
PQ
R R
S (W S)
T T
XX
15
Notation
}
Implication (syntactic symbol)
Inference
Proves: S1 |-ie S2 if `ie’ algorithm says `S2’ from S1
Entailment
= Entails: S1 |= S2 if wherever S1 is true S2 is also true
• Sound =
• Complete =
17
Special Syntactic Forms
• General Form:
((q r) s)) (s t)
• Conjunction Normal Form (CNF)
( q r s ) ( s t)
Set notation: { ( q, r, s ), ( s, t) }
empty clause () = false
• Binary clauses: 1 or 2 literals per clause
( q r) ( s t)
• Horn clauses: 0 or 1 positive literal per clause
( q r s ) ( s t)
(qr) s (st) false
18
Propositional Logic: Inference
19
Inference 1: Forward Chaining
Forward Chaining
Based on rule of modus ponens
If know P1, …, Pn & know (P1 ... Pn ) Q
Then can conclude Q
20
Analysis
• Sound?
• Complete?
Can you prove
{ } |= Q Q
21
Example
2 2
22
Example
1 1
23
Example
1 0
24
Example
1 0
25
Example
1 0
26
Example
1 0
27
Example
1 0
28
Example
0 0
29
Example
0 0
30
Propositional Logic: Inference
A mechanical process for computing new sentences
31
Conversion to CNF
32
Inference 2: Resolution
[Robinson 1965]
{ (p ), ( p ) } |-R ( )
Correctness
If S1 |-R S2 then S1 |= S2
Refutation Completeness:
If S is unsatisfiable then S |-R ()
33
Resolution subsumes Modus Ponens
A B, A |= B
( A B) (A)
(B)
34
If Will goes, Jane will go
~W V J
If doesn’t go, Jane will still go J V J =J
W V J
Will Jane go?
|= J?
Don’t need to use other
equivalences if we use
resolution in refutation style
~J ~W
~W V J
W V J J
Resolution
If the unicorn is mythical, then it is immortal, but if
it is not mythical, it is a mammal. If the unicorn is
either immortal or a mammal, then it is horned.
Prove: the unicorn is horned.
( A H) ( H) (I H)
()
36
Search in Resolution
• Convert the database into clausal form Dc
• Negate the goal first, and then convert it into clausal
form DG
• Let D = Dc+ DG
• Loop
– Select a pair of Clauses C1 and C2 from D
• Different control strategies can be used to select C1 and C2
to reduce number of resolutions tries
– Resolve C1 and C2 to get C12
– If C12 is empty clause, QED!! Return Success (We proved
the theorem; )
– D = D + C12
39
Why study Satisfiability?
• Canonical NP complete problem.
– several hard problems modeled as SAT
• Tonne of applications
A B A B
Testing Circuit Equivalence
C C’
𝑪 ≡ 𝑨˄𝑩
nor 𝑪′ ≡ ¬ 𝑫˅𝑬
and
𝑫 ≡ ¬𝑨
𝑬 ≡ ¬𝑩
A B A B
Testing Circuit Equivalence
C C’
𝑪 ≡ 𝑨˄𝑩
nor 𝑪′ ≡ ¬ 𝑫˅𝑬
and
𝑫 ≡ ¬𝑨
𝑬 ≡ ¬𝑩
¬(𝑪 ≡ 𝑪′)
A B A B
SAT Translation of N-Queens
• At least one queen each column:
(Q11 v Q12 v Q13 v ... v Q18)
(Q21 v Q22 v Q23 v ... v Q28)
…
• No attacks:
(~Q11 v ~Q12)
(~Q11 v ~Q22)
(~Q11 v ~Q21)
...
Graph Coloring
• A new SAT Variable for var-val pair
XWA-r, XWA-g, XWA-b, XNT-r…
• Each var has at least 1 value
– XWA-r v XWA-g v XWA-b
• No var has two values
– ~XWA-r v ~XWA-g
– ~XWA-r v ~XWA-b
• Constraints
– ~XWA-r v ~XNT-r
Application: Diagnosis
• Problem: diagnosis a malfunctioning device
– Car
– Computer system
– Spacecraft
• where
– Design of the device is known
– We can observe the state of only certain parts of
the device – much is hidden
Model-Based, Consistency-Based Diagnosis
58
Inference 4: DPLL
(Enumeration of Partial Models)
[Davis, Putnam, Loveland & Logemann 1962]
Version 1
dpll_1(pa){
if (pa makes F false) return false;
if (pa makes F true) return true;
choose P in F;
if (dpll_1(pa {P=0})) return true;
return dpll_1(pa {P=1});
}
(a b c)
(a ¬b)
(a ¬c)
(¬a c)
60
DPLL Version 1
a
F
(a b c)
(a ¬b)
(a ¬c)
(¬a c)
61
DPLL Version 1
a
F
(F b c)
(F ¬b)
(F ¬c)
(T c)
62
DPLL Version 1
a
F
(F F c)
(F T) b
(F ¬c)
(T c)
63
DPLL Version 1
a
F
(F F F)
(F T) b
(F T)
c
(T F)
64
DPLL Version 1
a
F
F
T b
T
c
T
65
DPLL Version 1
a
(a b c)
(a ¬b) b
(a ¬c)
c
(¬a c)
66
DPLL Version 1
a
(a b c)
b b
(a ¬b)
(a ¬c)
c c
(¬a c)
67
DPLL as Search
• Search Space?
• Algorithm?
68
Improving DPLL
If literal L1 is true, then clause ( L1 L2 ...) is true
If clause C1 is true, then C1 C2 C3 ... has the same
value as C2 C3 ...
Therefore: Okay to delete clauses containing true literals!
If literal L1 is false, then clause ( L1 L2 L3 ...) has
the same value as ( L2 L3 ...)
Therefore: Okay to delete shorten containing false literals!
If literal L1 is false, then clause ( L1 ) is false
Therefore: the empty clause means false!
69
DPLL version 2
dpll_2(F, literal){
remove clauses containing literal
if (F contains no clauses)return true;
shorten clauses containing literal
if (F contains empty clause)
return false;
choose V in F;
if (dpll_2(F, V))return true;
return dpll_2(F, V);
}
70
DPLL Version 2
a
F
(F b c)
(F ¬b)
(F ¬c)
(T c)
71
DPLL Version 2
a
(b c)
(¬b)
(¬c)
72
DPLL Version 2
a
(F c)
(T) b
(¬c)
73
DPLL Version 2
a
(c)
b
(¬c)
74
DPLL Version 2
a
(F)
b
(T)
c
75
DPLL Version 2
a
()
b
76
Structure in Clauses
• Unit Literals (unit propagation)
A literal that appears in a singleton clause
{{b c}{c}{a b e}{d b}{e a c}}
Might as well set it true! And simplify
{{b} {a b e}{d b}}
{{d}}
• Pure Literals
– A symbol that always appears with same sign
– {{a b c}{c d e}{a b e}{d b}{e a c}}
Might as well set it true! And simplify
{{a b c} {a b e} {e a c}}
77
In Other Words
Formula ( L) C2 C3 ... is only true when literal L is true
Therefore: Branch immediately on unit literals!
If literal L does not appear negated in formula F , then setting
L true preserves satisfiability of F
Therefore: Branch immediately on pure literals!
(a ¬c)
c
(¬a c)
82
DPLL (for real!)
Davis – Putnam – Loveland – Logemann
dpll(F, literal){
remove clauses containing literal
if (F contains no clauses) return true;
shorten clauses containing literal
if (F contains empty clause)
return false;
if (F contains a unit or pure L)
return dpll(F, L);
choose V in F;
if (dpll(F, V))return true;
return dpll(F, V);
}
83
Heuristic Search in DPLL
• Heuristics are used in DPLL to select a (non-
unit, non-pure) proposition for branching
84
GSAT
• Local search (Hill Climbing + Random Walk) over
space of complete truth assignments
–With prob p: flip any variable in any unsatisfied clause
–With prob (1-p): flip best variable in any unsat clause
• best = one which minimizes #unsatisfied clauses