Algorithmes parallèles pour la connectivité st dirigée

13

Chong, Han et Lam ont montré que la connectivité st non dirigée peut être résolue sur la PRRE EREW en temps avec des processeurs . Quel est l'algorithme parallèle le plus connu pour la connectivité st dirigée ? Veuillez indiquer le temps d'exécution, l'algorithme déterministe / randomisé et le modèle PRAM utilisé (en supposant que le nombre de processeurs est polynomial). Existe-t-il des algorithmes parallèles temporels connus pour des cas particuliers de connectivité st dirigée?O(logn)O(m+n)o(log2n)

Shiva Kintali
la source
Wikipédia dit que les processeurs poly (n) + le temps de polylog sur une EREW PRAM est identique à NC. Je ne connais pas très bien le modèle EREW PRAM, mais existe-t-il une connexion entre time (et polynomialement de nombreux processeurs) et N C i ? En d'autres termes, existe-t-il un moyen de reformuler votre question en termes de circuits à profondeur limitée? (logn)iNCi
Robin Kothari
les différents modèles de RAM parallèle sont équivalents jusqu'à des facteurs de journalisation, donc bien que EREW PRAM correspond à NC, cela peut ne pas être vrai pour des puissances de journalisation spécifiques.
Suresh Venkat
Avec des restrictions appropriées sur l'ensemble d'intruction, le temps O (log ^ in) sur une PRAM CRCW est exactement uniforme AC ^ i, pour i> = 1.
Kristoffer Arnsfelt Hansen
S'il existe un chemin dirigé , est - il possible de le trouver? st
Kumar

Réponses:

13

L'accessibilité dirigée peut facilement être effectuée en utilisant des processeurs O ( ) et du temps O ( log n ) sur un CRCW-PRAM, ou dans des processeurs O ( n ω ) et du temps O ( log 2 n ) sur un EREW-PRAM où ω < 2,376 est l'exposant de multiplication matricielle et n est le nombre de sommets. L'article suivant revendique O ( n ω ) et O ( log nn3(lognnωlog2nω<2.376nnωlogn) temps sur une CREW-PRAM: "Algorithmes parallèles optimaux pour la fermeture transitive et la localisation de points dans les structures planes" par Tamassia et Vitter. D'autres articles affirment la même chose et citent l'enquête Karp et Ramachandran (Algorithmes parallèles pour les machines à mémoire partagée, dans: J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science). L'enquête elle-même mentionne que la fermeture transitive est en AC1 et peut donc être résolue en temps O (log n) sur un CRCW-PRAM, mais la partie sur CREW-PRAM est manquante.

Tous les algorithmes de Strassen pour la multiplication matricielle (y compris celui de Coppersmith-Winograd) sont essentiellement des algorithmes parallèles qui s'exécutent en temps O ; la fermeture transitive entraîne un log supplémentaire (mais si vous autorisez un fan-in illimité, la matrice triviale O ( n 3 ) mult peut être effectuée en profondeur constante et donc l'accessibilité est en temps O ( log n ) sur un CRCW-PRAM). C'est un problème ouvert pour améliorer le nombre de processeurs par rapport aux meilleurs ~ n 2.376 ; c'est également un problème ouvert majeur si l'accessibilité est dans NC1, car cela impliquerait L = NL entre autres choses.(logn)n3(logn)n2.376

virgi
la source
1
Pouvez-vous s'il vous plaît ajouter les références.
Shiva Kintali
Je ne connais que l'heure O (log n) sur une PRAM CRCW. C'est ce que tu voulais dire?
Kristoffer Arnsfelt Hansen
O (logn) sur CREW est super. C'est ce que je recherche. Je voudrais accepter votre réponse. Veuillez ajouter la référence.
Shiva Kintali
Nous avons besoin de O (logn) itérations de multiplication matricielle pour résoudre la st-connectivité.
Shiva Kintali
En termes d'algorithmes parallèles, vous avez besoin d'itérations O (log n) de la matrice mult pour résoudre l'accessibilité; ce n'est pas le cas pour les algorithmes séquentiels car vous pouvez faire des choses récursives intelligentes (voir Fisher & Meyer'71). Cependant, si votre modèle de calcul permet un fan-in illimité (comme avec AC1 et donc CRCW PRAM), la matrice mult peut être effectuée en profondeur constante et la fermeture transitive peut donc être effectuée en profondeur logarithmique.
virgi
7

Le livre "An Introduction to Parallal Algorithms" de Joseph Jája (1992) énumère les résultats suivants pour la fermeture transitive:

  • O(logn)O(n3logn)
  • O(log2n)O(nωlogn)

O(logn)

  • uvuv
Kristoffer Arnsfelt Hansen
la source
Ainsi, il semble que trouver un algorithme parallèle (o ^ log ^ 2 {n}) sur CREAM PRAM pour les graphes orientés soit un problème ouvert.
Shiva Kintali
Notez que j'ai dit o (log ^ 2 {n}) pas O (log ^ 2 {n}).
Shiva Kintali
5

Si vous vous souciez de garder le travail petit, pas seulement polynomial, il existe un algorithme élégant par Ullman et Yannakakis qui permet des compromis temps / travail. Le tableau 1 de mon article sur le calcul de composants fortement connectés en parallèle résume les résultats de connectivité dirigée parallèle que je connais: http://www.cs.brown.edu/~ws/papers/scc.pdf .

Warren Schudy
la source