Algorithms for SAT Based on Search in Hamming
Algorithms for SAT Based on Search in Hamming Balls Author : Evgeny Dantsin, Edward A. Hirsch, and Alexander Wolpert Speaker : 羅正偉
Outline w Definition of SAT problem w Introduction of this paper w Definitions and notation w Randomized Algorithm
Preliminary: K-SAT problem
Preliminary-A fact w 2 -SAT is in P, but 3 -SAT is NP-complete.
Preliminary-Hamming Ball w Definition: The Hamming ball of radius R around a truth assignment A is the set of all assignments whose Hamming distance to A is less than or equal to R. w The assignment A is called the center of the ball. w The volume of a ball is the number of assignments that belong to the ball.
Introduction w In this paper a randomized algorithm for SAT is given, and its derandomized version is the first non-trivial bound for a deterministic SAT algorithm with no restriction on clause length. w For k-SAT, Schuler’s algorithm is better than this one.
Notation
Fact about H(x) w The graph of H(x) is
A bound of V(n, R)
Randomized Algorithm w The randomized algorithm is called Random. Balls, and it invokes procedures called Ball. Checking and Full-Ball-Checking.
Ball-Checking algorithms
Observations w The recursion depth is at most R w Any literal is altered at most once during execution of Ball-Checking, and at any time, those remaining variables are assigned as in the original assignment
Lemma 1 w There is a satisfying assignment in B(A, R) iff Ball-Checking(F, A, R) returns a satisfying assignment in B(A, R) w Proof. By induction of R (see reference)
Lemma 2 w The running time of Ball-Checking(F, A, R) is at most , where k is the maximum length of clauses occurring at step 3 in all recursive calls. w Proof. The recursion depth is at most R and the maximum degree of branching is at most k.
Full Ball Checking w Procedure Full-Ball-Checking(F, A, R) Input: formula F over variables , assignment A, number R Output: satisfying assignment or “no” w 1. Try each assignment A’ in B(A, R), if it satisfies F, return it. w 2. Return “no”
Observation w Full-Ball-Checking runs in time poly(n)m. V(n, R)
Randomized algorithm
Lemma 3 w Correctness of Random-Balls. For any R, l, the following holds: (a)If F is unsatisfiable, then Random-Balls returns “no”, (b)else Random-Balls finds a satisfying assignment with probabability 1/2
Proofs of lemma 3
REVIEW!! A bound of V(n, R)
Probability of correctness w So the prob. of correctness = 1 – 1/e > 1/2 w Choosing N to be k times larger will reduce the probability of error to less than. w Note this doesn’t ruin the time complexity we need.
Lemma 4 w Consider the execution of Random. Balls(F, R, l) that invokes Ball-Checking. For any input R, l, the maximum length of clauses chosen at step 3 of Procedure Ball. Checking is less than l.
REVIEW!! Ball-Checking algorithms
Proof of lemma 4
Lemma 5 w For any R, l, let p be the probability (taken over random assignment A) that Random. Balls invokes Full-Ball-Checking. Then
Proof of lemma 5
Proof of lemma 5(conti. )
REVIEW!! Fact about H(x) w The graph of H(x) is
Theorem 1
Proof of theorem 1
Proof of Theorem 1(conti. )
Proof of Theorem 1 (conti. ) w Assign R=a , l=b , where a < b constants. We use the fact ln(1+x)=x+o(x).
Proof of theorem 1(conti. )
Proof of Theorem 1 (conti. ) w Taking a=0. 339, b=1. 87, we have Φ , ψ>0. 712 , proving theorem.
Reference w E. Dantsin, A. Goerdt, E. A. Hirsch, R. Kannan, J. Kleinberg, C. Papadimitriou, P. Raghavan, and U. Schoning. A deterministic algorithm for K-SAT based on local search. Theoretical Computer Science, 289(1): 69 -83, October 2002.
- Slides: 35