Hiérarchie polynomiale

Cet article est une ébauche concernant les mathématiques et l’informatique théorique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Représentation graphique de la hiérarchie polynomiale. Les flèches indiquent l'inclusion.

En théorie de la complexité, la hiérarchie polynomiale est une hiérarchie de classes de complexité qui étend la notion de classes P, NP, co-NP. La classe PH est l'union de toutes les classes de la hiérarchie polynomiale.

Définitions

Il existe plusieurs définitions équivalentes des classes de la hiérarchie polynomiale.

Comme alternance de quantificateurs

On peut définir la hiérarchie à l'aide des quantificateurs universel ( {\displaystyle \forall } ) et existentiel ( {\displaystyle \exists } ). Tout d'abord, pour tout polynôme p {\displaystyle p} , et tout langage L {\displaystyle L} , on définit

p L := { x { 0 , 1 }   |   ( w { 0 , 1 } p ( | x | ) ) x , w L } {\displaystyle \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\}} ,

c'est-à-dire que l'ensemble p L {\displaystyle \exists ^{p}L} contient exactement l'ensemble des mots x {\displaystyle x} pour lesquels il existe un mot w {\displaystyle w} de taille polynomiale en la longueur de x tel que le mot x , w {\displaystyle \langle x,w\rangle } est dans L {\displaystyle L} . Intuitivement, le mot w {\displaystyle w} joue le rôle d'un certificat pour x {\displaystyle x} , certificat relativement petit par rapport à x {\displaystyle x} . De la même façon on définit

p L := { x { 0 , 1 }   |   ( w { 0 , 1 } p ( | x | ) ) x , w L } {\displaystyle \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\}} .

On étend ces définitions aux classes de langages C {\displaystyle {\mathcal {C}}}

P C := { p L   |   p  est un polynome et  L C } {\displaystyle \exists ^{\rm {P}}{\mathcal {C}}:=\left\{\exists ^{p}L\ |\ p{\mbox{ est un polynome et }}L\in {\mathcal {C}}\right\}}
P C := { p L   |   p  est un polynome et  L C } {\displaystyle \forall ^{\rm {P}}{\mathcal {C}}:=\left\{\forall ^{p}L\ |\ p{\mbox{ est un polynome et }}L\in {\mathcal {C}}\right\}}

Maintenant, on peut définir les classes de la hiérarchie polynomiale par récurrence de la façon suivante :

Σ 0 P := Π 0 P := P {\displaystyle \Sigma _{0}^{\rm {P}}:=\Pi _{0}^{\rm {P}}:={\rm {P}}}
Σ k + 1 P := P Π k P {\displaystyle \Sigma _{k+1}^{\rm {P}}:=\exists ^{\rm {P}}\Pi _{k}^{\rm {P}}}
Π k + 1 P := P Σ k P {\displaystyle \Pi _{k+1}^{\rm {P}}:=\forall ^{\rm {P}}\Sigma _{k}^{\rm {P}}}
P H = k N Σ k P {\displaystyle {\rm {PH}}={\underset {k\in \mathbb {N} }{\bigcup }}\Sigma _{k}^{\rm {P}}}

En particulier, N P = Σ 1 P {\displaystyle {\rm {NP}}=\Sigma _{1}^{\rm {P}}} et c o N P = Π 1 P {\displaystyle {\rm {coNP}}=\Pi _{1}^{\rm {P}}} .

Avec des machines à oracles

La hiérarchie polynomiale est également définissable à l'aide de machine de Turing avec oracle. A B {\displaystyle A^{B}} dénote la classe des problèmes pouvant être décidés par des machines de complexité A {\displaystyle A} augmentées d'un oracle de complexité B {\displaystyle B} .

On pose

Δ 0 P = Σ 0 P = Π 0 P = P {\displaystyle \Delta _{0}^{P}=\Sigma _{0}^{P}=\Pi _{0}^{P}={\mbox{P}}}

Puis pour tout i ≥ 0 :

