BPP (complexité)

Page d’aide sur l’homonymie

Pour les articles homonymes, voir BPP.

En informatique théorique, plus précisément en théorie de la complexité, la classe BPP (bounded-error probabilistic polynomial time) est la classe de problèmes de décision décidés par une machine de Turing probabiliste en temps polynomial, avec une probabilité d'erreur dans la réponse inférieure à 1/3.

Définition

Première définition

La classe BPP est l'ensemble des problèmes, ou de façon équivalente des langages, pour lesquels il existe une machine de Turing probabiliste en temps polynomial qui satisfait les conditions d'acceptation suivantes :

  • Si le mot n'est pas dans le langage, la machine le rejette avec une probabilité supérieure à 2/3.
  • Si le mot est dans le langage, la machine l'accepte avec une probabilité supérieure à 2/3.

Autrement dit la machine se trompe avec une probabilité inférieure à 1/3.

Définition formelle

On définit la classe BPP comme l'ensemble des langages L {\displaystyle L} tels qu'il existe un polynôme p ( n ) {\displaystyle p(n)} et un langage A P {\displaystyle A\in {\rm {P}}} vérifiants que pour tout mot x {\displaystyle x}  :

  • x L P r ε { 0 , 1 } p ( | x | ) ( ( x , ε ) A ) 2 3 {\displaystyle x\in L\Rightarrow {\underset {\varepsilon \in \{0,1\}^{p(|x|)}}{Pr}}((x,\varepsilon )\in A)\geq {\frac {2}{3}}} .
  • x L P r ε { 0 , 1 } p ( | x | ) ( ( x , ε ) A ) 1 3 {\displaystyle x\notin L\Rightarrow {\underset {\varepsilon \in \{0,1\}^{p(|x|)}}{Pr}}((x,\varepsilon )\in A)\leq {\frac {1}{3}}} .

Relations avec les autres classes

Temps polynomial déterministe versus probabiliste

On peut utiliser une machine probabiliste pour faire un calcul déterministe, et donc P {\displaystyle \scriptstyle \subseteq } BPP. L'autre inclusion est une question ouverte. En terme plus généraux, la question est de savoir si l'aléatoire est utile pour accélérer le calcul ou non. Il y a eu à ce sujet un changement d'avis de la part de la communauté de la complexité : jusqu'aux années 80, la plupart des chercheurs pensaient que BPP était différente de P, puis divers résultats ont bousculé cette croyance. Aujourd'hui une égalité est souvent envisagée[1].

Autres relations

Inclusions de classes de complexité probabilistes.

BPP contient aussi les classes probabilistes dont les conditions d'acceptation sont plus fortes ZPP, RP et co-RP.

Avec les notations de la hiérarchie polynomiale, on a B P P Σ 2 p Π 2 p {\displaystyle BPP\subseteq \Sigma _{2}^{p}\cap \Pi _{2}^{p}} d'après le théorème de Sipser–Gács–Lautemann[2].

Dans le monde des classes de circuits booléens, le théorème d'Adleman donne BPP {\displaystyle \scriptstyle \subseteq } P/poly (Adleman 1978).

La variante quantique de BPP est BQP.

Propriétés et théorèmes

  • On peut avoir des machines plus efficaces si nécessaire, autrement dit on peut remplacer 2/3 par 1 ϵ {\displaystyle 1-\epsilon } et 1/3 par ϵ {\displaystyle \epsilon } (pour tout ϵ {\displaystyle \epsilon } petit), en ne changeant pas la classe. Ce renforcement peut être effectué en lançant plusieurs fois la machine de façon indépendante et en faisant un vote. Le calcul utilise les bornes de Chernoff.
  • BPP est close par complémentaire, i.e. BPP = co-BPP.
  • BPP n'a pas de problème complet connu, il faut passer aux problèmes à promesse (PromiseBPP).

Histoire

Cette classe a été introduite par J. Gill[3] dans l'article Computational complexity of probabilistic Turing machines, en même temps que les classes RP et ZPP[4].

Bibliographie

  • (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 7 (« Randomized Computation »)
  • Leonard. M. Adleman, « Two theorems on random polynomial time », dans Proceedings of the Nineteenth Annual IEEE Symposium on Foundations of Computer Science, , 75–83 p. (DOI 10.1109/SFCS.1978.37)

Lien externe

  • (en) La classe BPP sur le Complexity Zoo

Notes et références

  1. Sylvain Perifel, Complexité algorithmique, Ellipses, , 432 p. (ISBN 9782729886929, lire en ligne), chap. 12.1 (« Dérandomisation ») p. 318.
  2. (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 7 section 5.2 BPP is in PH
  3. Complexity Zoo
  4. (en) John Gill, « Computational complexity of probabilistic Turing machines », SIAM Journal on Computing, vol. 6, no 4,‎ , p. 675-695
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 de l'informatique théorique