120 likes | 203 Views
Randomzied Unique k-SAT. R. Paturi, P. Pudlak, M.E. Saks and F. Zane An Improved Exponential-time Algorithm for k-SAT Journal of the ACM, Vol 52, No. 3, pp. 337-364, May 2005 Fenghui Zhang 2006, 11, 2. Introduction. Unique k-SAT
E N D
Randomzied Unique k-SAT R. Paturi, P. Pudlak, M.E. Saks and F. Zane An Improved Exponential-time Algorithm for k-SAT Journal of the ACM, Vol 52, No. 3, pp. 337-364, May 2005 Fenghui Zhang 2006, 11, 2
Introduction • Unique k-SAT • Given a CNF formula F with at most one satisfying assignment, decide if F is satisfiable or not • Main result to present: • For unique 3-SAT, the running time is O(1.307n), much better than the best known algorithm for general 3-SAT, which is O(1.324n)
The algorithm • Resolve all s bounded pairs • Repeat T times • Let be a random permutation of [1..n] • Let y be a random assignment to F • Let u be the result of applying y to F following the order in π – Modify (F, , y); • If u satisfies F, return u • Return “no”
Resolve s bounded pair • Two clause form a resolvable pair if they conflict on exactly one variable v, i.e., one of them contains v and the other contains v. • R(C1,C2)=D1 D2, where D1 and D2 are obtained by remove variable from C1 and C2 • If none of C1,C2 , R(C1,C2 )contains more than s literals, we add R(C1,C2) to F
Modify (F, , y) • Take the next variable v from π • If the value of v can be decided, assign that value to v • When there is a unit clause only involves v • Else v takes the value assigned in y • Return the modified assignment
What are s, T? • s is a large constant or a slowly increasing function of n • T is the number of time we run the algorithm, in our unique 3-SAT case, it is O(1.307n)
Analysis • Suppose z is a satisfying assignment to F, for given y and , Modify (F, , y) returns z iff y and z agrees on all variables not forced by π, i.e., those not decidable • For fixed π, the number of y that Modify (F, , y) will return z is 2|Forced(G, , z)| • The probability that the algorithm finds z is then
Analysis – cont. • It is bounded by 2-n+E[|Forced(F, , z)|] • We say that a clause C is critical for a variable v and a truth assignment z if v is the only true literal variable in C • v C is in Forced(F, , z) iff in , v is after all other variables of C • Hence E[|Forced(F, , z)|]=vP(v,F,z) where P(v,F,z) is the probability that a random actually put v as the last variable among the variables of a critical clause for (v, z)
Analysis – cont. • Why do s-bounded resolvent? • Increase the number of critical clauses for a variable • How does uniqueness help? • Suppose z=1n is the unique truth assignment • Consider C1=x1x2x3x4,001n-2 is not a truth assignment, there is a clause not satisfied by it that • Either resolvable with C1 • Or it is a second critical clause for x1
Analysis – cont. P (v, F, z)>0.613 • This is because we assume that F has at most one truth assignment, thus for any integer d between 1 and n, flip any d variables will give us a false assignment, hence we will have many critical clauses for each variable, hence the probability of actually put v as the last in one of its critical clause increases. • Detail skipped.
Analysis – cont. • Hence the success probability of Modify (F,, y) is at least 2-n+0.613n=1.307-n • Hence if we let T=O(1.307n), i.e., repeat Modify for O(1.307n) many times, we will have a nontrivial chance of finding the truth assignment
The End • Thank you very much • Questions?