MIT 1re ann´ee - 2012/13 Module Algo2
TD4 : Algorithmes probabilistes
1.De Monte Carlo `a Las Vegas
Parmi les algorithmes probabilistes, on peut distinguer deux grandes classes : les algo-
rithmes de Las Vegas et ceux de Monte Carlo.
D´efinition 1 (Algorithme de Las Vegas) Un algorithme probabiliste est dit de Las
Vegas si le r´esultat qu’il renvoie est toujours correct. On parlera d’algorithme de Las Vegas
`a temps moyen f(n) si pour toute entr´ee xde taille n, l’algorithme calcule une r´eponse en
un temps dont l’esp´erance est born´ee par f(n).
1.1 Citer un algorithme Las Vegas pr´esent´e dans le cours.
D´efinition 2 (Algorithme de Monte Carlo) Un algorithme probabiliste est dit de Monte
Carlo s’il donne un r´esultat incorrect avec une probabilit´e non nulle. On parle d’algorithme
de Monte Carlo `a erreur λsi, pour toute entr´ee, la probabilit´e que l’algorithme retourne
un r´esultat faux est strictement inf´erieure `a λ.
Dans le cas d’un probl`eme de d´ecision (`a r´eponse «Oui »ou «Non »), on parle d’algorithme
de Monte Carlo `a erreur unilat´erale si pour toute instance n´egative (r´eponse = «Non »),
l’algorithme r´epond «Non »avec une probabilit´e 1.
On parle d’algorithme de Monte Carlo `a erreur bilat´erale si pour au moins une instance po-
sitive et une instance n´egative, la probabilit´e de r´epondre «Oui »est strictement comprise
entre 0 et 1.
1.2 Citer un algorithme Monte Carlo pr´esent´e dans le cours.
Soit Π un probl`eme pour lequel on dispose d’un algorithme Monte Carlo Aqui, pour toute
instance de taille n, s’ex´ecute en un temps au plus TA(n), et donne une r´eponse correcte
avec probabilit´e au moins pA(n). On dispose ´egalement d’un algorithme Vqui, pour toute
instance de taille net toute r´eponse possible au probl`eme, d´ecide en temps au plus TV(n)
si la r´eponse est correcte.
1.3 Donner un algorithme Las Vegas pour le probl`eme Π.
1.4 Donner une borne sup´erieure sur l’esp´erance de son temps d’ex´ecution.
2.R´eduction d’erreur
Soit Π un probl`eme de d´ecision et Aun algorithme Monte Carlo `a erreur unilat´erale pour
Π, dont on suppose qu’il est `a probabilit´e d’erreur au plus α, avec 0 < α < 1.
Soit 0 < ε < α. Combien de r´ep´etitions ind´ependantes de A, au plus, sont n´ecessaires pour
assurer que la probabilit´e d’avoir une r´eponse correcte soit au moins ´egale `a 1 ε?
1
MIT 1re ann´ee - 2012/13 Module Algo2
3.Classes de complexit´e
La classe ZPP (Zero-error Probabilistic Polynomial Time) est la classe des langages pour
lesquels on dispose d’un algorithme Las Vegas de temps d’ex´ecution polynomial en esp´e-
rance.
On note RP (Randomized Polynomial Time) et co-RP les classes suivantes.
D´efinition 3 RP est la classe des langages Lpour lesquels on dispose d’un algorithme
probabiliste As’ex´ecutant au pire cas en temps polynomial tel que
Si xL, alors P(A(x) accepte) 1
2
Si x6∈ L, alors P(A(x) accepte) = 0
D´efinition 4 co-RP est la classe des langages Lpour lesquels on dispose d’un algorithme
probabiliste As’ex´ecutant au pire cas en temps polynomial tel que
Si x6∈ L, alors P(A(x) accepte) 1
2
Si xL, alors P(A(x) accepte) = 1
Montrer que ZPP =RP co-RP.
4.Source de bits al´eatoire
Dans cet exercice, on cherche `a g´en´erer une source de bits al´eatoire uniforme `a partir d’une
source de Bernoulli de param`etre pfix´e mais inconnu, et dont les tirages sont ind´ependants.
De fa¸con ´equivalente, on cherche `a produire un lancer de pile ou face non biais´e `a partir
d’une pi`ece d´es´equilibr´ee.
On se fixe l’algorithme suivant : on effectue successivement des pairs de lancers avec la
pi`ece d´es´equilibr´ee. On arrˆete d`es que les lancers sont diff´erents.
4.1 Donner le pseudo-code de l’algorithme.
4.2 Montrer que l’algorithme termine presque sˆurement et que la distribution de ses r´esul-
tats est uniforme. On admettra que les tirages de l’algorithme sont ind´ependants.
4.3 Quel est le nombre moyen de tirages de Bernoulli requis pour la g´en´eration d’un bit
al´eatoire ? Quelle en est la variance ?
2
1 / 2 100%