Cammini di costo minimo su un grafo pesato

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Algoritmi e Strutture Dati
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Trovare il percorso minimo da b ad ogni altro vertice
FLOWCHART DELL’ALGORITMO DI APPRENDIMENTO DELLA RETE DI KOHONEN
Cammini minimi tra tutte le coppie
DIVERTIRSI CON SCRATCH
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Capitolo 13 Cammini minimi: Algoritmo di ordinamento topologico, di Dijkstra, e di Floyd e Warshall Algoritmi e Strutture Dati.
Cammini minimi fra tutte le coppie:
Cammini minimi in grafi:
Cammini minimi Moreno Marzolla
© 2007 SEI-Società Editrice Internazionale, Apogeo
LA PROGRAMMAZIONE: Algoritmi e programmi
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Cammini minimi in grafi:
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Dal problema al processo risolutivo
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Lezione n°17 Prof.ssa Rossella Petreschi
Sicurezza informatica
Cammini minimi tra tutte le coppie
Algoritmi e Strutture Dati
Il problema del cammino minimo
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Lezione n°14 Reti di flusso Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Protezione nominale e protezione effettiva
Algoritmi e Strutture Dati
Paths, tree and flowers Lezione n°14
K4 è planare? E K3,3 e K5 sono planari? Sì!
per rappresentare grafi
Lezione n°11 Prof.ssa Rossella Petreschi
Lezione n°12 Prof.ssa Rossella Petreschi
© 2007 SEI-Società Editrice Internazionale, Apogeo
Algoritmi e Strutture Dati
ABBINAMENTO Lezione n°13
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Algoritmi per il flusso nelle reti
Algoritmi per il flusso nelle reti
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Schema generale, visita in ampiezza e profondità.
Algoritmi e Strutture Dati
Dithering di una immagine digitale
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a. 2010/11
Esercizio Dato un albero binario, definiamo altezza minimale di un nodo v la minima distanza di v da una delle foglie del suo sottoalbero, definiamo invece.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Cammini minimi in grafi:
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Grafi e problem solving
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Algoritmi e Strutture Dati
Algoritmi.
Transcript della presentazione:

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. 2017 / 2018

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

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

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

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

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

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)

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)

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)

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)

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)

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)

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)