|
|
Line 1: |
Line 1: |
| In [[computational complexity theory]], a branch of [[computer science]], '''Schaefer's dichotomy theorem''' states necessary and sufficient conditions under which a finite set ''S'' of relations over the Boolean domain yields [[P (complexity)|polynomial-time]] or [[NP-complete]] problems when the relations of ''S'' are used to constrain some of the [[propositional variable]]s.<ref>{{cite conference
| | Myrtle Benny is how I'm known as and I really feel comfortable when people use the full title. To collect cash is what his family members and him appreciate. Hiring has been my profession for some time but I've currently utilized for an additional 1. Puerto Rico is exactly where he's been living for years and he will never transfer.<br><br>my web-site - [http://dtekorea.com/xe/DS_030111/1073195 http://dtekorea.com/xe/DS_030111/1073195] |
| | first=Thomas J.
| |
| | last=Schaefer
| |
| | title=The Complexity of Satisfiability Problems
| |
| | booktitle=STOC 1978
| |
| | pages=216–226
| |
| | year=1978
| |
| | doi=10.1145/800133.804350
| |
| }}
| |
| </ref>
| |
| It is called a '''dichotomy theorem''' because the complexity of the problem defined by ''S'' is either in P or NP-complete as opposed to one of the classes of [[NP-intermediate|intermediate complexity]] that is known to exist (assuming [[P versus NP problem|P ≠ NP]]) by [[Ladner's theorem]].
| |
| | |
| Special cases of Schaefer's dichotomy theorem include the NP-completeness of SAT (the [[Boolean satisfiability problem]]) and its two popular variants [[One-in-three 3SAT|1-in-3 SAT]] and Not-All-Equal 3SAT (often denoted by NAE-3SAT). In fact, for these two variants of SAT, Schaefer's dichotomy theorem shows that their monotone versions (where negations of variables are not allowed) are also NP-complete.
| |
| | |
| == Original presentation ==
| |
| Schaefer defines a [[decision problem]] that he calls the Generalized Satisfiability problem for ''S'' (denoted by SAT(''S'')). An instance of the problem is an ''S''-formula, i.e. a conjunction of constraints of the form <math>R(x_{i_1}, \ldots , x_{i_n})</math> where R is a relation in ''S'' and the <math>x_{i_j}</math> are propositional variables. The problem is to determine whether the given formula is satisfiable, in other words if the variables can be assigned values such that they satisfy all the constraints.
| |
| | |
| Schaefer identifies six classes of sets of Boolean relations for which SAT(''S'') is in P and proves that all other sets of relations generate an NP-complete problem. A finite set of relations ''S'' over the Boolean domain defines a polynomial time computable satisfiability problem if any one of the following conditions holds:
| |
| | |
| # all relations which are not constantly false are true when all its arguments are true;
| |
| # all relations which are not constantly false are true when all its arguments are false;
| |
| # all relations are equivalent to a conjunction of binary clauses;
| |
| # all relations are equivalent to a conjunction of [[Horn clause]]s;
| |
| # all relations are equivalent to a conjunction of dual-Horn clauses;
| |
| # all relations are equivalent to a conjunction of affine formulae. <ref>Schaefer (1978, p.218 left) defines an '''affine formula''' to be of the form ''x''<sub>1</sub> ⊕ ... ⊕ ''x''<sub>''n''</sub> = ''c'', where each ''x''<sub>''i''</sub> is a variable, ''c'' is a constant, i.e. ''true'' or ''false'', and "⊕" denotes [[XOR]], i.e. addition in a [[Boolean ring]].</ref>
| |
| | |
| Otherwise, the problem SAT(''S'') is NP-complete.
| |
| | |
| == Modern presentation ==
| |
| A modern, streamlined presentation of Schaefer's theorem is given in an expository paper by Hubie Chen.<ref>{{cite journal|first1=Hubie|last1=Chen|date=December 2009|title=A Rendezvous of Logic, Complexity, and Algebra|journal=ACM Computing Surveys|publisher=ACM|doi=10.1145/1592451.1592453|pages=1 |volume=42|issue=1}}</ref><ref>{{cite journal|first1=Hubie|last1=Chen|date=December 2006|title=A Rendezvous of Logic, Complexity, and Algebra|journal=SIGACT News (Logic Column)|publisher=ACM|url=http://arxiv.org/pdf/cs/0611018v1}}</ref> In modern terms, the problem SAT(''S'') is viewed as a [[constraint satisfaction problem]] over the [[Boolean domain]]. In this area, it is standard to denote the set of relations by Γ and the decision problem defined by Γ as CSP(Γ).
| |
| | |
| This modern understanding uses algebra, in particular, [[universal algebra]]. For Schaefer's dichotomy theorem, the most important concept in universal algebra is that of a polymorphism. An operation <math>f : D^m \to D</math> is a polymorphism of a relation <math>R \subseteq D^k</math> if, for any choice of ''m'' tuples <math>(t_{11}, \dotsc, t_{1k}), \dotsc, (t_{m1}, \dotsc, t_{mk})</math> from ''R'', it holds that the tuple obtained from these ''m'' tuples by applying ''f'' coordinate-wise, i.e. <math>(f(t_{11}, \dotsc, t_{m1}), \dotsc, f(t_{1k}, \dotsc, t_{mk}))</math>, is in ''R''. That is, an operation ''f'' is a polymorphism of ''R'' if ''R'' is closed under ''f'': applying ''f'' to any tuples in ''R'' yields another tuple inside ''R''. A set of relations Γ is said to have a polymorphism ''f'' if every relation in Γ has ''f'' as a polymorphism. This definition allows for the algebraic formulation of Schaefer's dichotomy theorem.
| |
| | |
| Let Γ be a finite constraint language over the Boolean domain. The problem CSP(Γ) is decidable in polynomial-time if Γ has one of the following six operations as a polymorphism:
| |
| | |
| # the constant unary operation 0;
| |
| # the constant unary operation 1;
| |
| # the binary AND operation ∧;
| |
| # the binary OR operation ∨;
| |
| # the ternary majority operation <math>\operatorname{Majority}(x,y,z) = (x \wedge y) \vee (x \wedge z) \vee (y \wedge z);</math>
| |
| # the ternary minority operation <math>\operatorname{Minority}(x,y,z) = x \oplus y \oplus z.</math>
| |
| | |
| Otherwise, the problem CSP(Γ) is NP-complete.
| |
| | |
| In this formulation, it is easy to check if any of the tractability conditions hold.
| |
| | |
| == Properties of Polymorphisms ==
| |
| | |
| Given a set Γ of relations, there is a surprisingly close connection between its polymorphisms and the computational complexity of CSP(Γ).
| |
| | |
| A relation ''R'' is called '''primitive positive definable''', or short '''pp-definable''', from a
| |
| set Γ of relations if ''R''(''v''<sub>1</sub>, ... , ''v''<sub>''k''</sub>) ⇔ ∃''x''<sub>1</sub> ... ''x''<sub>''m''</sub>. ''C'' holds for some conjunction ''C'' of constraints from Γ and equations over the variables {''v''<sub>1</sub>,...,''v''<sub>''k''</sub>, ''x''<sub>1</sub>,...,''x''<sub>''m''</sub>}.
| |
| For example, if Γ consists of the ternary relation ''nae''(''x'',''y'',''z'') holding if ''x'',''y'',''z'' are not all equal, and ''R''(''x'',''y'',''z'') is ''x''∨''y''∨''z'', then ''R'' can be pp-defined by ''R''(''x'',''y'',''z'') ⇔ ∃''a''. ''nae''(0,''x'',''a'') ∧ ''nae''(''y'',''z'',¬''a''); this reduction has been used to prove that NAE-3SAT is NP-complete.
| |
| The set of all relations which are pp-definable from Γ is denoted by ≪Γ≫.
| |
| If Γ' ⊆ ≪Γ≫ for some finite constraint sets Γ and Γ', then CSP(Γ') [[Reduction (complexity)|reduces]] to CSP(Γ).<ref>Chen (2006), p.8, Proposition 3.9; Chen uses polynomial-time [[many-one reduction]]</ref>
| |
| | |
| Given a set Γ of relations, ''Pol''(Γ) denotes the set of polymorphisms of Γ.
| |
| Conversely, if ''O'' is a set of operations, then ''Inv''(''O'') denotes the set of relations having all operations in ''O'' as a polymorphism.
| |
| ''Pol'' and ''Inv'' together build a [[Galois connection]].
| |
| For any finite set Γ of relations over a finite domain, ≪Γ≫ = Inv(Pol(Γ)) holds, that is, the set of relations pp-definable from Γ can be derived from the polymorphisms of Γ.<ref>Chen (2006), p.9, Theorem 3.13</ref> Moreover, if ''Pol''(Γ) ⊆ ''Pol(Γ')'' for two finite relation sets Γ and Γ', then Γ' ⊆ ≪Γ≫ and CSP(Γ') reduces to CSP(Γ). As a consequence, two relation sets having the same polymorphisms lead to the same computational complexity.<ref>Chen (2006), p.11, Theorem 3.15</ref>
| |
| | |
| == Generalizations ==
| |
| The analysis was later fine-tuned: CSP(Γ) is either solvable in co-NLOGTIME, [[L (complexity)|L-complete]], [[NL-complete]], ⊕L-complete, [[P-complete]] or NP-complete and given Γ, one can decide in polynomial time which of these cases holds.<ref>{{cite journal|first1=Eric|last1=Allender|first2=Michael|last2=Bauland|first3=Neil|last3=Immerman |first4=Henning|last4=Schnoor|first5=Heribert |last5=Vollmer|date=June 2009 (available online since January 2009)|title=The complexity of satisfiability problems: Refining Schaefer's theorem|journal=Journal of Computer and System Sciences|publisher=Elsevier|doi=10.1016/j.jcss.2008.11.001 |volume=75|issue=4|pages=245–254|url=http://www.sciencedirect.com/science/article/pii/S0022000008001141/pdf?md5=68e2d02f931ea20e41fd882400998931&pid=1-s2.0-S0022000008001141-main.pdf|url=http://www.cs.umass.edu/~immerman/pub/cspJCSS.pdf|accessdate=2013-09-19}}</ref>
| |
| | |
| Schaefer's dichotomy theorem was recently generalized to a larger class of relations.<ref>{{cite journal
| |
| | last1 = Bodirsky
| |
| | first1 = Manuel
| |
| | last2 = Pinsker
| |
| | first2 = Michael
| |
| | year = 2010
| |
| | title = Schaefer's theorem for graphs
| |
| | pages = 2894
| |
| | journal = CoRR
| |
| | volume = abs/1011.2894
| |
| | arxiv = 1011.2894
| |
| | bibcode = 2010arXiv1011.2894B}}</ref>
| |
| | |
| == Related work ==
| |
| If the problem is to count the number of solutions, which is denoted by #CSP(Γ), then a similar result by Creignou and Hermann holds.<ref>{{cite journal
| |
| | last1 = Creignou
| |
| | first1 = Nadia
| |
| | last2 = Hermann
| |
| | first2 = Miki
| |
| | year = 1996
| |
| | title = Complexity of generalized satisfiability counting problems
| |
| | journal = Information and Computation
| |
| | volume = 125
| |
| | issue = 1
| |
| | pages = 1-12
| |
| | issn = 0890-5401
| |
| | doi = 10.1006/inco.1996.0016
| |
| | url = http://www.sciencedirect.com/science/article/pii/S0890540196900164
| |
| }}</ref>
| |
| | |
| Let Γ be a finite constraint language over the Boolean domain. The problem #CSP(Γ) is computable in polynomial-time if Γ has a Mal'tsev operation as a polymorphism. Otherwise, the problem #CSP(Γ) is [[Sharp-P-complete|#P-complete]].
| |
| | |
| A Mal'tsev operation ''m'' is a ternary operation that satisfies <math>m(x,y,y) = m(y,y,x) = x.</math> An example of a Mal'tsev operation is the Minority operation given in the modern, algebraic formulation of Schaefer's dichotomy theorem above. Thus, when Γ has the Minority operation as a polymorphism, it is not only possible to decide CSP(Γ) in polynomial-time, but to compute #CSP(Γ) in polynomial-time. Other examples of Mal'tsev operations include <math>x - y + z</math> and <math>x y^{-1} z.</math>
| |
| | |
| For larger domains, even for a domain of size three, the existence of a Maltsev polymorphism for Γ is no longer a sufficient condition for the tractability of #CSP(Γ). However, the absence of a Mal'tsev polymorphism for Γ still implies the #P-hardness of #CSP(Γ).
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| | |
| [[Category:Constraint programming]]
| |
| [[Category:Theorems in computational complexity theory]]
| |