Difference between revisions of "Complexity Zoo:A"
m |
(→APP: Amplified PP: add containment of FewP, YQP*, YP*) |
||
(27 intermediate revisions by 12 users not shown) | |||
Line 23: | Line 23: | ||
AC<sup>i</sup> is contained in [[Complexity Zoo:N#nc|NC]]<sup>i+1</sup>; thus, AC = [[Complexity Zoo:N#nc|NC]]. | AC<sup>i</sup> is contained in [[Complexity Zoo:N#nc|NC]]<sup>i+1</sup>; thus, AC = [[Complexity Zoo:N#nc|NC]]. | ||
− | + | [[#ac1|AC<sup>1</sup>]] contains [[Complexity Zoo:N#nl|NL]]. | |
For a random oracle A, (AC<sup>i</sup>)<sup>A</sup> is strictly contained in (AC<sup>i+1</sup>)<sup>A</sup>, and (uniform) AC<sup>A</sup> is strictly contained in P<sup>A</sup>, with probability 1 [[zooref#mil92|[Mil92]]]. | For a random oracle A, (AC<sup>i</sup>)<sup>A</sup> is strictly contained in (AC<sup>i+1</sup>)<sup>A</sup>, and (uniform) AC<sup>A</sup> is strictly contained in P<sup>A</sup>, with probability 1 [[zooref#mil92|[Mil92]]]. | ||
− | + | FO-uniform AC with depth <math>t(n)</math> is equal to [[Complexity_Zoo:F#fot|FO[<math>t(n)</math>]]]. | |
---- | ---- | ||
Line 43: | Line 43: | ||
AC<sup>0</sup> contains [[Complexity Zoo:N#nc0|NC<sup>0</sup>]], and is contained in [[Complexity Zoo:Q#qacf0|QAC<sub>f</sub><sup>0</sup>]] and [[Complexity Zoo:M#mac0|MAC<sup>0</sup>]]. | AC<sup>0</sup> contains [[Complexity Zoo:N#nc0|NC<sup>0</sup>]], and is contained in [[Complexity Zoo:Q#qacf0|QAC<sub>f</sub><sup>0</sup>]] and [[Complexity Zoo:M#mac0|MAC<sup>0</sup>]]. | ||
− | In descriptive complexity, uniform AC<sup>0</sup> can be characterized as the class of problems expressible by first-order predicates with addition and multiplication operators - or indeed, with ordering and multiplication, or ordering and division (see [[zooref#lee02|[Lee02]]]). So it's equivalent to the class [[Complexity_Zoo:F#fo|FO]] and to | + | In descriptive complexity, uniform AC<sup>0</sup> can be characterized as the class of problems expressible by first-order predicates with addition and multiplication operators - or indeed, with ordering and multiplication, or ordering and division (see [[zooref#lee02|[Lee02]]]). So it's equivalent to the class [[Complexity_Zoo:F#fo|FO]], and to the alternating logtime hierarchy. |
[[zooref#blm98|[BLM+98]]] showed the following problem is complete for depth-k AC<sup>0</sup> circuits (with a uniformity condition): | [[zooref#blm98|[BLM+98]]] showed the following problem is complete for depth-k AC<sup>0</sup> circuits (with a uniformity condition): | ||
Line 62: | Line 62: | ||
===== <span id="ac1" style="color:red">AC<sup>1</sup></span>: Unbounded Fanin Log-Depth Circuits ===== | ===== <span id="ac1" style="color:red">AC<sup>1</sup></span>: Unbounded Fanin Log-Depth Circuits ===== | ||
− | See [[#ac|AC]]. | + | See [[#ac|AC]] for definition. |
+ | |||
+ | Contains [[Complexity Zoo:N#nl|NL]] (hence also [[Complexity Zoo:N#nc1|NC<sup>1</sup>]]). Contained in [[Complexity Zoo:N#nc2|NC<sup>2</sup>]]. The complexity class [[Complexity Zoo:D#det|DET]] also obeys all these containment relationships, but no containment is known in either direction between AC<sup>1</sup> and [[Complexity Zoo:D#det|DET]]. | ||
---- | ---- | ||
+ | |||
===== <span id="acc0" style="color:red">ACC<sup>0</sup></span>: [[#ac0|AC<sup>0</sup>]] With Arbitrary MOD Gates ===== | ===== <span id="acc0" style="color:red">ACC<sup>0</sup></span>: [[#ac0|AC<sup>0</sup>]] With Arbitrary MOD Gates ===== | ||
Same as [[#ac0m|AC<sup>0</sup>[m]]], but now the constant-depth circuit can contain MOD m gates for <i>any</i> m. | Same as [[#ac0m|AC<sup>0</sup>[m]]], but now the constant-depth circuit can contain MOD m gates for <i>any</i> m. | ||
Line 78: | Line 81: | ||
Contains 4-[[Complexity Zoo:P#kpbp|PBP]] [[zooref#bt88|[BT88]]]. | Contains 4-[[Complexity Zoo:P#kpbp|PBP]] [[zooref#bt88|[BT88]]]. | ||
− | See also: [[Complexity Zoo:Q#qacc0|QACC<sup>0</sup>]]. | + | See also: [[Complexity Zoo:Q#qacc0|QACC<sup>0</sup>]] and [[Complexity Zoo:C#cc0|CC<sup>0</sup>]]. |
+ | |||
+ | ---- | ||
+ | |||
+ | ===== <span id="ackermann" style="color:red">Ack</span>: Ackermann Time ===== | ||
+ | |||
+ | Defined in [[zooref#sch16|[Sch16]]]. Let <math>F_0(x) = x+1</math> and <math>F_k(x) = F_{k-1}^x(x)</math> where <math>F_{k-1}^x(x)</math> is <math>F_{k-1}(x)</math> applied to itself <math>x</math> times. For example <math>F_1(x) = 2x + 1</math>, <math>F_2(x) = 2^{x+1}(x + 1) - 1</math>, etc. Then define, <math>F_\omega(x) = F_x(x)</math>, note that this has the same growth rate as <math>A(x,x)</math> where A is the Ackermann function. This class is equal to [[Complexity Zoo:D#dtime|DTIME]](F<sub>ω</sub>(p(n))) over all primitive-recursive functions p(n). The class remains unchanged if we replace [[Complexity Zoo:D#dtime|DTIME]] with [[Complexity Zoo:D#ntime|NTIME]] or [[Complexity Zoo:D#dspace|DSPACE]]. | ||
+ | |||
+ | Strictly contains [[Complexity Zoo:E#elementary|ELEMENTARY]], [[Complexity Zoo:T#tower|Tower]], and [[Complexity Zoo:P#pr|PR]]. Is strictly contained in [[Complexity Zoo:R#r|R]]. | ||
+ | |||
+ | The relationship between this class and [[Complexity Zoo:P#pr|PR]] is analogous to the relationship between [[Complexity Zoo:T#tower|Tower]] and [[Complexity Zoo:E#elementary|ELEMENTARY]]. That is, Ack contains problems "barely" outside of [[Complexity Zoo:P#pr|PR]] and, unlike [[Complexity Zoo:P#pr|PR]], has complete problems. | ||
+ | |||
+ | The reachability problems for Petri nets [[zooref#ler22|[Ler22]]] and vector addition systems [[zooref#co22|[CO22]]] are complete for this class under primitive recursive reductions, as well as the problem of navigating robots through a maze of gadgets with spawner and destroyer nodes [[zooref#ani+23|[Ani+23]]]. | ||
---- | ---- | ||
Line 95: | Line 110: | ||
Each level of AH strictly contains the levels below it. | Each level of AH strictly contains the levels below it. | ||
− | An equivalent definition is: <math>\Sigma_0=\Delta_0=\Pi_0</math> is the set of numbers decided by formula with one free variable and bounded quantifier, where the primitives are + and <math>\times</math>. A bounded quantifier is of the form <math> \phi=\forall i<j \psi </math> or <math>\phi=\exists i<j \psi</math> where <math>j</math> is considered to be free in <math>\phi</math>. Then <math>\Sigma_{i+1}</math> is the sets of number validating a formula of the form <math>\exists X_1\dots\exists X_n,\psi</math> with <math>\psi\in\Delta_i</math>. < | + | An equivalent definition is: <math>\Sigma_0=\Delta_0=\Pi_0</math> is the set of numbers decided by formula with one free variable and bounded quantifier, where the primitives are + and <math>\times</math>. A bounded quantifier is of the form <math> \phi=\forall i<j \psi </math> or <math>\phi=\exists i<j \psi</math> where <math>j</math> is considered to be free in <math>\phi</math>. Then <math>\Sigma_{i+1}</math> is the sets of number validating a formula of the form <math>\exists X_1\dots\exists X_n,\psi</math> with <math>\psi\in\Delta_i</math>. The set Π<sub>i</sub> is the set of formula who are negation of <math>\Sigma_i</math> formula. And Δ<sub>i</sub> = Σ<sub>i</sub> ∩ Π<sub>i</sub>. |
---- | ---- | ||
Line 115: | Line 130: | ||
Nor is it hard to show that [[Complexity Zoo:M#maexp|MA<sub>EXP</sub>]]/rpoly = ALL. | Nor is it hard to show that [[Complexity Zoo:M#maexp|MA<sub>EXP</sub>]]/rpoly = ALL. | ||
+ | |||
+ | Also, per [[zooref#aar18|[Aar18]]], [[Complexity Zoo:P#pdqp|PDQP]]/qpoly = ALL. | ||
On the other hand, even though [[Complexity Zoo:P#pspace|PSPACE]] contains [[Complexity Zoo:P#pp|PP]], and [[Complexity Zoo:E#expspace|EXPSPACE]] contains [[#maexp|MA<sub>EXP</sub>]], it's easy to see that [[Complexity Zoo:P#pspace|PSPACE]]/rpoly = [[Complexity Zoo:P#pspace|PSPACE]]/poly and [[Complexity Zoo:E#expspace|EXPSPACE]]/rpoly = [[Complexity Zoo:E#expspace|EXPSPACE]]/poly are not ALL. | On the other hand, even though [[Complexity Zoo:P#pspace|PSPACE]] contains [[Complexity Zoo:P#pp|PP]], and [[Complexity Zoo:E#expspace|EXPSPACE]] contains [[#maexp|MA<sub>EXP</sub>]], it's easy to see that [[Complexity Zoo:P#pspace|PSPACE]]/rpoly = [[Complexity Zoo:P#pspace|PSPACE]]/poly and [[Complexity Zoo:E#expspace|EXPSPACE]]/rpoly = [[Complexity Zoo:E#expspace|EXPSPACE]]/poly are not ALL. | ||
Line 157: | Line 174: | ||
Almost-PSPACE is not known to equal [[Complexity Zoo:P#pspace|PSPACE]] -- rather surprisingly, given the fact that [[Complexity Zoo:P#pspace|PSPACE]] equals BPPSPACE and even [[Complexity Zoo:P#ppspace|PPSPACE]]. | Almost-PSPACE is not known to equal [[Complexity Zoo:P#pspace|PSPACE]] -- rather surprisingly, given the fact that [[Complexity Zoo:P#pspace|PSPACE]] equals BPPSPACE and even [[Complexity Zoo:P#ppspace|PPSPACE]]. | ||
− | What's known is that Almost-PSPACE = BP<sup>exp</sup> | + | What's known is that Almost-PSPACE = BP<sup>exp</sup>⋅[[Complexity Zoo:P#pspace|PSPACE]], where [[Zoo Operators#bpexp|BP<sup>exp</sup>⋅]] is like the [[Zoo Operators#bp|BP⋅]] operator but with exponentially-long strings [[zooref#bvw98|[BVW98]]]. It follows that Almost-PSPACE is contained in [[Complexity Zoo:N#nexp|NEXP]]<sup>[[Complexity Zoo:N#np|NP]]</sup> ∩ [[Complexity Zoo:A#conexp|coNEXP]]<sup>[[Complexity Zoo:N#np|NP]]</sup>. |
− | Whereas both BP<sup>exp</sup> | + | Whereas both BP<sup>exp</sup>⋅[[Complexity Zoo:P#pspace|PSPACE]] and BPPSPACE machines are allowed exponentially many random bits, the former has a reusable record of all of these bits on a witness tape, while the latter can only preserve a fraction of them on the work tape. |
---- | ---- | ||
Line 177: | Line 194: | ||
AM contains [[Complexity_Garden#graph_isomorphism|graph nonisomorphism]]. | AM contains [[Complexity_Garden#graph_isomorphism|graph nonisomorphism]]. | ||
− | Contains [[Complexity Zoo:N#np|NP]], [[Complexity Zoo:B#bpp|BPP]], and [[Complexity Zoo:S#szk|SZK]], and is contained in [[Complexity Zoo:P#pi2p|Π<sub>2</sub>P]] and | + | Contains [[Complexity Zoo:N#np|NP]], [[Complexity Zoo:B#bpp|BPP]], and [[Complexity Zoo:S#szk|SZK]], and is contained in [[Complexity Zoo:N#nppoly|NP/poly]]. |
+ | AM is also contained in [[Complexity Zoo:P#pi2p|Π<sub>2</sub>P]] and this proof relativizes so the containment holds relative to any oracle. | ||
If AM contains [[Complexity Zoo:C#conp|coNP]] then [[Complexity Zoo:P#ph|PH]] collapses to [[Complexity Zoo:S#sigma2p|Σ<sub>2</sub>P]] ∩ [[Complexity Zoo:P#pi2p|Π<sub>2</sub>P]] [[zooref#bhz87|[BHZ87]]]. | If AM contains [[Complexity Zoo:C#conp|coNP]] then [[Complexity Zoo:P#ph|PH]] collapses to [[Complexity Zoo:S#sigma2p|Σ<sub>2</sub>P]] ∩ [[Complexity Zoo:P#pi2p|Π<sub>2</sub>P]] [[zooref#bhz87|[BHZ87]]]. | ||
Line 186: | Line 204: | ||
---- | ---- | ||
+ | |||
===== <span id="amcc" style="color:red">AM<sup>cc</sup></span>: Communication Complexity [[#am|AM]] ===== | ===== <span id="amcc" style="color:red">AM<sup>cc</sup></span>: Communication Complexity [[#am|AM]] ===== | ||
+ | |||
+ | Here, Alice and Bob collectively constitute "Arthur", and Merlin sends a message that depends on the input and all the randomness, and the cost is defined to be the bit length of Merlin's message plus the communication cost of the ensuing verification protocol between Alice and Bob. (Without loss of generality, the verification protocol consists only of checking containment in a rectangle, since Merlin could always include the transcript of the verification in his message.) | ||
It is open to prove that there exists an explicit two-party function that is not in AM<sup>cc</sup>. | It is open to prove that there exists an explicit two-party function that is not in AM<sup>cc</sup>. | ||
+ | |||
+ | Contained in [[Complexity Zoo:P#phcc|PH<sup>cc</sup>]]. | ||
+ | |||
+ | AM<sup>cc</sup> ∩ coAM<sup>cc</sup> is not contained in [[Complexity Zoo:P#ppcc|PP<sup>cc</sup>]] if partial functions are allowed [[zooref#kla11|[Kla11]]]. | ||
---- | ---- | ||
Line 195: | Line 220: | ||
Same as [[#am|AM]], except that Arthur is exponential-time and can exchange exponentially long messages with Merlin. | Same as [[#am|AM]], except that Arthur is exponential-time and can exchange exponentially long messages with Merlin. | ||
− | Contains [[Complexity Zoo:M#maexp|MA<sub>EXP</sub>]], and is contained in [[Complexity Zoo:E#eh|EH]] and indeed [[Complexity Zoo:S#s2exppnp|S<sub>2</sub>- | + | Contains [[Complexity Zoo:M#maexp|MA<sub>EXP</sub>]], and is contained in [[Complexity Zoo:E#eh|EH]] and indeed [[Complexity Zoo:S#s2exppnp|S<sub>2</sub>-EXP•P<sup>NP</sup>]]. |
If [[Complexity Zoo:C#conp|coNP]] is contained in [[#ampolylog|AM[polylog]]] then [[Complexity Zoo:E#eh|EH]] collapses to AM<sub>EXP</sub> [[zooref#pv04|[PV04]]]. | If [[Complexity Zoo:C#conp|coNP]] is contained in [[#ampolylog|AM[polylog]]] then [[Complexity Zoo:E#eh|EH]] collapses to AM<sub>EXP</sub> [[zooref#pv04|[PV04]]]. | ||
---- | ---- | ||
+ | |||
===== <span id="amicoam" style="color:red">AM ∩ coAM</span> ===== | ===== <span id="amicoam" style="color:red">AM ∩ coAM</span> ===== | ||
The class of decision problems for which both "yes" and "no" answers can be verified by an [[#am|AM]] protocol. | The class of decision problems for which both "yes" and "no" answers can be verified by an [[#am|AM]] protocol. | ||
Line 211: | Line 237: | ||
Same as [[#am|AM]], except that we allow polylog(n) rounds of interaction between Arthur and Merlin instead of a constant number. | Same as [[#am|AM]], except that we allow polylog(n) rounds of interaction between Arthur and Merlin instead of a constant number. | ||
− | Not much is known about AM[polylog] -- for example, whether it sits in [[Complexity Zoo:P#ph|PH]]. However, [[zooref#ss04|[SS04]]] show that if AM[polylog] contains [[Complexity Zoo:C#conp|coNP]], then [[Complexity Zoo:E#eh|EH]] collapses to [[Complexity Zoo:S#s2exppnp|S<sub>2</sub>- | + | Not much is known about AM[polylog] -- for example, whether it sits in [[Complexity Zoo:P#ph|PH]]. However, [[zooref#ss04|[SS04]]] show that if AM[polylog] contains [[Complexity Zoo:C#conp|coNP]], then [[Complexity Zoo:E#eh|EH]] collapses to [[Complexity Zoo:S#s2exppnp|S<sub>2</sub>-EXP•P<sup>NP</sup>]]. ([[zooref#pv04|[PV04]]] improved the collapse to [[#amexp|AM<sub>EXP</sub>]].) |
---- | ---- | ||
+ | |||
===== <span id="ampmp" style="color:red">AmpMP</span>: Amplifiable [[Complexity Zoo:M#mp2|MP]] ===== | ===== <span id="ampmp" style="color:red">AmpMP</span>: Amplifiable [[Complexity Zoo:M#mp2|MP]] ===== | ||
The class of decision problems such that for some [[Complexity Zoo:Symbols#sharpp|#P]] function f(x,0<sup>m</sup>), | The class of decision problems such that for some [[Complexity Zoo:Symbols#sharpp|#P]] function f(x,0<sup>m</sup>), | ||
Line 222: | Line 249: | ||
Defined in [[zooref#gkr95|[GKR+95]]]. | Defined in [[zooref#gkr95|[GKR+95]]]. | ||
− | Contains [[Complexity Zoo:P#ph|PH]] and Contained in [[Complexity Zoo:M#mp2|MP]]. | + | Contains [[Complexity Zoo:P#ph|PH]] and [[Complexity Zoo:M#modph|ModPH]]. Contained in [[Complexity Zoo:M#mp2|MP]]. |
---- | ---- | ||
+ | |||
===== <span id="amppbqp" style="color:red">AmpP-BQP</span>: [[Complexity Zoo:B#bqp|BQP]] Restricted To [[Zoo_Exhibit#ampp|AmpP]] States ===== | ===== <span id="amppbqp" style="color:red">AmpP-BQP</span>: [[Complexity Zoo:B#bqp|BQP]] Restricted To [[Zoo_Exhibit#ampp|AmpP]] States ===== | ||
Similar to [[Complexity Zoo:T#treebqp|TreeBQP]] except that the quantum computer's state at each time step is restricted to being exponentially close to a state in [[Zoo_Exhibit#ampp|AmpP]] (that is, a state for which the amplitudes are computable by a classical polynomial-size circuit). | Similar to [[Complexity Zoo:T#treebqp|TreeBQP]] except that the quantum computer's state at each time step is restricted to being exponentially close to a state in [[Zoo_Exhibit#ampp|AmpP]] (that is, a state for which the amplitudes are computable by a classical polynomial-size circuit). | ||
Line 255: | Line 283: | ||
The abbreviation APP is also used for Approximable in Probabilistic Polynomial Time, see [[#axpp|AxPP]]. | The abbreviation APP is also used for Approximable in Probabilistic Polynomial Time, see [[#axpp|AxPP]]. | ||
+ | |||
+ | Contains [[Complexity Zoo:F#fewp|FewP]] [[zooref#li93|[Li93]]] and contains [[Complexity Zoo:Y#yqp*|YQP*]], YMA*, and [[Complexity Zoo:Y#yp*|YP*]] [[zooref#yir24|[Yir24]]]. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== <span id="apspace" style="color:red">APSPACE</span>: Alternating [[Complexity Zoo:P#pspace|PSPACE]] ===== | ||
+ | APSPACE is the class of decision problems solvable with polynomial space by an alternating Turing machine. See also [[#aspace|ASPACE]]. | ||
+ | |||
+ | APSPACE = [[Complexity Zoo:E#exp|EXP]] [[zooref#cks81|[CKS81]]]. | ||
---- | ---- | ||
Line 268: | Line 305: | ||
---- | ---- | ||
+ | |||
+ | ===== <span id="aspace" style="color: red">ASPACE</span>: Alternating [[Complexity Zoo:D#dtime|SPACE]] ===== | ||
+ | '''ASPACE'''(f(n)) is the class of problems for which there are alternating Turing machines (see [[#ap|AP]]) which decide the problem in space bounded by f(n). See also [[#atime|ATIME]]. | ||
+ | |||
+ | In particular, [[#apspace|APSPACE]] = ASPACE(poly(n)) and [[#al|AL]] = ASPACE(log(n)). | ||
+ | |||
+ | For any polynomial time constructable f(n) > n, ASPACE(log(f(n))) = [[Complexity Zoo:D#dtime|DTIME]](poly(f(n))). [[zooref#cks81|[CKS81]]]. | ||
+ | |||
+ | ---- | ||
+ | |||
===== <span id="atime" style="color: red">ATIME</span>: Alternating [[Complexity Zoo:D#dtime|TIME]] ===== | ===== <span id="atime" style="color: red">ATIME</span>: Alternating [[Complexity Zoo:D#dtime|TIME]] ===== | ||
− | '''ATIME'''(f(n)) is the class of problems for which there are alternating Turing machines (see [[#ap|AP]]) which decide the problem in time bounded by f(n). | + | '''ATIME'''(f(n)) is the class of problems for which there are alternating Turing machines (see [[#ap|AP]]) which decide the problem in time bounded by f(n). See also [[#aspace|ASPACE]]. |
− | In particular, [[#ap|AP]] = ATIME(poly(n)). | + | In particular, [[#ap|AP]] = ATIME(poly(n)) and [[#alogtime|ALOGTIME]] = ATIME(log(n)). |
+ | |||
+ | For any polynomial time constructable f(n) > n, ATIME(poly(f(n))) = [[Complexity Zoo:D#dtime|SPACE]](poly(f(n))). [[zooref#cks81|[CKS81]]]. | ||
---- | ---- | ||
Line 366: | Line 415: | ||
Contained in [[#awstar|AW[*]]]. | Contained in [[#awstar|AW[*]]]. | ||
+ | |||
+ | [[zooref#dft98|[DFT98]]] show that for all t, [[#awt|AW[t]]] = [[#awstar|AW[*]]]. | ||
---- | ---- | ||
+ | |||
===== <span id="axp" style="color:red">AxP</span>: Approximable in Polynomial Time ===== | ===== <span id="axp" style="color:red">AxP</span>: Approximable in Polynomial Time ===== | ||
Usually called AP in the literature. I've renamed it AxP to distinguish it from the "other" [[#ap|AP]]. | Usually called AP in the literature. I've renamed it AxP to distinguish it from the "other" [[#ap|AP]]. |
Latest revision as of 15:47, 7 July 2024
Back to the Main Zoo - Complexity Garden - Zoo Glossary - Zoo References
Complexity classes by letter: Symbols - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
Lists of related classes: Communication Complexity - Hierarchies - Nonuniform
A0PP - AC - AC0 - AC0[m] - AC1 - ACC0 - Ack - AH - AL - ALL - ALOGTIME - AlgP/poly - Almost-NP - Almost-P - Almost-PSPACE - AM - AMcc - AMEXP - AM ∩ coAM - AM[polylog] - AmpMP - AmpP-BQP - AP - APP - APSPACE - APX - ASPACE - ATIME - AUC-SPACE(f(n)) - AuxPDA - AVBPP - AvgE - AvgP - AW[P] - AWPP - AW[SAT] - AW[*] - AW[t] - AxP - AxPP
A0PP: One-Sided Analog of AWPP
Same as SBP, except that f is a nonnegative-valued GapP function rather than a #P function.
Defined in [Vya03], where the following was also shown:
- A0PP contains QMA, AWPP, and coC=P.
- A0PP is contained in PP.
- If A0PP = PP then PH is contained in PP.
Kuperberg ([Kup09]) showed that A0PP = SBQP.
AC: Unbounded Fanin Polylogarithmic-Depth Circuits
ACi is the class of decision problems solvable by a nonuniform family of Boolean circuits, with polynomial size, depth O(logi(n)), and unbounded fanin. The gates allowed are AND, OR, and NOT.
Then AC is the union of ACi over all nonnegative i.
ACi is contained in NCi+1; thus, AC = NC.
For a random oracle A, (ACi)A is strictly contained in (ACi+1)A, and (uniform) ACA is strictly contained in PA, with probability 1 [Mil92].
FO-uniform AC with depth is equal to FO[].
AC0: Unbounded Fanin Constant-Depth Circuits
An especially important subclass of AC, corresponding to constant-depth, unbounded-fanin, polynomial-size circuits with AND, OR, and NOT gates.
Computing the Parity or Majority of n bits is not in AC0 [FSS84].
There are functions in AC0 that are pseudorandom for all statistical tests in AC0 [NW94]. But there are no functions in AC0 that are pseudorandom for all statistical tests in QP (quasipolynomial time) [LMN93].
[LMN93] showed furthermore that functions with AC0 circuits of depth d are learnable in QP, given their outputs on O(2log(n)^O(d)) randomly chosen inputs. On the other hand, this learning algorithm is essentially optimal, unless there is a 2n^o(1) algorithm for factoring [Kha93].
Although there are no good pseudorandom functions in AC0, [IN96] showed that there are pseudorandom generators that stretch n bits to n+Θ(log n), assuming the hardness of a problem based on subset sum.
AC0 contains NC0, and is contained in QACf0 and MAC0.
In descriptive complexity, uniform AC0 can be characterized as the class of problems expressible by first-order predicates with addition and multiplication operators - or indeed, with ordering and multiplication, or ordering and division (see [Lee02]). So it's equivalent to the class FO, and to the alternating logtime hierarchy.
[BLM+98] showed the following problem is complete for depth-k AC0 circuits (with a uniformity condition):
- Given a grid graph of polynomial length and width k, decide whether there is a path between vertices s and t (which can be given as part of the input).
AC0[m]: AC0 With MOD m Gates
Same as AC0, but now "MOD m" gates (for a specific m) are allowed in addition to AND, OR, and NOT gates. (A MOD m gate outputs 0 if the sum of its inputs is congruent to 0 modulo m, and 1 otherwise.)
If m is a power of a prime p, then for any prime q not equal to p, deciding whether the sum of n bits is congruent to 0 modulo q is not in AC0[m] [Raz87] [Smo87]. It follows that, for any such m, AC0[m] is strictly contained in NC1.
However, if m is a product of distinct primes (e.g. 6), then it is not even known whether AC0[m] = NP!
See also: QAC0[m].
AC1: Unbounded Fanin Log-Depth Circuits
See AC for definition.
Contains NL (hence also NC1). Contained in NC2. The complexity class DET also obeys all these containment relationships, but no containment is known in either direction between AC1 and DET.
ACC0: AC0 With Arbitrary MOD Gates
Same as AC0[m], but now the constant-depth circuit can contain MOD m gates for any m.
Contained in TC0.
Indeed, can be simulated by depth-3 threshold circuits of quasipolynomial size [Yao90].
According to [All96], there is no good evidence for the existence of cryptographically secure functions in ACC0.
There is no non-uniform ACC0 circuits of polynomial size for NTIMES[2n] and no ACC0 circuit of size 2nO(1) for ENP (The class E with an NP oracle). These are the only two known nontrivial lower bounds against ACC0 and were recently discovered by [Wil11].
Ack: Ackermann Time
Defined in [Sch16]. Let and where is applied to itself times. For example , , etc. Then define, , note that this has the same growth rate as where A is the Ackermann function. This class is equal to DTIME(Fω(p(n))) over all primitive-recursive functions p(n). The class remains unchanged if we replace DTIME with NTIME or DSPACE.
Strictly contains ELEMENTARY, Tower, and PR. Is strictly contained in R.
The relationship between this class and PR is analogous to the relationship between Tower and ELEMENTARY. That is, Ack contains problems "barely" outside of PR and, unlike PR, has complete problems.
The reachability problems for Petri nets [Ler22] and vector addition systems [CO22] are complete for this class under primitive recursive reductions, as well as the problem of navigating robots through a maze of gadgets with spawner and destroyer nodes [Ani+23].
AH: Arithmetic Hierarchy
The analog of PH in computability theory.
Let Δ0 = Σ0 = Π0 = R. Then for i>0, let
Then AH is the union of these classes for all nonnegative constant i.
Each level of AH strictly contains the levels below it.
An equivalent definition is: is the set of numbers decided by formula with one free variable and bounded quantifier, where the primitives are + and . A bounded quantifier is of the form or where is considered to be free in . Then is the sets of number validating a formula of the form with . The set Πi is the set of formula who are negation of formula. And Δi = Σi ∩ Πi.
AL: Alternating L
Same as AP, but for logarithmic-space instead of polynomial-time.
ALL: The Class of All Languages
Literally, the class of ALL languages.
ALL is a gargantuan beast that's been wreaking havoc in the Zoo of late.
First [Aar04b] observed that PP/rpoly (PP with polynomial-size randomized advice) equals ALL, as does PostBQP/qpoly (PostBQP with polynomial-size quantum advice).
Then [Raz05] showed that QIP/qpoly, and even IP(2)/rpoly, equal ALL.
Nor is it hard to show that MAEXP/rpoly = ALL.
Also, per [Aar18], PDQP/qpoly = ALL.
On the other hand, even though PSPACE contains PP, and EXPSPACE contains MAEXP, it's easy to see that PSPACE/rpoly = PSPACE/poly and EXPSPACE/rpoly = EXPSPACE/poly are not ALL.
So does ALL have no respect for complexity class inclusions at ALL? (Sorry.)
It is not as contradictory as it first seems. The deterministic base class in all of these examples is modified by computational non-determinism after it is modified by advice. For example, MAEXP/rpoly means M(AEXP/rpoly), while (MAEXP)/rpoly equals MAEXP/poly by a standard argument. In other words, it's only the verifier, not the prover or post-selector, who receives the randomized or quantum advice. The prover knows a description of the advice state, but not its measured values. Modification by /rpoly does preserve class inclusions when it is applied after other changes.
ALOGTIME: Logarithmic time alternating RAM
ALOGTIME is the class of languages decidable in logarithmic time by a random access alternating Turing machine.
Known to be equal to UE*-uniform NC1.
AlgP/poly: Polynomial-Size Algebraic Circuits
The class of multivariate polynomials over the integers that can be evaluated using a polynomial (in the input size n) number of additions, subtractions, and multiplications, together with the constants -1 and 1. The class is nonuniform, in the sense that the polynomial for each input size n can be completely different.
Named in [Imp02], though it has been considered since the 1970's.
If P = BPP (or even BPP is contained in NE), then either NEXP is not in P/poly, or else the permanent polynomial of a matrix is not in AlgP/poly [KI02].
Almost-NP: Languages Almost Surely in NPA
The class of problems that are in NPA with probability 1, where A is an oracle chosen uniformly at random.
Almost-P: Languages Almost Surely in PA
The class of problems that are in PA with probability 1, where A is an oracle chosen uniformly at random.
Almost-PSPACE: Languages Almost Surely in PSPACEA
The class of problems that are in PSPACEA with probability 1, where A is an oracle chosen uniformly at random.
Almost-PSPACE is not known to equal PSPACE -- rather surprisingly, given the fact that PSPACE equals BPPSPACE and even PPSPACE.
What's known is that Almost-PSPACE = BPexp⋅PSPACE, where BPexp⋅ is like the BP⋅ operator but with exponentially-long strings [BVW98]. It follows that Almost-PSPACE is contained in NEXPNP ∩ coNEXPNP.
Whereas both BPexp⋅PSPACE and BPPSPACE machines are allowed exponentially many random bits, the former has a reusable record of all of these bits on a witness tape, while the latter can only preserve a fraction of them on the work tape.
AM: Arthur-Merlin
The class of decision problems for which a "yes" answer can be verified by an Arthur-Merlin protocol, as follows.
Arthur, a BPP (i.e. probabilistic polynomial-time) verifier, generates a "challenge" based on the input, and sends it together with his random coins to Merlin. Merlin sends back a response, and then Arthur decides whether to accept. Given an algorithm for Arthur, we require that
- If the answer is "yes," then Merlin can act in such a way that Arthur accepts with probability at least 2/3 (over the choice of Arthur's random bits).
- If the answer is "no," then however Merlin acts, Arthur will reject with probability at least 2/3.
Surprisingly, it turns out that such a system is just as powerful as a private-coin one, in which Arthur does not need to send his random coins to Merlin [GS86]. So, Arthur never needs to hide information from Merlin.
Furthermore, define AM[k] similarly to AM, except that Arthur and Merlin have k rounds of interaction. Then for all constant k>2, AM[k] = AM[2] = AM [BM88]. Also, the result of [GS86] can then be stated as follows: IP[k] is contained in AM[k+2] for every k (constant or non-constant).
AM contains graph nonisomorphism.
Contains NP, BPP, and SZK, and is contained in NP/poly. AM is also contained in Π2P and this proof relativizes so the containment holds relative to any oracle.
If AM contains coNP then PH collapses to Σ2P ∩ Π2P [BHZ87].
There exists an oracle relative to which AM is not contained in PP [Ver92].
AM = NP under a strong derandomization assumption: namely that some language in NE ∩ coNE requires nondeterministic circuits of size 2Ω(n) ([MV99], improving [KM99]). (A nondeterministic circuit C has two inputs, x and y, and accepts on x if there exists a y such that C(x,y)=1.)
AMcc: Communication Complexity AM
Here, Alice and Bob collectively constitute "Arthur", and Merlin sends a message that depends on the input and all the randomness, and the cost is defined to be the bit length of Merlin's message plus the communication cost of the ensuing verification protocol between Alice and Bob. (Without loss of generality, the verification protocol consists only of checking containment in a rectangle, since Merlin could always include the transcript of the verification in his message.)
It is open to prove that there exists an explicit two-party function that is not in AMcc.
Contained in PHcc.
AMcc ∩ coAMcc is not contained in PPcc if partial functions are allowed [Kla11].
AMEXP: Exponential-Time AM
Same as AM, except that Arthur is exponential-time and can exchange exponentially long messages with Merlin.
Contains MAEXP, and is contained in EH and indeed S2-EXP•PNP.
If coNP is contained in AM[polylog] then EH collapses to AMEXP [PV04].
AM ∩ coAM
The class of decision problems for which both "yes" and "no" answers can be verified by an AM protocol.
If EXP requires exponential time even for AM protocols, then AM ∩ coAM = NP ∩ coNP [GST03].
There exists an oracle relative to which AM ∩ coAM is not contained in PP [Ver95].
AM[polylog]: AM With Polylog Rounds
Same as AM, except that we allow polylog(n) rounds of interaction between Arthur and Merlin instead of a constant number.
Not much is known about AM[polylog] -- for example, whether it sits in PH. However, [SS04] show that if AM[polylog] contains coNP, then EH collapses to S2-EXP•PNP. ([PV04] improved the collapse to AMEXP.)
AmpMP: Amplifiable MP
The class of decision problems such that for some #P function f(x,0m),
- The answer on input x is 'yes' if and only if the middle bit of f(x) is 1.
- The m bits of f(x) to the left and right of the middle bit are all 0.
Defined in [GKR+95].
Contains PH and ModPH. Contained in MP.
AmpP-BQP: BQP Restricted To AmpP States
Similar to TreeBQP except that the quantum computer's state at each time step is restricted to being exponentially close to a state in AmpP (that is, a state for which the amplitudes are computable by a classical polynomial-size circuit).
Defined in [Aar03b], where it was also observed that AmpP-BQP is contained in the third level of PH, just as TreeBQP is.
AP: Alternating P
An alternating Turing machine is a nondeterministic machine with two kinds of states, AND states and OR states. It accepts if and only if the tree of all computation paths, considered as an AND-OR tree, evaluates to 1. (Here 'Accept' corresponds to 1 and 'Reject' to 0.)
Then AP is the class of decision problems solvable in polynomial time by an alternating Turing machine.
The abbreviation AP is also used for Approximable in Polynomial Time, see AxP.
APP: Amplified PP
Roughly, the class of decision problems for which the following holds. For all polynomials p(n), there exist GapP functions f and g such that for all inputs x with n=|x|,
- If the answer is "yes" then 1 > f(x)/g(1n) > 1-2-p(n).
- If the answer is "no" then 0 < f(x)/g(1n) < 2-p(n).
Defined in [Li93], where the following was also shown:
- APP is contained in PP, and indeed is low for PP.
- APP is closed under intersection, union, and complement.
The abbreviation APP is also used for Approximable in Probabilistic Polynomial Time, see AxPP.
Contains FewP [Li93] and contains YQP*, YMA*, and YP* [Yir24].
APSPACE: Alternating PSPACE
APSPACE is the class of decision problems solvable with polynomial space by an alternating Turing machine. See also ASPACE.
APX: Approximable
The subclass of NPO problems that admit constant-factor approximation algorithms. (I.e., there is a polynomial-time algorithm that is guaranteed to find a solution within a constant factor of the optimum cost.)
Contains PTAS.
Equals the closure of MaxSNP and of MaxNP under PTAS reduction [KMS+99], [CT94].
Defined in [ACG+99].
ASPACE: Alternating SPACE
ASPACE(f(n)) is the class of problems for which there are alternating Turing machines (see AP) which decide the problem in space bounded by f(n). See also ATIME.
In particular, APSPACE = ASPACE(poly(n)) and AL = ASPACE(log(n)).
For any polynomial time constructable f(n) > n, ASPACE(log(f(n))) = DTIME(poly(f(n))). [CKS81].
ATIME: Alternating TIME
ATIME(f(n)) is the class of problems for which there are alternating Turing machines (see AP) which decide the problem in time bounded by f(n). See also ASPACE.
In particular, AP = ATIME(poly(n)) and ALOGTIME = ATIME(log(n)).
For any polynomial time constructable f(n) > n, ATIME(poly(f(n))) = SPACE(poly(f(n))). [CKS81].
AUC-SPACE(f(n)): Randomized Alternating f(n)-Space
The class of problems decidable by an O(f(n))-space Turing machine with three kinds of quantifiers: existential, universal, and randomized.
Contains GAN-SPACE(f(n)).
AUC-SPACE(poly(n)) = SAPTIME = PSPACE [Pap83].
[Con92] shows that AUC-SPACE(log n) has a natural complete problem, and is contained in NP ∩ coNP.
AuxPDA: Auxiliary Pushdown Automata
Equivalent to NAuxPDAp without the running-time restriction.
AVBPP: Average-Case BPP
Defined in [OW93] to be the class of decision problems that have a good average-case BPP algorithm, whenever the input is chosen from an efficiently samplable distribution.
Note that this is not the same as the BPP version of AvgP.
AvgE: Average Exponential-Time With Linear Exponent
Has the same relation to E as AvgP does to P.
AvgP: Average Polynomial-Time
A distributional problem consists of a decision problem A, and a probability distribution μ over problem instances.
A function f, from strings to integers, is polynomial on μ-average if there exists a constant ε>0 such that the expectation of fε(x) is finite, when x is drawn from μ.
Then (A,μ) is in AvgP if there is an algorithm for A whose running time is polynomial on μ-average.
This convoluted definition is due to Levin [Lev86], who realized that simpler definitions lead to classes that fail to satisfy basic closure properties. Also see [Gol97] for more information.
If AvgP = DistNP then EXP = NEXP [BCG+92].
Strictly contained in HeurP [NS05].
See also: (NP,P-samplable).
AW[P]: Alternating W[P]
Same as AW[SAT] but with 'circuit' instead of 'formula.'
Has the same relation to AW[SAT] as W[P] has to W[SAT].
Defined in [DF99].
AWPP: Almost WPP
The class of decision problems solvable by an NP machine such that for some polynomial-time computable (i.e. FP) function f,
- If the answer is "no," then the difference between the number of accepting and rejecting paths is non-negative and at most 2-poly(n)f(x).
- If the answer is "yes," then the difference is between (1-2-poly(n))f(x) and f(x).
Defined in [FFK94].
Contains BQP [FR98], WAPP [BGM02], LWPP, and WPP.
AW[SAT]: Alternating W[SAT]
Basically has the same relation to W[SAT] as PSPACE does to NP.
The class of decision problems of the form (x,r,k1,...,kr) (r,k1,...,kr parameters), that are fixed-parameter reducible to the following problem, for some constant h:
-
Parameterized QBFSAT: Given a Boolean formula F (with no restriction on depth), over disjoint variable sets S1,...,Sr. Does there exist an assignment to S1 of Hamming weight k1, such that for all assignments to S2 of Hamming weight k2, etc. (alternating 'there exists' and 'for all'), F is satisfied?
See W[1] for the definition of fixed-parameter reducibility.
Defined in [DF99].
Contains AW[*], and is contained in AW[P].
AW[*]: Alternating W[*]
The union of AW[t] over all t.
AW[t]: Alternating W[t]
Has the same relation to W[t] as PSPACE does to NP.
Same as AW[SAT], except that the formula F can have depth at most t.
Defined in [DF99].
Contained in AW[*].
[DFT98] show that for all t, AW[t] = AW[*].
AxP: Approximable in Polynomial Time
Usually called AP in the literature. I've renamed it AxP to distinguish it from the "other" AP.
The class of real-valued functions from {0,1}n to [0,1] that can be approximated within any ε>0 by a deterministic Turing machine in time polynomial in n and 1/ε.
Defined by [KRC00], who also showed that the set of AxP machines is in RE.
AxPP: Approximable in Probabilistic Polynomial Time
Usually called APP. I've renamed it AxPP to distinguish it from the "other" APP.
The class of real-valued functions from {0,1}n to [0,1] that can be approximated within any ε>0 by a probabilistic Turing machine in time polynomial in n and 1/ε.
Defined by [KRC00], who also show the following:
- Approximating the acceptance probability of a Boolean circuit is AxPP-complete. The authors argue that this makes AxPP a more natural class than BPP, since the latter is not believed to have complete problems.
- If AxPP = AxP, then BPP = P.
- On the other hand, there exists an oracle relative to which BPP = P but AxPP does not equal AxP.
AxPP is recursively enumerable [Jeř07].