Loading in 5 sec....

Algorithms for SAT Based on Search in Hamming BallsPowerPoint Presentation

Algorithms for SAT Based on Search in Hamming Balls

- 51 Views
- Uploaded on
- Presentation posted in: General

Algorithms for SAT Based on Search in Hamming Balls

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Author : Evgeny Dantsin, Edward A. Hirsch,

and Alexander Wolpert

Speaker : 張經略, 吳冠賢, 羅正偉

- Introduction
- Definitions and notation
- Randomized Algorithm
- Derandomization

- 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.

- The graph of H is

- 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

- 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.

- 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.

- 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”

- Full-Ball-Checking runs in time poly(n)mV(n,R)

- 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

- 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.

- 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.

- For any R,l, let p be the probability (taken over random assignment A) that Random-Balls invokes Full-Ball-Checking. Then

- Assign R=a ,l=b ,where a < b constants. We use the fact ln(1+x)=x+o(x).

- Taking a=0.339, b=1.87, we have Φ ,ψ>0.712 , proving the theorem.

- From “A deterministic Algorithm for k-SAT based on local search”Lemma.
- Let R < n/2,β=β(n,R)= ,存在nβ 個R ball cover

- 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.

- 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.

- The correctness follows since C is a covering of .

We now estimate S2 as follows: