Polynomial Hierarchy

In computational complexity theory, the polynomial hierarchy is a hierarchy of complexity classes that generalize the classes P, NP and co-NP to oracle machines.

Definitions

There are two equivalent definitions of the classes of the polynomial hierarchy: the "oracle" characterization and the "existential/universal" characterization. For the oracle definition of the polynomial hierarchy, define
\Delta_0\rm{P} := \Sigma_0\mbox{P} := \Pi_0\mbox{P} := \mbox{P}
Then for i ≥ 0 define
\Delta_{i+1}\mbox{P} := \mbox{P}^{\Sigma_i\rm{P}}
\Sigma_{i+1}\mbox{P} := \mbox{NP}^{\Sigma_i\rm{P}}
\Pi_{i+1}\mbox{P} := \mbox{co-NP}^{\Sigma_i\rm{P}}
Where AB is the set of decision problems solvable by a Turing machine in class A augmented by an oracle for some problem in class B. For example, Σ1P = NP, Π1P = co-NP, and Δ2P = PNP is the class of problems solvable in polynomial time with an oracle for some problem in NP. For the existential/universal definition of the polynomial hierarchy, let L be a language, let p be a polynomial, and define
\exists^p L := \left\{ x \in \{0,1\}^* \ | \ \exists w \in \{0,1\}^{\leq p(|x|)} \langle x,w \rangle \in L \right\}
In other words, L represents a set of ordered pairs of strings, where the first string x is a member of \exists^p L, and the second string w is a "short" witness that x \in \exists^p L. The witness w for x is bounded in length by p(|x|). In other words, x \in \exists^p L if and only if there exists a short ( \leq p(|x|) ) witness w such that \langle x,w \rangle \in L . Similarly, define
\forall^p L := \left\{ x \ | \ \forall w \in \{0,1\}^{\leq p(|x|)} \langle x,w \rangle \in L \right\}
Note that deMorgan's Laws hold: \left( \exists^p L \right)^c = \forall^p L^c and \left( \forall^p L \right)^c = \exists^p L^c , where L^c is the complement of L. Let \mathcal{C} be a class of languages. Extend these operators to work on whole classes of languages by the definition
\exists^{\rm P} \mathcal{C} := \left\{ \exists^p L \ | \ p \mbox{ is a polynomial and } L \in \mathcal{C} \right\}
\forall^{\rm P} \mathcal{C} := \left\{ \forall^p L \ | \ p \mbox{ is a polynomial and } L \in \mathcal{C} \right\}
Note that deMorgan's Laws hold: {\rm co} \exists^{\rm P} \mathcal{C} = \forall^{\rm P} {\rm co} \mathcal{C} and {\rm co} \forall^{\rm P} \mathcal{C} = \exists^{\rm P} {\rm co} \mathcal{C} . The classes NP and {\rm coNP} can be defined as {\rm NP} = \exists^{\rm P} {\rm P} , and {\rm coNP} = \forall^{\rm P} {\rm P} , where the class P is the class of all feasibly (polynomial-time) decidable languages. The polynomial hierarchy can be define recursively as
\Sigma_0^{\rm P} := \Pi_0^{\rm P} := {\rm P}
\Sigma_{k+1}^{\rm P} := \exists^{\rm P} \Pi_k^{\rm P}
\Pi_{k+1}^{\rm P} := \forall^{\rm P} \Sigma_k^{\rm P}
Note that {\rm NP} = \Sigma_1^{\rm P} , and {\rm coNP} = \Pi_1^{\rm P} . This definition reflects the close connection between the polynomial hierarchy and the arithmetical hierarchy.

Relations between complexity classes

The definitions imply the relations:
\Sigma_i\mbox{P} \subseteq \Delta_{i+1}\mbox{P} \subseteq \Sigma_{i+1}\mbox{P}
\Pi_i\mbox{P} \subseteq \Delta_{i+1}\mbox{P} \subseteq \Pi_{i+1}\mbox{P}
It is an open question whether any of these containments are proper (most people expect that they all are). If any \Sigma_k\rm{P} = \Sigma_{k+1}\rm{P}, then the hierarchy collapses to level k: for all i > k, \Sigma_i\rm{P} = \Sigma_k\rm{P}. In particular, if P = NP, then the hierarchy collapses completely. An equivalent definition in terms of alternating Turing machines defines \Sigma_k\rm{P} (respectively, \Pi_k\rm{P}) 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. The union of all classes in the polynomial hierarchy is the complexity class PH. 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 second order logic 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 PSPACE is known to contain PSPACE-complete problems, we know that if PSPACE = PH, then the polynomial hierarchy must collapse.

Problems in polynomial hierarchy

An example of a natural problem in Σ2P is circuit minimization: given a circuit A computing a Boolean function f and a number k, determine if there is a circuit with at most k gates that computes the same function f. Let \mathcal{C} be the set of all boolean circuits. The language L = { \langle A,k,B,x \rangle \in \mathcal{C} \times \mathbb{N} \times \mathcal{C} \times \{0,1\}^* : A and B are circuits, B has less than k gates, and A(x)=B(x)} is decidable in polynomial time. The language CM = { \langle A,k \rangle : there exists a circuit B such that A and B compute the same function } is the circuit minimization language. CM is in \forall^{\rm P} \exists^{\rm P} {\rm P} because, given \langle A,k \rangle , if and only if there exists a circuit B such that for all inputs x, \langle A,k,B,x \rangle is in L, then \langle A,k \rangle is in CM, and because L is decidable in polynomial time. A complete problem for ΣkP is satisfiability for quantified Boolean formulas with k alternations of quantifiers (abbreviated QBFk or QSATk). In this problem, we are given a Boolean formula f with variables partitioned into k sets X1, ..., Xk. We have to determine if it is true that
\exists X_1 \forall X_2 \exists X_3 \ldots f
That is, is there an assignment of values to variables in X1 such that, for all assignements of values in X2, there exists an assignement of values to variables in X3, ... f is true? The variant above is complete for ΣkP. The variant in which the first quantifier is "for all", the second is "exists", etc., is complete for ΠkP.

References

  1. L. Stockmeyer. The polynomial hierarchy. Theoretical Computer Science, vol.3, pp.1-22, 1976. The paper which introduced the polynomial hierarchy.
  2. C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994. Chapter 17. Polynomial hierarchy. A commonly used textbook

 

<< PreviousWord BrowserNext >>
gerousia
anthraquinone
ntm
andrei rublev
dtm
list of swimming coaches
mass (disambiguation)
cls (computing)
rudaki
doskey
doug frost
cascar
jay c. buckey
don gambril
ph (complexity)
richard quick
justice bomb
ave verum corpus
frederick w. sturckow
bill sweetenham
twintext
vladimir n. dezhurov
state (physics)
cahors
shii ann huang
barry b. longyear
ghandia johnson
helmuts balderis
saturday night live cast
shemp howard
sinistral
dextral
martigny sur l'ante
martragny
lactoferrin
sayat nova
disinvestment
mathieu
susan hawk
may sur orne
scopas
sega rally championship
the best of the corrs
le molay littry