Langages formels, calculabilité et complexité ENS Paris – A1S1 2019-2020
9 janvier 2020 NathanGrosshans
TD 13 – Classes de complexité probabilistes et fonctions à sens unique
1 Propriétés des classes de complexité probabilistes
Soit f: N→[0,1]une fonction.
On définit la classe RPf(n)comme étant la classe des langagesLsur un alphabet Σquelconque tel qu’il existe un polynômep et un langage K∈P vérifiant, pour toutw∈Σ∗ :
w∈L⇒Pr∈{0,1}p(|w|)(hw, ri∈/ K)≤f(|w|) ; w∈/L⇒Pr∈{0,1}p(|w|)(hw, ri ∈K) = 0 .
De même, on définit la classe BPPf(n) comme étant la classe des langages L sur un alphabet Σ quelconque tel qu’il existe un polynômep et un langage K∈P vérifiant, pour tout w∈Σ∗ :
w∈L⇒Pr∈{0,1}p(|w|)(hw, ri∈/ K)≤f(|w|) ; w∈/L⇒Pr∈{0,1}p(|w|)(hw, ri ∈K)≤f(|w|) . On rappelle que RP=RP1/2 etBPP=BPP1/3.
Exercice 1.Montrer que pour toute fonction f: N → [0,1] vérifiant qu’il existe c, n0 ∈ N tels que 2−nc ≤f(n)≤1−n−c pour toutn∈N, n≥n0, on a que RP=RPf(n).
Exercice 2.Montrer que pour toute fonction f: N → [0,1] vérifiant qu’il existe c, n0 ∈ N tels que 2−nc ≤f(n)≤ 12 −n−c pour toutn∈N, n≥n0, on a que BPP=BPPf(n).
On pourra utiliser le lemme suivant, que l’on pourra admettre.
Lemme 1.1 (Chernoff). Soit p∈ 0,12
et X1, . . . , Xn (n∈N) des variables aléatoires indépendantes telles que
Xi=
(1 avec probabilité p
0 avec probabilité 1−p pour tout i∈[[1, n]].
Soit X =Pn
i=1Xi. Alors pour = 12 −p, on a : P
X≥ n
2
≤2−(2/2)n .
Exercice 3.Montrer que, d’une part, RP⊆NPet, d’autre part,BPP⊆PSPACE.
Exercice 4.Montrer que si NP⊆BPP, alorsNP=RP.
Exercice 5.Montrer que BPP⊆P/poly.
2 Un problème dans coRP
On rappelle que ledegré d’un monôme aX1d1. . . Xndn estPn
j=1dj et que ledegré d’un polynômeest le maximum des degrés des monômes le composant. Par exemple 2XXXXY +XY Z −3Z+ 42ZY est de degré5 (car2XXXXY est de degré 5).
Un polynôme peut toujours s’écrire sous la forme de somme de monômes. Un polynôme à coeffi- cients entiers est enforme généralequand il est donné comme variable simple (c.-à-d.Xi) ou constante
1
(c.-à-d.a∈Z), produit ou somme de polynômes à coefficients entiers en forme générale. Par exemple, (X1+ 2X2)×(5X1+ (−3)X2) +X1
×X1 est un polynôme à coefficients entiers en forme générale.
On ignore ici volontairement les détails de l’encodage mais on suppose qu’il est non ambigu et que la taille d’un encodage est O(log2(n)) pour décrire la n-ième variable, O(log2(|a|+ 1)) pour décrire une constante a∈ Z, et O(1) +c1+c2 pour décrire la somme (ou le produit) de deux polynômes à coefficients entiers de taille d’encodagec1 etc2.
Exercice 6.Montrer que la fonction qui transforme un polynôme à coefficients entiers donné en forme générale en un polynôme à coefficients entiers sous forme de somme de monômes ne peut pas être calculée en temps polynomial.
Soit le langage
TEP={hP1, P2i |P1 etP2 sont deux polynômes à coefficients entiers en forme générale égaux} . Exercice 7.Montrer ou admettre le lemme suivant.
Lemme 2.1 (Schwartz-Zippel). Soit P ∈ Z[X1, . . . , Xn] (avec n ∈ N) non nul de degré d ∈ N et soit S une partie finie de Z. Si x1, . . . , xn sont choisis uniformément aléatoirement dans S, alors P
P(x1, . . . , xn) = 0
≤ |S|d .
Exercice 8.En déduire que TEP∈coRP.
3 Fonctions à sens unique
Supposons que :
— on ait une bijectionf des entiers surnbits vers les entiers surnbits, pour tout n∈N(c.-à-d., sur une entréex de nbits,f(x) est un entier surnbits tel quef(x) =f(y)⇒x=y) ;
— la fonction f se calcule en temps polynomial ;
— la fonction inverse de f ne peut pas se calculer en temps polynomial.
On dit quef est une fonction à sens unique.
Exercice 9.Montrer que si une telle bijection existe, alors P6=NP.
Indication : Montrer que le langage L={hx, f(y)i |x, y∈ {0,1}∗,|x|=|y| ∧x≤y} appartient à NP\P.
Exercice 10. Montrer de plus que, si elle existe, alorsNP∩coNP6=P.
2