Title: Quest for the Fastest SAT Algorithm especially stochastic
1Quest for the Fastest SAT Algorithm(especially
stochastic)
- Uwe Schöning
- University of Ulm
- Germany
2Decision Problems in Logic
Given a formula in some logical language, decide
whether this formula is satisfiable / valid / or
equivalent to some other formula, etc. The
"easiest" decision problems of this type
are satisfiablity problems in propositional logic
(SAT). This problem is already NP-complete.
3Run Times for NP-complete Problems
Run Time
2N
1.3N
acceptable run time
...
N
input size
relevant for practical purposes
43-Satisfiability Problem
Formula
Clauses
Literals
Problem Find an assignment
to the
variables such that the formula evaluates to 1.
5(No Transcript)
6(No Transcript)
7Best Algorithms for 3-SAT(worst case bounds)
backtracking, truth-table 2n Monien,
Speckenmeyer 1985 1.619n Paturi, Pudlak, Zane
1997 1.588n Kullmann 1992 1.505n
Goerdt, Schöning 1999 1.481n
Paturi, Pudlak, Saks, Zane 1998 1.447n
Schöning 1999 (4/3)n Hofmeister, S.,
Schuler, Watanabe 00 1.330n Baumer, Schuler
2002 1.329n Rolf 2003 1.328n Iwama,
Tamaki 2003 1.324n
Stochastic algorithms
8Monien-Speckenmeyer
proc sat( F formula N nat ) bool if N0
then return F Let F (x?y?z) ? F if
sat(F/(x1), N-1) then return 1 if
sat(F/(x0,y1), N-2) then return 1 if
sat(F/(x0,y0,z1), N-3) then return 1 return 0
Recursion T(N) T(N-1)T(N-2)T(N-3) ,
T(0)1 Solution T(N) 1.839N Improved
Version T(N) 1.619N
9Error Probability in Stochastic Algorithms for
(3-)SAT
a satisf. assignment
F
"fail"
Pr ( finds sat. assignment ) p ? Pr ( no sat.
assignment after t iterations ) (1-p) t
? e pt 100/p Iterations ? Pr(error) ?
e 100
10The Paturi et al. - Approach
FOR i 1,2,...,n (in some random order) DO
Simplify ( F ) IF (value of xi is
forced) THEN set this value
accordingly ELSE set the value of xi
randomly
Occationally it happens that the value of some
variable is "forced" since it occurs in a unit
clause.
11Analysis of Paturi's Algorithm
On the average, 1/3 of the variables are
forced during the for-loop. Therefore, there are
only (2/3)n random bits. Pr(sat. assignment
found) 2-(2/3)n ? Run Time 100 .2(2/3)n
O( 1.588n )
12The Random Walk Approach
Pick a random initial assignment to the
variables FOR n steps DO IF satisfying
assignment found THEN stop choose some
non-satisfied clause C randomly choose
some literal y in C flip the value of y
Hamming- distance
2/3
...
...
j
j1
1/3
13Analysis of Random Walk
I random variable (for initial assignment),
(n, 1/2) - binomially distributed S random
variable (for n steps random walk) (n,
2/3) - binomially distributed Pr(algorithm finds
sat. assignment)
14(No Transcript)
15Random Formulas
Generate a random formula with n variables and m
clauses as follows FOR i1 TO m DO
Choose 3 variables at random Negate or
non-negate them at random Produce the i -th
clause from these literals Let r m/n .
16Phase Transition Behaviour
1
Probability of a satisfiable formula
rm/n
0
4.25
17More Phase Transitions
3.92
4.25
r
satisfying assignments
18Phase Transitions of the Random Walk Algorithm
1/8
fraction of non-satisfied clauses
"plateau"
0
steps
linear time
exponential time
r
2.7
19(No Transcript)