From Wikipedia, the free encyclopedia

Overview

MAX-3SAT is a language in the Computational Complexity subfield of Computer Science. It is a special case of the Boolean satisfiability problem (SAT) which is a decision problem considered in complexity theory. Informally it can be 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.

Approximability

An exact solution of MAX-3SAT is NP-hard. 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.

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 LPCP(O(log (n)), O(1)) by the PCP Theorem. For x ∈ L, a 3-CNF formula Ψx is constructed so that

  • xL ⇒ Ψx is satisfiable
  • xL ⇒ 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 RiV, 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 and accepts iff 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 correspondance 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. x2x10x11x12 = ( x2x10yR) ∧ ( x11x12). This requires a maximum of q2q 3-SAT clauses.
  • If zL 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 zL 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.

It can be concluded that if this holds for every NP-complete problem then the PCP Theorem must be true.

Related problems

MAX-3SAT(13) is a restricted version of MAX-3SAT where every variable occurs in at most 13 clauses.

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 iff

π(ir) ⊕ π(jr) ⊕ π(kr) ⊕ = br.

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.

  • 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

References

Luca Trevisan's Lecture Notes

University of California, Berkeley http://www.cs.berkeley.edu/~luca/notes/