Schaefer's dichotomy theorem
In computational complexity theory, a branch of computer science, Schaefer's theorem states necessary and sufficient conditions under which a finite set S of Boolean relations yields polynomial-time or NP-complete problems when the relations of S are used to constrain some of the propositional variables.[1] More precisely, Schaefer defines a decision problem which he calls the Generalized Satisfiability problem for S (denoted SAT(S)). An instance of the problem is an S-formula, i.e. a conjunction of constraints of the form where R is a relation in S and the 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. Special cases of SAT(S) include the variants of Boolean satisfiability problem and the problem can also be viewed as a constraint satisfaction problem over the Boolean domain.
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 Boolean relations S 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 clauses;
- all relations are equivalent to a conjunction of dual-Horn clauses;
- all relations are equivalent to a conjunction of affine formulae (e.g., ).
On the other hand, if S does not satisfy any of these conditions, the problem SAT(S) is NP-complete.
A modern, streamlined presentation of Schaefer's theorem is given in an expository paper by Hubie Chen.[2]
The analysis was later fine-tuned: SAT(S) is either solvable in co-NLOGTIME, L-complete, NL-complete, ⊕L-complete, P-complete or NP-complete and given S, one can decide in polynomial time which of these cases holds.[3]
References
- ^ Schaefer, Thomas J. (1978). "The Complexity of Satisfiability Problems". STOC 1978. pp. 216–226. doi:10.1145/800133.804350.
{{cite conference}}
: Unknown parameter|booktitle=
ignored (|book-title=
suggested) (help) - ^ Chen, Hubie (December 2009). "A Rendezvous of Logic, Complexity, and Algebra". ACM Computing Surveys. 42 (1). ACM. doi:10.1145/1592451.1592453.
- ^ Allender, Eric; Bauland, Michael; Immerman, Neil; Schnoor, Henning; Vollmer, Heribert (June 2009 (available online since January 2009)). "The complexity of satisfiability problems: Refining Schaefer's theorem". Journal of Computer and System Sciences. 75 (4). Elsevier: 245–254. doi:10.1016/j.jcss.2008.11.001.
{{cite journal}}
:|access-date=
requires|url=
(help); Check date values in:|date=
(help)