MAX-3SAT
|
|
It has been suggested that (SAT,_ε-UNSAT) be merged into this article or section. (Discuss) Proposed since August 2009. |
MAX-3SAT is a problem in the computational complexity subfield of computer science. It generalises the Boolean satisfiability problem (SAT) which is a decision problem considered in complexity theory. It is defined as:
Given a 3-CNF formula Φ (i.e. with at most 3 variables per clause), Find an assignment that satisfies the largest number of clauses.
MAX-3SAT is a canonical complete problem for the complexity class MAXSNP (shown complete in Papadimitriou pg. 314).
Contents |
[edit] Approximability
The decision version of MAX-3SAT is NP-complete. Therefore, a polynomial-time solution can only be achieved if P = NP. An approximation within a factor of 2 can be achieved with this simple algorithm, however:
- Output the solution in which most clauses are satisfied, when either all variables = TRUE or all variables = FALSE.
- Every clause is satisfied by one of the two solutions, therefore one solution satisfies at least half of the clauses.
The Karloff-Zwick algorithm runs in polynomial-time and satisfies ≥ 7/8 of the clauses.
[edit] Theorem 1 (Inapproximability)
The PCP theorem implies that there exists an ε > 0 such that (1-ε)-approximation of MAX-3SAT is NP-hard.
Proof:
Any NP-complete problem L ∈ PCP(O(log (n)), O(1)) by the PCP theorem. For x ∈ L, a 3-CNF formula Ψx is constructed so that
- x ∈ L ⇒ Ψx is satisfiable
- x ∉ L ⇒ no more than (1-ε)m clauses of Ψx are satisfiable.
The Verifier V reads all required bits at once i.e. makes non-adaptive queries. This is valid because the number of queries remains constant.
- Let q be the number of queries.
- Enumerating all random strings Ri ∈ V, we obtain poly(x) strings since the length of each string r(x) = O(log |x|).
- For each Ri
- V chooses q positions i1,...,iq and a Boolean function fR: {0,1}q->{0,1} and accepts if and only if fR(π(i1,...,iq)). Here π refers to the proof obtained from the Oracle.
Next we try to find a Boolean formula to simulate this. We introduce Boolean variables x1,...,xl, where l is the length of the proof. To demonstrate that the Verifier runs in Probabilistic polynomial-time, we need a correspondence between the number of satisfiable clauses and the probability the Verifier accepts.
- For every R, add clauses representing fR(xi1,...,xiq) using 2q SAT clauses. Clauses of length q are converted to length 3 by adding new (auxiliary) variables e.g. x2 ∨ x10 ∨ x11 ∨ x12 = ( x2 ∨ x10 ∨ yR) ∧ (
∨ x11 ∨ x12). This requires a maximum of q2q 3-SAT clauses. - If z ∈ L then
- there is a proof π such that Vπ (z) accepts for every Ri.
- All clauses are satisfied if xi = π(i) and the auxiliary variables are added correctly.
- If input z ∉ L then
- For every assignment to x1,...,xl and yR's, the corresponding proof π(i) = xi causes the Verifier to reject for half of all R ∈ {0,1}r(|z|).
- For each R, one clause representing fR fails.
- Therefore a fraction
of clauses fails.
- For every assignment to x1,...,xl and yR's, the corresponding proof π(i) = xi causes the Verifier to reject for half of all R ∈ {0,1}r(|z|).
It can be concluded that if this holds for every NP-complete problem then the PCP theorem must be true.
[edit] Theorem 2
Håstad demonstrates a tighter result than Theorem 1 i.e. the best known value for ε.
He constructs a PCP Verifier for 3-SAT that reads only 3 bits from the Proof.
For every ε > 0, there is a PCP-verifier M for 3-SAT that reads a random string r of length O(log(n)) and computes query positions ir, jr, kr in the proof π and a bit br. It accepts if and only if
π(ir) ⊕ π(jr) ⊕ π(kr) ⊕ = br.
The Verifier has completeness (1-ε) and soundness 1/2 + ε (refer to PCP (complexity)). The Verifier satisfies
![z \in L \implies \exists \pi Pr[V^{\pi} (x) = 1] \ge 1 - \epsilon](http://upload.wikimedia.org/wikipedia/en/math/6/3/e/63e9b62a2f08c104a75e5bbfc2d928c9.png)
![z \not \in L \implies \forall \pi Pr[V^{\pi} (x) = 1] \le \frac{1}{2} + \epsilon](http://upload.wikimedia.org/wikipedia/en/math/a/a/2/aa22564948e86b29216130f756af7a19.png)
If the first of these two equations were equated to "=1" as usual, one could find a proof π by solving a system of linear equations (see MAX-3LIN-EQN) implying P = NP.
- If z ∈ L, a fraction ≥ (1- ε) of clauses are satisfied.
- If z ∉ L, then for a (1/2- ε) fraction of R, 1/4 clauses are contradicted.
This is enough to prove the hardness of approximation ratio 
[edit] Related problems
MAX-3SAT(B) is the restricted special case of MAX-3SAT where every variable occurs in at most B clauses. Before the PCP theorem was proven, Papadimitriou and Yannakakis[1] showed that for some fixed constant B, this problem is MAX SNP-hard. Consequently with the PCP theorem, it is also APX-hard. This is useful because MAX-3SAT(B) can often be used to obtain a PTAS-preserving reduction in a way that MAX-3SAT cannot. Proofs for explicit values of B include: all B ≥ 13[2][3], and all B ≥ 3[4] (which is best possible).
Moreover, although the decision problem 2SAT is solvable in polynomial time, MAX-2SAT(3) is also APX-hard[4].
The best possible approximation ratio for MAX-3SAT(B), as a function of B, is at least
and at most
[5], unless NP=RP. Some explicit bounds on the approximability constants for certain values of B are known.[6]
MAX-EkSAT is a paramaterized version of MAX-3SAT where every clause has exactly
literals, for k ≥ 3. It can be efficiently approximated with approximation ratio
using ideas from coding theory.
[edit] References
- ^ Christos Papadimitriou and Mihalis Yannakakis, Optimization, approximation, and complexity classes, Proceedings of the twentieth annual ACM symposium on Theory of computing, p.229-234, May 02-04, 1988.
- ^ Rudich et al., "Computational Complexity Theory," IAS/Park City Mathematics Series, 2004 page 108 ISBN 0-8218-2872-X
- ^ Sanjeev Arora, "Probabilistic Checking of Proofs and Hardness of Approximation Problems," Revised version of a dissertation submitted at CS Division, U C Berkeley, in August 1994. CS-TR-476-94. Section 7.2.
- ^ a b Ausiello, G., Crescenzi, P., Gambosi, G., Kann, V., Marchetti Spaccamela, A., and Protasi, M. (1999), Complexity and Approximation. Combinatorial Optimization Problems and their Approximability Properties, Springer-Verlag, Berlin. Section 8.4.
- ^ Luca Trevisan. 2001. Non-approximability results for optimization problems on bounded degree instances. In Proceedings of the thirty-third annual ACM symposium on Theory of computing (STOC '01). ACM, New York, NY, USA, 453-461. DOI=10.1145/380752.380839 http://doi.acm.org/10.1145/380752.380839
- ^ On some tighter inapproximability results, Piotr Berman and Marek Karpinski, Proc. ICALP 1999, pages 200--209.
Lecture Notes from University of California, Berkeley Coding theory notes at University at Buffalo
∨ x11 ∨ x12). This requires a maximum of q2q
of clauses fails.