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).
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:
The Karloff-Zwick algorithm runs in polynomial-time and satisfies âÂÂ¥ 7/8 of the clauses. While this algorithm is randomized, it can be derandomized using, e.g., the techniques from to yield a deterministic (polynomial-time) algorithm with the same approximation guarantees.
The PCP theorem implies that there exists an õ > 0 such that (1-õ)-approximation of MAX-3SAT is NP-hard.
Proof:
Any NP-complete problem by the PCP theorem. For x â L, a 3-CNF formula è<sub>x</sub> is constructed so that
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.
Next we try to find a Boolean formula to simulate this. We introduce Boolean variables x<sub>1</sub>,...,x<sub>l</sub>, 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.
It can be concluded that if this holds for every NP-complete problem then the PCP theorem must be true.
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. <blockquote> For every õ > 0, there is a PCP-verifier M for 3-SAT that reads a random string r of length and computes query positions i<sub>r</sub>, j<sub>r</sub>, k<sub>r</sub> in the proof àand a bit b<sub>r</sub>. It accepts if and only if ÃÂ(i<sub>r</sub>) â ÃÂ(j<sub>r</sub>) â ÃÂ(k<sub>r</sub>) = b<sub>r</sub>. </blockquote> The Verifier has completeness (1−õ) and soundness 1/2 + õ (refer to PCP (complexity)). The Verifier satisfies
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.
This is enough to prove the hardness of approximation ratio
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 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, and all B âÂÂ¥ 3 (which is best possible).
Moreover, although the decision problem 2SAT is solvable in polynomial time, MAX-2SAT(3) is also APX-hard.
The best possible approximation ratio for MAX-3SAT(B), as a function of B, is at least and at most , unless NP=RP. Some explicit bounds on the approximability constants for certain values of B are known.
Berman, Karpinski and Scott proved that for the "critical" instances of MAX-3SAT in which each literal occurs exactly twice, and each clause is exactly of size 3, the problem is approximation hard for some constant factor.
MAX-EkSAT is a parameterized 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.
It has been proved that random instances of MAX-3SAT can be approximated to within factor .
Lecture Notes from University of California, Berkeley Coding theory notes at University at Buffalo