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é.
la source
Réponses:
Impagliazzo et Zuckerman ont prouvé (FOCS'89, voir ici ) que si un algorithme BPP utilise bits aléatoires pour atteindre une probabilité d'exactitude d'au moins 2/3, puis, en appliquant des marches aléatoires sur des graphiques d'expansion, cela peut être amélioré en une probabilité d'exactitude de 1 - 2 - k , en utilisant O ( r + k ) bits aléatoires. ( Remarque: bien que les auteurs utilisent la constante spécifique 2/3 dans l'abstrait, elle peut être remplacée par toute autre constante supérieure à 1/2.)r 1 - 2- k O ( r + k )
Si l' on prend , cela signifie que tout algorithme BPP qui permet d' obtenir une probabilité d'erreur constante < 1 / 2 , en utilisant des r bits aléatoires, peut être (non triviale) améliorée pour avoir la probabilité d'erreur 2 - Ω ( r ) . Ainsi, (sauf si j'ai mal compris quelque chose), la probabilité d'erreur ≤ 2 - Ω ( r ) est réalisable pour chaque problème dans BPP.k = r < Une / deux r 2- Ω ( r ) ≤ 2- Ω ( r )
la source
Je ne suis pas sûr que ce soit ce que vous recherchez, mais c'est lié:
Supposons que je veuille trouver un nombre premier aléatoire à bits. L'algorithme habituel consiste à choisir un entier aléatoire (impair) k- bits et à exécuter le test de primalité de Miller-Rabin pour t tours dessus et à répéter jusqu'à ce qu'un nombre probable probable soit trouvé. Quelle est la probabilité que cette procédure renvoie un nombre composite? Appelons cette probabilité p k , t .k k t pk , t
L'analyse standard du test de primalité de Miller-Rabin montre que les rounds donnent une probabilité d'échec d'au plus 4 - t . Ceci, avec le théorème des nombres premiers, implique p k , t ≤ O ( k ⋅ 4 - t ) .t 4- t
Voir Erdös et Pomerance (1986) , Kim et Pomerance (1989) et Dåmgard, Landrock et Pomerance (1993) pour plus de détails.
la source