|
|
Line 1: |
Line 1: |
| '''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 [[computational complexity theory|complexity theory]]. It is defined as:
| | Greetings. Allow me begin by telling you the writer's name - Phebe. What I love doing is to gather badges but I've been taking on new issues recently. Since she was 18 she's been operating as a receptionist but her marketing by no means comes. My family life in Minnesota and my family enjoys it.<br><br>Here is my page - [http://www.buzzbit.net/blog/333162 at home std testing] |
| | |
| ''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 (complexity)|complete]] problem for the complexity class [[MAXSNP]] (shown complete in Papadimitriou pg. 314).
| |
| | |
| == 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.
| |
| | |
| == 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 Ψ<sub>x</sub> is constructed so that
| |
| | |
| * ''x'' ∈ ''L'' ⇒ Ψ<sub>x</sub> is satisfiable
| |
| * ''x'' ∉ ''L'' ⇒ no more than (1-ε)m clauses of Ψ<sub>x</sub> 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''<sub>i</sub> ∈ ''V'', we obtain ''poly(x)'' strings since the length of each string ''r(x) = O(log |x|)''.
| |
| * For each ''R''<sub>i</sub>
| |
| ** ''V'' chooses ''q'' positions ''i''<sub>1</sub>,...,''i''<sub>q</sub> and a Boolean function ''f''<sub>R</sub>: {0,1}<sup>q</sup>->{0,1} and accepts if and only if ''f''<sub>R</sub>(π(i<sub>1</sub>,...,i<sub>q</sub>)). Here π refers to the proof obtained from the Oracle.
| |
| | |
| Next we try to find a [[Boolean logic|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.
| |
| | |
| * For every ''R'', add clauses representing ''f''<sub>R</sub>(''x''<sub>i1</sub>,...,''x''<sub>iq</sub>) using 2<sup>q</sup> [[SAT]] clauses. Clauses of length ''q'' are converted to length 3 by adding new (auxiliary) variables e.g. ''x''<sub>2</sub> ∨ ''x''<sub>10</sub> ∨ ''x''<sub>11</sub> ∨ ''x''<sub>12</sub> = ( ''x''<sub>2</sub> ∨ ''x''<sub>10</sub> ∨ ''y''<sub>R</sub>) ∧ ( <math>\bar{y_R}</math> ∨ ''x''<sub>11</sub> ∨ ''x''<sub>12</sub>). This requires a maximum of ''q''2<sup>q</sup> [[3-SAT]] clauses.
| |
| * If ''z'' ∈ ''L'' then
| |
| ** there is a proof π such that ''V''<sup>π</sup> (''z'') accepts for every ''R''<sub>i</sub>.
| |
| ** All clauses are satisfied if ''x''<sub>''i''</sub> = π(''i'') and the auxiliary variables are added correctly.
| |
| * If input ''z'' ∉ ''L'' then
| |
| ** For every assignment to ''x''<sub>1</sub>,...,''x''<sub>l</sub> and ''y''<sub>R</sub>'s, the corresponding proof π(''i'') = ''x''<sub>i</sub> causes the Verifier to reject for half of all ''R'' ∈ {0,1}<sup>''r''(|''z''|)</sup>.
| |
| *** For each ''R'', one clause representing ''f''<sub>R</sub> fails.
| |
| *** Therefore a fraction <math>\frac{1}{2} \frac{1}{q2^{q}}</math> of clauses fails.
| |
| | |
| It can be concluded that if this holds for every [[NP-complete]] problem then the [[PCP theorem]] 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]] 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 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>.''
| |
| | |
| The Verifier has ''completeness'' (1-ε) and ''soundness'' 1/2 + ε (refer to [[PCP (complexity)]]). The Verifier satisfies
| |
| | |
| <math>z \in L \implies \exists \pi Pr[V^{\pi} (x) = 1] \ge 1 - \epsilon</math>
| |
| | |
| <math>z \not \in L \implies \forall \pi Pr[V^{\pi} (x) = 1] \le \frac{1}{2} + \epsilon</math>
| |
| | |
| 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
| |
| | |
| <math>\frac{1-\frac{1}{4}(\frac{1}{2}-\epsilon)}{1-\epsilon} = \frac{7}{8} + \epsilon'</math>
| |
| | |
| == Related problems == <!--MAX-3SAT(13) redirects here-->
| |
| | |
| '''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<ref>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.</ref> 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'',<ref>Rudich et al., "Computational Complexity Theory," IAS/Park City Mathematics Series, 2004 page 108 ISBN 0-8218-2872-X</ref><ref>Sanjeev Arora, "[http://www.cs.princeton.edu/~arora/pubs/thesis.pdf 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.</ref> and all ''B ≥ 3''<ref name="acgkmsp">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.</ref> (which is best possible).
| |
| | |
| Moreover, although the decision problem [[2SAT]] is solvable in polynomial time, '''[[MAX-2SAT]](3)''' is also APX-hard.<ref name="acgkmsp" />
| |
| | |
| The best possible approximation ratio for '''MAX-3SAT(B),''' as a function of ''B,'' is at least <math>7/8+\Omega(1/B)</math> and at most <math>7/8+O(1/\sqrt{B})</math>,<ref>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</ref> unless '''NP'''='''RP'''. Some explicit bounds on the approximability constants for certain values of ''B'' are known.<ref>On some tighter inapproximability results, Piotr Berman and Marek Karpinski, Proc. ICALP 1999, pages 200--209.</ref>
| |
| <ref>P. Berman and M. Karpinski, Improved Approximation Lower Bounds on Small Occurrence Optimization,
| |
| [http://eccc.hpi-web.de/report/2003/008/ ECCC TR 03-008 (2003)]
| |
| </ref>
| |
| <ref>P. Berman, M. Karpinski and A. D. Scott, Approximation Hardness and Satisfiability of Bounded Occurrence Instances of SAT,
| |
| [http://eccc.hpi-web.de/report/2003/022/ ECCC TR 03-022 (2003)].</ref> 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.<ref>
| |
| P. Berman, M. Karpinski and A. D. Scott, Approximation Hardness of Short Symmetric Instances of MAX-3SAT,
| |
| [http://eccc.hpi-web.de/report/2003/049/ ECCC TR 03-049 (2003).]</ref>
| |
| | |
| [[MAXEkSAT|MAX-EkSAT]] is a paramaterized version of '''MAX-3SAT''' where every clause has ''exactly'' <math>k</math> literals, for ''k'' ≥ 3. It can be efficiently approximated with approximation ratio <math>1- (1/2)^{k}</math> using ideas from [[error correcting codes|coding theory]].
| |
| | |
| It has been proved that random instances of '''MAX-3SAT''' can be approximated to within factor 9/8.<ref>
| |
| W.F.de la Vega and M.Karpinski, 9/8-Approximation Algorithm for Random MAX-3SAT,
| |
| [http://eccc.hpi-web.de/report/2002/070/ ECCC TR 02-070 (2002)];RAIRO-Operations Research 41(2007),pp.95-107]</ref>
| |
| | |
| == References ==
| |
| | |
| {{reflist}}
| |
| [http://www.cs.berkeley.edu/~luca/notes/ Lecture Notes from University of California, Berkeley] | |
| [http://www.cse.buffalo.edu/~atri/courses/coding-theory/ Coding theory notes at University at Buffalo]
| |
| | |
| [[Category:Satisfiability problems]]
| |
| [[Category:NP-hard problems]]
| |