Download presentation
Presentation is loading. Please wait.
1
1 Backdoors To Typical Case Complexity Ryan Williams Carnegie Mellon University Joint work with: Carla Gomes and Bart Selman Cornell University
2
2 Significant 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.
3
3 A “real world” example
4
4 i.e. (( x 1 ) or x 7 ) and (( x 1 ) or x 6 ) and … etc. Bounded Model Checking instance:
5
5 (x 177 or x 169 or x 161 or x 153 … or x 17 or x 9 or x 1 or ( x 185 )) clauses / constraints are getting more interesting… 10 pages later: …
6
6 4000 pages later: … ?!! a 59-cnf clause…
7
7 Finally, 15,000 pages later: The Chaff SAT solver (Princeton) solves this instance in a few minutes. Note that:… !!!
8
8 Gap 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.
9
9 Backdoors – Initial Motivation Justify why restarts are effective Imply the existence of a wide range of solution times, often including short runs How to explain short runs? Heavy-tailed distributions and Randomization. Certain problems, when solved by randomized backtracking, yield a runtime distribution that is heavy-tailed
10
Explaining short runs: Backdoors 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
11
11 Defining 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
12
12 Backdoors (for satisfiable instances): Strong backdoors (apply to satisfiable or inconsistent instances): Defining backdoors
13
Backdoors 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).
14
14 Constraint 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 X 1,…,X k is a relation R(X 1,…,X k ) D 1 x …x D k. 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)
15
15 Some 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
16
16 Deterministic Generalized Iterative Deepening
17
17 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 Randomized Generalized Iterative Deepening
18
18 Randomized Generalized Iterative Deepening
19
19 Deterministic Versus Randomized Deterministic strategy Randomized strategy Suppose variables have 2 possible values (e.g. SAT) k For B(n) = n/k, algorithm runtime is c n c Det. algorithm outperforms brute-force search for k > 4.2
20
20 Complete 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)
21
21 Polytime 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.
22
Runtime 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
23
Summary Introduced notion of a “backdoor” set of variables. 1)More closely captures combinatorics of a problem instance, as dealt with in practice. 2)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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.