TD5 : Algorithmes probabilistes

Transcription

TD5 : Algorithmes probabilistes
MIT 1re année - 2010/11
Module Algo2
TD5 : Algorithmes probabilistes
1. De Monte Carlo à Las Vegas
Soit Π un problème pour lequel on dispose d’un algorithme Monte Carlo A qui, pour toute
instance de taille n, s’exécute en un temps au plus TA (n), et donne une réponse correcte
avec probabilité au moins pA (n). On dispose également d’un algorithme V qui, pour toute
instance de taille n et toute réponse possible au problème, décide en temps au plus TV (n)
si la réponse est correcte.
1.1 Donner un algorithme Las Vegas pour le problème Π.
1.2 Donner une borne supérieure sur l’espérance de son temps d’exécution.
2. Réduction d’erreur
Soit Π un problème de décision et A un algorithme Monte Carlo à erreur unilatérale pour
Π, dont on suppose qu’il est à probabilité d’erreur au plus α, avec 0 < α < 1.
Soit 0 < ε < α. Combien de répétitions indépendantes de A, au plus, sont nécessaires pour
assurer que la probabilité d’avoir une réponse correcte soit au moins égale à 1 − ε ?
3. Classes de complexité
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écution polynomial en
espérance.
On rappelle également les définitions des classes RP et co-RP.
Définition 1 RP est la classe des langages L pour lesquels on dispose d’un algorithme
probabiliste A s’exécutant au pire cas en temps polynomial tel que
– Si x ∈ L, alors P(A(x) accepte) ≥ 12
– Si x 6∈ L, alors P(A(x) accepte) = 0
Définition 2 co-RP est la classe des langages L pour lesquels on dispose d’un algorithme
probabiliste A s’exécutant au pire cas en temps polynomial tel que
– Si x 6∈ L, alors P(A(x) accepte) ≤ 12
– Si x ∈ L, alors P(A(x) accepte) = 1
Montrer que ZPP = RP ∩ co-RP.
1
MIT 1re année - 2010/11
Module Algo2
4. Source de bits aléatoire
Dans cet exercice, on cherche à générer une source de bits aléatoire uniforme à partir d’une
source de Bernoulli de paramètre p fixé mais inconnu, et dont les tirages sont indépendants.
De façon équivalente, on cherche à produire un lancer de pile ou face non biaisé à partir
d’une pièce déséquilibrée.
On se fixe l’algorithme suivant : on lance la pièce deux fois de suite, en associant la suite
01 à 0 et 10 à 1. Toute autre suite n’est associée à aucun résultat.
4.1 Donner le pseudo-code de l’algorithme.
4.2 Montrer que l’algorithme termine presque sûrement et que la distribution de ses
résultats est uniforme. On admettra que les tirages de l’algorithme sont indépendants.
4.3 Quel est le nombre moyen de tirages de Bernoulli requis pour la génération d’un bit
aléatoire ? Quelle en est la variance ?
2