Title: Backdoors To Typical Case Complexity
1Backdoors To Typical Case Complexity
Ryan WilliamsCarnegie Mellon UniversityJoint
work withCarla Gomes and Bart Selman Cornell
University
2Significant progress in Complete (Exact) search
methods!
Software and hardware verification complete
methods are critical - e.g. for verifying the
correctness of chip design, using SAT encodings
Current methods can verify automatically the
correctness of 1/8 of a Pentium IV.
3A real world example
4Bounded Model Checking instance
i.e. ((?x1) or x7) and ((?x1) or x6) and
etc.
510 pages later
(x177 or x169 or x161 or x153
or x17 or x9 or x1 or (?x185)) clauses /
constraints are getting more interesting
64000 pages later
?!! a 59-cnf clause
7Finally, 15,000 pages later
Note that
!!!
The Chaff SAT solver (Princeton) solves this
instance in a few minutes.
8Gap between theory and practice
- The good scaling behavior of state-of-the art
constraint-based solvers seems to defy the
worst-case complexity results for NP-complete
problems! - How can we explain this gap between theory and
practice? - What makes this possible?
- Our answer Hidden tractable substructure in
real-world problems. - Can we make this more precise?
- Proposal We consider particular structures
we call backdoors. - Idea came out of study of heavy-tailed
phenomena in runtime - distributions for some SAT solvers.
-
9Backdoors Initial Motivation
Heavy-tailed distributions and Randomization. Cert
ain problems, when solved by randomized
backtracking, yield a runtime distribution that
is heavy-tailed
- Justify why restarts are effective
- Imply the existence of a wide range of
- solution times, often including short runs
How to explain short runs?
10Explaining short runsBackdoors to tractability
- Informally
- A backdoor to a given problem is a subset of
its variables such - that, once assigned values, the remaining
instance simplifies - to a tractable class.
- Formally
- We define notion of a sub-solver
- (handles tractable substructure of
problem instance) -
- backdoors and strong backdoors
11Defining a sub-solver
Definition is general enough to encompass many
polynomial time propagation methods. (Also those
for which there does not exist a clean
syntactical characterization of the tractable
subclass.) Valid for other encoding languages
besides SAT e.g., Mixed Integer Programming and
Constraint Satisfaction Problems
12Defining backdoors
Backdoors (for satisfiable instances)
Strong backdoors (apply to satisfiable or
inconsistent instances)
13Backdoors can be surprisingly small
- Backdoors explain how a solver can get lucky on
certain runs, when the backdoors are identified
early on in the search.
Most recent Other combinatorial domains. E.g.
Graphplan planning, near constant size backdoors
(2 or 3 variables) in certain domains. (Hoffman,
Gomes, Selman 03) Backdoors capture critical
problem resources (bottlenecks).
14Constraint Satisfaction Formulations
- The Constraint Satisfaction Problem (CSP)
- A finite set of variables is given and with each
variable is associated a non-empty finite domain. - A constraint on k variables X1,,Xk is a relation
R(X1,,Xk) ? D1 x x Dk. - A solution to a CSP is an assignment of values to
all the variables, satisfying all the
constraints.
(Dechter 86, Freuder 82, Mackworth 77, Tsang 93,
van Beek and Dechter 97)
15Some Algorithms
- We cover three kinds of strategies for dealing
with backdoors - A deterministic algorithm
- A randomized algorithm
- Provably better performance over the
deterministic one - A heuristic randomized algorithm
- Assumes existence of a good heuristic for
choosing variables to branch on - We believe this is close to what happens in
practice -
16Deterministic Generalized Iterative Deepening
17Randomized Generalized Iterative Deepening
- Assumption
- There exists a backdoor whose size is bounded by
a function of n (call it B(n)) - Idea
- Repeatedly choose random subsets of variables
that are slightly larger than B(n), searching
these subsets for the backdoor
18Randomized Generalized Iterative Deepening
19Deterministic Versus Randomized
Suppose variables have 2 possible values (e.g.
SAT)
For B(n) n/k, algorithm runtime is cn
c
Deterministic strategy
Det. algorithm outperforms brute-force search for
k gt 4.2
Randomized strategy
k
20Complete Randomized Depth First Search with
Heuristic
- Assume we have the following.
- DFS, a generic depth first search randomized
- backtrack search solver with
- (polytime) sub-solver A
- Heuristic H that (randomly) chooses variables to
branch on, in polynomial time - H has probability 1/h of choosing a
- backdoor variable (h is a fixed constant)
- Call this ensemble (DFS, H, A)
21Polytime Restart Strategy for(DFS, H, A)
- Essentially
- If there is a small backdoor,
- then (DFS, H, A) has a restart strategy that
runs in polytime.
22Runtime Table for Algorithms
DFS,H,A
B(n) upper bound on the size of a backdoor,
given n variables
When the backdoor is a constant fraction of n,
there is an exponential improvement between the
randomized and deterministic algorithm
23Summary
- Introduced notion of a backdoor set of
variables. - More closely captures combinatorics of a problem
instance, as dealt with in practice. - Provides insight into restart strategies.
- 3) Backdoors can be surprisingly small in
practice. - 4) Search heuristics randomization can be used
to find them, provably efficiently.