Title: Knowledge Compilation Properties of TreeofBDDs
1Knowledge Compilation Properties of Tree-of-BDDs
Lucas Bordeaux, Youssef Hamadi
Microsoft Research, Cambridge UK
IT University of Copenhagen Denmark
AAAI-2007, Vancouver
2Knowledge Compilation
- Compile a system model in to a form
- Forms BDD, DNNF, d-DNNF, Tree-of-BDDs
- Quickly answer interesting queries
- Applications configuration, verification,
fault-trees, Bayesian networks, model-based
diagnosis, etc.,
3Compilation Forms
Tree-of-BDDs even 1000 times smaller than d-DNNF
4Binary Decision Diagrams
A compressed representation of solutions
Answers many queries in polytime
5CNF to BDD
AND
BDD
CNF clauses
clause BDDs
6Tree-of-BDDs (ToB)
Tree Decomposition
CNF clauses
ToB
clause BDDs
7Example CNF to ToB
CNF clauses
Tree Decomposition
Group clause-BDDs
ToB
8Example Comparison
Exploits tree-width!
9Some Interesting Queries
- Consistency (CO)
- Validity (VA)
- Clausal Entailment (CE)
- Implicant Check (IM)
- Equality (EQ)
- Sentential Entailment (SE)
- Model Counting (CT)
- Model Enumeration (ME)
10Conditioning ToB
- Condition (ToB, term)
- //Restrict ToB by term
- Restrict each BDD with term
- Propagate
Worst case exponential in tree-width!
11Clausal Entailment, Implicant Check
- IsCE (ToB, clause)
- //Does ToB entails the clause
- Condition (ToB, clause)
- if (ToBfalse)
- return true
- else
- return false
IsIM (ToB, term) //Does the term entails ToB
Condition (ToB, term) if ( term entails each BDD
) return true else return false
12Complexity of Queries
Worst case exponential in w
Polytime
Polytime if PNP
Worst case exponential in (w1 w2)
13Query Complexity Vs. Size
Realistic instances often have low treewidth !
ToB exploits it well !!
14Experiments
- 91 realistic CNF instances
- 35 Mercedes car configuration problems
- 7 ISCAS85 circuits
- 17 ISCAS89 circuits
- 14 ISCAS93 Addendum circuits
- 13 ISCAS99 circuits
- 5 Bounded model checking circuits
- Compare with c2d, a d-DNNF compiler
- Simulate CE and IM queries on ToBs
15Tools, Instances, Presentation
http//www.itu.dk/sathi/tob/
16Compilation Overview
for successful compilations
We could not find any realistic instance where
d-DNNF beats ToB in compilation !
Realistic Industrial instance in SAT competition
17Details Cases hard for d-DNNF
Very low treewidth!
ToB even 1000 times smaller than d-DNNF!
18CE and IM Simulation
Quick responses!
19Compilation Time ToB vs. d-DNNF
ToB is much faster than d-DNNF
20Compilation Space ToB vs. d-DNNF
ToB is much smaller than d-DNNF
21Conclusion
- ToBs often very small in time and space
- Even 1000 times smaller than d-DNNF
- Still quick response to many queries
- Future work
- EQ Check, usefulness in verification ?
- Succinctness of ToB vs d-DNNF
- Transformations supported by ToB
- Adopting ToBs for multi-core CPUs
22Thanks!
23Query Complexity Vs. Size
Realistic instances often have low treewidth !
ToB exploits it well !!
24Propagation in ToB
- Use a rooted BFS tree
- Propagate up
- Makes each parent consistent with children
- Propagate down
- Makes each child consistent with parent
25Projection in ToB
Project (ToB, K) //Project ToB over K variables
Conjoin BDDs from bottom to top Early
quantification of non-K variables
Worst case exponential in (wK)
26Equivalence Checking
IsEQ (ToB1, ToB2) Project ToB1 over vars in
each node of ToB2 -Check whether the two BDDs
agree Project ToB2 over vars in each node of
ToB1 -Check whether the two BDDs agree
Worst case exponential in (w1w2)