La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Cammini di costo minimo su un grafo pesato

Presentazioni simili


Presentazione sul tema: "Cammini di costo minimo su un grafo pesato"— Transcript della presentazione:

1 Cammini di costo minimo su un grafo pesato
Algoritmo di Floyd-Warshall con la tecnica della programmazione dinamica Prof. M. Liverani – Ottimizzazione Combinatoria (IN440) a.a / 2018

2 Dati in input Un grafo Una funzione w che assegna pesi agli spigoli del grafo (i pesi possono essere anche negativi, ma non sono consentiti cicli di costo negativo) Sia 4 2 3 2 2 1 –2 7 4 1 5 1 6 5 2 3

3 Output dell’algoritmo
Una matrice quadrata con i costi dei cammini minimi per ogni coppia di vertici del grafo: con pari al costo di un cammino di costo minimo da a Indichiamo con la matrice che riporta il costo del cammino minimo per ogni coppia di vertici e con vertici intermedi scelti nell’insieme

4 Algoritmo di Floyd-Warshall
La matrice rappresenta il costo del cammino da a con nessun vertice intermedio: quindi è basata sul costo assegnato ad ogni spigolo del grafo (infinito se lo spigolo non esiste) L’algoritmo costruisce una sequenza di matrici: si passa dalla matrice alla matrice selezionando il minimo tra il costo del cammino minimo da a con vertici in e il costo del cammino di costo minimo da a passante per con vertici intermedi in

5 Algoritmo di Floyd-Warshall
costo: y x z scelti in i j a d costo: b k c costo: Quindi: costo:

6 Inizializzazione 4 2 3 2 2 1 –2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 7 –2 Viene inizializzata la matrice D(0) con i dati della matrice W

7 Cammini di costo minimo con vertici intermedi in {1}
4 2 3 2 2 1 –2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 7 8 –2 Viene calcolata la matrice D(1) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1} D(1)

8 Cammini di costo minimo con vertici intermedi in {1, 2}
4 2 3 2 2 1 –2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 7 9 –2 Viene calcolata la matrice D(2) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2} D(2)

9 Cammini di costo minimo con vertici intermedi in {1, 2, 3}
4 2 3 2 2 1 –2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 8 13 11 7 9 –2 Viene calcolata la matrice D(3) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2, 3} D(3)

10 Cammini di costo minimo con vertici intermedi in {1, 2, 3, 4}
–2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 8 9 7 11 –2 Viene calcolata la matrice D(4) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2, 3, 4} D(4)

11 Cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5}
–2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 8 9 10 7 11 –2 Viene calcolata la matrice D(5) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5} D(5)

12 Cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5, 6}
–2 7 4 1 5 1 6 5 2 3 1 2 3 4 5 6 –1 8 9 7 –2 Viene calcolata la matrice D(6) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5, 6} D(6)

13 Cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5, 6}
–2 7 4 1 5 1 6 5 2 Soluzione! 3 n = 6 1 2 3 4 5 6 –1 8 9 7 –2 Viene calcolata la matrice D(6) con i costi degli eventuali cammini di costo minimo con vertici intermedi in {1, 2, 3, 4, 5, 6} D(6)


Scaricare ppt "Cammini di costo minimo su un grafo pesato"

Presentazioni simili


Annunci Google