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