Quels algorithmes randomisés ont une probabilité d'erreur exponentiellement faible?

15

Supposons qu'un algorithme randomisé utilise r 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 2-Ω(r) . 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é.

Dana Moshkovitz
la source
1
Pas une réponse complète, mais il y a eu quelques travaux en algèbre linéaire aléatoire. youtube.com/watch?v=VTroCeIqDVc
Baby Dragon
On ne peut peut-être pas s'y attendre , mais on peut certainement espérer (toujours "en deçà d'un algorithme déterministe avec 0 erreur") que pour tous les nombres réels c, si c<1 alors il y a un algorithme dont la probabilité d'erreur est de 2cr. Je crois que le test d'identité polynomiale est un tel problème.
@RickyDemer Je ne comprends pas votre commentaire. L'algorithme randomisé habituel pour PIT a une erreur qui n'est pas exponentielle dans le caractère aléatoire. Alors, que dites-vous? Êtes-vous en train de dire qu'il peut exister un tel algorithme pour tout problème de BPP?
Sasho Nikolov
Je me rends compte maintenant que je ne vois vraiment aucun moyen de montrer que PIT est dans la classe que j'ai décrite. D'un autre côté, laisser être super-polynomial en d (c'est-à-dire laisser la longueur (S) être super- linéaire en longueur (d)) suffirait pour le lemme de Schwartz-ZippelSd (a continué ...)
1
De nombreuses constructions de méthodes probabilsitiques ont un tel comportement, non? Par exemple, choisir un ensemble aléatoire de chaînes binaires et regarder leur paire la plus proche - la probabilité qu'il y ait deux chaînes à une distance inférieure à est très faible. -------------------------------------------------- ----------------------- Dans l'esprit de la réponse BPP ci-dessous: Étant donné un expanseur à degré constant, avec n sommets et n / 2 sommets marqués, le la probabilité qu'une marche aléatoire de longueur O ( t ) manque un sommet marqué est de 2 - Ω ( t ) , si t = Ω (n/4n/2O(t)2Ω(t) . t=Ω(logn)
Sariel Har-Peled

Réponses:

18

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.)r1-2-kO(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<1/2r2-Ω(r)2-Ω(r)

Andras Farago
la source
6
Le problème avec de telles techniques d'amplification est qu'elles ralentissent l'algorithme. Le nouvel algorithme ne peut utiliser que O (r) bits aléatoires, mais son temps d'exécution est r fois (temps d'exécution d'origine). Si r est, par exemple, au moins linéaire dans la taille d'entrée n (ce qui est généralement le cas), vous venez de ralentir l'algorithme d'un facteur n. Ce n'est pas quelque chose dont la plupart des algorithmistes se réjouiraient ...
Dana Moshkovitz
2

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 .kktpk,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 , tO ( k 4 - t ) .t4-t

pk,tO(k4-t).

t=1

pk,12-(1-o(1))klnlnklnk2-Ω~(k).

Voir Erdös et Pomerance (1986) , Kim et Pomerance (1989) et Dåmgard, Landrock et Pomerance (1993) pour plus de détails.

O(k2)O(k)

Thomas soutient Monica
la source