Low (complexity)
≈ 5 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
In computational complexity theory, a language B (or a complexity class B) is said to be low for a complexity class A (with some reasonable relativized version of A) if A B = A; that is, A with an oracle for B is equal to A. Such a statement implies that an abstract machine that solves problems in A achieves no additional power if it is given the ability to solve problems in B at unit cost. In particular, this means that if B is low for A then B is contained in A. Informally, lowness means that problems in B are not only solvable by machines that can solve problems in A, but are “easy to solve”. An A machine can simulate many oracle queries to B without exceeding its resource bounds. Results and relationships that establish one class as low for another are often called lowness results. The set of languages low for a complexity class A is denoted Low(A).
In computational complexity theory, a language B (or a complexity class B) is said to be low for a complexity class A (with some reasonable relativized version of A) if A B = A; that is, A with an oracle for B is equal to A. Such a statement implies that an abstract machine that solves problems in A achieves no additional power if it is given the ability to solve problems in B at unit cost. In particular, this means that if B is low for A then B is contained in A. Informally, lowness means that problems in B are not only solvable by machines that can solve problems in A, but are “easy to solve”. An A machine can simulate many oracle queries to B without exceeding its resource bounds. Results and relationships that establish one class as low for another are often called lowness results. The set of languages low for a complexity class A is denoted Low(A). Several natural complexity classes are known to be low for themselves, i.e. B B = B. Such a class is sometimes called self-low. Scott Aaronson calls such a class a physical complexity class. Note that being self-low is a stronger condition than being closed under complement. Informally, a class being low for itself means a problem can use other problems in the class as unit-cost subroutines without exceeding the power of the complexity class. The following classes are known to be self-low: P is self-low (that is, P P = P) because polynomial functions are closed under composition, so a polynomial-time algorithm can make polynomially many queries to other polynomial-time algorithms, while retaining a polynomial overall running time. PSPACE (with restricted oracle access mechanism) is also self-low, and this can be established by exactly the same argument. L is self-low because it can simulate log-space oracle queries in log space, reusing the same space for each query. NC is also self-low for the same reason. ZPP is also low for itself and the same arguments almost work for BPP, but one has to account for errors, making it slightly harder to show that BPP is low for itself. Similarly, the argument for BPP almost goes through for BQP, but we have to additionally show that quantum queries can be performed in coherent superposition. Both Parity P ( {\oplus}\hbox{P} ) and BPP are low for themselves. These were important in showing Toda's theorem. NP ∩ coNP is low for itself. Every class that is low for itself is closed under complement, provided that it is powerful enough to negate a boolean query result. This implies that NP isn't low for itself unless NP = co-NP, which is considered unlikely because it implies that the polynomial hierarchy collapses to the first level, whereas it is widely believed that the hierarchy is infinite. The converse to this statement is not true. If a class is closed under complement, it does not mean that the class is low for itself. An example of such a class is EXPTIME, which is closed under complement, but is not low for itself. NP ∩ coNP is equal to the set of languages low for NP, i.e., Low(NP) = NP ∩ coNP. AM ∩ coAM is low for ZPP NP .
Text derived from https://en.wikipedia.org/w/index.php?oldid=1360607402 under CC BY-SA 4.0; modifications have been made.