Title: Solution Counting Methods for Combinatorial Problems
1Solution Counting Methodsfor Combinatorial
Problems
- Ashish Sabharwal Cornell University
- Based on joint work with
- Carla Gomes, Willem-Jan van Hoeve,Lukas Kroc,
Bart Selman - INFORMS, Oct 2008, Washington, D.C.
2Context
- Constraint Satisfaction Problems (CSPs)
- In particular, Boolean Satisfiability or SAT
- Given a Boolean formula F in conjunctive normal
forme.g. F (a or b) and (?a or ?c or d) and
(b or c)determine whether F is satisfiable - NP-complete
- widely used in practice, e.g. in hardware
software verification, design automation, AI
planning, - How many satisfying assignments does F have?
- F, the model count of F, the solution count of
F - SAT is P-complete
3Model Counting for SAT
- Inspired by the success of SAT solvers, a lot of
activity in the last few years in attacking the
solution counting problem - Aside success of SAT scalability, industrial
applications, black-box nature and standardized
input making it easy for users - Many different approaches, many different
counting goals - A zoo of techniques!
- This talk to give a brief overview of these
techniques, many of which are contributed by our
group at Cornell - Further reading and refs Model Counting chapter
in the upcoming Handbook of Satisfiability (draft
available on my webpage) - with Carla Gomes and Bart Selman
4What shall we count?
E.g., F has N1000 variables and 10150 2500
solutions
0
F
2N
0
F
Exact count
Strict (?,?) guarantee
Estimate, no guarantees
Lower bound
Upper bound (appears hard!)
5Problem Space why are upper bounds hard?
E.g., F has N1000 variables and 10150 2500
solutions
0
F
2N
- Number of solutions is often a miniscule fraction
of the search space size - Limits our ability to reason about upper bounds
- E.g., after having searched half the space, could
still have 2999 potential solutions remaining in
the worst case! (off by a factor of 2499) - Probabilistic methods work better for lower
bounds - E.g., if expected value true count, Markovs
ineq. says,cant get high numbers too often
because 0s cant compensate enough - reverse Markovs ineq. doesnt help can get low
numbers too oftenbecause a single 2N can
compensate for a lot of low numbers!
6The Zoo of Counting Methods
Solutioncounting
Exact methods
Approximate methods
FPRASMCMC sampling
Practical boundswith a guarantee
Estimation withoutany guarantee
Only thecount
Count manyby-products
U
DPLL-stylebacktracksearch
Knowledgecompilation
Backtr. search randomization statistics
L
L
Using backtr.-free space
Sampling randomization
L
L
U
FPTbranch-width,tree-width,
Sampling multipliers
XOR streamlining(randomized)
Belief prop. randomization
Note not an exhaustive listing
7I. Exact Methods
Exact methods
Only thecount
Count manyby-products
CDP, Birnbaul-Lozinskii-99 relsat,
Bayardo-Pehoushek-00 cachet, Sang et
al-04 sharpSAT, Thurley-06
DPLL-stylebacktracksearch
Knowledgecompilation
FPTbranch-width,tree-width,
tree-width Gottlob-Scarcello-Sideri-02 branch-
width Bacchus-Dalmao-Pitassi-03 cluster-width
Fischer-Makowsky-Ravve-08
8Knowledge Compilation for Counting
- Main idea convert F into a different form from
which one can easily read off the solution count
(and many other quantities of interest) - d-DNNF Deterministic, Decomposable Negation
Normal Form - Think of the formula as a directed acyclic graph
(DAG) - Negations allowed only at the leaves (NNF)
- Children of AND node dont share any variables
(different components) - Children of OR node dont share any solutions
- Once converted to d-DNNF, can answer many queries
in linear time - Satisfiability, tautology, logical equivalence,
solution counts, - Any query that a BDD could answer
- Our recent result can count number of clusters
of solutions how many different kinds/families
of solutions are there?
DNNF, c2d, Darwiche et al. 2001-05
can multiplythe counts
can addthe counts
To appearin NIPS-08
9II. ApproximateMethods
Karp-Luby-85Karp-Luby-Madras89
Approximate methods
FPRASMCMC sampling
Practical boundswith a guarantee
Estimation withoutany guarantee
SampleMinisat, Gogate-Dechter-07
U
Backtr. search randomization statistics
L
L
Using backtr.-free space
Sampling randomization
L
L
U
Sampling multipliers
XOR streamlining(randomized)
Belief prop. randomization
MiniCount, CPAIOR-08
10XOR Streamlining for Bounds on F
- Main idea rather than modifying the algorithm
for solving, modify the problem, run the solver,
deduce the count - Randomized algorithm, expected value true count
- Can be converted into bounds with correctness
guarantees - Lower bounds easier in practice (XORs of any
length work) - Upper bounds possible but not so easy
- Empirical evidence can get by with very short
XORs - Can be extended to general CSPs
Mbound, AAAI-06
Off-the-shelfSAT Solver
CNF formula
Streamlinedformula
Model count
Random XORconstraints
ideal when systematic search works well!
SAT-07
AAAI-07 see Willems talk
11Sampling for Estimates Lower Bound
- Main idea find a balanced variable one
thatappears roughly equally as True and as
Falsein solutions fix to one value, count
thatsub-problem, re-scale with appropriate
multiplier - Finding balanced variables not so easy
- Use solution sampling ideal when local search
works well! - Use Belief Propagation for marginal prob.
estimates ideal
when message passing works well! - Randomize the process expected value true
count, as before! - Great lower bounds, but variance too high for
good upper bounds
x?
T
F
E.g., count FxT, scale up by factor
100/60
40 ofsolutions
60 ofsolutions
ApproxCount, Wei-Selman-05
BPCount, CPAIOR-08
SampleCount, IJCAI-07
12The Zoo of Counting Methods
Solutioncounting
Exact methods
Approximate methods
FPRASMCMC sampling
Practical boundswith a guarantee
Estimation withoutany guarantee
Only thecount
Count manyby-products
U
DPLL-stylebacktracksearch
Knowledgecompilation
Backtr. search randomization statistics
L
L
Using backtr.-free space
Sampling randomization
L
L
U
FPTbranch-width,tree-width,
Sampling multipliers
XOR streamlining(randomized)
Belief prop. randomization
Note not an exhaustive listing