All Pairs Shortest Paths

Problema risolto con un algoritmo di programmazione dinamica.

Input: Grafo con , funzione peso sugli archi che non genera cicli negativi Output: cammini minimi tra ogni coppia di nodi di G

Si potrebbe trovare una soluzione utilizzando l’algoritmo di Bellman Ford per ogni vertice, ma verrebbe a costare troppo .

Il sottoproblema si può definire tramite tre nodi di , e lunghezza del cammino minimo tra i e j che usa solo i nodi {1, 2, …, k}. Se il cammino minimo non esiste, dist() ritorna .

Algoritmo Floyd-Warshall

Il costo è di .

asd_41