Complement (complexity): Difference between revisions

Content deleted Content added
No edit summary
Tag: possible vandalism
comment on probabilistic classes closed under complement
 
(7 intermediate revisions by 5 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>
{{Unreferenced|date=February 2007}}
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.&nbsp;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.
 
WeOne can generalize this to the complement of a [[complexity class]], called the '''complement class''', which is the set of complements of every problem in the class.<ref>{{citation|title=Introduction to the Theory of Complexity|series=Prentice Hall International Series in Computer Science|first1=Daniele|last1=Bovet|first2=Pierluigi|last2=Crescenzi|publisher=Prentice Hall|year=1994|isbn=9780139153808|pages=133–134}}.</ref> If a class is called '''C''', its complement is conventionally labelled '''co-C'''. Notice that this is ''not'' the complement of the complexity class itself as a set of problems, which would contain a great deal more problems.
 
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. Some interesting problems fall into such intersections, such as the [[integer factorization]], which is in the intersection of [[NP (complexity)|NP]] and [[co-NP]].
 
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 &mdash; 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 [[Immerman-SzelepcsényiImmerman–Szelepcsényi theorem]]). The latter has become less surprising now that we know '''SL''' equals '''[[L (complexity)|L]]''', which is a deterministic class.
even when you have se_x dont look it up caus e your going to have a bonnner!
 
Every class which is [[low (complexity)|low]] for itself is closed under complement.
 
==References==
[[Category:Computational complexity theory]]
{{reflist}}
 
[[Category:Computational complexity theory]]
[[pl:Dopełnienie (teoria złożoności)]]