Algorithmes aléatoires efficaces et simples où le déterminisme est difficile


33

J'entends souvent dire que pour de nombreux problèmes, nous connaissons des algorithmes randomisés très élégants, mais pas, ou seulement des solutions déterministes plus compliquées. Cependant, je n'en connais que quelques exemples. Plus en évidence

  • Tri rapide randomisé (et algorithmes géométriques associés, par exemple pour les coques convexes)
  • Mincut aléatoire
  • Test d'identité polynomiale
  • Problème de mesure de Klee

Parmi ceux-ci, seuls les tests d'identité polynomiale semblent être vraiment difficiles sans l'utilisation de l'aléatoire.

Connaissez-vous plus d'exemples de problèmes où une solution randomisée est très élégante ou très efficace, mais pas les solutions déterministes? Idéalement, les problèmes devraient être faciles à motiver pour les profanes (contrairement, par exemple, aux tests d'identité polynomiale).


10
Un autre exemple est le test de primalité. Les tests de primalité probabiliste Miller – Rabin et Solovay – Strassen sont très simples et efficaces. C'est un problème ouvert de longue date que de trouver un test de primalité déterministe efficace, qui a été résolu par Agrawal, Kayal et Saxena. Le test AKS est un test de primalité de test polynomial déterministe. Cependant, ce n'est pas aussi simple et pas aussi efficace que les tests probabilistes.
Yury

8
La sélection aléatoire (résultat médian) est quelque peu plus facile que déterministe. Les algorithmes randomisés pour résoudre approximativement les LP de compression et de recouvrement sont plus rapides (dans le pire des cas) que leurs homologues déterministes ( KY07 , GK95 ). De nombreux problèmes en ligne ont des alg randomisés qui sont plus compétitifs que n'importe quel algorithme déterministe FK91 .
Neal Young

11
Le calcul du volume d'un corps convexe en dimensions élevées admet une approximation (1+ϵ) par randomisation. Il est connu qu'aucun algorithme déterministe ne peut donner une bonne approximation. La randomisation est donc essentielle ici.
Chandra Chekuri

5
@ChandraChekuri c'est un bon commentaire et serait une réponse encore meilleure :)
Suresh Venkat

3
@ChandraChekuri dans le modèle oracle, sinon BPPP
Sasho Nikolov

Réponses:


36

Tri des écrous et boulons

Le problème suivant a été suggéré par Rawlins en 1992: Supposons que l'on vous donne une collection de n écrous et n boulons. Chaque boulon s'adapte exactement à un écrou, et sinon, les écrous et boulons ont des tailles distinctes. Les tailles sont trop proches pour permettre une comparaison directe entre des paires de boulons ou des paires d'écrous. Cependant, vous pouvez comparer n'importe quel écrou à n'importe quel boulon en essayant de les visser ensemble; en temps constant, vous découvrirez si le boulon est trop grand, trop petit ou juste pour l'écrou. Votre tâche consiste à découvrir quel boulon correspond à chaque écrou, ou de manière équivalente, pour trier les écrous et boulons par taille.

Une variante simple du tri rapide randomisé résout le problème en temps avec une forte probabilité. Choisissez un boulon aléatoire; utilisez-le pour partitionner les noix; utilisez l'écrou correspondant pour séparer les boulons; et recurse. Cependant, trouver un algorithme déterministe qui s'exécute même en o ( n 2 ) n'est pas trivial. Des algorithmes déterministes de temps O ( n log n ) ont finalement été trouvés en 1995 par Bradford et indépendamment par Komlós, Ma et Szemerédi. Sous le capot, les deux algorithmes utilisent des variantes du réseau de tri parallèle AKS, donc la constante cachée dans le O ( nO(nlogn)o(n2)O(nlogn) limité dans le temps est assez grand; la constante cachée pour l'algorithme randomisé est 4.O(nlogn)

  • Noga Alon, Manuel Blum, Amos Fiat, Sampath Kannan, Moni Noar et Rafail Ostrovsky. Écrous et boulons assortis. Proc. 5e Ann. ACM-SIAM Symp. Algorithmes discrets , 690–696, 1994.
  • Noga Alon, Phillip G. Bradford et Rudolf Fleischer. Assortiment des écrous et boulons plus rapidement. Informer. Proc. Lett. 59 (3): 123-127, 1996.
  • Phillip G. Bradford. Écrous et boulons assortis de manière optimale. Technologie. Rep. MPI-I-95-1-025, Max-Planck-Institut für Informatik, 1995. http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025
  • Phillip G. Bradford et Rudolf Fleischer. Assortiment des écrous et boulons plus rapidement. Proc. 6e. Int. Symp. Calcul d'algorithmes. , 402–408, 1995. Lecture Notes Comput. Sci. 1004.
  • János Komlós, Yuan Ma et Endre Szemerédi. Écrous et boulons assortis en temps . SIAM J. Discrete Math. 11 (3): 347–372, 1998.O(nlogn)
  • Gregory J. E. Rawlins. Comparé à quoi? : Une introduction à l'analyse des algorithmes . Computer Science Press / WH Freeman, 1992.

2
C'est un bel exemple, mais c'est un problème d'oracle. Existe-t-il un moyen d'en retirer l'oracle?
Peter Shor

