Download presentation
Presentation is loading. Please wait.
Published byPoppy George Modified over 8 years ago
1
Algorithms for SAT Based on Search in Hamming Balls Author : Evgeny Dantsin, Edward A. Hirsch, and Alexander Wolpert Speaker : 羅正偉
2
Outline Definition of SAT problem Introduction of this paper Definitions and notation Randomized Algorithm
3
Preliminary: K-SAT problem
4
Preliminary-A fact 2-SAT is in P, but 3-SAT is NP-complete.
5
Preliminary-Hamming Ball 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. The assignment A is called the center of the ball. The volume of a ball is the number of assignments that belong to the ball.
6
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.
7
Notation
8
Fact about H(x) The graph of H(x) is
9
A bound of V(n,R)
10
Randomized Algorithm The randomized algorithm is called Random- Balls, and it invokes procedures called Ball- Checking and Full-Ball-Checking.
11
Ball-Checking algorithms
12
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
13
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. By induction of R (see reference)
14
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.
15
Full Ball Checking Procedure Full-Ball-Checking(F,A,R) Input: formula F over variables, assignment A, number R Output: satisfying assignment or “no” 1.Try each assignment A’ in B(A,R), if it satisfies F, return it. 2.Return “no”
16
Observation Full-Ball-Checking runs in time poly(n)mV(n,R)
17
Randomized algorithm
18
Lemma 3 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
19
Proofs of lemma 3
20
A bound of V(n,R) REVIEW!!
21
Probability of correctness So the prob. of correctness = 1 – 1/e > 1/2 Choosing N to be k times larger will reduce the probability of error to less than. Note this doesn’t ruin the time complexity we need.
22
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.
23
Ball-Checking algorithms REVIEW!!
24
Proof of lemma 4
25
Lemma 5 For any R, l, let p be the probability (taken over random assignment A) that Random- Balls invokes Full-Ball-Checking. Then
26
Proof of lemma 5
27
Proof of lemma 5(conti.)
28
Fact about H(x) The graph of H(x) is REVIEW!!
29
Theorem 1
30
Proof of theorem 1
31
Proof of Theorem 1(conti.)
32
Assign R=a,l=b,where a < b constants. We use the fact ln(1+x)=x+o(x).
33
Proof of theorem1(conti.)
34
Proof of Theorem 1 (conti.) Taking a=0.339, b=1.87, we have Φ,ψ>0.712, proving the theorem.
35
Reference 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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.