In this article, we will explore the topic of Polynomial hierarchy in depth, examining its meaning, impact and relevance in today's society. From its origins to its current evolution, we will immerse ourselves in a detailed analysis that will allow us to understand the importance of Polynomial hierarchy in different areas of daily life. Through different perspectives and approaches, we will address its implications at both an individual and collective level, highlighting its influence in various sectors. Likewise, we will examine the role that Polynomial hierarchy plays in the current context, providing a comprehensive vision that will allow the reader to understand its importance and impact in the contemporary world.
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
where 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 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.[2]
Quantified Boolean formulae definition
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
where 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 , 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 Lc is the complement of L.
Let C 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.[3]
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.[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
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 , .[6] In particular, we have the following implications involving unsolved problems:
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.
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 -complete problem for some k.[9]
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 C 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 C, then we can assume that it is defined based on a complete problem for C. 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(nk).
Toda's theorem states that the polynomial hierarchy is contained in P#P.
Problems
An example of a natural problem in is circuit minimization: given a number k and a circuit A computing a Boolean functionf, determine if there is a circuit with at most k gates that computes the same function f. Let C be the set of all boolean circuits. The language
is decidable in polynomial time. The language
is the circuit minimization language. because L is decidable in polynomial time and because, given , if and only if there exists a circuit B such that for all inputs x, .
A complete problem for is satisfiability for quantified Boolean formulas with k – 1 alternations of quantifiers (abbreviated QBFk or QSATk). This is the version of the boolean satisfiability problem for . 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
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 . The variant in which the first quantifier is "for all", the second is "exists", etc., is complete for . Each language is a subset of the problem obtained by removing the restriction of k – 1 alternations, the PSPACE-complete problem TQBF.
A Garey/Johnson-style list of problems known to be complete for the second
and higher levels of the polynomial hierarchy can be found in this Compendium.
^Hemaspaandra, Lane (2018). "17.5 Complexity classes". In Rosen, Kenneth H. (ed.). Handbook of Discrete and Combinatorial Mathematics. Discrete Mathematics and Its Applications (2nd ed.). CRC Press. pp. 1308–1314. ISBN9781351644051.