In
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a
hierarchy
A hierarchy (from Greek: , from , 'president of sacred rites') is an arrangement of items (objects, names, values, categories, etc.) that are represented as being "above", "below", or "at the same level as" one another. Hierarchy is an important ...
of
complexity class
In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory.
In general, a complexity class is defined in terms ...
es that generalize the classes
NP and
co-NP. 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
Mathematical logic is the study of formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of formal ...
. The union of the classes in the hierarchy is denoted
PH.
Classes within the hierarchy have complete problems (with respect to
polynomial-time reductions) which 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
:
where
P is the set of
decision problems solvable in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
. Then for i ≥ 0 define
:
:
:
where
is the set of
decision problems solvable in polynomial time by a
Turing machine
A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
augmented by an
oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The wor ...
for some complete problem in class A; the classes
and
are defined analogously. For example,
, and
is the class of problems solvable in polynomial time by a deterministic Turing machine with an oracle for some NP-complete problem.
Quantified boolean formulae definition
For the existential/universal definition of the polynomial hierarchy, let be a
language
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
(i.e. a
decision problem, a subset of
*), let be a
polynomial
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An ex ...
, and define
:
where
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
, and the second string ''w'' is a "short" (
) witness testifying that ''x'' is a member of
. In other words,
if and only if there exists a short witness ''w'' such that
. Similarly, define
:
Note that
De Morgan's laws hold:
and
, where ''L''
c is the complement of ''L''.
Let be a class of languages. Extend these operators to work on whole classes of languages by the definition
:
:
Again, De Morgan's laws hold:
and
, where
.
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
:
:
:
Note that
, and
.
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.
We define
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
similarly, except that the initial state is a universal state.
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.
Relations between classes in the polynomial hierarchy
The union of all classes in the polynomial hierarchy is the complexity class
PH.
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, we have the following implications involving unsolved problems:
*
P = NP if and only if P = PH.
* If NP =
co-NP then NP = PH. (co-NP is
.)
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.
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
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.
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
-complete problem for some ''k''.
[Arora and Barak, 2009, Claim 5.5]
Each class in the polynomial hierarchy contains
-complete problems (problems complete under polynomial-time many-one reductions). Furthermore, each class in the polynomial hierarchy is ''closed under
-reductions'': meaning that for a class 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 , then we can assume that it is defined based on a complete problem for . 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
Toda's theorem is a result in computational complexity theory that was proven by Seinosuke Toda in his paper "PP is as Hard as the Polynomial-Time Hierarchy" and was given the 1998 Gödel Prize.
Statement
The theorem states that the entire poly ...
states that the polynomial hierarchy is contained in P
#P.
Problems
See also
*
EXPTIME
In computational complexity theory, the complexity class EXPTIME (sometimes called EXP or DEXPTIME) is the set of all decision problems that are solvable by a deterministic Turing machine in exponential time, i.e., in O(2''p''(''n'')) time, ...
*
Exponential hierarchy
*
Arithmetic hierarchy
References
General references
#
#
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 polynomial-time hierarchy. ''Theoretical Computer Science'', vol.3, pp. 1–22, 1976.
#
C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994. Chapter 17. ''Polynomial hierarchy'', pp. 409–438.
# Section 7.2: The Polynomial Hierarchy, pp. 161–167.
Citations
{{ComplexityClasses
Structural complexity theory
Hierarchy