Title: Knowledge Compilation
1Knowledge Compilation
- Jinbo Huang
- NICTA and ANU
Slides made by Adnan Darwiche and Jinbo Huang
2Propositional Logic
Is A, ?C a normal device behavior?
3Propositional Reasoning
Is A, ?C a normal device behavior?
4Satisfiability (SAT)
- SAT Solvers Significant growth in last decade
many solvers publicly available (source code)
millions of clauses not uncommon. - Applications Verification, planning, diagnosis,
CAD, non-propositional reasoning (e.g., SMT),
5Knowledge Compilation
6Knowledge Compilation
7Knowledge Compilation
..... Prime Implicates OBDD
Compiler
8Knowledge Compilation Map
- Whats the space of possible target compilation
languages? - Can it be synthesized in a semantically
systematic way? - How do the languages compare?
- Succinctness (relative size)
- Operations they support in polytime
9Applications
- Diagnosis
- Is this a normal behavior?
- What are the possible faults?
- Planning
- Can this goal be achieved?
- Generate plan with highest reward
- Generate plan with highest success probability
- Probabilistic reasoning
- What is the probability of X given Y
- Formal verification / CAD
- Is it possible that the design will exhibit
behavior X? - Are two designs equivalent?
10Knowledge Compilation Map
- For a given application identify needed
operations - Choose most succinct language that supports
desired operations - Compile knowledge base into chosen language
11Agenda
- Part I Languages
- Part II Operations
- Part III Compilers
- Part IV Applications
12Part I Languages
13A Knowledge Compilation MAP
Negation Normal Form
or
Decomposability Determinism Smoothness Flatness De
cision Ordering
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
14Propositional Logic
- Literal
- Clause
- Term
- CNF Conjunctive Normal Form
- DNF Disjunctive Normal Form
15Propositional Logic
- Truth assignment (TA)
- TA satisfies sentence (model)
- Following TA is not a model
16A Knowledge Compilation MAP
Negation Normal Form
or
Decomposability Determinism Smoothness Flatness De
cision Ordering
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
17Queries
- Consistency (CO)
- Validity (VA)
- Sentential entailment (SE)
- Clausal entailment (CE) KB implies clause
- Implicant testing (IP) term implies KB
- Equivalence testing (EQ)
- Model Counting (CT)
- Model enumeration (ME)
18Transformations
- Projection (existential quantification)
- Conditioning
- Conjoin
- Disjoin
- Negate
19Representation vs Compilation Languags
- Representation Language (intuitive)CNFDNF
- Target Compilation Language (tractable) Binary
Decision Diagrams (BDDs)DNNF
20Negation Normal Form
rooted DAG (Circuit)
21Negation Normal Form
Decomposability Determinism Smoothness Flatness De
cision Ordering
22Decomposability
or
and
and
A,B
C,D
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
23NNF Subsets
NNF
CO, CE, ME
DNNF
24Determinism
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
25Smoothness
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
26NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
DNNF
VA,IP,CT
d-DNNF
EQ?
sd-DNNF
27Flatness
Nested vs Flat languages
(X?Y ?Z)?(Z??X??Y) ?(Y?Z??X) ?(?X??Y ??Z)
28Simple Conjunction
or
and
and
and
and
?X
X
?Y
Y
?Z
Z
Simple conjunction implies decomposability
29Simple Disjunction
and
or
or
or
?X
X
Y
Z
30NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
d-DNNF
EQ?
CNF
DNF
sd-DNNF
31Prime Implicates (PI)
- A CNF such that
- No clause subsumes another
- If a clause is implied by the CNF, it must be
implied by a clause in the CNF - CNF
- PI
32Prime Implicants (IP)
- A DNF such that
- No term subsumes another
- If a term implies the DNF, it must imply a term
in the DNF - DNF
- IP
33NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
d-DNNF
EQ?
CNF
DNF
sd-DNNF
CO,CE,MEVA,IP,SE,EQ
VA,IP, SE,EQ
IP
PI
34Decision
or
and
and
X
?X
a
b
a, b
Are decision nodes
35Decision
or
and
and
? X1
X1
or
or
and
and
and
and
? X2
? X2
X2
X2
or
or
and
and
and
and
X3
X3
? X3
? X3
true
false
36Decision
or
and
and
X
?X
a
b
37Binary Decision Diagrams(BDDs)
Decision implies determinism
38NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
BDD
d-DNNF
EQ?
CNF
DNF
sd-DNNF
CO,CE,MEVA,IP,SE,EQ
VA,IP, SE,EQ
IP
PI
39Binary Decision Diagrams(BDDs)
40NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
BDD
d-DNNF
EQ?
CNF
DNF
FBDD
EQ?
sd-DNNF
CO,CE,MEVA,IP,SE,EQ
SE,EQ
VA,IP, SE,EQ
MODS
IP
PI
41Binary Decision Diagrams(BDDs)
Decision decomposability ordering OBDD
42NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
BDD
d-DNNF
EQ?
CNF
DNF
FBDD
EQ?
sd-DNNF
CO,CE,MEVA,IP,SE,EQ
SE,EQ
SE,EQ
VA,IP, SE,EQ
MODS
IP
OBDD
PI
43OBDD Example Odd Parity
X1
X2
X2
X3
X3
X4
X4
1
0
Symmetric Functions
44Language Succinctness
Size p(n)
Size n
45Odd Parity Function
46NNF
DNNF
CNF
d-DNNF
sd-DNNF
DNF
FBDD
PI
IP
OBDD
MODS
47Tractability Succinctness
NNF
decomposability
Diagnosis, Non-mon
Probabilistic reasoning
determinism
decision
ordering
Space Efficiency (succinctness)
48Separating Functions
- OBDD/FBDD
- Hidden weighted bit function hwb(x1,..,xn)
- DNNF/DNF
- odd parity function parity(x1,..,xn)
- DNNF/OBDD
- Distinct integers function distinct(x1,..,xn)
49Agenda
- Part I Languages
- Part II Operations
- Part III Compilers
- Part IV Applications
50Part II Operations
51Knowledge Compilation
KB
52Queries
- Consistency (CO)
- Validity (VA)
- Sentential entailment (SE)
- Clausal entailment (CE) KB implies clause
- Implicant testing (IP) term implies KB
- Equivalence testing (EQ)
- Model Counting (CT)
- Model enumeration (ME)
53Transformations
- Projection (existential quantification)
- Conditioning
- Conjoin
- Disjoin
- Negate
54Decomposability
55Decomposability
or
and
and
A,B
C,D
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
56Example Knowledge Base
A ? okX ? ?B ?A ? okX ? B B ? okY ? ?C ?B ? okY
? C
57Decomposable
58Decomposable
or
B
A, okX
and
and
C, okY
or
or
or
or
B
B
A
C
C
A
okX
okY
59Decomposable
or
and
and
or
or
or
or
B
B
A
C
C
A
okX
okY
60Satisfiability
y
- SAT(A or B) iff SAT(A) or SAT(B)
- SAT(A and B) iff SAT(A) and SAT(B)
- SAT(X) is true
- SAT(X) is true
- SAT(True) is true
- SAT(False) is false
61Satisfiability
62Satisfiability
n
63Partial Decomposability
Decomposable except on okZ
64Clausal Entailment
- KB entails L1 v L2 v v Ln ?
- KB ? ?L1 ? ?L2 ? ? ?Ln SAT ?
65Literal Conjoin
A
66Literal Conjoin
A
67Literal Conjoin
Conditioning
or
A
and
and
or
or
or
or
B
B
C
C
true
false
okX
okY
68Literal Conjoin
or
A
and
and
or
or
or
or
B
B
C
C
true
false
okX
okY
69(No Transcript)
70A
C
okX
okY
or
and
and
or
or
or
or
B
B
false
false
true
true
false
false
71n
n
A
C
okX
okY
or
and
and
or
or
or
or
B
B
false
false
true
true
false
false
72Partial Decomposability
Decomposable except on okZ
Clausal entailment test works as long as clause
mentioned all variables on which we dont have
decomposability!
73(No Transcript)
74and
okZ
75and
okZ
76Projection Existential Quantification
Knowledge Base
77Projection Existential Quantification
Formal Definition
- If Knowledge base is a CNF
- Close under resolution
- Remove all clauses that mention X
78Projection Existential Quantification
79Projection Existential Quantification
A ? okX ? ?B ?A ? okX ? B
or
and
and
or
or
or
or
B
B
A
A
true
true
okX
true
80I1
I2
I3
O
I4
I5
I6
D
O
81Minimum Cardinality
A ? okX ? ?B ?A ? okX ? B B ? okY ? ?C ?B ?
okY ? C
82Minimum Cardinality
1
83Minimizing Requires Smoothness
1
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
84Minimizing
1
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
85Minimizing
1
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
86Minimizing
1
or
and
and
or
or
or
or
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
87Minimizing
?A,B,C,D
or
and
and
or
or
or
or
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
88Minimizing
A, ?B,C,D
or
and
and
or
or
or
or
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
89Minimizing
A, B,C, ?D
or
and
and
or
or
or
or
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
90Minimizing
A, B, ?C,D
or
and
and
or
or
or
or
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
91Decomposability
Query DNNF
CO Consistency Yes
VA Validity
CE Clausal entailment Yes
SE Sentential entailment
IP Implicant testing
EQ Equivalence testing
MC Model Counting
ME Model enumeration Yes
92Decomposability
Transformation DNNF
CD Conditioning Yes
SFO Single variable Yes
FO Multiple variable Yes
Conjoin
B Bounded Conjoin
Disjoin Yes
B Bounded Disjoin Yes
Negate
93Determinism
94Determinism
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
95Satisfiability
Is there a satisfying assignment?
A B C okX okY
T T T T T
T T T T F
...
F F F F F
96Model Counting
How many satisfying assignments?
A B C okX okY
T T T T T
T T T T F
...
F F F F F
97Counting Models
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
98Counting Graph
8
?A
B
? B
A
C
? D
D
? C
99Counting Models
SA, ? B
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
100Counting Models
SA, ? B
or
and
and
or
or
or
or
and
and
and
and
and
and
and
and
false
false
true
true
C
? D
D
? C
101Counting Graph
2
SA, ? B
false
false
true
true
C
? D
D
? C
102Counting Graph
?A
B
? B
A
C
? D
D
? C
103Counting Graph
V?A
VB
V? B
VA
VC
V? D
VD
V? C
104Counting Graph
2
SA, ? B
V?A
VB
V? B
VA
VC
V? D
VD
V? C
105Counting Graph
V?A
VB
V? B
VA
VC
V? D
VD
V? C
106Counting Graph
1
SA, ? B,C
V?A
VB
V? B
VA
VC
V? D
VD
V? C
107Asserting Literals
1
SA, ? B,C
? ? D
V?A
VB
V? B
VA
VC
V? D
VD
V? C
108Retracting Literals
1
SA, ? B,C
\ ? B
V?A
VB
V? B
VA
VC
V? D
VD
V? C
109Flipping Literals
1
SA, ? B,C
\ ? B ? B
V?A
VB
V? B
VA
VC
V? D
VD
V? C
110Testing Equivalence
A ? okX ? ?B ?A ? okX ? B B ? okY ? ?C ?B ?
okY ? C
111Testing Equivalence
p
KB1(A,B,C,okX,okY)
q
KB2(A,B,C,okX,okY)
If p ltgt q, then KB1 and KB2 not equivalent
If p q, then Pr(KB1 and KB2 are equivalent)gt 1/2
Run test 100 times ? error is lt 10-30
112.50
113Probabilistic Equivalence Testing
- Given propositional theories F G
- Compute p(F), p(G)
- If p(F) ? p(G), F G are not equivalent
- Otherwise, equivalent with probability gt½
114Equivalence Testing
10
(1-2) (1-3) 5
x y z F(xyz)
0 0 1 1
0 1 0 1
0 1 1 1
1 0 1 1
- Map x y z to 1,2,3,4,5,6
- x?2, y ?3, z?5
12
(1-2) 3 (1 - 5)
-15
(1-2) 3 5
-20
2 (1-3) 5
Add p(F) -13
- p(F) p(G) ? F G are equivalent with
probability (m 1)n / mn ( gt ½ for m 2n)
115Projection under determinism
or
and
and
or
or
or
or
B
B
A
C
C
A
okX
okY
116Projection under determinism
or
and
and
or
or
or
or
true
true
A
C
C
A
okX
okY
117Determinism
Query d-DNNF
CO Consistency Yes
VA Validity Yes
CE Clausal entailment Yes
SE Sentential entailment
IP Implicant testing Yes
EQ Equivalence testing ?
MC Model Counting Yes
ME Model enumeration Yes
118Determinism
Transformation d-DNNF
CD Conditioning Yes
SFO Single variable
FO Multiple variable
Conjoin
B Bounded Conjoin
Disjoin
B Bounded Disjoin
Negate ?
119Decision
120Decision
121Decision
Query FBDD
CO Consistency Yes
VA Validity Yes
CE Clausal entailment Yes
SE Sentential entailment
IP Implicant testing Yes
EQ Equivalence testing ?
MC Model Counting Yes
ME Model enumeration Yes
122Decison
Transformation FBDD
CD Conditioning Yes
SFO Single variable
FO Multiple variable
Conjoin
B Bounded Conjoin
Disjoin
B Bounded Disjoin
Negate Yes
123Ordering
124Ordering
Query OBDD
CO Consistency Yes
VA Validity Yes
CE Clausal entailment Yes
SE Sentential entailment Yes
IP Implicant testing Yes
EQ Equivalence testing Yes
MC Model Counting Yes
ME Model enumeration Yes
125Ordering
Transformation OBDD
CD Conditioning Yes
SFO Single variable Yes
FO Multiple variable
Conjoin
B Bounded Conjoin Yes
Disjoin
B Bounded Disjoin Yes
Negate Yes
126Agenda
- Part I Languages
- Part II Operations
- Part III Compilers
- Part IV Applications
127A Knowledge Compilation MAP
Negation Normal Form
or
Decomposability Determinism Smoothness Flatness De
cision Ordering
and
and
or
or
or
or
and
and
and
and
and
and
and
and
?A
B
? B
A
C
? D
D
? C
128NNF Subsets
NNF
CO, CE, ME
d-NNF
s-NNF
f-NNF
DNNF
VA,IP,CT
BDD
d-DNNF
EQ?
CNF
DNF
FBDD
EQ?
sd-DNNF
CO,CE,MEVA,IP,SE,EQ
SE,EQ
SE,EQ
VA,IP, SE,EQ
MODS
IP
OBDD
PI
129Part III Compilers
130Building Compilers
- To-down approaches
- Based on exhaustive search
- Bottom-up approaches
- Based on transformations
131SAT by DPLL Search
x ? y x ? z w ? z ? v v ? w ? z
SAT?
- Unit resolution
- Conflict-directed backtracking
- Clause learning
- Branching heuristics
- Restarts
Terminating condition for recursion empty set
(satisfied), or empty clause (contradiction)
132Recent Trend Exhaustive DPLL
- Count number of models
- Model counters, e.g., relsat, cachet
- Generate all/subset of models
- Image computation in model checking
- SMT (non-propositional reasoning)
- Variations on DPLL Search
133The Language of Search
Knowledge Compiler
Exhaustive DPLL
Record Trace
Variations
Languages
134Trace of DPLL
X ? Y X ? ?Y ? ?Z ?X ? Y ? ?Z
X
0
Y
0
1
Z
unsat
0
1
unsat
sat
135Exhaustive DPLL
Run to Exhaustion
X ? Y X ? ?Y ? ?Z ?X ? Y ? ?Z
X
1
0
Y
Y
0
1
0
1
Z
Z
sat
unsat
0
1
0
1
unsat
unsat
sat
sat
136Trace of DPLL
a Formula
or
X
and
and
?X
X
or
or
Y
Y
and
and
and
and
Z
Z
sat
unsat
?Y
Y
0
?Y
Y
1
?Z
?Z
unsat
unsat
sat
sat
137Trace of DPLL a Formula
or
Equivalent to original CNF Tractable (e.g.,
count models)
and
and
?X
X
or
or
and
and
and
and
?Y
Y
0
?Y
Y
1
?Z
?Z
138Dealing with Redundancy
Level One Do not record redundant portions of
trace Level Two Try not to solve equivalent
subproblems
X
Y
Y
Z
Z
unsat
sat
unsat
unsat
sat
sat
139Dealing with Redundancy
X
Y
Y
Z
Z
unsat
unsat
unsat
sat
140Dealing with Redundancy
Do not create
Simply point to existing node
X
Y
Y
Z
Z
unsat
sat
141This is an OBDD!
X
Y
Y
Z
0
1
142This is an OBDD!
or
X
and
and
Y
Y
?X
X
or
or
and
and
and
and
Z
0
1
?Z
?Y
Y
0
1
NNF decision, decomposability, ordering
143A Non-traditional OBDD Compiler
X
Exhaustive DPLL, Fixed variable order, Unique
nodes
X ? Y X ? ?Y ? ?Z ?X ? Y ? ?Z
Compile
Y
Y
Z
0
1
New complexity guarantees
144FBDD
X
Exhaustive DPLL, Dynamic variable order, Unique
nodes
X ? Y X ? ?Y ? ?Z ?X ? Y ? ?Z
Y
Z
Compile
Y
Z
0
1
NNF decision, decomposability
145FBDD vs OBDD
- FBDD more succinct than OBDD (dynamic var
ordering in SAT) - OBDD equivalence test (canonical)
- FBDD probabilistic equivalence test
- Both allow model counting
146Dealing with Redundancy
- Level One Unique nodes (done)
- Level Two Avoid redundant compilation (search)
147Redundant Compilation
x5 ? x6 x4 ? ?x5 ? x6 x1 ? x3 ? x4 ? x5 x2 ?
x3 x1 ? x2 ? ?x3
X1
1
0
X2
X2
1
0
X3
X3
1
1
x5 ? x6 x4 ? ?x5 ? x6
x5 ? x6 x4 ? ?x5 ? x6
Formula Caching complexity guarantees
148Formula Caching
- Majercik and Litmman, 1998
- Darwiche, 2002
- Bacchus et al, 2003, 2004
- Huang Darwiche, 2004
- Sang, Kautz, Beam, 2004, 2005
- Thurley, 2006
149Caching for DPLL
v1
OBDD(?)
OBDD(?v11)
OBDD(?v10)
Recursive calls may be made on equivalent CNFs
v2
OBDD(?v11,v21)
OBDD(?v10,v20)
150Caching for DPLL
? v5 v6 v4 ?v5 v6 v1
v3 v4 v5 v2 v3 v1 v2
?v3
v1v2v3 ?
0 0 0 contradiction
0 0 1 contradiction
0 1 0 v5 v6, v4 ?v5 v6, v4 v5
0 1 1 v5 v6, v4 ?v5 v6
1 0 0 contradiction
1 0 1 v5 v6, v4 ?v5 v6
1 1 0 v5 v6, v4 ?v5 v6
1 1 1 v5 v6, v4 ?v5 v6
OBDD(?)
151Caching for DPLL
Cutset_3
c5 v5 v6
c4 v4 ?v5 v6
c3 v1 v3 v4 v5
c2 v2 v3
c1 v1 v2 ?v3
v1 v2 v3 v4 v5 v6
- After instantiation of v1v2v3, ? is either
contradictory, or determined by clause c3 alone. - c3 can only be in one of two states satisfied or
shrunk to v4v5
152Caching for Basic DPLL
- In general, cutset_i is set of clauses mentioning
a variable ? vi and one gt vi - After instantiation of v1v2vi, ? is either
contradictory, or determined by states of clauses
cutset_i - Number of distinct ? is ? 2 cutset_i 1
- Maintain a cache for each i, and use the value of
cutset_ia bit vectoras key
153 CNF to OBDD
- OBDD(?, i)
- if(contradiction) return 0-sink
- if(satisfied) return 1-sink
- key value(cutseti-1)
- lookup cachei-1key
- if(lookup ? nil) return lookup
- result getnode_node(vi, OBDD(?vi0, i1),
OBDD(?vi1, i1)) - cachei-1key result
- return result
-
154Complexity
- For each i, 2cutset_i bounds
- number of recursive calls OBDD(?, i1)
- number of entries in cachei
- number of OBDD nodes labeled with vi
- Size of largest cutset is known as cutwidth of
variable order - Time and space complexities of algorithm and size
of OBDD are all linear in number of variables,
and exponential only in cutwidth - Variable orders with small cutwidth can help
155Complexity Theorems
- size(OBDD) ? n2w 2
- n number of variables
- w cutwidth of variable order (size of largest
cutset) - Time complexity O(sn2w)
- s size of CNF
- Also hold for w pathwidth, using a slightly
different caching scheme - Cutwidth and pathwidth are incomparable
156Beyond BDDs
FBDD
Plain DPLL
Fixed Variable Ordering
OBDD
157Decomposition (Component Analysis)
Solve disjoint subproblems independently
d-DNNF
Combine as AND node
158A ? B ? C ?A ? ?B ? C A ? D ? E ?A ? ?D ? E
Deterministic Decomposable Negation Norm
Form (d-DNNF)
A
B ? C D ? E
and
and
D ? E
B ? C
B
D
B
D
C
E
0
1
159Deterministic Decomposable Negation Norm Form
(d-DNNF)
or
and
and
?A
A
and
and
or
or
or
or
and
and
and
and
?B
?D
B
D
C
E
160Decomposition Methods
- Dynamically detect disjoint components
- Most effective, but very expensive
- Static structural analysis
- Constructs a decomposition tree (dtree)
- Does not detect all decompositions
- Low overhead at runtime
161FBDD vs d-DNNF
- d-DNNF more succinct than FBDD (effectiveness of
decomposition) - Deterministic equivalence test open
- Probabilistic equivalence test applies
- Other queries same
162The Language of Search
Fixed Variable Ordering
OBDD
Plain DPLL
FBDD
Allowing Decomposition
d-DNNF
Other languages deterministic DNF
163Relation to AND/OR Search (CP)
- AND/OR graphs are deterministic and decomposable
- AND/OR search algorithms are doing enough work to
compile networks into (multi-valued equivalent
of) d-DNNF - Capable of more than answering a single query
(model counting, belief revision, etc)
164Implications
- SAT techniques harnessed for knowledge
compilation - c2d compiler based on Rsat Solver (SAT
Competition 2007) uses dtrees - Language properties (succinctness/tractability)
help characterize power and limitations of search
165Understanding DPLL
- Take any program X that runs exhaustive
DPLL-style search - Examine traces, if traces ? L, then
- X can answer all queries tractable for L
- X is hopeless on any input having no
polynomial-size representation in L
166Power of DPLL
- Traces of several model counters (Relsat,
Cachet, e.g.) are in d-DNNF -
- Are doing enough work to
- compile formulas into d-DNNF
- solve tasks beyond model counting (e.g., minimum
cardinality, probabilistic equivalent testing)
167Limitation of DPLLGeneral Determinism
or
Decision nodes(d-DNNF)
or
Deterministic nodes(d-DNNF)
168Beyond DPLLDecomposability (D) Without
Determinism (d)
or
DNNFCO, CE, ME, exist quant
and
?X3
or
and
X1
X2
169Approximate DNNF
D
170Approximate Compilation
171Approximate Compilation
Sound, but not complete
172Approximate Compilation
Complete, but not sound
173sat D ?
Sound Incomplete
Unsound Complete
174Bottom-up Compilation
175Bottom-up OBDD Construction
CNF (x y) (y z) Variable order x, y, z
Final OBDD
x
x y
x
x
DEAD NODES
y z
y
y
The Apply algorithm combines two OBDDs using any
one of the 16 binary Boolean operators
z
0
1
176Bottom-Up OBDD Construction
- OBDD packages, such as CUDD
- implement Apply (conjoin, disjoin, etc)
- garbage-collect dead nodes
- Apply is efficient quadratic in operand size
- Problem intermediate OBDDs can be much larger
than final onemany dead nodes - uf100-08 (32 models) OBDD has 176 nodes under
MINCE order 30,640,582 intermediate nodes using
CUDD taking 25 mins
177DPLL Based Construction
x
? (x y) (y z)
?x0 y
?x1 y z
y
y
z
0
1
178Missing Opportunities
- Bottom up construction methods for DNNF and d-DNNF
179Agenda
- Part I Languages
- Part II Operations
- Part III Compilers
- Part IV Applications
180Part IV Applications
181Applications
- Model-based diagnosis
- Planning
- Probabilistic reasoning
182Model-based Diagnosis
C
A
X
D
Y
B
System model ? okX ? (A ? ?C) okY ? (B ? C) ? D
Health variables okX, okY Observables A, B,
D Nonobservable C
183Model-based Diagnosis
C
Abnormal observation ? ?A ? B ? ?D
A
X
D
Y
B
System model ? okX ? (A ? ?C) okY ? (B ? C) ? D
Diagnosis Values of (okX, okY) consistent with ?
? ? (0, 0), (0, 1), (1, 0)
184Model-based Diagnosis
C
Abnormal observation ? ?A ? B ? ?D
A
X
D
Y
B
System model ? okX ? (A ? ?C) okY ? (B ? C) ? D
Minimum cardinality Diagnoses (0, 0), (0, 1),
(1, 0)
185Model-based Diagnosis
- Methods for characterizing diagnoses
- Conflicts
- Kernel diagnoses
- Methods for manipulating diagnoses
- Find minimal diagnoses
- Find minimum-cardinality diagnoses
- Characterize lost functionality
186Characterizing Diagnoses
187Characterizing Diagnoses
188Characterizing Diagnoses
low
high
high
low
189Minimal Conflicts
An instantiation of ok1,ok5 is a diagnosis iff
it is consistent with(conjunction of) minimal
conflicts
190Kernel Diagnoses
An instantiation of ok1,ok5 is a diagnosis iff
it is consistent with(disjunction of) kernel
diagnoses
191Characterizing Diagnosis
- Device Model
- Observables
- Health Variables
- Others
192OBDD
193DNNF
194Minimal Conflicts
CNF/PI
195Kernel Diagnoses
DNF/IP
196Characterizing Diagnosis
- Device Model
- Observables
- Health Variables
- Others
Compile Model
197System Model
?
Compile
Succinctness Efficient computation of diagnoses
198System Model
OBDD vs. DNNF
Compile
Succinctness Efficient computation of diagnoses
199Compiling System Models
- DNNF is more succinct can lead to smaller
compilation - Smaller compilation of system model does not
imply faster on-line diagnosis - Although less succinct, OBDD is more powerful
(DNNF is a weaker form) - Is this extra power relevant?
200Diagnosis Using DNNF
C
A
X
D
Y
B
T
T
Observation ?A ? B ? ?D
System model ? okX ? (A ? ?C) okY ? (B ? C) ? D
T
F
F
F
T
T
201Diagnosis Using DNNF
C
A
X
D
Y
B
or
Observation ?A ? B ? ?D
System model ? okX ? (A ? ?C) okY ? (B ? C) ? D
?okX
?okY
202Diagnosis Using DNNF
- Set observables
- Linear time
- Project out nonobservables
- Linear time
- Projection exponential for OBDD(can be made
linear with particular orders)
203Minimum Cardinality Diagnoses
- Number of diagnoses can be large
- Some may be more preferable than others
- Minimize number of faulty components in diagnosis
- Again, easy for DNNF
204Minimum Cardinality Diagnoses
Smoothing make disjuncts mention same set of
variables O(? H)
1
1
1
or
0
0
?
0
0
1
1
?okX
?okY
205Minimizing the DNNF
1
1
1
or
0
0
?
?
?
0
0
1
1
?okX
?okY
206Minimum Cardinality Diagnoses
or
and
and
?okX
?okY
okX
okY
207Minimum Cardinality Diagnoses Using OBDDs
- Create filter OBDD that asserts a given
cardinality k - Conjoin it with OBDD that represents set of
diagnoses - Repeat for k 0, 1, 2... until result is nonempty
208Comparison
Operation OBDD DNNF
Condition(?, ?) O(?) O(?)
Project(?, H) exponential O(?)
Minimize(?d) O(mc ?d H2) O(?d H)
209Characterizing Lost Functionality
210Hierarchical Diagnosis
211Scalability
- Requires a health variable for each component
- c1908 has 880 gates basic encoding fails to
compile - New technique to reduce number of health
variables - Preserves soundness and completeness w.r.t.
min-cardinality diagnoses - Requires only 160 health variables for c1908
212Hierarchical Diagnosis
213Hierarchical Diagnosis
214Hierarchical Diagnosis
215Identifying Cones
- Gate G dominates gate X if any path from X to
output of circuit contains G - All gates dominated by G form a cone
- Dominators found by breath-first traversal of
circuit - Treat maximal cones as blackboxes
216Abstraction of Circuit
?C T, U, V, A, B, C
217Top-level Diagnosis
Diagnosis A, B, C
218Diagnosis of Cone
- Need to set inputs/output of cone according to
top-level diagnosis - Rest is similar, but not a simple recursive call
(to avoid redundancy) - Once cone diagnoses found, global diagnoses
obtained by substitution
219Diagnosis of Cone
Top-level diagnosis A, B, C 3 diagnoses for
cone A A, D, E 3 global diagnoses by
substitution A, B, C D, B, C E, B, C
220Soundness
- Top-level diagnoses have same cardinality.
Substitutions do not alter cardinality (cones do
not overlap). - Remains to show that cardinality of these
diagnoses, d, is smallest. Proof by
contradiction - Suppose there is diagnosis P lt d. Replace every
gate in P with its highest dominator to obtain
P. - P is a valid top-level diagnosis, contradicting
soundness of baseline diagnoser
221Completeness
- Need to show every min-cardinality diagnosis is
found - Given diagnosis P of min cardinality d, replace
every gate in P with its highest dominator to
obtain P - P has cardinality d, and only mentions gates in
top-level abstraction, and hence will be found by
top-level diagnosis (by completeness of baseline
diagnoser) - P itself will be found by substitution (by
completeness of cone diagnosis)
222Sequential Diagnosis
223Sequential Diagnosis
- Set of min-cardinality diagnoses may still be
large - Faults not identified with certainty
- Take measurements, one at a time, until faults
identified - Would like to minimize number of measurement
- Use heuristic based on amount of information gain
224Sequential Diagnosis
- Assume a probabilistic model of the system
- Failure probabilities for components
- Output behavior of faulty component (e.g., 1 and
0 with equal probability) - These implicitly define a joint probability
distribution over all system variables - Encoding and compilation described later
- Pick component with highest posterior probability
of failure, measure variable with highest entropy
in that component
225and
0.5
or
and
0.5
1
and
and
P
D
A
0.475
0.025
1
1
1
and
or
or
0.05
0.5
0.95
and
and
okA
J
and
0.5
0.9
0.05
1
0.5
?okA
??J
okJ
?A
?J
?okJ
0.1
1
0
0.5
0.5
0.5
226Hierarchical Sequential Diagnosis
- To improve scalability, previous idea of
abstraction applies - Treat each cone (blackbox) as a single big
component - Need to compute a single failure probability that
summarizes the failure behavior of the cone - Create copy of cone with all gates healthy, feed
outputs of two cones into XOR gate, compute
Pr(output 1)
227Planning
228Slippery Gripper
- Goal block painted and held, gripper clean
- Probabilistic action effects
- Paint paints block w. p. 1 makes gripper dirty
w. p. 1 if it holds block, w. p. 0.1 if not - Pick-up succeeds w. p. 0.5 if gripper wet, 0.95
if gripper dry - Dry dries wet gripper w. p. 0.8 doesnt affect
dry gripper - Probabilistic initial state
- block not painted, not held
- gripper clean, but dry with probability 0.7
229Conformant Probabilistic Planning
- Probabilistic initial state and action effects
- Conformant action effects not observable
- Cant decide next action by observing environment
- Needs straight-line plan with max probability of
success, for given horizon (number of steps) - Example 2-step plan paint, pickup (succeeds
with probability 0.7335)
230Brute-force Approach
- Compute success probability for all plans of
length one - Given success probabilities of plans of length i,
compute probability of success for plans of
length i 1 - Iterate to planning horizon n
- Pick n-step plan with max success probability
- Exponential in planning horizon
231Why is it hard?
- Consider decision version
- Does there exist plan of success probability gt p,
for given horizon - Given plan, deciding if success probability gt p
is PP-complete - Can be reduced to MAJ-SAT does majority of
assignments satisfy CNF - Alternatively Is CNF satisfiable with
probability gt ½ - Finding plan with given property (that is free to
test) is NP-complete, for given horizon - Conformant probabilistic planning for given
horizon is NPPP-complete - NP ? PP ? NPPP
232Propositional Encoding Initial State
- State space BP (block-painted), BH (block-held),
GC (gripper-clean), GD (gripper-dry) - Probabilistic initial state ?BP, ?BH, GC, p ?
GD - Chance variable p (labeled with 0.7)
- p 1 ?BP, ?BH, GC, GD probability 0.7
- p 0 ?BP, ?BH, GC, ?GD probability (1 -
0.7) - Encoded as propositional sentence some variables
labeled with numbers (probabilities)
233Propositional Encoding Action Effects
- Dry dries wet gripper w. p. 0.8 doesnt affect
dry gripper - ?dry ? GD ? (q ? GD), ?dry ? ?GD ? GD
- Frame axiom
- ?dry ? (BP ? BP), ?dry ? (BH ? BH), ?dry ? (GC
? GC) - Each setting of chance variable selects one
effect - probability of effect is label of chance
variable, or 1 minus that depending on value of
variable - multiple chance variables multiply the numbers
- Define Pr(e) where e is an event (setting of
chance vars)
234Propositional Encoding Goal
235Propositional Encoding Horizon n
- State variables S0, S1, S2, , Sn
- Chance variables P-1, P0, P1, , Pn-1
- Action variables A0, A1, A2, , An-1
- Initial state I(P-1, S0) Goal G(Sn)
- Plan step Ak ? A(Sk, Ak, Pk, Sk1)
- ?n ? I(P-1, S0) ? A0 ? A1 ? ? An-1 ? G(Sn)
236Plan Assessment
- Given propositional encoding ?n and n-step plan ?
- Whats probability of success Pr(?n, ?)?
- Plan ? is instantiation of action vars
- Pr(?n, ?) is sum of Pr(e) for e consistent with
?n ? ? - Computation intractable (has to enumerate models)
237Brute-force Algorithm
- Search through all plans ? (instantiations of
action vars) - For each plan ?, compute Pr(?n, ?)
- Return plan ? with max Pr(?n, ?)
- Improve in two ways
- Efficient plan assessment
- Search space pruning
- Both achieved by compiling ?n to d-DNNF
238Compilation to d-DNNF
- Use existing compiler c2d, http//reasoning.cs.ucl
a.edu/c2d/ - Compilation intractable in general
- For structured problems, exponential only in
treewidth - Treewidth does not grow with horizon in this
encoding - Can scale to large horizons
239d-DNNF
and
or
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
240Plan Assessment on d-DNNF
and
or
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
241Plan Assessment on d-DNNF
and
or
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
1
1
1
1
1
1
242Plan Assessment on d-DNNF
and
or
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
1
1
1
.9
1
1
1
.5
.3
.7
.95
243Plan Assessment on d-DNNF
and
or
.665
.15
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
1
1
1
.9
1
1
1
.5
.3
.7
.95
244Plan Assessment on d-DNNF
and
.815
or
.665
.15
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
1
1
1
.9
1
1
1
.5
.3
.7
.95
245Plan Assessment on d-DNNF
.7335
and
.815
or
.665
.15
and
and
?p
t
s
p
?dry
paint
?pickup
?r
?dry
?paint
pickup
1
1
1
.9
1
1
1
.5
.3
.7
.95
246Plan Assessment on d-DNNF
- Set action vars to constants according to plan ?
- Set all state vars to 1 (existential
quantification) - Turn chance vars and their negations into numbers
- Turn or into summation, and into multiplication
- Evaluate resulting arithmetic circuit
- Value at root is Pr(?n, ?)
247Assessment of Partial Plan
- Partial plan ? instantiation of a subset of
action vars - Pr(?n, ?) success probability of best completion
of ? - Maximize over uninstantiated action vars
- Special d-DNNF
- Turn corresponding or node into max
or
and
and
ß ?x
x ?
248Assessment of Partial Plan
- Summations over state vars, followed by
maximizations over action vars - All max must be performed after sum
- Not guaranteed in d-DNNF
- Max and sum nodes mixed in any order
- Some max performed too early Result incorrect!
249Depth-first Branch-and-Bound
- Key observation performing max too early can
only increase result - Result is upper bound on true value
- Partial plan can be pruned if upper bound lt
value of best plan already found - Depth-first branch-and-bound will find optimal
plan - Tighter bounds leads to more pruning
250Plan Search
T
C
C
B
B
B
B
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
251Plan Search
Best Score 0
T
.151
C
C
B
B
B
B
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
252Plan Search
Best Score 0
T
.151
C
C
.135
B
B
B
B
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
253Plan Search
Best Score 0
T
.151
C
C
.135
B
B
B
B
.127
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
254Plan Search
Best Score .009
T
.151
C
C
.135
B
B
B
B
.127
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
255Plan Search
Best Score .079
T
.151
C
C
.135
B
B
B
B
.127
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
256Plan Search
Best Score .079
T
.151
C
C
.135
B
B
B
B
.120
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
257Plan Search
Best Score .117
T
.151
C
C
.135
B
B
B
B
.120
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
258Plan Search
Best Score .117
T
.151
C
C
.135
B
B
B
B
.120
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
259Plan Search
Best Score .117
T
.151
C
C
.101
B
B
B
B
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
260Plan Search
Best Score .117
T
.151
C
C
.101
B
B
B
B
tcb .023
tcb .051
tcb .031
tcb .055
tcb .053
tcb .117
tcb .079
tcb .009
261Probabilistic Reasoning
262Bayesian Networks
Battery Age
Alternator
Fan Belt
Charge Delivered
Battery
Fuel Pump
Fuel Line
Starter
Distributor
Gas
Battery Power
Spark Plugs
Gas Gauge
Engine Start
Lights
Engine Turn Over
Radio
263Bayesian Networks
Battery Age
Alternator
Fan Belt
If Battery Power OK, then Lights ON (99) .
Charge Delivered
Battery
Fuel Pump
Fuel Line
Starter
Distributor
Gas
Battery Power
Spark Plugs
Gas Gauge
Engine Start
Lights
Engine Turn Over
Radio
264?ca
?a
?ba
A B C Pr(.)
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
. . .
265Joint Distributions
B
A
Pr(.)
.03
true
true
.27
true
false
.56
false
true
false
.14
false
false
false
Pr(a)
.03
.27 .3
266Joint Distributions
B
A
Pr(.)
.03
true
true
.27
true
false
.56
false
true
false
.14
false
false
false
Pr(b)
.27
.14 .41
267Joint Distributions
B
A
Pr(.)
?a?b .03
.03
true
true
.27
?a?b .27
true
false
.56
?a?b .56
false
true
false
?a?b .14
.14
false
false
false
F(?a, ?b, ?a, ?b)
.03?a?b .27?a?b .56?a?b .14?a ?b
268F(?a, ?b, ?a, ?b)
.03?a?b .27?a?b .56?a?b .14?a ?b
Pr(a,b) F(?a0, ?b1, ?a1 , ?b0) .27
Pr(a) F(?a0, ?b1, ?a1 , ?b1) .03.27
269?ca
?a
?ba
A B C Pr(.)
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
a b c ?a ?ba ?ca
. . .
270?ca
?a
?ba
A B C Pr(.)
a b c ?a ?b ?c ?a ?ba ?ca
a b c ?a ?b ?c ?a ?ba ?ca
a b c ?a ?b ?c ?a ?ba ?ca
a b c ?a ?b ?c ?a ?ba ?ca
. . .
271F ?a ?b ?c ?a ?ba ?ca ?a
?b ?c ?a ?ba ?ca ?a ?b ?c
?a ?ba ?ca ?a ?b ?c ?a
?ba ?ca .
272?ca
C
?a
?dbc
?ba
F ?a ?b ?c ?d ?a ?ba ?ca ?dbc
?a ?b ?c ?d ?a ?ba ?ca ?dbc .
Each term has 2n variables (n indicators, n
parameters)
Each variable has degree one (multi-linear
function)
273Multi-Linear Functions ?Arithmetic Circuits
A
B
274Reduction to Logic
275MLFs?ACsCNFs?d-DNNF
Compile
?
c
?
c
Decode
?
?
?
b
b
?b
1
a
1
a
?a
Arithmetic Circuit
Smooth d-DNNF
276Propositional Encoding of Multi-Linear Functions
a b c Encodes
T T T abc
T T F ab
T F T ac
T F F a
F T T bc
F T F b
F F T c
F F F 1
- Propositional theory
- ? c (a ? ? b)
- Encodes
- F a c a b c c
277Encoding Network as CNF
?a ? ?a ?a ? ?a
?b ? ?b ?b ? ?b
?a ? ?a ?a ? ?a
?a ?b ? ?ba ?a ?b ? ?ba ?a
?b ? ?ba ?a ?b ? ?ba
278Why Logic?
- Encoding local structure is easy
- Determinism encoded by adding clauses
- CSI encoded by collapsing variables
279Global StructureTreewidth w
280Local StructureCSI and Determinism
Battery Age
Alternator
Fan Belt
Charge Delivered
Battery
Fuel Pump
Fuel Line
Starter
Distributor
Gas
Battery Power
Spark Plugs
Gas Gauge
Engine Start
Lights
Engine Turn Over
Radio
281Local StructureCSI and Determinism
Battery Age
Alternator
Fan Belt
Charge Delivered
Battery
Fuel Pump
Fuel Line
Starter
Distributor
Gas
Battery Power
Spark Plugs
Gas Gauge
Engine Start
Lights
Engine Turn Over
Radio
Context Specific Independence (CSI)
282Local StructureCSI and Determinism
Battery Age
Alternator
Fan Belt
Charge Delivered
Battery
Fuel Pump
Fuel Line
Starter
Distributor
Gas
Battery Power
Spark Plugs
Gas Gauge
Engine Start
Lights
Engine Turn Over
Radio
283Local Structure
A
B
C
Pr(SA,B,C)
0.95
a
b
c
c
a
b
0.95
a
b
c
0.20
a
b
c
0.05
qsabe
a
b
c
0.00
a
b
c
0.00
-Functional constraints -Context-specific
independence
a
b
c
0.00
a
b
c
0.00
Tabular CPT
284Determinism
A
Pr(SA,B,E)
B
C
0.95
a
b
c
c
a
b
0.95
a
b
c
0.20
a
b
c
0.05
a
b
c
0.00
a
b
c
0.00
a
b
c
0.00
a
b
c
0.00
Tabular CPT
285Context-Specific Independence
A
Pr(SA,B,C)
B
C
0.95
a
b
c
c
a
b
0.95
a
b
c
0.20
a
b
c
0.05
a
b
c
0.00
a
b
c
0.00
a
b
c
0.00
a
b
c
0.00
Tabular CPT
286The Ace Systemhttp//reasoning.cs.ucla.edu/ace
Arithmetic Circuit
Smooth d-DNNF
CNF
?
- lx ? l?x
- lx ? l?x
- x ? ly ? qxy
- ...
- .
- .
2871st International Evaluation of Exact
Probabilistic Reasoning Systems (UAI06, Boston)
- 135 problem instances from speech, coding,
bioinformatics, circuits, medical diagnosis, - Each team given 4 days of computation time
- UCLA Only team to solve all problems in allotted
time (solved all problems in 1 hr) - Failure rates of other teams 10-40
288Inference by Compiling to d-DNNF
- Deterministic Planning
- Blai Bonet and Hector Geffner (KR 2006)
- Probabilistic Conformant Planning
- Jinbo Huang (ICAPS 2006)
- Model-based diagnosis
- Paul Elliott and Brian Williams (AAAI 2006)
- Anthony Barrett (IJCAI 2005)
- Databases (query re-write)
- Yolife Arvelo, Blai Bonet and Maria Esther Vidal
(AAAI 2006) - Inference in Bayesian Networks (2006 competition)
- Mark Chavira, Adnan Darwiche (IJCAI 2005)
- Inference in Probabilistic Relational Models
- Mark Chavira, Adnan Darwiche and Manfred Jaeger
(IJAR 2006)
c2d compiler http//reasoning.cs.ucla.edu/c2d