Percorso minimo sorgente singola

4

Nella lezione ci viene insegnato che possiamo risolvere Tutte le coppie percorso più breve (APSP) con moltiplicazione matrice .

In APSP stiamo creando una tabella delle distanze per tutte le distanze tra ciascun nodo nel grafico. E ora la domanda è: "È possibile risolvere il problema di Single Source Shortest Path (SSSP) con moltiplicazione di matrice ? Se lo è, allora come?"

Se mi dai una spiegazione su come ottenerlo, ti sarei grato.

    
posta mehmetrasid 25.12.2015 - 09:40
fonte

1 risposta

4

Percorso più breve della singola sorgente?

Poiché con Matrix Multiplication è possibile eseguire tutte le coppie con il percorso più breve e la singola sorgente è un sottoinsieme per tutte le coppie, è anche possibile il percorso più breve della singola sorgente. Ignora semplicemente le altre coppie.

Algoritmo basato su moltiplicazione di matrici

  1. Considerare la moltiplicazione della matrice di adiacenza ponderata con se stessa - tranne, in questo caso, sostituiamo l'operazione di moltiplicazione nella moltiplicazione di matrici per addizione e l'operazione di addizione per minimizzazione
  2. Si noti che il prodotto della matrice di adiacenza ponderata con se stesso restituisce una matrice che contiene i percorsi più brevi di lunghezza 2 tra qualsiasi coppia di nodi
  3. Da questo argomento risulta che A n contiene tutti i percorsi più brevi
  4. A n è calcolato mediante raddoppiamenti di potenza - cioè, come A, A 2 , A 4 , A 8 , ...
  5. Abbiamo bisogno delle moltiplicazioni della matrice log (n), ognuna delle quali richiede un tempo O (n 3 )
  6. La complessità seriale di questa procedura è O (n 3 log (n))
  7. Questo algoritmo non è ottimale, poiché gli algoritmi più noti hanno complessità O (n 3 )

    
risposta data 25.12.2015 - 20:19
fonte

Leggi altre domande sui tag