Content deleted Content added
Dorftrottel (talk | contribs) cleanup tag |
comment on probabilistic classes closed under complement |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1:
In [[computational complexity theory]], the '''complement''' of a [[decision problem]] is the decision problem resulting from reversing the ''yes'' and ''no'' answers.<ref>{{citation|title=Encyclopedic Dictionary of Mathematics, Volume 1|first=Kiyosi|last=Itô|publisher=MIT Press|year=1993|isbn=9780262590204|url=https://books.google.com/books?id=WHjO9K6xEm4C&pg=PA269|page=269}}.</ref> Equivalently, if we define decision problems as sets of finite strings, then the [[complement (set theory)|complement]] of this set over some fixed ___domain is its complement problem.<ref>{{citation|title=Theory of Linear and Integer Programming|series=Wiley Series in Discrete Mathematics & Optimization|first=Alexander|last=Schrijver|publisher=John Wiley & Sons|year=1998|isbn=9780471982326|url=https://books.google.com/books?id=zEzW5mhppB8C&pg=PA19|page=19}}.</ref>▼
▲In [[computational complexity theory]], the '''complement''' of a [[decision problem]] is the decision problem resulting from reversing the ''yes'' and ''no'' answers. Equivalently, if we define decision problems as sets of finite strings, then the [[complement (set theory)|complement]] of this set over some fixed ___domain is its complement problem.
For example, one important problem is whether a number is a [[prime number]]. Its complement is to determine whether a number is a [[composite number]] (a number which is not prime). Here the ___domain of the complement is the set of all integers exceeding one.<ref>{{citation|title=Computability and Complexity Theory|series=Texts in Computer Science|first1=Steven|last1=Homer|first2=Alan L.|last2=Selman|author2-link=Alan Selman|publisher=Springer|year=2011|isbn=9781461406815}}.</ref>
There is a [[Turing reduction]] from every problem to its complement problem.<ref>{{citation|title=Elements of Computation Theory|series=Texts in Computer Science|first=Arindama|last=Singh|publisher=Springer|year=2009|isbn=9781848824973|at=Exercise 9.10, p. 287|url=https://books.google.com/books?id=gqWMGR1otqoC&pg=PA287}}.</ref> The complement operation is an [[Involution (mathematics)|involution]], meaning it "undoes itself", or the complement of the complement is the original problem.
A class is said to be ''closed under complement'' if the complement of any problem in the class is still in the class.<ref>{{citation|title=Introduction to Circuit Complexity: A Uniform Approach|series=Texts in Theoretical Computer Science. An EATCS Series|first=Heribert|last=Vollmer|publisher=Springer|year=1999|isbn=9783540643104|page=113|url=https://books.google.com/books?id=55ZTgOJs8bsC&pg=PA113}}.</ref> Because there are Turing reductions from every problem to its complement, any class which is closed under Turing reductions is closed under complement. Any class which is closed under complement is equal to its complement class. However, under [[many-one reduction]]s, many important classes, especially [[NP (complexity)|NP]], are believed to be distinct from their complement classes (although this has not been proven).<ref>{{citation|title=Complexity Theory: Exploring the Limits of Efficient Algorithms|first1=R.|last1=Pruim|first2=Ingo|last2=Wegener|publisher=Springer|year=2005|isbn=9783540274773|page=66|url=https://books.google.com/books?id=LXPVrcsdAyYC&pg=PA66}}.</ref>
The [[closure (mathematics)|closure]] of any complexity class under Turing reductions is a superset of that class which is closed under complement. The closure under complement is the smallest such class. If a class is intersected with its complement, we obtain a (possibly empty) subset which is closed under complement
Every deterministic complexity class ('''DSPACE'''(f(n)), '''DTIME'''(f(n)) for all f(n)) is closed under complement,<ref>{{citation|title=Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties|first=Giorgio|last=Ausiello|publisher=Springer|year=1999|isbn=9783540654315|page=189|url=https://books.google.com/books?id=Yxxw90d9AuMC&pg=PA189}}.</ref> because one can simply add a last step to the algorithm which reverses the answer. This doesn't work for nondeterministic complexity classes, because if there exist both computation paths which accept and paths which reject, and all the paths reverse their answer, there will still be paths which accept and paths which reject — consequently, the machine accepts in both cases.
Similarly, probabilistic classes such as [[BPP (complexity)|BPP]], [[ZPP (complexity)|ZPP]], [[BQP]] or [[PP (complexity)|PP]] which are defined symmetrically with regards to their ''yes'' and ''no'' instances are closed under complement. In contrast, classes such as [[RP (complexity)|RP]] and '''co-RP''' define their probabilities with one-sided error, and so are not (currently known to be) closed under complement.
Some of the most surprising complexity results shown to date showed that the complexity classes [[NL (complexity)|NL]] and [[SL (complexity)|SL]] are in fact closed under complement, whereas before it was widely believed they were not (see [[Immerman-Szelepcsényi theorem]]). The latter has become less surprising now that we know '''SL''' equals '''[[L (complexity)|L]]''', which is a deterministic class.▼
▲Some of the most surprising complexity results shown to date showed that the complexity classes [[NL (complexity)|NL]] and [[SL (complexity)|SL]] are in fact closed under complement, whereas before it was widely believed they were not (see [[
Every class which is [[low (complexity)|low]] for itself is closed under complement.
==References==
{{reflist}}
[[Category:Computational complexity theory]]
|