Polynomial hierarchy

From Wikipedia, the free encyclopedia

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.

Contents

There are multiple equivalent definitions of the classes of the polynomial hierarchy.

  1. For the oracle definition of the polynomial hierarchy, define
    \Delta_0^{\rm P} := \Sigma_0^{\rm P} := \Pi_0^{\rm P} := \mbox{P},
    where P is the set of decision problems solvable in polynomial time. Then for i ≥ 0 define
    \Delta_{i+1}^{\rm P} := \mbox{P}^{\Sigma_i^{\rm P}}
    \Sigma_{i+1}^{\rm P} := \mbox{NP}^{\Sigma_i^{\rm P}}
    \Pi_{i+1}^{\rm P} := \mbox{coNP}^{\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, \Sigma_1^{\rm P} = {\rm NP}, \Pi_1^{\rm P} = {\rm coNP}, and \Delta_2^{\rm P} = {\rm P^{NP}} is the class of problems solvable in polynomial time with an oracle for some problem in NP.
  2. 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
    \exists^p L := \left\{ x \in \{0,1\}^* \ \left| \ \left( \exists w \in \{0,1\}^{\leq p(|x|)} \right) \langle x,w \rangle \in L \right. \right\},
    where \langle x,w \rangle \in \{0,1\}^* is some standard encoding of the pair of binary strings x and w as a single binary string. 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" (|w| \leq p(|x|)) witness testifying that x is a member of \exists^p L. In other words, x \in \exists^p L if and only if there exists a short witness w such that \langle x,w \rangle \in L. Similarly, define
    \forall^p L := \left\{ x \in \{0,1\}^* \ \left| \ \left( \forall w \in \{0,1\}^{\leq p(|x|)} \right) \langle x,w \rangle \in L \right. \right\}
    Note that deMorgan's Laws hold: \left( \exists^p L \right)^{\rm c} = \forall^p L^{\rm c} and \left( \forall^p L \right)^{\rm c} = \exists^p L^{\rm c}, where Lc 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\}
    Again, 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}, where {\rm co}\mathcal{C} = \left\{ L^c | L \in \mathcal{C} \right\}. The classes NP and co-NP can be defined as {\rm NP} = \exists^{\rm P} {\rm P}, and {\rm coNP} = \forall^{\rm P} {\rm P}, where 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, where DEC and CE play roles analogous to P and NP, respectively. The analytic hierarchy is also defined in a similar way to give a hierarchy of subsets of the real numbers.
  3. 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 definitions imply the relations:

\Sigma_i^{\rm P} \subseteq \Delta_{i+1}^{\rm P} \subseteq \Sigma_{i+1}^{\rm P}
\Pi_i^{\rm P} \subseteq \Delta_{i+1}^{\rm P} \subseteq \Pi_{i+1}^{\rm P}
\Sigma_i^{\rm P} = {\rm co}\Pi_{i}^{\rm P}

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 \Sigma_k^{\rm P} = \Sigma_{k+1}^{\rm P}, or if any \Sigma_k^{\rm P} = \Pi_{k}^{\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.

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, since a PSPACE-complete problem would be a \Sigma_{k}^{\rm P}-complete problem for some k.

Each class in the polynomial hierarchy contains \leq_{\rm m}^{\rm P}-complete problems (problems complete under polynomial-time many-one reductions). Furthermore, each class in the polynomial hierarchy is closed under \leq_{\rm m}^{\rm P}-reductions: meaning that for a class \mathcal{C} in the hierarchy and a language L \in \mathcal{C}, if A \leq_{\rm m}^{\rm P} L, then A \in \mathcal{C} as well. These two facts together imply that if Ki is a complete problem for \Sigma_{i}^{\rm P}, then \Sigma_{i+1}^{\rm P} = \left( \Sigma_{i}^{\rm P} \right)^{K_i}, and \Pi_{i+1}^{\rm P} = \left( \Pi_{i}^{\rm P} \right)^{K_i^{\rm c}}. For instance, \Sigma_{2}^{\rm P} = {\rm NP}^{\rm SAT}. In other words, if a language is defined based on some oracle in \mathcal{C}, then we can assume that it is defined based on a complete problem for \mathcal{C}. Complete problems therefore act as "representatives" of the class for which they are complete.

  • An example of a natural problem in \Sigma_2^P 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 \mathcal{C} be the set of all boolean circuits. The language
    L = \left\{ \langle A,k,B,x \rangle \in \mathcal{C} \times \mathbb{N} \times \mathcal{C} \times \{0,1\}^*   \left| B \mbox{ has at most } k \mbox{ gates, and } A(x)=B(x)  \right. \right\}

    is decidable in polynomial time. The language

    CM = \left\{ \langle A,k \rangle \in \mathcal{C} \times \mathbb{N}  \left|  \begin{matrix} \mbox{there exists a circuit } B \mbox{ with at most } k \mbox{ gates } \\ \mbox{ such that } A \mbox{ and } B \mbox{ compute the same function}  \end{matrix} \right. \right\}

    is the circuit minimization language. CM \in \Sigma_2^P (= \exists^{\rm P} \forall^{\rm P} {\rm P}) because L is decidable in polynomial time and because, given \langle A,k \rangle, \langle A,k \rangle \in CM if and only if there exists a circuit B such that for all inputs x, \langle A,k,B,x \rangle \in L.

  • A complete problem for \Sigma_k^{\rm P} is satisfiability for quantified Boolean formulas with k alternations of quantifiers (abbreviated QBFk or QSATk). This is the version of the boolean satisfiability problem for \Sigma_k^{\rm P}. 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 assignments of values in X2, there exists an assignment of values to variables in X3, ... f is true? The variant above is complete for \Sigma_k^{\rm P}. The variant in which the first quantifier is "for all", the second is "exists", etc., is complete for \Pi_k^{\rm P}.

  1. 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.
  2. L. J. Stockmeyer. The polynomial hierarchy. Theoretical Computer Science, vol.3, pp.1–22, 1976.
  3. C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994. Chapter 17. Polynomial hierarchy, pp. 409–438.
  4. Michael R. Garey and David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. ISBN 0-7167-1045-5.  Section 7.2: The Polynomial Hierarchy, pp.161–167.
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.