MAX-3SAT
   HOME

TheInfoList



OR:

MAX-3SAT is a problem in the
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations ...
subfield of
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
. It generalises the
Boolean satisfiability problem In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an Interpretation (logic), interpretation that Satisf ...
(SAT) which is a
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
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 Complete may refer to: Logic * Completeness (logic) * Completeness of a theory, the property of a theory that every formula in the theory's language or its negation is provable Mathematics * The completeness of the real numbers, which implies t ...
problem for the complexity class
MAXSNP In computational complexity theory, SNP (from Strict NP) is a complexity class containing a limited subset of NP based on its logical characterization in terms of graph-theoretical properties. It forms the basis for the definition of the class M ...
(shown complete in Papadimitriou pg. 314).


Approximability

The decision version of MAX-3SAT is
NP-complete In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''. Somewhat more precisely, a problem is NP-complete when: # It is a decision problem, meaning that for any ...
. Therefore, a
polynomial-time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
solution can only be achieved if
P = NP The P versus NP problem is a major unsolved problem in theoretical computer science. Informally, it asks whether every problem whose solution can be quickly verified can also be quickly solved. Here, "quickly" means an algorithm exists that ...
. 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 In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
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.


Theorem 1 (inapproximability)

The
PCP theorem In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
implies that there exists an ''ε'' > 0 such that (1-''ε'')-approximation of MAX-3SAT is
NP-hard In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
. Proof: Any
NP-complete In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''. Somewhat more precisely, a problem is NP-complete when: # It is a decision problem, meaning that for any ...
problem by the
PCP theorem In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
. 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 ''R''i ∈ ''V'', we obtain poly(''x'') strings since the length of each string r(x) = O(\log , x, ). * For each ''R''i ** ''V'' chooses ''q'' positions ''i''1,...,''i''q and a Boolean function ''f''R: q-> and accepts if and only if ''f''R(π(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 ''x''1,...,''x''l, where ''l'' is the length of the proof. To demonstrate that the Verifier runs in
Probabilistic Probability is a branch of mathematics and statistics concerning events and numerical descriptions of how likely they are to occur. The probability of an event is a number between 0 and 1; the larger the probability, the more likely an e ...
polynomial-time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
, we need a correspondence between the number of satisfiable clauses and the probability the Verifier accepts. * For every ''R'', add clauses representing ''f''R(''x''i1,...,''x''iq) using 2q
SAT The SAT ( ) is a standardized test widely used for college admissions in the United States. Since its debut in 1926, its name and Test score, scoring have changed several times. For much of its history, it was called the Scholastic Aptitude Test ...
clauses. Clauses of length ''q'' are converted to length 3 by adding new (auxiliary) variables e.g. ''x''2 ∨ ''x''10 ∨ ''x''11 ∨ ''x''12 = ( ''x''2 ∨ ''x''10 ∨ ''y''R) ∧ ( R ∨ ''x''11 ∨ ''x''12). This requires a maximum of ''q''2q
3-SAT In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an interpretation that satisfies a given Boolean f ...
clauses. * If ''z'' ∈ ''L'' then ** there is a proof π such that ''V''π (''z'') accepts for every ''R''i. ** All clauses are satisfied if ''x''''i'' = ''π''(''i'') and the auxiliary variables are added correctly. * If input ''z'' ∉ ''L'' then ** For every assignment to ''x''1,...,''x''l and ''y''R's, the corresponding proof π(''i'') = ''x''i causes the Verifier to reject for half of all ''R'' ∈ ''r''(, ''z'', ). *** For each ''R'', one clause representing ''f''R fails. *** Therefore, a fraction \frac \frac of clauses fails. It can be concluded that if this holds for every
NP-complete In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''. Somewhat more precisely, a problem is NP-complete when: # It is a decision problem, meaning that for any ...
problem then the
PCP theorem In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
must be true.


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 In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an interpretation that satisfies a given Boolean f ...
that reads only 3 bits from the Proof.
For every ''ε'' > 0, there is a PCP-verifier M for
3-SAT In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an interpretation that satisfies a given Boolean f ...
that reads a random string ''r'' of length 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) In computational complexity theory, a probabilistically checkable proof (PCP) is a type of proof that can be checked by a randomized algorithm using a bounded amount of randomness and reading a bounded number of bits of the proof. The algorithm ...
). The Verifier satisfies :z \in L \implies \exists \pi Pr ^ (z) = 1\ge 1 - \epsilon :z \not \in L \implies \forall \pi Pr ^ (z) = 1\le \frac + \epsilon 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 The P versus NP problem is a major unsolved problem in theoretical computer science. Informally, it asks whether every problem whose solution can be quickly verified can also be quickly solved. Here, "quickly" means an algorithm exists that ...
. * 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 :\frac = \frac + \epsilon'


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 In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
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'' ≥ 3Ausiello, 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. (which is best possible). Moreover, although the decision problem
2SAT In computer science, 2-satisfiability, 2-SAT or just 2SAT is a computational problem of assigning values to variables, each of which has two possible values, in order to satisfy a system of constraints on pairs of variables. It is a special case ...
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 7/8+\Omega(1/B) and at most 7/8+O(1/\sqrt), 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 1- (1/2)^ using ideas from
coding theory Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data sto ...
. It has been proved that random instances of MAX-3SAT can be approximated to within factor . W.F.de la Vega and M.Karpinski, 9/8-Approximation Algorithm for Random MAX-3SAT
ECCC TR 02-070 (2002)
RAIRO-Operations Research 41 (2007), pp.95-107]


References

{{reflist}
Lecture Notes from University of California, BerkeleyCoding theory notes at University at Buffalo
Satisfiability problems NP-hard problems