Supposons qu'un algorithme randomisé utilise bits aléatoires. La plus faible probabilité d'erreur à laquelle on puisse s'attendre (en deçà d'un algorithme déterministe avec 0 erreur) est de . Quels algorithmes randomisés atteignent une telle probabilité d'erreur minimale?
Voici quelques exemples qui me viennent à l'esprit:
- Algorithmes d'échantillonnage, par exemple, où l'on veut estimer la taille d'un ensemble pour lequel on peut vérifier l'appartenance. Si l'on échantillonne uniformément au hasard les éléments à vérifier, la borne de Chernoff garantit une probabilité d'erreur exponentiellement petite.
- L'algorithme de Karger-Klein-Tarjan pour calculer l'arbre couvrant minimum. L'algorithme sélectionne chaque front avec une probabilité 1/2 et trouve récursivement le MST dans l'échantillon. On peut utiliser Chernoff pour affirmer qu'il est exponentiellement improbable qu'il y ait 2n + 0,1 m de bords meilleurs que l'arbre (c'est-à-dire que l'on préfère les prendre sur l'un des bords de l'arbre).
Pouvez-vous penser à d'autres exemples?
Suivant la réponse d'Andras ci-dessous: En effet, chaque algorithme de temps polynomial peut être converti en un algorithme de temps polynomial plus lent avec une probabilité d'erreur exponentiellement petite. Je me concentre sur des algorithmes aussi efficaces que possible. En particulier, pour les deux exemples que j'ai donnés, il existe des algorithmes de temps polynomiaux déterministes qui résolvent les problèmes. L'intérêt pour les algorithmes randomisés est dû à leur efficacité.