NTIME: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Addbot
m Bot: Migrating 6 interwiki links, now provided by Wikidata on d:q1933581 (Report Errors)
en>Brirush
mNo edit summary
 
Line 1: Line 1:
In [[computational complexity theory]], the '''polynomial hierarchy''' (sometimes called the '''polynomial-time hierarchy''') is a [[hierarchy (mathematics)|hierarchy]] of [[complexity class]]es that generalize the classes [[P (complexity)|P]], [[NP (complexity)|NP]] and [[co-NP]] to [[oracle machine]]s.  It is a resource-bounded counterpart to the [[arithmetical hierarchy]] and [[analytical hierarchy]] from [[mathematical logic]].
37 year old Ship's Officer Ronald Claypoole from Thetford Mines, has numerous pursuits including crafts (unspecified), new launch property singapore and bee keeping. Finds the entire world an enjoyable place we have spent 3 months at Historic Centre of Riga.<br><br>Here is my web blog; [http://www.arthritisreduction.com/node/326207 The Skywoods sales]
 
==Definitions==
There are multiple equivalent definitions of the classes of the polynomial hierarchy.
 
<ol>
<li>
For the oracle definition of the polynomial hierarchy, define
 
:<math>\Delta_0^{\rm P} := \Sigma_0^{\rm P} := \Pi_0^{\rm P} := \mbox{P},</math>
 
where [[P (complexity)|P]] is the set of [[decision problem]]s solvable in [[polynomial time]]. Then for i ≥ 0 define
 
:<math>\Delta_{i+1}^{\rm P} := \mbox{P}^{\Sigma_i^{\rm P}}</math>
:<math>\Sigma_{i+1}^{\rm P} := \mbox{NP}^{\Sigma_i^{\rm P}}</math>
:<math>\Pi_{i+1}^{\rm P} := \mbox{coNP}^{\Sigma_i^{\rm P}}</math>
 
where A<sup>B</sup> is the set of [[decision problem]]s solvable by a [[Turing machine]] in class A augmented by an [[oracle machine|oracle]] for some complete problem in class B.  For example, <math> \Sigma_1^{\rm P} = {\rm NP}, \Pi_1^{\rm P} = {\rm coNP} </math>, and <math> \Delta_2^{\rm P} = {\rm P^{NP}} </math> is the class of problems solvable in polynomial time with an oracle for some NP-complete problem.
</li>
 
<li>
For the existential/universal definition of the polynomial hierarchy, let <math>L</math> be a [[formal language|language]] (i.e. a [[decision problem]], a subset of {0,1}<sup>*</sup>), let <math>p</math> be a [[polynomial]], and define
 
: <math> \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\}, </math>
 
where <math>\langle x,w \rangle \in \{0,1\}^*</math> 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 <math>\exists^p L</math>, and the second string ''w'' is a "short" (<math>|w| \leq p(|x|) </math>) witness testifying that ''x'' is a member of <math>\exists^p L</math>. In other words, <math>x \in \exists^p L</math> if and only if there exists a short  witness ''w'' such that <math> \langle x,w \rangle \in L </math>. Similarly, define
 
