PH (complexity)

From Wikipedia, the free encyclopedia

In computational complexity theory, the complexity class PH is the union of all complexity classes in the polynomial hierarchy:

\mbox{PH} = \bigcup_{k\in\mathbb{N}} \Delta_k\mbox{P}

PH was first defined by Larry Stockmeyer. It is contained in PPP (the class of problems that are decidable by a polynomial time Turing machine with access to a PP oracle), P#P (by Toda's theorem), and also in PSPACE.

PH has a simple logical characterization: it is the set of languages expressible by second-order logic.

PH contains almost all well-known complexity classes inside PSPACE; in particular, it contains P, NP, and co-NP. It even contains probabilistic classes such as BPP and RP.

P = NP if and only if P = PH. This may simplify a potential proof of PNP, since it's only necessary to separate P from the more general class PH.

[edit] References

  • L. J. Stockmeyer, "The polynomial hierarchy", Theoretical Computer Science, Vol. 3 (1976), pp. 1–22.
  • The Complexity Zoo: PH