Polynomial hierarchy

From testwiki
Jump to navigation Jump to search

Template:Short description Template:No footnotes

In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP.[1] Each class in the hierarchy is contained within PSPACE. The hierarchy can be defined using oracle machines or alternating Turing machines. It is a resource-bounded counterpart to the arithmetical hierarchy and analytical hierarchy from mathematical logic. The union of the classes in the hierarchy is denoted PH.

Classes within the hierarchy have complete problems (with respect to polynomial-time reductions) that ask if quantified Boolean formulae hold, for formulae with restrictions on the quantifier order. It is known that equality between classes on the same level or consecutive levels in the hierarchy would imply a "collapse" of the hierarchy to that level.

Definitions

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

Oracle definition

For the oracle definition of the polynomial hierarchy, define

Δ0𝖯:=Σ0𝖯:=Π0𝖯:=𝖯,

where P is the set of decision problems solvable in polynomial time. Then for i β‰₯ 0 define

Δi+1𝖯:=𝖯Σi𝖯
Σi+1𝖯:=𝖭𝖯Σi𝖯
Πi+1𝖯:=π–Όπ—ˆπ–­π–―Σi𝖯

where 𝖯A is the set of decision problems solvable in polynomial time by a Turing machine augmented by an oracle for some complete problem in class A; the classes 𝖭𝖯A and π–Όπ—ˆπ–­π–―A are defined analogously. For example, Σ1𝖯=𝖭𝖯,Π1𝖯=π–Όπ—ˆπ–­π–―, and Δ2𝖯=𝖯𝖭𝖯 is the class of problems solvable in polynomial time by a deterministic Turing machine with an oracle for some NP-complete problem.[2]

Quantified Boolean formulae definition

For the existential/universal definition of the polynomial hierarchy, let Template:Mvar be a language (i.e. a decision problem, a subset of {0,1}*), let Template:Mvar be a polynomial, and define

pL:={x{0,1}* | (w{0,1}p(|x|))x,wL},

where x,w{0,1}* is some standard encoding of the pair of binary strings x and w as a single binary string. The language L represents a set of ordered pairs of strings, where the first string x is a member of pL, and the second string w is a "short" (|w|p(|x|)) witness testifying that x is a member of pL. In other words, xpL if and only if there exists a short witness w such that x,wL. Similarly, define

pL:={x{0,1}* | (w{0,1}p(|x|))x,wL}

Note that De Morgan's laws hold: (pL)c=pLc and (pL)c=pLc, where Lc is the complement of L.

Let Template:Mathcal be a class of languages. Extend these operators to work on whole classes of languages by the definition

π–―π’ž:={pL | p is a polynomial and Lπ’ž}
π–―π’ž:={pL | p is a polynomial and Lπ’ž}

Again, De Morgan's laws hold: π–Όπ—ˆπ–―π’ž=π–―π–Όπ—ˆπ’ž and π–Όπ—ˆπ–―π’ž=π–―π–Όπ—ˆπ’ž, where π–Όπ—ˆπ’ž={Lc|Lπ’ž}.

The classes NP and co-NP can be defined as 𝖭𝖯=𝖯𝖯, and π–Όπ—ˆπ–­π–―=𝖯𝖯, where P is the class of all feasibly (polynomial-time) decidable languages. The polynomial hierarchy can be defined recursively as

Σ0𝖯:=Π0𝖯:=𝖯
Σk+1𝖯:=𝖯Πk𝖯
Πk+1𝖯:=𝖯Σk𝖯

Note that 𝖭𝖯=Σ1𝖯, and π–Όπ—ˆπ–­π–―=Π1𝖯.

This definition reflects the close connection between the polynomial hierarchy and the arithmetical hierarchy, where R and RE 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.

Alternating Turing machines definition

An alternating Turing machine is a non-deterministic Turing machine with non-final states partitioned into existential and universal states. It is eventually accepting from its current configuration if: it is in an existential state and can transition into some eventually accepting configuration; or, it is in a universal state and every transition is into some eventually accepting configuration; or, it is in an accepting state.[3]

