210 likes | 387 Views
A non trivial (1- )-approximation alg. For Max-Sat. Ilan Newman Haifa University Joint work with: Guy Wolfovitz. Max-Sat: A CNF forula on n variables: F= AND(C 1 ,…, C m ) where each clause: C i = OR(t i1 ,t i2 ,…) and each t ij is a literal.
E N D
A non trivial (1-)-approximation alg. For Max-Sat Ilan Newman Haifa University Joint work with: Guy Wolfovitz
Max-Sat: A CNF forula on n variables: F= AND(C1,…, Cm) where each clause: Ci = OR(ti1,ti2,…) and each tijis a literal. Goal: Find an assignment to the variables that statisfies as many clauses as possible.
If every clause is of length at most k, F is called k-CNF. Note: we don’t have any restriction on the clause length.
Non-trivial Algorithms An Algorithm is non-trivial if there is a constant c such that the algorithm runs in (randomized) time at most cn for c< 2. (n is always the number of variables).
Previous Results The trivial algorithm – time 2^n poly(m). NP-hard to decide satisfiability NP-hard to approximate 3-sat better than 7/8-factor (Håstad 1997).
Many results on non-trivial algorithms for exact sat for O(1)-CNF formulae. [PPSZ05, CIKP03, IP01, IT03, D**02, HSSO-02, S99, BR99 …….]. Hirsch 2000 – a non trivial algorithm for (1-)-approximation for k-cnf in time cn for some c=c(k,) < 2. What about general CNF ?
Results here An non-trivial algorithm for (1-)-approximation of max-sat in general CNF formulae. Inspiration: Hirsch algorithm that is based on Schöning algorithm.
Schöning Algorithm – Alg. A • Pick a random assignment α1 to the variables. • Repeat for r=3n times: • choose a clause C that is not satisfied by αi. • choose a random literal t C and flip its value in αito result inαi+1. • Return the αs that satisfies max no. of clauses.
Pick a random assignment α1 to the variables • Repeat for r=3n times: • choose a clause C that is not satisfied by αi. • choose a random literal • t C and flip its value in αi to result in αi+1. • Return the αr that satisfies max no. of clauses. Thm [Schöning] If F is k-CNF then, Prob(A finds a satisfying α) > [2(1-1/k)]-n Proof: Fix a satisfying assignment α* of F. We consider the hamming distance between αi and α* as a random walk on the line: S1,… ,Sr are the distances.
Pick a random assignment α1 to the variables. • Repeat for r=3n times: • choose a clause C that is not satisfied by αi. • choose a random literal t C and flip its value in αi to result in αi+1. • Return the αr that satisfies max no. of clauses. • Pr(Si = Si-1 +1) ≤ 1-1/k • Pr(Si = Si-1 -1) ≥ 1/k, • Pr(S1 = j) =( ) 2-n • Pr(success| S1=j) > (1/(k-1))j. • Pr(success) > (2(1-1/k))-n
Hirsch Algorithm – max_sat *Input: F is k-CNF. • Pick a random assignment α to the variables. • Repeat for r=3n times: • choose a random clause C that is not satisfied by α. • choose a random literal t C and flip its value in α. • Return the αi that satisfies max no. of caluses.
Analysis: Let Br = the event that αr satisfies less than (1- )opt(F) clauses. Let B = Br , let α* be the assignment than achieves opt(F). As long as B occurs the random walk behaves exactly as for k-CNF with prob of going left = /(2k).
This implies, Pr( ( i, αi = α*) U BC) > (2- /2k)-n.
Our Result Def. – A clause C is δ-critical w.r.t a (partial) assignment α if α satidfies at most δ-fraction of the literals in C.
Alg.F is a general CNF formula. • F1=F, n1=n, • For i=1 to δn • vi = max_sat(Fi) + |F|-|Fi|+ ξi • Let Ci = set of caluses of Fi of length at least 1/ δ. • If Ci Ø choose a random C Ci and a random δ-critical assignment α for C. • Let Fi+1 be Fi(α). • Return max vi
F1=F, n1=n, • For i=1 to δn • vi = max_sat(Fi) + |F|-|Fi| +ξi • Let Ci = set of caluses of Fi of length at least 1/ δ. • If Ci Ø choose a random • C Ci and a random δ-critical assignment α for C. • Let Fi+1 be Fi(α). • Return max vi Analysis: Let α*be the opt-assignment. A success will be that some vi satisfies at least (1- )opt(F) , or that we have assigned correctly (as inα*) k variables in a clause (w. prob. 2-ck, for c<1). Let Ai = “vi > (1- )opt(F) “ Let Si = U{k ≥i} Ak. Pr(suc.) > min( Pr(A1| B1), Pr(S2|B1C)) Let Bi = “at most μ-fraction of the clauses in Ci are δ-critical w.r.t. α*“.
Bounding Pr(A1| B1): If B1 occurs then the probability of choosing a non-critical clause in max_sat, and choosing the `right’ literal is f(, μ)). Hence, going left in the random walk is at least (2- f(, μ))-n.
Bounding Pr(S2|B1C) with respect to F2 Since B1C occurred, the clause chosen at step 5 is δ-critical w.r.t. α* with probability at least μ. If this happens, then α chosen at step 6 is δ-critical assignment for C, with probability 2-H(δ)k and we delete k variables for F – -> F2. • F1=F, n1=n, • For i=1 to δn • vi = max_sat(Fi) + |F|-|Fi| • Let Ci = set of caluses of Fi of length at least 1/ δ. • If Ci Ø choose a random • C Ci and a random δ-critical assignment α for C. • Let Fi+1 be Fi(α). • Return max vi
Pr(S2)> min(Pr(A2| B2,), Pr(S3|B2C,)) We now bound Pr(A2| B2) with respect toF2assuming thatF2is already restricted to the correct kvariables in the same way….QED
Open Problems • Find a non-trivial algorithm for general CNF. • Find a better approximation alg. --- can one use the structure of the formula.