Cammini minimi tra tutte le coppie

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
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
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Cammini minimi con sorgente singola
Algoritmi e Strutture Dati
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi e Strutture Dati (Mod. B)
APPUNTI SUL LINGUAGGIO C
Algoritmo di Kruskal Parte con tutti i vertici e nessun lato (sottografo aciclico, o foresta, ricoprente) Ordina i lati per costo non decrescente.
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Cammini minimi tra tutte le coppie
Cammini minimi da un sorgente
Ordinamento topologico Cammino minimo dalla sorgente
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Algoritmi elementari su grafi
Algoritmi e Strutture Dati
Capitolo 13 Cammini minimi: Algoritmo di ordinamento topologico, di Dijkstra, e di Floyd e Warshall Algoritmi e Strutture Dati.
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Grafi: rappresentazione e visita
Cammini minimi fra tutte le coppie:
Cammini minimi in grafi:
Cammini minimi Moreno Marzolla
Prof.ssa Rossella Petreschi Lezione del 3/12/2013 del Corso di Algoritmica GRAFI e PLANARITA’ Lezione n°15.
Cammini minimi in grafi:
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Lezione n°17 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Il problema del cammino minimo
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Usi (meno scontati) della visita DFS
Algoritmi e Strutture Dati
K4 è planare? E K3,3 e K5 sono planari? Sì!
Lezione n°11 Prof.ssa Rossella Petreschi
Lezione n°12 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
ABBINAMENTO Lezione n°13
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi per il flusso nelle reti
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Cammini di costo minimo su un grafo pesato
Schema generale, visita in ampiezza e profondità.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Lezione n°14 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Backtracking Lezione n°17 Prof.ssa Rossella Petreschi
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.
Cammini minimi in grafi:
Grafi e problem solving
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Insiemi disgiunti.
Algoritmi e Strutture Dati
Transcript della presentazione:

Cammini minimi tra tutte le coppie

Cammini minimi tra tutte le coppie Dato un grafo (orientato o non orientato) G = (V,E) con funzione di peso w: E  R, trovare per ogni coppia di vertici u,v  V il minimo peso di un cammino da u a v. Verrà calcolata anche una matrice di predecessori (uv) dove uv è NIL se u=v o se non c’è un cammino da u a v, altrimenti è un predecessore di v su di un cammino minimo da u. Il sottografo indotto dall’i-esima riga della matrice  sarà un albero di cammini minimi con radice in i.

Algoritmo di Floyd-Warshall E’ un algoritmo di programmazione dinamica, può gestire archi di peso negativo ma si assume che non ci siano cicli negativi. Idea: ds,t(i): cammino minimo da s a t contenente solo i vertici intermedi v1, ..., vi ds,t(0) = w(s,t)

Algoritmo di Floyd-Warshall: idea ds,t(i): cammino minimo da s a t contenente solo i vertici intermedi v1, ..., vi ds,t(0) = w(s,t) w(s,t) if k = 0 min{ds,t(k-1), ds,k(k-1) + dk,t(k-1)} if k > 0 ds,t(k) =

Algoritmo di Floyd-Warshall Floyd-Warshall(W) 1 n=rows[W] 2 D(0)=W 3 for k = 1 to n do 2 for i = 1 to n do 3 for j = 1 to n do 4 dij(k) = min(dij(k-1), dik(k-1) + dkj(k-1)) 5 return D(n)

Algoritmo di Floyd-Warshall: esempio 2 4 3 7 1 3 8  -4 1 7 4 2 -5 6 1 3 8 2 -4 -5 5 4 6

Algoritmo di Floyd-Warshall: esempio 3 8  -4 1 7 4 2 -5 6 1 2 3 4 5

Algoritmo di Floyd-Warshall: esempio 3 8  -4 1 7 4 2 5 -5 -2 6 1 2 3 4 5

Algoritmo di Floyd-Warshall: esempio 3 8 4 -4  1 7 5 11 2 -5 -2 6 1 2 3 4 5

Algoritmo di Floyd-Warshall: esempio 3 8 4 -4  1 7 5 11 2 -1 -5 -2 6 1 2 3 4 5

Algoritmo di Floyd-Warshall: esempio 3 -1 4 -4 1 7 5 2 -5 -2 8 6 1 4 2 3 5

Algoritmo di Floyd-Warshall: esempio 3 -3 2 -4 1 -1 7 4 5 -5 -2 8 6 1 4 5 2 3

Algoritmo di Floyd-Warshall: complessità Determinata dei tre cicli for. Ogni esecuzione dell’istruzione interna è O(1), quindi: T(V,E) = (n3) = (V3)