The Polynomial Hierarchy

Alternating quantifier blocks stack NP and coNP into an infinite tower.

The idea

The polynomial hierarchy extends $\mathbf{NP}$ and $\mathbf{coNP}$ by allowing the quantifiers over certificates to alternate. A language is in $\mathbf{NP}$ when membership has a short certificate: $x$ belongs exactly when some polynomially bounded string makes a polynomial-time verifier accept. Many natural questions do not have that one-quantifier shape. Whether a circuit is the smallest circuit computing its function asserts that every smaller circuit computes a different function — a $\forall$ where $\mathbf{NP}$ supplies only an $\exists$.

The level $\Sigma_k^{p}$ consists of the languages $L$ with

$x \in L \iff \exists u_1\, \forall u_2\, \exists u_3 \cdots Q_k u_k\; V(x, u_1, \ldots, u_k) = 1,$

where the $k$ blocks alternate beginning at $\exists$, each $u_i$ is polynomially bounded, and $V$ runs in polynomial time. $\Pi_k^{p}$ is defined the same way with the blocks beginning at $\forall$. Each level contains all the ones below it, and $\mathbf{PH}$ is the union of them all. In particular $\Sigma_1^{p} = \mathbf{NP}$ and $\Pi_1^{p} = \mathbf{coNP}$, and at the base of the tower sits $\mathbf{P}$, the level with no quantifier blocks at all.

We can read the quantifiers as a game: a prover plays the $\exists$ moves and wants $V$ to accept, and an adversary plays the $\forall$ moves and wants it to reject. Whether extra moves buy extra power is not known: the levels are believed to be distinct, but no separation has been proved, and many results take the conditional form "if such-and-such held, the hierarchy would collapse to a finite level".

Ways to work on it

Not sure where to start? Take the ten-question placement test.