Schaefer's Dichotomy Theorem
   HOME

TheInfoList



OR:

In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
, a branch 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, ...
, Schaefer's dichotomy theorem, proved by Thomas Jerome Schaefer, states necessary and sufficient conditions under which a finite set ''S'' of
relation Relation or relations may refer to: General uses * International relations, the study of interconnection of politics, economics, and law on a global level * Interpersonal relationship, association or acquaintance between two or more people * ...
s over the Boolean domain yields
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 ...
or
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 ...
problems when the relations of ''S'' are used to constrain some of the
propositional variable In mathematical logic, a propositional variable (also called a sentence letter, sentential variable, or sentential letter) is an input variable (that can either be true or false) of a truth function. Propositional variables are the basic building ...
s. It is called a dichotomy theorem because the complexity of the problem defined by ''S'' is either in P or is NP-complete, as opposed to one of the classes of intermediate complexity that is known to exist (assuming P ≠ NP) by Ladner's theorem. Special cases of Schaefer's dichotomy theorem include the NP-completeness of SAT (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 ...
) and its two popular variants 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 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 ...
that he calls the Generalized Satisfiability problem for ''S'' (denoted by SAT(''S'')), where S = \ is a finite set of relations over the binary domain \. An instance of the problem is an ''S''-formula, i.e. a conjunction of constraints of the form R_j(x_, \dots , x_) where R_j \in S and the x_ 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 as given by the relations from ''S''. 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 that are not constantly false are true when all its arguments are true; # all relations that are not constantly false are true when all its arguments are false; # all relations are equivalent to a conjunction of binary
clause In language, a clause is a Constituent (linguistics), constituent or Phrase (grammar), phrase that comprises a semantic predicand (expressed or not) and a semantic Predicate (grammar), predicate. A typical clause consists of a subject (grammar), ...
s; # all relations are equivalent to a conjunction of
Horn clause In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form that gives it useful properties for use in logic programming, formal specification, universal algebra and model theory. Horn clauses are ...
s; # all relations are equivalent to a conjunction of dual-Horn clauses; # all relations are equivalent to a conjunction of affine formulae.Schaefer (1978, p.218 left) defines an affine formula to be of the form ''x''1 ⊕ ... ⊕ ''x''''n'' = ''c'', where each ''x''''i'' is a variable, ''c'' is a constant, i.e. ''true'' or ''false'', and "⊕" denotes XOR, i.e. addition in a
Boolean ring In mathematics, a Boolean ring is a ring for which for all in , that is, a ring that consists of only idempotent elements. An example is the ring of integers modulo 2. Every Boolean ring gives rise to a Boolean algebra, with ring multiplicat ...
.
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. In modern terms, the problem SAT(''S'') is viewed as a
constraint satisfaction problem Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite const ...
over the
Boolean domain In mathematics and abstract algebra, a Boolean domain is a set consisting of exactly two elements whose interpretations include ''false'' and ''true''. In logic, mathematics and theoretical computer science, a Boolean domain is usually written ...
. 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 Algebra is a branch of mathematics that deals with abstract systems, known as algebraic structures, and the manipulation of expressions within those systems. It is a generalization of arithmetic that introduces variables and algebraic ope ...
, in particular,
universal algebra Universal algebra (sometimes called general algebra) is the field of mathematics that studies algebraic structures in general, not specific types of algebraic structures. For instance, rather than considering groups or rings as the object of stud ...
. For Schaefer's dichotomy theorem, the most important concept in universal algebra is that of a polymorphism. An operation f : D^m \to D is a polymorphism of a relation R \subseteq D^k if, for any choice of ''m'' tuples (t_, \dotsc, t_), \dotsc, (t_, \dotsc, t_) from ''R'', it holds that the tuple obtained from these ''m'' tuples by applying ''f'' coordinate-wise, i.e. (f(t_, \dotsc, t_), \dotsc, f(t_, \dotsc, t_)), 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 1; # the constant unary operation 0; # the binary AND operation ∧; # the binary OR operation ∨; # the ternary majority operation \operatorname(x,y,z) = (x \wedge y) \vee (x \wedge z) \vee (y \wedge z); # the ternary minority operation \operatorname(x,y,z) = x \oplus y \oplus z. 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''1, ... , ''v''''k'') ⇔ ∃''x''1 ... ''x''''m''. ''C'' holds for some conjunction ''C'' of constraints from Γ and equations over the variables . 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 that are pp-definable from Γ is denoted by ≪Γ≫. If Γ' ⊆ ≪Γ≫ for some finite constraint sets Γ and Γ', then CSP(Γ') reduces to CSP(Γ). 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 form an antitone
Galois connection In mathematics, especially in order theory, a Galois connection is a particular correspondence (typically) between two partially ordered sets (posets). Galois connections find applications in various mathematical theories. They generalize the fun ...
. 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 Γ. 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.


Generalizations

The analysis was later fine-tuned: CSP(Γ) is either solvable in co-NLOGTIME, L-complete,
NL-complete In computational complexity theory, NL-complete is a complexity class containing the languages that are complete for NL, the class of decision problems that can be solved by a nondeterministic Turing machine using a logarithmic amount of memory s ...
, ⊕L-complete,
P-complete In computational complexity theory, a decision problem is P-complete ( complete for the complexity class P) if it is in P and every problem in P can be reduced to it by an appropriate reduction. The notion of P-complete decision problems is use ...
or NP-complete, and given Γ, one can decide in polynomial time which of these cases holds. Schaefer's dichotomy theorem has also been generalized to use propositional logic of graphs instead of Boolean logic.


Related work

If the problem is to count the number of solutions, which is denoted by #CSP(Γ), then there is a similar result for the binary domain by Creignou and Hermann. Specifically, a finite set of relations ''S'' over the Boolean domain defines a polynomial time computable satisfiability problem if every relation in ''S'' is equivalent to a conjunction of affine formulae. For larger domains, a necessary condition for polynomial-time satisfiability was given by Bulatov and Dalmau. Let Γ be a finite constraint language over the Boolean domain. If the problem #CSP(Γ) is computable in polynomial time, then Γ has a Mal'tsev operation as a polymorphism. Otherwise, the problem #CSP(Γ) is #P-complete. A Mal'tsev operation ''m'' is a ternary operation that satisfies m(x,y,y) = m(y,y,x) = x. 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. There are a total of 4 Mal'tsev operations on Boolean variables, determined by the values of m(T,F,T) and m(F,T,F). An example of a less symmetric one is given by m(x,y,z) = (x\wedge z) \vee (\neg y \wedge (x \vee z)). On other domains, such as
group A group is a number of persons or things that are located, gathered, or classed together. Groups of people * Cultural group, a group whose members share the same cultural identity * Ethnic group, a group whose members share the same ethnic iden ...
s, examples of Mal'tsev operations include x - y + z and x y^ z. For larger domains, even for a domain of size three, the existence of a Mal'tsev polymorphism for Γ is an insufficient condition for the tractability of #CSP(Γ). However, the absence of a Mal'tsev polymorphism for Γ implies the #P-hardness of #CSP(Γ).


See also

* Max/min CSP/Ones classification theorems, a similar set of constraints for optimization problems


References

{{reflist Constraint programming Theorems in computational complexity theory