: <math> \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\} </math>
Note that [[De Morgan's Laws]] hold: <math> \left( \exists^p L \right)^{\rm c} = \forall^p L^{\rm c} </math> and <math> \left( \forall^p L \right)^{\rm c} = \exists^p L^{\rm c} </math>, where ''L''<sup>c</sup> is the complement of ''L''.
 
Let <math>\mathcal{C}</math> be a class of languages. Extend these operators to work on whole classes of languages by the definition
 
:<math>\exists^{\rm P} \mathcal{C} := \left\{\exists^p L \ | \ p \mbox{ is a polynomial and } L \in \mathcal{C} \right\}</math>
:<math>\forall^{\rm P} \mathcal{C} := \left\{\forall^p L \ | \ p \mbox{ is a polynomial and } L \in \mathcal{C} \right\}</math>
 
Again, De Morgan's Laws hold: <math> {\rm co} \exists^{\rm P} \mathcal{C} = \forall^{\rm P} {\rm co} \mathcal{C} </math> and <math> {\rm co} \forall^{\rm P} \mathcal{C} = \exists^{\rm P} {\rm co} \mathcal{C} </math>, where <math>{\rm co}\mathcal{C} = \left\{ L^c | L \in \mathcal{C} \right\}</math>.
 
The classes '''[[NP (complexity)|NP]]''' and '''[[co-NP]]''' can be defined as <math> {\rm NP} = \exists^{\rm P} {\rm P} </math>, and <math> {\rm coNP} = \forall^{\rm P} {\rm P} </math>, where '''[[P (complexity)|P]]''' is the class of all feasibly (polynomial-time) decidable languages. The polynomial hierarchy can be defined recursively as
 
:<math> \Sigma_0^{\rm P} := \Pi_0^{\rm P} := {\rm P} </math>
:<math> \Sigma_{k+1}^{\rm P} := \exists^{\rm P} \Pi_k^{\rm P} </math>
:<math> \Pi_{k+1}^{\rm P} := \forall^{\rm P} \Sigma_k^{\rm P} </math>
 
Note that <math> {\rm NP} = \Sigma_1^{\rm P} </math>, and <math> {\rm coNP} = \Pi_1^{\rm P} </math>.
 
This definition reflects the close connection between the polynomial hierarchy and the [[arithmetical hierarchy]], where '''[[Decidable language|R]]''' and '''[[Recursively enumerable language|RE]]''' play roles analogous to '''[[P (complexity)|P]]''' and '''[[NP (complexity)|NP]]''', respectively. The [[analytic hierarchy]] is also defined in a similar way to give a hierarchy of subsets of the real numbers.
</li>
 
<li>
An equivalent definition in terms of [[alternating Turing machine]]s defines <math>\Sigma_k^{\rm P}</math> (respectively, <math>\Pi_k^{\rm P}</math>) as the set of decision problems solvable in polynomial time on an alternating Turing machine with <math>k</math> alternations starting in an existential (respectively, universal) state.
</li>
 
</ol>
 
==Relations between classes in the polynomial hierarchy==
[[Image:Polynomial time hierarchy.svg|250px|thumb|right|Pictorial representation of the polynomial time hierarchy. The arrows denote inclusion.]]
The definitions imply the relations:
 
:<math>\Sigma_i^{\rm P} \subseteq \Delta_{i+1}^{\rm P} \subseteq \Sigma_{i+1}^{\rm P}</math>
:<math>\Pi_i^{\rm P} \subseteq \Delta_{i+1}^{\rm P} \subseteq \Pi_{i+1}^{\rm P}</math>
:<math>\Sigma_i^{\rm P} = {\rm co}\Pi_{i}^{\rm P}</math>
 
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 <math>\Sigma_k^{\rm P} = \Sigma_{k+1}^{\rm P}</math>, or if any <math>\Sigma_k^{\rm P} = \Pi_{k}^{\rm P}</math>, then the hierarchy ''collapses to level k'': for all <math>i > k</math>, <math>\Sigma_i^{\rm P} = \Sigma_k^{\rm P}</math>.  In particular, if P = NP, then the hierarchy collapses completely.
 
The union of all classes in the polynomial hierarchy is the complexity class '''[[PH (complexity)|PH]]'''.
 
== Properties ==
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 [[SO (complexity)|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 problem]]s, 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 <math>\Sigma_{k}^{\rm P}</math>-complete problem for some ''k''.
 
Each class in the polynomial hierarchy contains <math>\leq_{\rm m}^{\rm P}</math>-complete problems (problems complete under polynomial-time many-one reductions). Furthermore, each class in the polynomial hierarchy is ''closed under <math>\leq_{\rm m}^{\rm P}</math>-reductions'': meaning that for a class <math>\mathcal{C}</math> in the hierarchy and a language <math>L \in \mathcal{C}</math>, if <math>A \leq_{\rm m}^{\rm P} L</math>, then <math>A \in \mathcal{C}</math> as well. These two facts together imply that if <math>K_i</math> is a complete problem for <math>\Sigma_{i}^{\rm P}</math>, then <math>\Sigma_{i+1}^{\rm P} = \left( \Sigma_{i}^{\rm P} \right)^{K_i}</math>, and <math>\Pi_{i+1}^{\rm P} = \left( \Pi_{i}^{\rm P} \right)^{K_i^{\rm c}}</math>. For instance, <math>\Sigma_{2}^{\rm P} = {\rm NP}^{\rm SAT}</math>. In other words, if a language is defined based on some oracle in <math>\mathcal{C}</math>, then we can assume that it is defined based on a complete problem for <math>\mathcal{C}</math>. Complete problems therefore act as "representatives" of the class for which they are complete.
 
[[Sipser–Lautemann theorem]] states that the class [[Bounded-error probabilistic polynomial|BPP]] is contained in second level of polynomial hierarchy.
 
[[Karp–Lipton theorem|Kannan's theorem]] states that for any ''k'', <math>\Sigma_2</math> is not contained in '''SIZE'''(n<sup>k</sup>).
 
[[Toda's theorem]] states that the polynomial hierarchy is contained in P<sup>#P</sup>.
 
==Problems in the polynomial hierarchy==
<ul>
 
<li>
An example of a natural problem in <math>\Sigma_2^{\rm P}</math> 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 <math> \mathcal{C} </math> be the set of all boolean circuits. The language
 
:<math> 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\} </math>
 
is decidable in polynomial time. The language
 
:<math> \mathit{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\} </math>
 
is the circuit minimization language. <math> \mathit{CM} \in \Sigma_2^P (= \exists^{\rm P} \forall^{\rm P} {\rm P}) </math> because <math>L</math> is decidable in polynomial time and because, given <math> \langle A,k \rangle </math>, <math> \langle A,k \rangle \in \mathit{CM}</math> if and only if ''there exists'' a circuit <math>B</math> such that ''for all'' inputs <math>x</math>, <math> \langle A,k,B,x \rangle \in L </math>.
 
<li>
A complete problem for <math>\Sigma_k^{\rm P}</math> is '''satisfiability for quantified Boolean formulas with ''k'' alternations of quantifiers''' (abbreviated '''QBF<sub>k</sub>''' or '''QSAT<sub>k</sub>'''). This is the version of the [[boolean satisfiability problem]] for <math>\Sigma_k^{\rm P}</math>. In this problem, we are given a Boolean formula ''f'' with variables partitioned into ''k'' sets ''X<sub>1</sub>'', ..., ''X<sub>k</sub>''. We have to determine if it is true that
:<math> \exists X_1 \forall X_2 \exists X_3 \ldots f</math>
That is, is there an assignment of values to variables in ''X<sub>1</sub>'' such that, for all assignments of values in ''X<sub>2</sub>'', there exists an assignment of values to variables in ''X<sub>3</sub>'', ... ''f'' is true?
 
The variant above is complete for <math>\Sigma_k^{\rm P}</math>. The variant in which the first quantifier is "for all", the second is "exists", etc., is complete for <math>\Pi_k^{\rm P}</math>.
</ul>
 
== See also ==
* [[EXPTIME]]
* [[Exponential hierarchy]]
 
==References==
# [[Albert R. Meyer|A. R. Meyer]] and [[Larry Stockmeyer|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.&nbsp;125&ndash;129, 1972.  The paper that introduced the polynomial hierarchy.
# [[Larry Stockmeyer|L. J. Stockmeyer]]. [[:doi:10.1016/0304-3975(76)90061-X|The polynomial-time hierarchy]]. ''Theoretical Computer Science'', vol.3, pp.&nbsp;1&ndash;22, 1976.
# [[Christos Papadimitriou|C. Papadimitriou]]. Computational Complexity. Addison-Wesley, 1994. Chapter 17. ''Polynomial hierarchy'', pp.&nbsp;409&ndash;438.
# {{cite book|author = [[Michael R. Garey]] and [[David S. Johnson]] | year = 1979 | title = [[Computers and Intractability: A Guide to the Theory of NP-Completeness]] | publisher = W.H. Freeman | isbn = 0-7167-1045-5}} Section 7.2: The Polynomial Hierarchy, pp.&nbsp;161–167.
 
{{ComplexityClasses}}
 
[[Category:Structural complexity theory]]
[[Category:Hierarchy]]

Latest revision as of 16:06, 25 November 2014

37 year old Ship's Officer Ronald Claypoole from Thetford Mines, has numerous pursuits including crafts (unspecified), new launch property singapore and bee keeping. Finds the entire world an enjoyable place we have spent 3 months at Historic Centre of Riga.

Here is my web blog; The Skywoods sales