MAX-3SAT is NP-hard to approximate #
The unsatisfiability value CNF.unsatVal φ of a formula is the least proportion of its clauses
that an assignment falsifies (Complexity.Logics.Propositional.CNF.UnsatVal), and
1 - CNF.unsatVal φ is its value as an instance of MAX-SAT. GapThreeSAT s is the gap problem of
MAX-3SAT with perfect completeness: its instances are formulas whose clauses have at most three
literals, its yes-instances are the satisfiable ones (ThreeSAT) and its no-instances those in
which every assignment satisfies at most the proportion s of the clauses.
A binary constraint on labels written in k bits is a conjunction of clauses of width 2 k, one
excluding each pair of labels the constraint forbids Arora and Barak, Chapter 11.
Graph.toCNF writes a constraint graph this way, and splitting the clauses to width three
(Cslib.Complexity.toThreeSAT) gives a gap-preserving reduction from MAX-2CSP to MAX-3SAT: every
violated edge leaves a falsified clause, and each edge produces at most |α| ^ 2 * (2 k - 2)
clauses.
From the gap of Dinur's construction (Cslib.Complexity.GapTwoCSP_npHard) over 128 = 2 ^ 7
symbols, MAX-3SAT is NP-hard to approximate within 1 - 1 / (3 * 2 ^ 77): the loss is the factor
128 ^ 2 * 12 = 3 * 2 ^ 16. That MAX-3SAT is NP-hard to approximate within some constant is due to
Arora, Lund, Motwani, Sudan and Szegedy [ALM+98].
Main definitions #
Cslib.PCP.Encoded.Graph.toCNF: a constraint graph written as a formula.Cslib.Complexity.GapThreeSAT: the gap problem of MAX-3SAT with perfect completeness.
Main results #
Cslib.PCP.Encoded.Graph.div_le_unsatVal_toThreeSAT_toCNF: the gap-preserving bound.Cslib.Complexity.GapThreeSAT_npHard: distinguishing satisfiable 3CNF formulas from those in which every assignment satisfies at most the proportion1 - 1 / (3 * 2 ^ 77)of the clauses is NP-hard.
References #
Constraint graphs as formulas #
An assignment satisfies excludeClause e u v p exactly when it does not write the labels p
at u and v.
MAX-2CSP reduces to MAX-3SAT, preserving the gap: if every labelling of the constraint graph
violates the proportion ε of its edges, every assignment falsifies the proportion
ε / (pairs.length * max 1 (2 k - 2)) of the clauses of its formula, split to width three. Labels
are written in k bits, along e, and pairs lists every pair of labels.
Polynomial time #
The gap problem of MAX-3SAT with perfect completeness and soundness s. The instances are
the formulas whose clauses have at most three literals; their value is the largest proportion of
the clauses, counted with multiplicity, that an assignment satisfies. The yes-instances have value
one, the no-instances value at most s.
Instances For
The yes-instances of GapThreeSAT are the members of ThreeSAT.
For s < 1, the no-instances of GapThreeSAT are the formulas of width at most three in
which every assignment falsifies at least the proportion 1 - s of the clauses.
MAX-2CSP reduces to MAX-3SAT: for labels written in k bits along an equivalence e, the
gap problem of MAX-2CSP with soundness s < 1 reduces in polynomial time to that of MAX-3SAT with
soundness 1 - (1 - s) / (|α| ^ 2 * (2 k - 2)), through Cslib.PCP.Encoded.Graph.toCNF and
splitting to width three.
MAX-3SAT is NP-hard to approximate [ALM+98], Arora and Barak,
Chapter 11: distinguishing satisfiable formulas with at most three literals per
clause from those in which every assignment satisfies at most the proportion
1 - 1 / (3 * 2 ^ 77) of the clauses is NP-hard. The constant comes from Dinur's gap 2 ^ (-61)
over 128 = 2 ^ 7 symbols (GapTwoCSP_npHard), divided by 128 ^ 2 * 12 = 3 * 2 ^ 16 clauses per
edge.