450 likes | 580 Views
Algorithms for SAT Based on Search in Hamming Balls. Author : Evgeny Dantsin, Edward A. Hirsch, and Alexander Wolpert Speaker : 張經略, 吳冠賢, 羅正偉. Outline. Introduction Definitions and notation Randomized Algorithm Derandomization. Introduction.
E N D
Algorithms for SAT Based on Search in Hamming Balls Author : Evgeny Dantsin, Edward A. Hirsch, and Alexander Wolpert Speaker : 張經略, 吳冠賢, 羅正偉
Outline • Introduction • Definitions and notation • Randomized Algorithm • Derandomization
Introduction • 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. • For k-SAT, Schuler’s algorithm is better than this one.
Fact about H • The graph of H is
Observations • The recursion depth is at most R • 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 • There is a satisfying assignment in B(A,R) iff Ball-Checking(F,A,R) returns a satisfying assignment in B(A,R) • Proof. The lemma is correct for R=0. For the induction step, assume that Ball-Checking(Fi,Ai,R-1) finds a satisfying assignment in B(Ai,R-1), if any. Furthermore, the assignment found can be different from Ai only at those variables that appear in Fi.
Lemma2 • 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. • Proof. The recursion depth is at most R and the maximum degree of branching is at most k.
Full Ball Checking • Procedure Full-Ball-Checking(F,A,R)Input: formula F over variables assignment A, number ROutput: satisfying assignment or “no” • 1.Try each assignment A’ in B(A,R), if it satisfies F, return it. • 2.Return “no”
Observation • Full-Ball-Checking runs in time poly(n)mV(n,R)
Correctness • Lemma 3. For any R,l,(a)If F is unsatisfiable, then Random-Balls returns “no”, (b)else Random-Balls finds a satisfying assignment with probabability 1/2
Amplifying prob. of correctness • Choosing N to be n time larger will reduce the probability of error to less than .Note this doesn’t ruin the time complexity we need.
Lemma 4 • 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.
Lemma 5 • For any R,l, let p be the probability (taken over random assignment A) that Random-Balls invokes Full-Ball-Checking. Then
Proof of Theorem 1 (conti.) • Assign R=a ,l=b ,where a < b constants. We use the fact ln(1+x)=x+o(x).
Proof of Theorem 1 (conti.) • Taking a=0.339, b=1.87, we have Φ ,ψ>0.712 , proving the theorem.
Derandomization • From “A deterministic Algorithm for k-SAT based on local search”Lemma. • Let R < n/2,β=β(n,R)= ,存在nβ 個R ball cover
Approximation for Ball covering • We give a greedy algorithm for choosing a near optimal number of covering R-balls.At each step, choose the R-ball that covers the most yet-uncovered elements.
Approximation ratio • Let OPT be the optimal number of covering R-balls. At each iteration, the yet-uncovered elements can be covered by OPT R-balls. Thus some R-ball covers at least 1/OPT fraction of the yet-uncovered elements. So the # of yet-uncovered elements becomes less than (1-1/OPT) times the original value.
Correctness • The correctness follows since C is a covering of .
Proof of theorem 2(conti.) We now estimate S2 as follows: