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 relating these classes to each other. A computational problem is a task solved ...
, a
language Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
''B'' (or a
complexity class In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms ...
''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 An abstract machine is a computer science theoretical model that allows for a detailed and precise analysis of how a computer system functions. It is analogous to a mathematical function in that it receives inputs and produces outputs based on p ...
which 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 which 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)''.


Classes that are low for themselves

Several natural complexity classes are known to be low for themselves. 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, PP = P) because polynomial-time algorithms are closed under composition: a polynomial-time algorithm can make polynomially many queries to other polynomial-time algorithms, while retaining a polynomial 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. * BPP 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 In computational complexity theory, bounded-error quantum polynomial time (BQP) is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances.Michael Nielsen and Isa ...
, but we have to additionally show that quantum queries can be performed in coherent superposition.Bernstein and Vazirani, Quantum complexity theory, SIAM Journal on Computing, 26(5):1411-1473, 1997

* Both Parity P (\hbox) and BPP are low for themselves. These were important in showing Toda's theorem. * NP ∩ coNP is low for itself. Every class which is low for itself is closed under complement, provided that it is powerful enough to negate the boolean 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 EXP, which is closed under complement, but is not low for itself.


Classes that are low for other complexity classes

Some of the more complex and famous results regarding lowness of classes include: *
BQP In computational complexity theory, bounded-error quantum polynomial time (BQP) is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances.Michael Nielsen and Isa ...
is low for PP In other words, a program based around taking the majority decision of an unbounded number of iterations of a poly-time
randomized algorithm A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performa ...
can easily solve all the problems that a
quantum computer Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Thoug ...
can solve efficiently. * The graph isomorphism problem is low for Parity P (\hbox). This means that if we can determine whether an NP machine has an even or odd number of accepting paths, we can easily solve graph isomorphism. In fact, it was later shown that graph isomorphism is low for ZPPNP. *
Amplified PP Amplification or Amplified or Amplify may refer to: Science and technology * Amplification, the operation of an amplifier, a natural or artificial device intended to make a signal stronger * Amplification (molecular biology), a mechanism leading ...
is low for PP.L. Li. On the Counting Functions. PhD thesis, University of Chicago. 1993. * NP ∩ coNP is equal to the set of languages low for NP, i.e., Low(NP) = NP ∩ coNP. * AM ∩ coAM is low for ZPPNP.


Applications

Lowness is particularly valuable in relativization arguments, where it can be used to establish that the power of a class does not change in the "relativized universe" where a particular oracle machine is available for free. This allows us to reason about it in the same manner we normally would. For example, in the relativized universe of BQP, PP is still closed under union and intersection. It's also useful when seeking to expand the power of a machine with oracles, because lowness results determine when the machine's power remains the same.


See also

* Low (computability)


References

Computational complexity theory