Vous avez un lien vers le papier 98 Szemeredi? Comment est-ce difficile? En parallèle, comparez chaque boulon à un écrou unique et mettez chaque paire dans l'ordre trié; suppression des éléments correspondants. Dans les étapes log (n), fusionnez les séquences nbnbnbnbnb triées, supprimant les correspondances à mesure qu'elles surviennent. EDIT: Oui, la non-comparabilité des chaînes nnn et bbbb est ennuyeuse à l'étape de la fusion.
Chad Brewbaker

@ChadBrewbaker Supposons que dans chaque paire sauf une, le boulon soit plus petit que l'écrou. (Oui, c'est possible.) Maintenant, que fait votre algorithme? En d'autres termes, "ennuyeux" = "tout le problème".
Jeffε

Je cherchais le journal de Szemeredi et je pensais à haute voix à quel point c'était difficile. Oui, je conviens qu'une approche basée sur la fusion n'est pas triviale; mais les articles de Vishkin sur la connectivité des graphes parallèles laissent un sentiment profond que ce n'est pas impossible.
Chad Brewbaker

Avec chaque comparaison d'un écrou et d'un boulon, vous obtenez un bord dirigé ajouté au graphique ou une correspondance qui supprime les deux sommets. Le but serait de fusionner les composants connectés de telle manière qu'ils réduisent toutes les correspondances entre eux avec une quantité de travail linéaire et de conserver la taille de stockage des bords dans un composant connecté délimité par un espace linéaire.
Chad Brewbaker

17

Une fois que vous ne parlez pas seulement de poly-temps mais regardez plutôt les nombreux modèles de calcul que nous étudions, il y en a partout:

Dans Logspace: connectivité ST non dirigée (en RL depuis 1979 et en L uniquement depuis 2005)

En NC: Trouver une correspondance parfaite dans un graphe bipartite en parallèle (en RNC et pas encore connu en NC)

Dans les preuves interactives: les preuves déterministes donnent NP, tandis que les preuves aléatoires peuvent faire PSPACE. Connexes: la vérification d'une preuve de manière déterministe nécessite de regarder toutes les preuves, tandis que les preuves PCP vous permettent de vérifier uniquement un nombre constant de bits.

Dans la conception de mécanismes algorithmiques: de nombreux mécanismes d'approximation véridiques randomisés sans contrepartie déterministe.

En complexité de la communication: la fonction d'égalité nécessite une communication linéaire de manière déterministe mais logarithmique (ou, selon le modèle exact, constante) de façon aléatoire.

Dans les arbres de décision: l'évaluation d'un arbre et-ou nécessite des requêtes linéaires de manière déterministe mais beaucoup moins avec la randomisation. Ceci est essentiellement équivalent à un élagage alpha-bêta qui donne un algorithme sub-linéaire aléatoire pour l'évaluation de l'arbre de jeu.

Dans les modèles de streaming, les modèles informatiques distribués: voir les réponses précédentes.


12

La plupart des algorithmes de streaming

Dans le modèle de calcul en continu ( AMS , livre ), un algorithme traite une séquence de mises à jour en ligne et est limité pour ne garder qu'un espace sublinéaire. À tout moment, l'algorithme doit pouvoir répondre à une requête.

tit[n]Dm=|{it:t=1m}|mΩ(n)O(logn)O(1ϵ2+logn)1±ϵ


8

nΔmin(Ω(logΔ),Ω(logn))

u

  1. u1/dudu>0udu=0u
  2. uu
  3. v

O(logn)O(n1/logn)


[1] Michael Luby: un algorithme parallèle simple pour le problème des ensembles indépendants maximaux. SIAM J. Comput. 15 (4): 1036-1053 (1986) http://dx.doi.org/10.1137/0215074

[2] Alessandro Panconesi, Aravind Srinivasan: Sur la complexité de la décomposition du réseau distribué. J. Algorithms 20 (2): 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017

[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Calcul local: limites inférieure et supérieure. CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470


Un algorithme récent (au PODC 2013), inspiré des systèmes biologiques, atteint des performances aussi bonnes que Luby's en utilisant un mécanisme de rétroaction local simple. arxiv.org/abs/1211.0235
András Salamon

6

Élection des dirigeants dans un cycle de processus anonyme

1

Il existe un argument simple (par exemple [1]) selon lequel il n'existe pas d' algorithme d'élection de leader déterministe pour un anneau anonyme.

Modèle: Nous supposons que le calcul avance en tours synchrones où, à chaque tour, chaque processus effectue un calcul local, envoie des messages à ses voisins dans l'anneau et reçoit des messages de ses voisins.

Ar01

r0rArrr+1A

An[1,n4]


[1] Dana Angluin: Propriétés locales et globales dans les réseaux de processeurs (Extended Abstract). STOC 1980: 82-93. http://doi.acm.org/10.1145/800141.804655


6

Problème de majorité dans un modèle de requête.

nij

n/2O(n)

O(n)

FRK Chung, RL Graham, J. Mao et AC Yao, Stratégies inconscientes et adaptatives pour les problèmes de majorité et de pluralité, Proc. COCOON 2005 , p. 329–338.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.