Polynomial hierarchy
In computational complexity theory, the polynomial hierarchy (sometimes called the polynomialtime hierarchy) is a hierarchy of complexity classes that generalize the classes P, NP and coNP to oracle machines. It is a resourcebounded counterpart to the arithmetical hierarchy and analytical hierarchy from mathematical logic.
Contents
Definitions[edit]
There are multiple equivalent definitions of the classes of the polynomial hierarchy.
 For the oracle definition of the polynomial hierarchy, define
where P is the set of decision problems solvable in polynomial time. Then for i ≥ 0 define
 For the existential/universal definition of the polynomial hierarchy, let L be a language (i.e. a decision problem, a subset of {0,1}^{*}), let p be a polynomial, and define
 An equivalent definition in terms of alternating Turing machines defines (respectively, ) as the set of decision problems solvable in polynomial time on an alternating Turing machine with k alternations starting in an existential (respectively, universal) state.
Relations between classes in the polynomial hierarchy[edit]
The definitions imply the relations:
Unlike the arithmetic and analytic hierarchies, whose inclusions are known to be proper, it is an open question whether any of these inclusions are proper, though it is widely believed that they all are. If any , or if any , then the hierarchy collapses to level k: for all , . In particular, if P = NP, then the hierarchy collapses completely.
The union of all classes in the polynomial hierarchy is the complexity class PH.
Properties[edit]
Unsolved problem in computer science: (more unsolved problems in computer science)

The polynomial hierarchy is an analogue (at much lower complexity) of the exponential hierarchy and arithmetical hierarchy.
It is known that PH is contained within PSPACE, but it is not known whether the two classes are equal. One useful reformulation of this problem is that PH = PSPACE if and only if secondorder logic over finite structures gains no additional power from the addition of a transitive closure operator.
If the polynomial hierarchy has any complete problems, then it has only finitely many distinct levels. Since there are PSPACEcomplete problems, we know that if PSPACE = PH, then the polynomial hierarchy must collapse, since a PSPACEcomplete problem would be a complete problem for some k.
Each class in the polynomial hierarchy contains complete problems (problems complete under polynomialtime manyone reductions). Furthermore, each class in the polynomial hierarchy is closed under reductions: meaning that for a class C in the hierarchy and a language , if , then as well. These two facts together imply that if is a complete problem for , then , and . For instance, . In other words, if a language is defined based on some oracle in C, then we can assume that it is defined based on a complete problem for C. Complete problems therefore act as "representatives" of the class for which they are complete.
The Sipser–Lautemann theorem states that the class BPP is contained in the second level of the polynomial hierarchy.
Kannan's theorem states that for any k, is not contained in SIZE(n^{k}).
Toda's theorem states that the polynomial hierarchy is contained in P^{#P}.
Problems in the polynomial hierarchy[edit]
 An example of a natural problem in is circuit minimization: given a number k and a circuit A computing a Boolean function f, determine if there is a circuit with at most k gates that computes the same function f. Let C be the set of all boolean circuits. The language
is decidable in polynomial time. The language
 A complete problem for is satisfiability for quantified Boolean formulas with k alternations of quantifiers (abbreviated QBF_{k} or QSAT_{k}). This is the version of the boolean satisfiability problem for . In this problem, we are given a Boolean formula f with variables partitioned into k sets X_{1}, ..., X_{k}. We have to determine if it is true that
 A Garey/Johnsonstyle list of problems known to be complete for the second and higher levels of the polynomial hierarchy can be found in this Compendium.
See also[edit]
References[edit]
 A. R. Meyer and L. J. Stockmeyer. The Equivalence Problem for Regular Expressions with Squaring Requires Exponential Space. In Proceedings of the 13th IEEE Symposium on Switching and Automata Theory, pp. 125–129, 1972. The paper that introduced the polynomial hierarchy.
 L. J. Stockmeyer. The polynomialtime hierarchy. Theoretical Computer Science, vol.3, pp. 1–22, 1977.
 C. Papadimitriou. Computational Complexity. AddisonWesley, 1994. Chapter 17. Polynomial hierarchy, pp. 409–438.
 Michael R. Garey and David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NPCompleteness. W.H. Freeman. ISBN 0716710455. Section 7.2: The Polynomial Hierarchy, pp. 161–167.