We define Σk𝖯 to be the class of languages accepted by an alternating Turing machine in polynomial time such that the initial state is an existential state and every path the machine can take swaps at most k – 1 times between existential and universal states. We define Πk𝖯 similarly, except that the initial state is a universal state.[4]

If we omit the requirement of at most k – 1 swaps between the existential and universal states, so that we only require that our alternating Turing machine runs in polynomial time, then we have the definition of the class AP, which is equal to PSPACE.[5]

Relations between classes in the polynomial hierarchy

Commutative diagram equivalent to the polynomial time hierarchy. The arrows denote inclusion.

The union of all classes in the polynomial hierarchy is the complexity class PH.

The definitions imply the relations:

Σi𝖯Δi+1𝖯Σi+1𝖯
Πi𝖯Δi+1𝖯Πi+1𝖯
Σi𝖯=π–Όπ—ˆΠi𝖯

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 Σk𝖯=Σk+1𝖯, or if any Σk𝖯=Πk𝖯, then the hierarchy collapses to level k: for all i>k, Σi𝖯=Σk𝖯.[6] In particular, we have the following implications involving unsolved problems:

  • P = NP if and only if P = PH.[7]
  • If NP = co-NP then NP = PH. (co-NP is Π1𝖯.)

The case in which NP = PH is also termed as a collapse of the PH to the second level. The case P = NP corresponds to a collapse of PH to P.

Template:Unsolved

The question of collapse to the first level is generally thought to be extremely difficult. Most researchers do not believe in a collapse, even to the second level.

Relationships to other classes

Template:See also Template:Unsolved

Hasse diagram of complexity classes including P, NP, co-NP, BPP, P/poly, PH, and PSPACE

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 over finite structures gains no additional power from the addition of a transitive closure operator over relations of relations (i.e., over the second-order variables).[8]

If the polynomial hierarchy has any complete problems, then it has only finitely many distinct levels. Since there are PSPACE-complete problems, we know that if PSPACE = PH, then the polynomial hierarchy must collapse, since a PSPACE-complete problem would be a Σk𝖯-complete problem for some k.[9]

Each class in the polynomial hierarchy contains m𝖯-complete problems (problems complete under polynomial-time many-one reductions). Furthermore, each class in the polynomial hierarchy is closed under m𝖯-reductions: meaning that for a class Template:Mathcal in the hierarchy and a language Lπ’ž, if Am𝖯L, then Aπ’ž as well. These two facts together imply that if Ki is a complete problem for Σi𝖯, then Σi+1𝖯=𝖭𝖯Ki, and Πi+1𝖯=π–Όπ—ˆπ–­π–―Ki. For instance, Σ2𝖯=𝖭𝖯𝖲𝖠𝖳. In other words, if a language is defined based on some oracle in Template:Mathcal, then we can assume that it is defined based on a complete problem for Template:Mathcal. 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, Σ2 is not contained in SIZE(nk).

Toda's theorem states that the polynomial hierarchy is contained in P#P.

Problems

Template:Unordered list

See also

References

General references

  1. Template:Cite book
  2. 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.
  3. L. J. Stockmeyer. The polynomial-time hierarchy. Theoretical Computer Science, vol.3, pp. 1–22, 1976.
  4. C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994. Chapter 17. Polynomial hierarchy, pp. 409–438.
  5. Template:Cite book Section 7.2: The Polynomial Hierarchy, pp. 161–167.

Citations

Template:Reflist

Template:ComplexityClasses

  1. ↑ Arora and Barak, 2009, pp.97
  2. ↑ Completeness in the Polynomial-Time Hierarchy A Compendium, M. Schaefer, C. Umans
  3. ↑ Arora and Barak, pp.99–100
  4. ↑ Arora and Barak, pp.100
  5. ↑ Arora and Barak, pp.100
  6. ↑ Arora and Barak, 2009, Theorem 5.4
  7. ↑ Template:Cite book
  8. ↑ Template:Cite journal
  9. ↑ Arora and Barak, 2009, Claim 5.5