Δ i + 1 P := P Σ i P {\displaystyle \Delta _{i+1}^{P}:={\mbox{P}}^{\Sigma _{i}^{P}}}
Σ i + 1 P := NP Σ i P {\displaystyle \Sigma _{i+1}^{P}:={\mbox{NP}}^{\Sigma _{i}^{P}}}
Π i + 1 P := co-NP Σ i P {\displaystyle \Pi _{i+1}^{P}:={\mbox{co-NP}}^{\Sigma _{i}^{P}}}

Avec des machines alternantes

La hiérarchie polynomiale peut se définir à l'aide de machines de Turing alternantes. Σ i P {\displaystyle \Sigma _{i}^{P}} est la classe des langages décidés par une machine de Turing alternante en temps polynomial, dans laquelle toute exécution est composée de i suites de configurations de même type (existentielles ou universelles), la première suite ne contenant que des configurations existentielles. La définition de Π i P {\displaystyle \Pi _{i}^{P}} est similaire mais les configurations dans la première suite sont universelles.

Exemples de problèmes

Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Savoir si une formule de la logique propositionnelle est minimale, c'est-à-dire s'il n'existe pas de formules plus courtes équivalentes, est un problème algorithmique dans Σ 2 P {\displaystyle \Sigma _{2}^{P}} [1].

Propriétés

Question autour de l'effondrement

Une autre propriété importante, interne à la hiérarchie polynomiale, est la suivante : i , Σ i P = Π i P Σ i P = P H {\displaystyle \forall i,\Sigma _{i}^{P}=\Pi _{i}^{P}\Rightarrow \Sigma _{i}^{P}=PH} , ce qui signifie que si à un niveau i {\displaystyle i} deux classes sont égales, alors toutes les classes « au-dessus » sont égales. On parle alors d’« effondrement de la hiérarchie polynomiale au niveau i {\displaystyle i}  ».

On a l'inclusion : PH {\displaystyle \scriptstyle \subseteq } PSPACE. L'égalité entre PH et PSPACE n'est pas connue. Mais l'égalité impliquerait que la hiérarchie polynomiale s'effondre.

En particulier, si P = N P {\displaystyle P=NP} , alors N P = c o N P {\displaystyle NP=coNP} , c’est-à-dire Σ 1 P = Π 1 P {\displaystyle \Sigma _{1}^{P}=\Pi _{1}^{P}}  : la hiérarchie polynomiale s’effondre au niveau 1. On ne pense donc pas que la hiérarchie polynomiale s’effondre au niveau 1 (c’est la question P = NP).

Classes probabilistes

Et on a le lien suivant avec la classe probabiliste BPP : B P P Σ 2 P Π 2 P {\displaystyle BPP\subseteq \Sigma _{2}^{P}\cap \Pi _{2}^{P}} , c'est le théorème de Sipser–Gács–Lautemann. Les relations entre PH et la classe de complexité quantique BQP ont aussi été étudiées[2].

Bibliographie

  • 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. L'article qui a introduit la hierarchie.
  • L. J. Stockmeyer. The polynomial-time hierarchy. Theoretical Computer Science, vol.3, pp. 1–22, 1976.
  • (en) Christos Papadimitriou, Computational Complexity, Addison-Wesley, (ISBN 978-0-201-53082-7) Chap. 17. Polynomial hierarchy, pp. 409–438.
  • (en) Michael R. Garey et David S. Johnson, Computers and Intractability : A Guide to the Theory of NP-Completeness, New York, W.H. Freeman, , 338 p. (ISBN 0-7167-1045-5), « Section 7.2: The Polynomial Hierarchy », p. 161–167.
  • (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 5 (« The polynomial hierarchy and alternation »)

Lien externe

  • (en) La classe PH sur le Complexity Zoo

Voir aussi

Références

  1. (en) Sipser, Introduction to computation theory
  2. (en) Scott Aaronson, « BQP and the polynomial hierarchy », dans STOC, , p. 141-150.


  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Polynomial hierarchy » (voir la liste des auteurs).
v · m
Théorie de la complexité (informatique théorique)
Classes de complexité
(liste)
Classes classiques
Classes randomisées et quantiques
Autres
Classes de fonctions calculables
Hiérarchies
Familles de classes
Théorèmes et outils
Théorèmes structurels
Outils et réductions
Approches non-standard
  • icône décorative Portail des mathématiques
  • icône décorative Portail de l'informatique théorique