Convertir Las Vegas en Monte-Carlo, et retour
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 25 — Algorithmes probabilistes, approximation, séparation et évaluation
Énoncé
- Un algorithme Las Vegas a un temps d'espérance . Que dire de la probabilité qu'il dépasse ?
- Chiffrer sur les huit reines.
- Comment transforme-t-on un Monte-Carlo en Las Vegas ?
Corrigé
1. L'inégalité de Markov s'applique, car le temps est une variable aléatoire positive :
En arrêtant l'algorithme après et en rendant n'importe quoi, on obtient un Monte-Carlo de temps borné et de probabilité d'erreur au plus . La conversion est donc toujours possible, et elle ne demande rien de l'algorithme : ni structure, ni analyse fine.
2. Sur les huit reines, essais. Le nombre d'essais suit une loi géométrique de paramètre , donc exactement. On compare :
| Seuil | mesure sur exécutions | valeur exacte | borne de Markov |
|---|---|---|---|
Markov est correcte et très pessimiste : elle annonce d'échec là où la vérité est pour . C'est le prix de sa généralité — elle ne suppose rien d'autre que la positivité. Quand on connaît la loi, ici géométrique, on obtient une décroissance exponentielle et non en .
3. La conversion inverse demande un vérificateur. Si l'on sait tester en temps raisonnable si une réponse est correcte, on relance le Monte-Carlo jusqu'à obtenir une réponse qui passe le test : le résultat devient toujours correct, et le temps devient aléatoire. Avec une probabilité de succès par tentative, l'espérance du nombre de tentatives vaut .
Trois exemples du livre : Rabin-Karp devient exact par la comparaison caractère par caractère ; le placement des reines par permutation est exactement ce schéma, le vérificateur étant valide ; et la fabrication d'un nombre premier (problème « Fabriquer un nombre premier ») relance un tirage jusqu'à ce qu'un test de primalité passe.
La dissymétrie mérite d'être notée. Passer de Las Vegas à Monte-Carlo est toujours possible et gratuit — on coupe. Passer de Monte-Carlo à Las Vegas exige un vérificateur, qui n'existe pas toujours. C'est pourquoi les problèmes dont une solution se vérifie facilement — ceux de la classe np du chapitre chap:decidabilite — sont précisément ceux où le hasard rend le plus de services.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.