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).
Solution 1.On montre que pour toute fonction f: N → [0,1] vérifiant qu’il existe c, n0 ∈ N tels que f(n) ≤ 1−n−c pour tout n ∈N, n ≥n0, l’erreur peut être réduite à 2−nc
0 pour tout c0 ∈ N en exécutant nc+c0 fois la MT pour le langage initial sur des chaînes de bits aléatoires indépendantes et en acceptant si et seulement si au moins l’une de ces exécutions accepte.
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,12et 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 .
Solution 2.On montre que pour toute fonction f: N → [0,1] vérifiant qu’il existe c, n0 ∈ N tels que f(n) ≤ 1−n−c pour tout n ∈N, n ≥n0, l’erreur peut être réduite à 2−nc
0 pour tout c0 ∈ N en exécutant 2n2c+c0 fois la MT pour le langage initial sur des chaînes de bits aléatoires indépendantes et en acceptant si et seulement si au moins la moitié des exécutions accepte.
Exercice 3.Montrer que, d’une part, RP⊆NPet, d’autre part,BPP⊆PSPACE.
Solution 3.Le fait que RP⊆NPsuit directement de la définition deNPen termes de vérificateur en temps polynomial.
Soit L∈BPP un langage sur un alphabet Σ. Il existe donc un polynôme p et un langage K ∈P vérifiant, pour tout w∈Σ∗ :
w∈L⇒Pr∈{0,1}p(|w|)(hw, ri∈/ K)≤ 1 3 ; w∈/L⇒Pr∈{0,1}p(|w|)(hw, ri ∈K)≤ 1
3 .
SoitMune MT décidantK en temps polynomial. Pour décider Len espace polynomial, on construit une MT qui pour toutw∈Σ∗ se comporte selon l’algorithme suivant sur l’entréew:
c←0
pourr∈ {0,1}p(|w|) faire si M(hw, ri)acceptealors
c←c+ 1 fin si
fin pour
sic≥2p(|w|)−1 alors accepter
sinon rejeter fin si.
Exercice 4.Montrer que si NP⊆BPP, alorsNP=RP.
Solution 4.Supposons que SAT∈BPP. Il existe donc un polynômepet un langageK ∈P vérifiant, pour toute formule booléenne ϕà n∈N>0 variables :
hϕi ∈SAT⇒Pr∈{0,1}p(|hϕi|)(hhϕi, ri∈/K)≤ 1 2n ; hϕi∈/SAT⇒Pr∈{0,1}p(|hϕi|)(hhϕi, ri ∈K)≤ 1
2n .
Soit M une MT décidant K en temps polynomial. Soit également un polynôme q tel que pour tout l ∈ N, si ϕ est une formule booléenne avec n ∈ N>0 variables de longueur d’encodage l, alors q(l) majore la longueur d’encodage de toute formule booléenne obtenue par conjonction de ϕ et d’un monôme avec au plus n littéraux. On construit une MT M0 qui pour toute formule booléenne ϕ à n∈N>0 variables et r∈ {0,1}n·q(|hϕi|) se comporte selon l’algorithme suivant sur l’entréehhϕi, ri :
ϕ0←ϕ
pouride 1à nfaire
si M(hhϕ0∧ ¬xii, r(i−1)·q(|hϕi|)+1· · ·r(i−1)·q(|hϕi|)+p(|hϕ0∧¬xii|)i) acceptealors ai← ⊥
ϕ0←ϕ0∧ ¬xi sinon
ai← >
ϕ0←ϕ0∧xi
fin si fin pour
si(a1, . . . , an)est une affectation satisfaisant ϕalors accepter
sinon rejeter fin si.
La MTM0 décide un langageK0 en temps polynomial. Soit maintenant une formule booléenne ϕ à n∈N>0 variables. Sihϕi∈/ SAT, alors il est évident que
Pr∈{0,1}n·q(|hϕi|)(hhϕi, ri ∈K0) = 0 .
Si hϕi ∈ SAT, alors soit (b1, . . . , bn) ∈ {0,1}n la plus petite affectation selon l’ordre lexicogra- phique satisfaisant ϕ. Pour tout i ∈ [[1, n]], nous allons majorer la probabilité Pr∈{0,1}n·q(|hϕi|)(ai 6=
bi | Vi−1
j=1aj = bj) qu’au cours de l’exécution de M0 sur hhϕi, ri avec r tiré uniformément aléatoire- ment dans {0,1}n·q(|hϕi|), à l’étape i la valeur obtenue pour ai est différente de bi, sachant que les valeurs obtenues aux étapes précédentes sontb1, . . . , bi−1. Si bi =⊥, alors hϕ0∧ ¬xii ∈SAT et donc cette probabilité est majorée par 2n1 . Si, au contraire, bi =>, alors hϕ0∧ ¬xii∈/ SAT par minimalité de (b1, . . . , bn) et donc cette probabilité est aussi majorée par 2n1 . Ainsi donc, on a que
Pr∈{0,1}n·q(|hϕi|)(hhϕi, ri∈/ K0)≤Pr∈{0,1}n·q(|hϕi|)(∃i∈[[1, n]], ai 6=bi)
=
n
X
i=1
Pr∈{0,1}n·q(|hϕi|)
ai6=bi∧
i−1
^
j=1
aj =bj
≤
n
X
i=1
Pr∈{0,1}n·q(|hϕi|)
ai6=bi
i−1
^
j=1
aj =bj
= 1 2 .
Ceci achève de montrer que SAT∈RPet on peut ensuite conclure par NP-complétude de SAT et clôture deRP par réduction en temps polynomial.
Exercice 5.Montrer que BPP⊆P/poly.
Solution 5.SoitL∈BPPun langage sur un alphabet Σ. Il existe donc un polynômepet un langage K ∈P vérifiant, pour tout w∈Σ∗ :
w∈L⇒Pr∈{0,1}p(|w|)(hw, ri∈/K)≤ |Σ|−n−1 ; w∈/ L⇒Pr∈{0,1}p(|w|)(hw, ri ∈K)≤ |Σ|−n−1 . Ainsi, pour tout n∈N, on a :
Pr∈{0,1}p(n) ∃w∈Σn,(w∈L∧ hw, ri∈/K)∨(w∈/L∧ hw, ri ∈K)
≤ X
w∈Σn
Pr∈{0,1}p(n) (w∈L∧ hw, ri∈/ K)∨(w∈/ L∧ hw, ri ∈K)
≤ |Σ|−1 .
Par conséquent, pour toutn∈N, il existern∈ {0,1}p(n) tel que pour toutw∈Σn, on ait que w∈L si et seulement sihw, rni ∈K. On suppose qu’il existe un polynôme q tel que pour tout n∈N, on ait q(n) =|hw, rni|quel que soit w∈Σn. Vu qu’il existe une suite de circuits booléens (Dn)n∈N de taille polynomiale décidant K, on peut construire la suite de circuits booléens (Cn)n∈N tels que pour tout n∈N, on ait queCn(w) =Dq(n)(hw, rni) pour toutw∈Σn. Cette dernière suite de circuits de taille polynomiale décide L, d’oùL∈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 (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.
Solution 6.Considérons le polynôme(X1+X2)×(X3+X4)× · · · ×(Xn−1+Xn): sa taille d’encodage est O(nlog2(n)), mais sa forme développée a 2n monômes de degré n, soit une taille d’encodage en Ω(nlog2(n)2n).
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 .
Solution 7.On montre le résultat par récurrence sur le nombren de variables.
— Pour n= 0, le lemme suit directement card= 0et P =aavec a∈Z, a6= 0.
— Pour n+ 1avec n∈N, on a qu’il existeP0, . . . , Pd∈Z[X1, . . . , Xn]tels que P =
d
X
i=0
Xn+1d−iPi(X1, . . . , Xn) .
CommeP est non nul, on a que l’un des Pi est non nul, et l’on prend le plus petit tel i. Pour queP s’annule en un certain(x1, . . . , xn, xn+1)∈Sn+1, il faut soit que le polynômePi de degré au plusis’annule en(x1, . . . , xn), soit que le polynômeP(x1, . . . , xn, Xn+1)en la variableXn+1 non nul de degréd−is’annule enxn+1.
Par récurrence on a
P
Pi(x1, . . . , xn) = 0
≤ i
|S|
et puisqueP(x1, . . . , xn, Xn+1)est un polynôme à une variable de degréd−iet a donc au plus d−iracines, on a
P
P(x1, . . . , xn, xn+1) = 0
Pi(x1, . . . , xn)6= 0
≤ d−i
|S| . Par conséquent,
P
P(x1, . . . , xn) = 0
≤P
Pi(x1, . . . , xn) = 0 +P
P(x1, . . . , xn, xn+1) = 0
Pi(x1, . . . , xn)6= 0
≤ d
|S| .
Exercice 8.En déduire que TEP∈coRP.
Solution 8.Étant donnéP1 etP2 des polynômes à coefficients entiers en forme générale, on procède de la façon suivante. On pose P = P1+ (−1)P2 et on calcule d le degré maximal de P. On choisit x1, . . . , xnuniformément aléatoirement dansS = [[1,2d]]et on accepte siP(x1, . . . , xn) = 0, autrement on rejette. Puisque P est nul si et seulement si P1 et P2 sont égaux, il s’ensuit que si P1 etP2 sont égaux, alors on rejette avec probabilité 0 et que si P1 et P2 sont différents, alors on accepte avec probabilité au plus 12.
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.
Solution 9.L est dansNP en considérant le certificat comme étant hx, yipour hx, f(y)i ∈L.
Si L était dans P, alors étant donné z ∈ {0,1}∗ de longueur n ∈ N, on pourrait chercher par dichotomie sur {0,1}n le plus grand x tel que hx, zi est dans le langage L, qui est nécessairement y∈ {0,1}ntel que z=f(y). On pourrait alors calculer la fonction inverse def en temps polynomial, ce qui est supposé impossible.
Exercice 10. Montrer de plus que, si elle existe, alorsNP∩coNP6=P.
Solution 10. On montre facilement que L¯ ∈ NP, ce qui implique que L ∈ coNP et donc que L ∈ NP∩coNP\P.