Algoritmi paralleli per la connettività st diretta


13

Chong, Han e Lam hanno dimostrato che la connettività st non indirizzata può essere risolta sulla PRAM EREW nel tempo con processori O ( m + n ) . Qual è l'algoritmo parallelo più noto per la connettività st diretta ? Indicare il tempo di esecuzione, l'algoritmo deterministico / randomizzato e il modello PRAM utilizzato (supponendo che il numero di processori sia polinomiale). Esistono algoritmi o paralleli o ( log 2 n ) noti per casi speciali di connettività st diretta?O(logn)O(m+n)o(log2n)


Wikipedia afferma che i processori poli (n) + il tempo polilogo su una PRAM EREW sono gli stessi di NC. Non ho molta familiarità con il modello EREW PRAM, ma esiste una connessione tra time (e polinomialmente molti processori) e N C i ? In altre parole, c'è un modo per riformulare la tua domanda in termini di circuiti a profondità limitata? (logn)iNCi
Robin Kothari,

i diversi modelli di RAM parallela equivalgono a fattori di registro, quindi mentre EREW PRAM corrisponde a NC, ciò potrebbe non essere vero per specifici poteri di registro.
Suresh Venkat,

Con le opportune restrizioni sul set di istruzioni, il tempo O (log ^ in) su una PRAM CRCW è esattamente uniforme AC ^ i, per i> = 1.
Kristoffer Arnsfelt Hansen,

Se esiste un percorso diretto , è possibile trovarlo? st
Kumar,

Risposte:


13

La raggiungibilità diretta della st può essere fatta facilmente usando i processori O ( ) e il tempo O ( log n ) su un CRCW-PRAM, oppure in processori O ( n ω ) e il tempo O ( log 2 n ) su un EREW-PRAM dove ω < 2.376 è l'esponente della moltiplicazione della matrice e n è il numero di vertici. Il seguente documento rivendica O ( n ω ) e O ( registro nn3(lognnωlog2nω<2.376nnωlogn) tempo su una CREW-PRAM: "Algoritmi paralleli ottimali per la chiusura transitiva e la posizione dei punti nelle strutture planari" di Tamassia e Vitter. Altri articoli sostengono la stessa cosa e citano il sondaggio Karp e Ramachandran (algoritmi paralleli per macchine a memoria condivisa, in: J. van Leeuwen (a cura di), Manuale di Teorical Computer Science). Il sondaggio stesso menziona che la chiusura transitiva è in AC1 e quindi può essere risolta in tempo O (log n) su un CRCW-PRAM, ma manca la parte su CREW-PRAM.

Tutti gli algoritmi simil-Strassen per la moltiplicazione di matrici (incluso quello di Coppersmith-Winograd) sono essenzialmente algoritmi paralleli che girano nel tempo O ; la chiusura transitiva comporta un log aggiuntivo (ma se si consente il fan -bound illimitato nella banale matrice O ( n 3 ) mult può essere fatto a profondità costante e quindi la raggiungibilità è in tempo O ( log n ) su una CRCW-PRAM). È un problema aperto migliorare il numero di processori dall'attuale migliore ~ n 2.376 ; è anche un grosso problema aperto se la raggiungibilità è in NC1, poiché implicherebbe L = NL tra le altre cose.(logn)n3(logn)n2.376


1
Potete per favore aggiungere i riferimenti.
Shiva Kintali,

Conosco solo il tempo O (log n) su una PRAM CRCW. Era quello che intendevi?
Kristoffer Arnsfelt Hansen,

O (logn) su CREW è fantastico. Questo è quello che sto cercando. Vorrei accettare la tua risposta. Aggiungi il riferimento
Shiva Kintali,

Abbiamo bisogno di iterazioni O (logn) di moltiplicazione di matrici per risolvere la connettività st.
Shiva Kintali,

In termini di algoritmi paralleli hai bisogno di O (log n) iterazioni di matrice mult per risolvere la raggiungibilità; questo non è il caso degli algoritmi sequenziali in quanto puoi fare alcune cose ricorsive intelligenti (vedi Fisher & Meyer'71). Tuttavia, se il tuo modello di calcolo consente il fan-in illimitato (come con AC1 e quindi CRCW PRAM), la matrice mult può essere eseguita a profondità costante e quindi la chiusura transitiva può essere eseguita a profondità logaritmica.
Virgi,

7

Il libro "An Introduction to Parallal Algorithms" di Joseph Jája (1992) elenca i seguenti risultati per la chiusura transitiva:

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

O(logn)

  • uvu per v.

Quindi, sembra che trovare un algoritmo parallelo o time (log ^ 2 {n}) su CREW PRAM per i grafici diretti generali sia un problema aperto.
Shiva Kintali,

Nota che ho detto o (log ^ 2 {n}) non O (log ^ 2 {n}).
Shiva Kintali,

5

Ti preoccupi di mantenere il lavoro piccolo, non solo polinomiale, c'è un elegante algoritmo di Ullman e Yannakakis che consente compromessi tempo / lavoro. La tabella 1 nel mio documento sull'elaborazione in parallelo di componenti fortemente connessi riassume i risultati della connettività diretta parallela di cui sono a conoscenza: http://www.cs.brown.edu/~ws/papers/scc.pdf .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.