Cammini Minimi. Cammino in un grafo. Connettività in grafi non orientati. Connettività in grafi orientati
|
|
- Bartolomeo Gatto
- 4 anni fa
- Visualizzazioni
Transcript
1 Cammini Minimi Algoritmo di Dijktra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percoro) in G è un inieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v v k In un grafo orientato i farà riferimento a cammini diretti Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 Connettività in grafi non orientati Due vertici u,v ono connei in un grafo non orientato e eite un cammino che collega u e v Un grafo è conneo e per ogni coppia di vertici u e v, u e v ono connei Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Connettività in grafi orientati Due vertici u e v ono connei in un grafo orientato e eite un cammino diretto che collega u a v Un grafo diretto è fortemente conneo e per ogni coppia (u,v), eite un cammino da u a v e da v ad u Un grafo è debolmente conneo e per ogni coppia (u,v), eite un cammino da u a v (o vicevera) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Coto di un cammino ia G = (V,E) un grafo orientato ai cui archi è aociato un coto W(u,v). Il coto di un cammino p = (v 0,v 1,...,v k ) è la omma dei coti degli archi che lo cotituicono W( p) k = W i = ( v v 1 i 1, i ) Coto di un cammino minimo Il coto minimo del cammino da un vertice u ad un vertice v è definito nel eguente modo: min {W(p)} e eitono cammini p da u a v δ(u,v) = altrimenti Un cammino minimo da u a v è un cammino p da u a v di coto W(p) = δ(u,v) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1
2 Varie verioni del problema 1 Nel problema dei cammini minimi viene richieto di calcolare i cammini minimi in un grafo orientato Vi ono quattro verioni del problema: Cammini minimi da un'unica orgente a tutti gli altri vertici (ingle ource hortet Path) Cammini minimi da ogni vertice ad un'unica detinazione (ingle Detination hortet Path) Varie verioni del problema 2 Cammini minimi da un'unica orgente ad un unica detinazione (ingle-pair hortet Path) Cammini minimi da ogni vertice ad ogni altro vertice (All Pair hortet Path) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 7 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 8 Rioluzione dei vari problemi Noi riolveremo la prima itanza La econda itanza i riolve immetricamente La terza i può riolvere uando la oluzione della prima Non i conoce ancora un algoritmo che riolva la terza itanza in tempo aintoticamente migliore della prima La quarta itanza i può riolvere uando la oluzione della prima per ogni vertice del grafo In genere i può fare di meglio Eempio di applicazione i upponga di voler determinare il percoro più breve (in termini di chilometri) che collega due luoghi A e B e i modella la carta tradale u cui compaiono A e B come un grafo in cui: I vertici ono gli incroci Gli archi ono i tratti di trada tra incroci ucceivi I pei degli archi ono le ditanze in chilometri di ciacun arco Il problema i riconduce a quello dell'identificazione del cammino minimo dal vertice corripondente ad A al vertice corripondente a B Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 9 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 10 Eempio di cammino minimo Note 1 12 v 1 v t Nel cao di grafi non peati, l'identificazione dell'albero dei cammini minimi può eere eeguita tramite la procedura di viita in ampiezza 1 v 9 v cammino minimo 1 Non vogliamo calcolare olo il coto dei cammini minimi, ma anche i cammini minimi tei Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 11 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 12 2
3 Archi di coto negativo Nel grafo orientato ci potrebbero eere anche archi di coto negativo Queti archi potrebbero creare dei problemi nell individuazione dei cammini minimi Vi potrebbero eere dei cicli di coto negativo raggiungibili da e un vertice u è raggiungibile da tramite un cammino p che paa per un vertice appartenente ad un ciclo di coto negativo, allora eiteranno cammini da a u di coto empre minore coto minimo di cammino δ(,u) non è definito Eempio a 2 7 b c -10 Nel cao di cicli negativi i pone δ(,u)= u Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 Archi di coto poitivo upporremo che il grafo orientato avrà olo archi di coto poitivo In queto cao il cammino di lunghezza minima non contiene cicli Dimotrazione? Teorema: ottotruttura ottimale e p è un cammino minimo da u a v, allora ogni otto-cammino di p è anche un cammino minimo In altre parole: e il cammino p = (v 0,v 1,...,v k ) è minimo allora ono minimi anche tutti i ottocammini p ij = (v i,...,v j ). Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 Dimotrazione e eitee un cammino q da v i a v j di coto minore di p ij allora otituendo nel cammino p il ottocammino p ij con il cammino q i otterrebbe un cammino da v 0 a v k di coto minore di p Impoibile e p è minimo v 0 v i X v j v k q Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 17 compoizione dei coti di un cammino minimo e p è un cammino minimo da ad un vertice v ed u è il vertice che precede v nel cammino allora δ(,v) = δ(,u) + W(u,v) Dimotrazione: Dipende dalla ottotruttura ottima: δ(,v) = W(p) = δ(,u) + W(u,v) p' v u Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 18
4 Limite uperiore per i coti di cammino minimo Per ogni arco (u,v) vale la diuguaglianza: δ(,v) δ(,u) + W(u,v) Dimotrazione e u non è raggiungibile da allora δ(,u) = e δ(,v) + W(u,v) banalmente e u è raggiungibile da allora δ(,u) + W(u,v) è il coto di un cammino da a v ed è quindi maggiore o uguale di δ(,v) Rappreentazione dei cammini minimi 1 In genere ci interea calcolare non olo i coti dei cammini minimi dalla orgente ad ogni vertice del grafo ma anche i cammini minimi tei Dato un vertice u con π[u] indichiamo il predeceore di u nel cammino da a u Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 19 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 20 Rappreentazione dei cammini minimi 2 G=(V,E) V = orgente Definiamo G π =(V π,e π ) il ottografo predeceore di G con V π ={v V: π[v] NIL} {} E π ={(π[v],v) E : v V π -{}} ottografo predeceore Un ottografo predeceore G π è uno hortetpath tree per G e V π è cotituito da tutti i vertici di G raggiungibili da G π forma un albero con radice il cammino emplice da a v in G π coincide con il cammino minimo da a v in G Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 21 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 22 Tecnica del rilaamento Idea dell algoritmo 1 L algoritmo che tudieremo per riolvere il problema dei cammini minimi ua la tecnica del rilaamento Dettagli a breve Ad ogni vertice v del grafo aociamo un campo d[v] che rappreenta una tima di δ(,v) Durante l eecuzione dell algoritmo è un limite uperiore per δ(,v) [d[v] δ(,v)]; mentre alla fine arà uguale a δ(,v) I valori d[v] e π[v] vengono aggiornati mediante la coiddetta tecnica del rilaamento degli archi quando viene rilaato l arco (u,v) i verifica e è poibile ottenere un cammino più breve di quello di coto d[v] attraverando l arco (u,v) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2
5 Rilaamento di un arco Il rilaamento ripetto ad un arco (u,v) conite nel controllare e è poibile migliorare il cammino finora trovato per v aggiungendo al cammino trovato per u l arco (u,v). Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 Idea dell algoritmo 2 Rilaamento di un arco RELAX(u, v, w) if d[u] + w(u, v) < d[v] then d[v] d[u] + w(u, v) π[v] u //predeceore di u ul cammino di coto d[v] Inizializzazione INITIALIZE-INGLE-OURCE(G, ) for each vertex v V[G] d[v] π[v] nil d[] 0 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 Effetto del rilaamento Dopo aver eeguito RELAX(u, v, w) vale la diuguaglianza d[v] d[u] + W(u,v) e d[v] > d[u] + W(u,v) prima del rilaamento, allora viene poto d[v] = d[u] + W(u,v) e d[v] d[u] + W(u,v) prima del rilaamento, allora non viene fatto nulla Idea dell algoritmo i eegue INITIALIZE-INGLE-OURCE(G, ) Ogni arco (u,v) viene rilaato eeguendo RELAX(u, v, w) L algoritmo termina quando i valori di d coincidono con i pei dei cammini minimi i noti che e ad un certo punto d[u]=δ(,u), allora neuna ucceiva invocazione di RELAX può modificare d[u] Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 27 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 28 Come cegliamo gli archi? Nota L ordine in cui gli archi vengono rilaati dipende dal tipo di algoritmo Alcuni algoritmi rilaano ciacun arco più volte i può provare che qualiai algoritmo che eegua l inizializzazione ed una equenza di rilaamenti per cui alla fine d[v] = δ(,v) per ogni vertice v calcola correttamente i cammini minimi Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 29 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 0
6 Algoritmi per P Vi ono due algoritmi claici di queto tipo, uno dovuto a Dijktra ed uno dovuto a Bellman-Ford L algoritmo di Dijktra richiede che i pei degli archi non iano negativi mentre quello di Bellman-Ford funziona anche nel cao generale Algoritmo di Dijktra 1 Input: grafo direzionato G=(V,E) con archi di peo maggiore o uguale a 0 un vertice che rappreenta la orgente L algoritmo mantiene Per ogni u V, i valori d[u] e π[u] : inieme di vertici per cui è tato già determinato un cammino minimo Per ogni u i ha d[u]=δ(,u) Q: coda a priorità che contiene i vertici che non ono in Per ogni u Q, la chiave che determina la priorità di u è d[u] Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 Algoritmo di Dijktra 2 I vertici adiacenti a quelli in formano una frontiera tra i vertici per cui i conoce un cammino minimo e tutti gli altri vertici Ogni volta viene inerito in il vertice della frontiera che ha il valore di d più piccolo (celta greedy) e vengono rilaati tutti gli archi ucenti da eo Ogni arco è rilaato eattamente una volta Output: π: ottografo predeceore, d: pei dei cammini minimi da a tutti gli altri vertici Algoritmo di Dijktra Per ogni vertice u di è già noto il cammino minimo da ad u frontiera Reto del grafo Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Peudocodice dell algoritmo di Dijktra DIJKTRA(G,w,) 1 INITIALIZE-INGLE-OURCE(G, ) 2 Q V[G] while Q do u Extract-Min(Q) {u} 7 for each v Adj[u] 8 do RELAX(u,v,w) Pao dell algoritmo di Dijktra I valori nei vertici indicano i valori di d 0 min(+, ) = Per ogni nodo u della frontiera, d[u] contiene la lunghezza di un percoro paante olo per vertici in min(+8, ) = 12 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati
7 Pao dell algoritmo di Dijktra I valori nei vertici indicano i valori di d Pao dell algoritmo di Dijktra I valori nei vertici indicano i valori di d min(9, +1) = min(12, +) = 9 Per ogni nodo u della frontiera, d[u] contiene la lunghezza di un percoro paante olo per vertici in Per ogni nodo u della frontiera, d[u] contiene la lunghezza di un percoro paante olo per vertici in Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 7 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 8 Pao dell algoritmo di Dijktra I valori nei vertici indicano i valori di d 8 1 Per ogni nodo u della frontiera, d[u] contiene la lunghezza di un percoro paante olo per vertici in 7 9 Correttezza dell algoritmo ia u il vertice della frontiera con il più piccolo valore di d. Un qualiai cammino minimo da ad u attravera olo vertici in u Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 9 Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 0 Correttezza dell algoritmo di Dijktra 1 ia u il vertice della frontiera con il più piccolo valore di d. Qualiai cammino da ad u che attravera qualche vertice in V- ha lunghezza maggiore di d[u] in quanto deve paare attravero qualche altro vertice x della frontiera con d[x] d[u] per poi raggiungere u Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 1 u x Correttezza dell algoritmo di Dijktra 2 ia p' u v un percoro minimo da a v. e prima della chiamata a RELAX(u,v,w) i ha d[u]= δ(,u), allora dopo la chiamata i ha d[v]= δ(,v). Dimotrazione d[v] d[u]+w(u,v) Per effetto di RELAX(u,v,w) = δ(,u)+w(u,v) = δ(,v) Per la ottotruttura ottimale Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 2 7
8 Correttezza dell algoritmo di Dijktra Teorema: Quando u viene inerito in i ha d[u] = δ(,u). Idea della dimotrazione: Da quanto illutrato nelle due lide precedenti egue che eite un cammino minimo tra ed u che attravera olo vertici di : z u iccome d[z] = δ(,z), allora il riultato della lide precedente implica che dopo RELAX(z,u,w) (eeguita quando z viene aggiunto ad ) riulta d[u] = δ(,u) (e π[u] = z). Compleità dell algoritmo di Dijktra Il tempo di eecuzione dipende da come è implementata la coda a priorità Q Per l analii conidereremo tre divere implementazioni di Q Mediante un array Mediante binary heap Mediante Fibonacci Heap INITIALIZE-INGLE-OURCE(G, ) richiede tempo O(V) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Q implementata con array Inizializzazione di Q Tempo O(V) per inerire i vertici nell array Analii del ciclo di while V operazioni Extract-Min (linea ) Ciacuna richiede tempo O(V) in quanto occorre cercare il minimo V aggiornamenti di Ciacuna richiede tempo cotante Un totale di O(E) iterazioni del ciclo di for (linee -8) in quanto la lita di adiacenza di ciacun vertice u viene candita eattamente una volta (quando u è inerito in ) RELAX(u,v,w) ulla linea 8 richiede tempo cotante Tempo totale: O(V 2 + E )=O(V 2 ) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Q implementata con binary heap Inizializzazione di Q effettuata mediante una Build-Heap che cotruice un heap con V elementi in tempo O(V) Analii del ciclo di while V operazioni Extract-Min - Ciacuna richiede tempo O(log V) V aggiornamenti di - Ciacuna richiede tempo cotante Un totale di O(E) iterazioni del ciclo di for (linee -8) in quanto la lita di adiacenza di ciacun vertice u viene candita eattamente una volta (quando u è inerito in ) RELAX(u,v,w) ulla linea 8 : L aggiornamento di d[v] è effettuata eeguendo DECREAE- KEY(Q,v,d[u]+w(u,v)) che richiede tempo O(log V) L aggiornamento di π[v] richiede tempo cotante Tempo totale: O(Vlog V + E log V) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati Q implementata con Fibonacci heap Inizializzazione di Q effettuata mediante V Make-Heap e V-1 Union in tempo O(V) Analii del ciclo di while V operazioni Extract-Min - Ciacuna richiede tempo O(log V) V aggiornamenti di - Ciacuna richiede tempo cotante Un totale di O(E) iterazioni del ciclo di for (linee -8) in quanto la lita di adiacenza di ciacun vertice u viene candita eattamente una volta (quando u è inerito in ) RELAX(u,v,w) ulla linea 8 : L aggiornamento di d[v] è effettuata eeguendo DECREAE- KEY(Q,v,d[u]+w(u,v)) che richiede tempo ammortizzato O(1) L aggiornamento di π[v] richiede tempo cotante Tempo totale: O(Vlog V + E) Prof. Carlo Blundo Laboratorio di Algoritmi e trutture Dati 7 8
Un problema molto comune
Cammini Minimi [CLRS cap. 4] Un problema molto comune Si vuole andare da Salerno a Milano in auto percorrendo il minor numero di chilometri Soluzione inefficiente: i coniderano TUTTI i percori poibili
DettagliCammini Minimi. Un problema molto comune. Formalizziamo. Peso di un cammino. Esempio. Ritorniamo all esempio iniziale. Input:
Cammini Minimi Un problema molto comune i uole andare da alerno a Milano in auto percorrendo il minor numero di chilometri oluzione inefficiente: i coniderano TUTTI i percori poibili e e ne calcola la
DettagliCammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliCammini Minimi. Algoritmo di Dijkstra
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliShortest-Paths Problem - definizioni
Grafo Cammini Minimi GT 3.6 Shortet-Path Problem - definizioni G (V,E) grafo orientato, peato, con fnzione peo w: E R Lnghezza (peo) di n cammino p = < 0,,..., k > : k w( p) = i= 0 Ditanza tra ertici e
DettagliCammini minimi con sorgente singola
Cammini minimi con sorgente singola Vittorio Maniezzo - Università di Bologna Cammini minimi con sorgente singola Dato: un grafo(orientatoo non orientato) G= (V,E,W) con funzionedi peso w:e R un particolarevertices
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboraorio di Algorimi e Sruure Dai Aniello Murano hp://people.na.infn.i people.na.infn.i/~murano/ 1 Algorimi per il calcolo di percori minimi u un grafo 1 Un emplice problema Problema: Supponiamo che
DettagliGrafi (orientati): cammini minimi
.. Grafi (orientati): cammini minimi Una presentazione alternativa (con ulteriori dettagli) Un algoritmo greedy per calcolare i cammini minimi da un vertice sorgente in un grafo orientato e pesato, senza
DettagliPROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo:
PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Sia G = (V,E) un grafo orientato ai cui archi è associato un costo W(u,v). Il costo di un cammino p = (v 1,v 2,...,v k ) è la somma dei costi degli archi
DettagliCammini minimi con sorgente singola
Capitolo 11 Cammini minimi con sorgente singola efinizione 11.1. Sia G = (V,, w) un grafo orientato e pesato; dato il cammino p = v 0, v 1,..., v k in G, il valore w(p) = k i=1 w(v i 1, v i ) rappresenta
DettagliBioinformatica. Grafi. a.a Francesca Cordero. Grafi Bioinformatica
fcordero@di.unito.it Introduzione cknowledgement Lucidi da. Horváth,. emetrescu et al, lgoritmi e strutture dati, McGraw-Hill 3 efinizione: che cosa sono i grafi? definizione astratta: un grafo G = (V,)
DettagliVisite in Grafi BFS e DFS
Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
.. Grafi (non orientati e connessi): minimo albero ricoprente Una presentazione alternativa (con ulteriori dettagli) Problema: calcolo del minimo albero di copertura (M.S.T.) Dato un grafo pesato non orientato
DettagliVisite in Grafi BFS e DFS. PDF created with FinePrint pdffactory trial version
Visite in Grafi BFS e DFS Visita di un Grafo 8Obiettivo: 4Visitare una sola volta tutti i nodi del grafo. 4Es.: visitare un porzione del grafo del Web 8Difficoltà : 4Presenza di cicli: Marcare i nodi visitati
DettagliProblema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
DettagliCoda a Priorità. Coda a Priorità. Coda a Priorità: heap binario. Coda a Priorità: heap binario
Coda a Priorità Coda a Priorità Ineme dinamico. Ogni elemento x dell ineme ha un valore vx aociato. Ineme: vertici di un grafo; valore = d(v) (il grado del vertice) Ineme: uomini nell algoritmo GS; valore
DettagliGrafi (orientati): cammini minimi
Grafi (orientati): cammini minimi Una breve presentazione Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Un cammino minimo tra
DettagliAlgoritmi e Strutture dati Mod B. Grafi: Percorsi Minimi (parte I)
Algoritmi e Strutture dati Mod B Grafi: Percorsi Minimi (parte I) Grafi: Percorsi minimi Un percorso minimo in un grafo G= grafo pesato orientato, con funzione di peso w: E fi che mappa archi in pesi
DettagliAlgoritmi e Strutture dati Mod B. Grafi Percorsi Minimi: algoritmi esatti e algoritmi euristici (A*)
Algoritmi e Strutture dati Mod B Grafi Percorsi Minimi: algoritmi esatti e algoritmi euristici (A*) Grafi: Percorsi minimi Un percorso minimo in un grafo G= grafo pesato orientato, con funzione di
DettagliRiprendiamo l algoritmo di Ford-Fulkerson che risolve il problema del flusso per vederne una delle innumerevoli applicazioni
Riprendiamo l algoritmo di Ford-Fulkeron che riolve il problema del fluo per vederne una delle innumerevoli applicazioni Reti di fluo Atrazione per materiale che corre attravero gli archi (come liquidi
DettagliAlgoritmi e Strutture Dati
Algoritmi Elementari su Grafi Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Polo di Scienze Università di Camerino ad Ascoli Piceno Visita
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ Grafi pesati e alberi minimi di copertura Riepilogo delle lezioni precedenti Definizione di
DettagliAlgoritmi & Laboratorio
Acknowledgement Lucidi da F. Damiani, a.a. 2004-2005 C. Demetrescu et al, Algoritmi e strutture dati, McGraw-Hill M. Zacchi, a.a. 2003-2004 I lucidi non sono un sostituto per il libro di testo non contengono
Dettaglidove x 0 R n è fissato.
AMMISSIONE AL QUARTO ANNO: prova di ANALISI MATEMATICA (matematici e fiici) 26 Sia α (, ) (a) Provare che eite c α >, indipendente da t e, tale che (b) Calcolare c /2 (t σ) α (σ ) α dσ = c α, t, () (c)
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Componenti fortemente connesse e Alberi minimi di copertura Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica
DettagliCammini minimi con una sorgente
Cammini minimi con na orgene Problema dei cammini minimi Variani e archi negaii Soorra oima di n cammino minimo Algorimo di Dijkra Compleià dell algorimo Rappreenazione dei cammini minimi Problema dei
DettagliAlgoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi
DettagliAlgoritmi e Strutture Dati
Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai
DettagliCammini minimi. Damiano Macedonio
Cammini minimi Damiano Macedonio mace@unive.it Copyright 2010 2012, Moreno Marzolla, Università di Bologna, Italy (http://www.moreno.marzolla.name/teaching/asd2011b/) Modifications Copyright c 2015, Damiano
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboraorio di Algorimi e Sruure Dai Aniello Murano hp://people.na.infn.i people.na.infn.i/ ~murano/ 1 Algorimi per il calcolo di percori minimi u un grafo 1 Un emplice problema Pr oblema: Supponiamo che
DettagliIntroduzione. Esempio di costruzione one del contorno delle radici. Esempio... 4
Appunti di Controlli Automatici 1 Capitolo 5 parte II Il contorno delle radici Introduzione... 1 Eempio di cotruzione del contorno delle radici... 1 Eempio... 4 Introduzione Il procedimento per la cotruzione
DettagliEsempi. non. orientato. orientato
Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è
DettagliAlgoritmi & Laboratorio
lbero ricoprente sia dato un grafo connesso e non orientato un albero ricoprente è un sottografo che contiene tutti nodi è aciclico è connesso cknowledgement Lucidi da. Damiani, a.a. 00-00. Demetrescu
DettagliGrafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
DettagliAppunti lezione Capitolo 13 Programmazione dinamica
Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi
DettagliMinimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
DettagliAlberi di copertura minimi
Alberi di copertura minimi 1 Problema Nella progettazione di circuiti elettronici è spesso necessario collegare i morsetti. Per connettere un insieme di n morsetti si può usare un insieme di n-1 fili elettrici.
DettagliLezione 9. Schemi di controllo avanzati parte prima. F. Previdi - Controlli Automatici - Lez. 9 1
Lezione 9. Schemi di controllo avanzati parte prima F. Previdi - Controlli Automatici - Lez. 9 Schema. Regolatori in anello aperto Controllo multivariabile:. Regolatori di diaccoppiamento 3. Controllo
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 3 Cammini minimi: algoritmo di Dijkstra Cammini minimi in grafi: cammini minimi a singola sorgente (senza pesi negativi) Cammini minimi in grafi pesati Sia G=(V,E,w)
DettagliEsercitazione 7. Grafi. Rappresentazione e algoritmi di visita
Esercitazione 7 Grafi Rappresentazione e algoritmi di visita Grafo G = (V,E) non orientato 1 1 G = (V,E) orientato 6 Rappresentazione Grafo G = (V,E) metodi standard per la rappresentazione Liste di adiacenza
DettagliSommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità
Visite Grafi Sommario Rappresentazione dei grafi Visita in ampiezza Visita in profondità Ordinamento topologico Visita in ampiezza La visita in ampiezza breadth-first-search (BFS) di un grafo dato un vertice
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliStabilità e punti di equilibrio
Capitolo 4 Stabilità e punti di equilibrio 4. Stabilità di un itema epreo da un equazione di tato Si è motrato come un itema poa eere epreo con il itema cotituito dalle equazioni 3.6 e 3.7 ovvero: X()
Dettagli16/10/11. Capitolo Basic Definitions and Applications. Chapter 3. Graphs. Undirected Graphs. Grafi Diretti
Chapter 3 3.1 Baic Definition and Application Graph 1 Undirected Graph Grafi Diretti Undirected graph. G = (V, E) V = nodi (anche vertici). E = archi tra coppie di nodi. Modella relazioni tra coppie di
DettagliCammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Cammini minimi Un cammino minimo tra una coppia di
DettagliCammini minimi in grafi:
Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio III: la fine della trilogia Input: nelle puntate
DettagliCammini di costo minimo
Cammini di costo minimo Ivan Lanese Dipartimento di Informatica Scienza e Ingegneria Università di Bologna ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ Cammini di Costo Minimo 2 Definizione del
DettagliProgettazione di Algoritmi Anno Accademico Esercizi su Grafi: Parte Prima
1 Progettazione di Algoritmi Anno Accademico 2018 2019 Esercizi Ugo Vaccaro Esercizi su Grafi: Parte Prima N.B. Si ricorda che ogni algoritmo và accompagnato da una argomentazione sul perchè calcola correttamente
DettagliProblemi risolvibili con la programmazione dinamica
Problemi riolvibili on la programmazione dinamia Abbiamo uato la programmazione dinamia per riolvere due problemi. Cerhiamo ora di apire quali problemi i poono riolvere on queta tenia. Sono dei problemi
DettagliUniversità Roma Tre - PAS Classe A048 "Matematica Applicata" - Corso di Informatica a.a. 2013/2014
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A08 Matematica Applicata Corso di Informatica Algoritmi su Grafi Marco Liverani (liverani@mat.uniroma.it) Sommario
DettagliNote per la Lezione 25
Progettaione di Algoritmi Anno Accademico 7 8 Note per la Leione 5 Ugo Vaccaro In qeta leione parleremo di problemi algoritmici relatii al calcolo ed alle applicaioni di Cammini Minimi in Grafi. Spprremo
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Grafi e visite di grafi Fabio Patrizi 1 Grafo: definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme E di coppie di vertici, detti archi (o
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento
DettagliEsercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore
DettagliGrafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)}
Grafi Grafo orientato (o diretto) = (V,E) V = nodi o vertici - E = archi (edges) V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)} archi uscenti da un nodo x: (x, y) archi incidenti su un nodo
DettagliAlgoritmi e Strutture Dati Grafi. Daniele Loiacono
lgoritmi e Strutture ati Grafi Riferimenti 2 Questo materiale è tratto dalle trasparenze del corso lgoritmi e Strutture ati del prof. lberto Montresor dell Università di Trento. (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliNel caso di molte misure e statistica gaussiana
Dicrepanza Nella tragrande maggioranza dei cai le concluioni perimentali implicano il confronto tra due o più valori. Queti valori poono eere delle miure (e quindi con un incertezza), delle time teoriche
DettagliFONDAMENTI DI SISTEMI DINAMICI (prof. Vincenzo LIPPIELLO A.A ) Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni - II anno
Voto Cognome/Nome & No. Matricola FONDAMENTI DI SISTEMI DINAMICI (prof. Vincenzo LIPPIELLO A.A. 25 26) Coro di Laurea in Ingegneria Elettronica e delle Telecomunicazioni - II anno PROVA DEL 8 SETTEMBRE
DettagliGrafi: definizioni e visite
Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliSoluzioni della settima esercitazione di Algoritmi 1
Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente
DettagliCircuito sequenziale sincrono. Sintesi di circuiti sequenziali. Automi per la specifica di circuiti di Moore
Circuito equenziale incrono Sintei di circuiti equenziali Salvatore Orlando Circuiti combinatori I n R e g O m Per determinare il comportamento del circuito equenziale di opra, dobbiamo determinare la
DettagliGrafi non orientati. Grafi (non orientati) Rappresentazione di Grafi: matrice delle adiacenze. Tipiche applicazioni di modelli basati su grafi
Grafi non orientati Grafi (non orientati) Notazione. G = (V, E) V = nodi (o vertici). E = archi (o lati) tra coppie di nodi. Modella relazioni definite tra coppie di oggetti. aglia di un grafo: numero
DettagliTeoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna
Teoria dei Grafi Parte I Alberto Caprara DEIS - Università di Bologna acaprara@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E =
DettagliElementi di programmazione lineare. Ottimizzazione di funzioni soggette a vincoli
Elementi di programmazione lineare Ottimizzazione di funzioni oggette a vincoli Formulazione del problema min Z ma oggetta b c a T d Z:funzione obiettivo calare d: coto fio calare : variabile deciionale
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
Dettagli1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi
1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
Grafi (non orientati e connessi): minimo albero ricoprente Una breve presentazione Definizioni Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è
DettagliIl Luogo delle Radici
Il Luogo delle Radici Il luogo delle radici è un procedimento, otanzialmente grafico, che permette di analizzare come varia il poizionamento dei poli di un itema di controllo in retroazione al variare
DettagliTeoria dei Grafi Parte I
Teoria dei Grafi Parte I Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E = insieme
DettagliDINAMICHE COMPLESSE NEL FERRO DI CAVALLO
DINAMICHE COMPLEE NEL FERRO DI CAVALLO La mappa a erro di cavallo L inieme invariante Dinamica imbolica Dinamiche nell inieme invariante Ferro di cavallo e cao C. Piccardi e F. Dercole Politecnico di Milano
DettagliEsercizi svolti di geometria delle aree Alibrandi U., Fuschi P., Pisano A., Sofi A. ESERCIZIO n.7
ESERCZO n.7 Data la ezione cava riportata in Figura, determinare: a) gli ai principali centrali di inerzia; b) l ellie principale centrale di inerzia; c) il nocciolo centrale di inerzia. cm cm A#7 . Determinazione
DettagliEsercizio 1 Data la rete riportata con i costi indicati in figura, si usi l algoritmo di Dijkstra per calcolare il percorso più breve da F a tutti i
Eercitazione 2 Eercizio Data la rete riportata con i coti indicati in figura, i ui l algoritmo di Dijktra per calcolare il percoro più breve da F a tutti i nodi della rete. Si diegni l albero di coto minimo
DettagliInformatica 3. LEZIONE 25: Algoritmi sui grafi. Modulo 1: Problema del percorso più breve Modulo 2: Spanning tree a costo minimo
Informatica LEZIONE 2: Algoritmi sui grafi Modulo 1: Problema del percorso più breve Modulo 2: Spanning tree a costo minimo Informatica Lezione 2 - Modulo 1 Problema del percorso più breve Problema Problema:
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
DettagliGrafi: cammini minimi
Algoritmi e Programmaione Aanata EIP Grafi: cammini minimi Flio CORNO - Matteo SONZA REORDA Dip. Atomatica e Informatica Politecnico di Torino Sommario Introdione Algoritmo di Dijkstra Algoritmo di Bellman-Ford.
Dettagli1. Teorema di reciprocità
1. Teorema di reciprocità Conideriamo un mezzo in cui ono preenti le orgenti (J 1, M 1 ) che producono un campo (E 1, H 1 ) e le orgenti (J 2, M 2 ) che producono un campo (E 2, H 2 ). Determineremo una
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Grafi e visite di grafi Domenico Fabio Savo 1 Grafo: definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme E di coppie di vertici, detti archi
DettagliEsercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
DettagliSintesi di circuiti sequenziali
Sintei di circuiti equenziali Salvatore Orlando Arch. Elab. S. Orlando Circuito equenziale incrono I Circuiti combinatori I n O O m R e g Per determinare il comportamento del circuito equenziale di opra,
DettagliControllori PID. Fondamenti di Automatica Prof. Silvia Strada
Controllori Fondamenti di Automatica rof. Silvia Strada efinizione controllori (ad azione roporzionale, ntegrale e erivativa) ono caratterizzati (idealmente) dalla legge di controllo: u ( t ) e( t ) e(
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
DettagliApplicazioni del Massimo flusso. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis
Applicazioni del Maimo fluo Progeazione di Algorimi a.a. 0-6 Maricole congrue a Docene: Annalia De Boni Maching bipario Problema del max maching. Inpu: grafo non direzionao G = (V, E). M E e` un maching
DettagliTeorema del Limite Centrale
Teorema del Limite Centrale Una combinazione lineare W = a X + a Y + a 3 Z +., di variabili aleatorie indipendenti X,Y,Z, ciacuna avente una legge di ditribuzione qualiai ma con valori attei comparabili
Dettagli7. La teoria dell' "età" dei neutroni. Il modello di rallentamento continuo
7. La teoria dell' "età" dei neutroni. Il modello di rallentamento continuo Si è vito opra il trattamento generale dello cattering neutronico in mezzi infiniti. Ora conidereremo il cao della ditribuzione
DettagliAlgoritmi greedy III parte
Algorimi greedy III pare Progeazione di Algorimi a.a. -1 Maricole congrue a 1 Docene: Annalia De Boni 1 Cammini minimi Si vuole andare da Napoli a Milano in auo percorrendo il minor numero di chilomeri
DettagliNote per la Lezione 21 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 20 20 Note per la Lezione 2 Ugo Vaccaro In questa lezione introdurremo il concetto di grafo, esamineremo le loro più comuni rappresentazioni ed introdurremo i
DettagliAppendice Trasparenti integrativi utilizzati per il modulo Ricerca Operativa A-L (La numerazione delle pagine fa riferimento alla loro collocazione ne
Appendice Traparenti integrativi utilizzati per il modulo Ricerca Operativa A-L (La numerazione delle pagine fa riferimento alla loro collocazione nel teto) Politopi convei Spazio R d, vettore h 6= 0,
DettagliAlgoritmi e Strutture Dati. Scelta della struttura dati
Algoritmi e Strutture Dati Scelta della struttura dati Alberto Montresor Università di Trento 2018/06/11 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
DettagliRichiami di matematica discreta: grafi e alberi. Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino
Richiami di matematica discreta: grafi e alberi Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Grafi Definizione: G = (V,E) V: insieme finito di vertici E: insieme finito di archi,
Dettagli