Teoria dei grafi: ricerca di percorsi a minimo costo Ing. Valerio Lacagnina

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Teoria dei grafi: ricerca di percorsi a minimo costo Ing. Valerio Lacagnina"

Transcript

1 Metodi diide-et-impera, programmazione dinamica e algoritmi greed La programmazione dinamica, come il metodo diide-et-impera, risole n problema mettendo insieme le solzioni di n certo nmero di sottoproblemi. In particolare i metodi diide-et-impera sddiidono il problema in sottoproblemi indipendenti, li risole ricorsiamente e la solzione del problema originale iene determinata fondendo assieme le solzioni dei sottoproblemi. La programmazione dinamica, inece, si pò applicare anche qando i sottoproblemi non sono indipendenti: la risolzione di alcni sottoproblemi richiede di risolere i medesimi sottoproblemi. In qesti casi gli algoritmi del tipo diide-et-impera farebbero più laoro di qello strettamente necessario doendo risolere più olte gli stessi sottoproblemi. Gli algoritmi di programmazione dinamica risolono ciascn sottoproblema na sola olta e memorizzano la solzione in na tabella; in qesto modo si eita di calcolare noamente la solzione ogni olta che dee essere risolto lo stesso sottoproblema. Per alcni problemi di ottimizzazione, comnqe, la scelta di metodologie di programmazione dinamica non è sempre la migliore in qanto è possibile realizzare algoritmi più semplice ed efficienti. Gli algoritmi greed adottano la strategia di prendere qella decisione che, al momento, appare come la migliore. In altri termini, iene sempre presa qella decisione che, localmente, è la decisione ottima, senza preoccparsi se tale decisione porterà a na solzione ottima del problema nella sa globalità. Non è sempre facile o possibile silppare n algoritmo greed ma i sono particolari classi di problemi che si prestano bene ad approcci greed. Una di qeste classi di problemi è qella della ricerca in grafi pesati di percorsi a minimo costo, anzi in qesti casi sono stati silppati approcci greed considerati ad oggi i più efficienti. I grafi I grafi sono strttre dati molto diffse in ottimizzazione e in informatica. Un grafo è rappresentato graficamente tramite na strttra a nodi ed archi. I nodi possono essere isti come eenti dal qale si dipartono differenti alternatie (gli archi). Tipicamente i grafi engono tilizzati per rappresentare in modo binioco na rete (di calcolatori, stradale, di serizi, ): i nodi rappresentano i singoli calcolatori, gli incroci stradali o le fermate di atobs e gli archi i collegamenti elettrici o le strade. Un grafo iene indicato in modo compatto con G = (V, E), doe V indica l insieme dei nodi ed E l insieme degli archi che lo costitiscono, il nmero di nodi è V e il nmero di archi E. Vi sono dierse tipologie di grafi: si parla di grafi non orientati qelli per i qali gli archi non hanno n erso di percorrenza in contrapposizione a qelli orientati. Ad esempio i grafi non orientati

2 engono tilizzati per rappresentare reti di calcolatori con collegamenti sincroni per la trasmissione dei dati, i grafi orientati possono rappresentare reti iarie, permettendo la rappresentazione di doppi sensi e sensi nici. Si parla di grafi connessi se da n qalnqe nodo si pò raggingere ttti gli altri nodi del grafo. Si parla di grafi pesati se ad n ogni arco (, ) E, con, V, è associato n peso, normalmente definito da na fnzione peso w: E R. Il peso pò essere isto come n costo o la distanza fra i de nodi che l arco nisce. Il costo pò essere dipendente dal flsso che attraersa l arco tramite na legge. In tal senso la fnzione w pò essere lineare o meno e dipendere dal flsso che attraersa l arco (reti non congestionate) o anche dal flsso degli archi icini (reti congestionate). Vi sono de modi standard di rappresentare n grafo: come na collezione di liste di adiacenza o come na matrice di adiacenza. Di solito si preferisce la prima perché fornisce n modo compatto di rappresentare grafi sparsi, cioè qelli per ci E è molto inferiore rispetto V, mentre il secondo tipo di rappresentazione è tilizzato per grafi densi, ossia E V. La rappresentazione con liste di adiacenza consiste in n ettore di V liste, na per ogni ertice. Per ogni nodo V, la lista di adiacenza Adj[] contiene ttti i ertici tali che esista n arco (, ) E; qindi Adj[] comprende ttti i ertici adiacenti ad in G. In ogni lista di adiacenza i ertici engono di solito memorizzati in ordine arbitrario Se G è n grafo orientato, la somma delle lnghezze di ttte le liste di adiacenza è E, perché n arco della forma (, ) è rappresentato ponendo in Adj[]. Se il grafo non è orientato la somma delle lnghezze di ttte le liste di adiacenza è E, dato che appare nella lista di adiacenza di e iceersa. La rappresentazione con liste di adiacenza è robsta, ossia pò essere adattata a molte arianti di grafi, ma qalnqe sia il tipo di grafo l occpazione di memoria massima è O(V+E). Per la rappresentazione con matrice di adiacenza di n grafo G = (V,E), si assme che i ertici siano nmerati,,, V in modo arbitrario. La rappresentazione consiste in na matrice A = (a ij ) di dimensione V V tale che a ij = se (i, j) E, 0 altrimenti. Nel caso del grafo precedente la matrice di adiacenza è:

3 La memoria occpata è Θ(V ) indipendentemente dal nmero di archi. Con la matrice di incidenza si possono rappresentare atocicli come nelle liste di adiacenza ma non il caso di più archi che collegano de nodi. Si noti che nel caso di grafi non orientati la matrice di adiacenza è simmetrica e qindi basterebbe tilizzare i dati sopra la diagonale principale (diagonale inclsa) ridcendo di qasi la metà il nmero di dati da memorizzare. Cammini minimi Sia dato il grafo pesato G = (V,E). Un cammino da n nodo ad n nodo è na seqenza di archi contigi che nisce i de nodi. Il cammino iene rappresentato in modo indicizzato come seqenza di nodi: p = ( 0,,, i,, k ) oe i V, ( i, i+ ) E, i =,,k, 0 = e k =. Sia dato il grafo orientato e pesato G = (V, E), con fnzione di peso w: E R. Il peso di n cammino p è la somma dei pesi degli archi che lo costitiscono: k i i= w(p) = w(, ). i Il peso di cammino minimo da a è definito come min{ ( ):, δ(, )= w p p se esiste n cammino da a altrimenti. Un cammino minimo dal ertice al ertice è definito come n qalnqe cammino p con peso w(p) = δ(, ). Il peso degli archi pò essere inteso come na distanza, ma anche come tempo, costo, penalità, perdita o qalnqe altra grandezza che si accmla in modo lineare e che si ole minimizzare. Vi sono dierse arianti del problema, fra le qali le de più importanti sono: cammino minimo fra na coppia di nodi, e alberi di cammini minimi. Nel primo caso si cerca n cammino minimo fra de nodi del grafo, nel secondo si cercano i cammini minimi fra n nodo e ttti gli altri della rete

4 Rappresentazione dei cammini minimi Spesso non è importante solo conoscere il peso di cammino minimo, ma anche i ertici di tale cammino. Dato n grafo G = (V, E), si mantenga per ogni ertice V n predecessore π[] che è n altro ertice oppre NIL (ossia Nlla). Gli algoritmi di cammino minimo che edremo tilizzano l operatore π in modo tale che la catena dei predecessori che parte da n ertice sega in direzione inersa, n cammino minimo da s a. Drante l eseczione dell algoritmo i alori di π, tttaia, possono non indicare i cammini minimi. In realtà saremo interessati al sottografo dei predecessori G π = (V π, E π ) indotto dai alori di π doe: V π è l insieme di ertici di G con predecessore dierso da NIL ossia V π ={ V: π[] NIL} {s} E π è l insieme di archi orientati indotto da π per i ertici V π, cioè E π ={(π[], ) E: V π -{s}}. Gli algoritmi che edremo aranno la proprietà che alla fine G π sarà n albero di cammini minimi con radice s. Sottostrttra ottima di n cammino minimo Gli algoritmi di cammino minimo normalmente sfrttano la proprietà che n cammino minimo tra de ertici contiene al so interno altri cammini minimi. Qesta proprietà di sottostrttra garantisce l applicabilità sia della programmazione dinamica che del metodo greed. Lemma - Sottocammini di cammini minimi sono cammini minimi Dato n grafo orientato e pesato G = (V, E) con na fnzione peso w: E R, sia p = (,,, k ) n cammino minimo dal ertice al ertice k, e per ogni i e j tali che i j k, sia p ij = ( i, i+,, j ) il sottocammino di p dal ertice i al ertice j. Allora p ij è n cammino minimo da i a j. Dimostrazione Se si decompone il cammino p come p = p i + p ij + p jk, allora w(p) = w(p i ) + w(p ij ) + w(p jk ). Si spponga che esiste n cammino p ij con peso w(p ij ) w(p ij ). Allora p = p i + p ij + p jk sarebbe n cammino da a k, con peso inferiore di p contraddicendo l ipotesi. - -

5 Corollario Sia G = (V, E) n grafo orientato e pesato con fnzione peso w: E R. Si spponga che n cammino minimo p da na sorgente s ad n ertice possa essere decomposto in s per n qalche ertice e cammino p. Allora il peso di cammino minimo da s a è δ(s, ) = δ(s, ) + w(, ). Dimostrazione Per il lemma il sottocammino p è n cammino minimo dalla sorgente s al ertice. Qindi δ(s, ) = w(p) = w(p ) + w(, ) =δ(s, ) + w(, ) Lemma p' Sia G = (V, E) n grafo orientato e pesato con fnzione peso w: E per ogni arco (, ) E ale δ(s, ) δ(s, ) + w(, ). R e ertice sorgente s. Allora Rilassamento Gli algoritmi che edremo sano la tecnica del rilassamento. Per ogni ertice V, si mantiene n attribto d[] che costitisce n limite speriore al peso di n cammino minimo dalla sorgente s a : chiameremo d[] na stima del cammino minimo. Le stime di cammino minimo e i predecessori engono inizializzati dalla segente procedra: Inizializza (G, s) for ogni ertice V do d[] 3 π[] NIL 4 d[s] 0 Il processo di rilassare n arco (, ) consiste nel erificare se si pò migliorare il cammino minimo per troato fino a qel momento passando per, e, in qesto caso, nell aggiornare d[] e π[]. Il rilassamento sarà la segente procedra: Rilassa(,, w) if d[] > d[] + w(, ) then d[] d[] + w(, ) 3 π[] = - -

6 Algoritmo di Dijkstra L algoritmo di Dijkstra tilizza na strategia greed per risolere il problema di cammini minimi con sorgente singola s di n grafo orientato e pesato G = (V, E) nel caso in ci ttti i pesi degli archi siano non negatii. L algoritmo mantiene n insieme S che contiene i ertici il ci peso di cammino minimo dalla sorgente s è già stato determinato, cioè per ttti i ertici S ale d[] = δ(s, ). L algoritmo seleziona ripettamente i ertici V - S con la minima stima di cammino minimo, inserisce in S, e rilassa ttti gli archi scenti da. Inoltre iene mantenta na coda con priorità Q che contiene ttti i ertici V - S, sando come chiae i rispettii alori d ; la realizzazione assme che il grafo G sia rappresentato con liste di adiacenza. Dijkstra(G, w, s) Inizializza(G, s) S 3 Q V 4 while Q do Estrai_Minimo(Q) 6 S S {} for ogni ertice Adj[] 8 do Rilassa(,, w) La linea esege la normale inizializzazione dei alori d e π, e la linea inizializza l insieme S con l insieme oto. La linea 3 inizializza la coda con priorità Q con ttti i ertici in V - S = V - = V. Ogni olta che si esege il ciclo while delle linee 4-8, n ertice iene estratto da Q = V - S e iene inserito nell insieme S (la prima olta che iene esegito il ciclo, = s). Il ertice ha qindi la minima stima di cammino minimo tra ttti i ertici in V - S. Qindi le linee -8 rilassano ogni arco (, ) che esce da, aggiornando la stima d[] ed il predecessore π[] se il cammino minimo per pò essere migliorato passando per. Si noti che nessn ertice iene inserito in Q dopo la linea 3, e che ogni ertice iene estratto da Q ed inserito in S esattamente na olta, qindi il ciclo while delle linee 4-8 iene ripetto esattamente V olte. La conergenza all ottimo dell algoritmo di Dijkstra è stata dimostrata. Qanto è eloce l algoritmo di Dijkstra? Consideriamo il caso in ci mantiene la coda con priorità Q = V - S con n arra lineare. Infatti Estrai_Minimo è na fnzione che estrae il minimo elemento in n ettore. Estrai_Minimo richiede n tempo O(V), e poiché i sono V operazioni di qesto tipo il tempo totale richiesto da Estrai_Minimo è O(V ). Ogni ertice V iene inserito nell insieme S esattamente na olta, e qindi ogni arco nella lista di adiacenza Adj[] iene - 3 -

7 esaminato nel ciclo for delle linee 4-8 esattamente na olta nel corso dell algoritmo. Poiché il nmero totale di archi in ttte le liste di adiacenza è E, i sono in totale E iterazioni di qesto ciclo for, ognna delle qali richiede tempo O(). Qindi il tempo totale di eseczione dell algoritmo è O(E + V ) = O(V ). Nel caso di grafi sparsi se si tilizza n heap binario per rappresentare la coda con priorità Q, si ottiene il cosiddetto algoritmo di Dijkstra modificato che richiede n tempo di calcolo totale pari a O(ElgV) se ttti i ertici sono raggingibili dalla sorgente. Tale tempo pò essere abbassato a O(VlgV + E) sando heap di Fibonacci. Esempio a) b) c) d)

8 s e) f) Una eseczione dell algoritmo di Dijkstra. La sorgente è il ertice s. Le stime di cammino minimo sono indicate all interno dei ertici, e gli archi in neretto indicano i alori del campo predecessore: se l arco (, ) è in neretto, allora π[] =. I ertici grigi sono nell insieme S, mentre i ertici bianchi sono nella coda Q. (a) La sitazione sbito prima della prima iterazione del ciclo while delle linee 4-8. Il ertice in grigio ha il alore minimo di d ed è scelto come ertice nella linea. (b)-(f) la sitazione dopo ogni iterazione sccessia del ciclo while. Il ertice in grigio è il noo nodo. Algoritmo di Bellman-Ford L algoritmo di Bellman-Ford risole il problema dei cammini minimi con sorgente singola nel caso più generale in ci i pesi degli archi possono essere negatii. Dato n grafo orientato e pesato G = (V, E) con sorgente s e fnzione peso w: E R, l algoritmo di Bellman-Ford restitisce n alore booleano che indica se esiste oppre no n ciclo di peso negatio raggingibile della sorgente. In caso positio, l algoritmo indica che non esiste alcna solzione ; se inece n tale ciclo non esiste, allora l algoritmo prodce i cammini minimi ed i loro pesi. Come il Dijkstra, anche l algoritmo di Bellman-Ford sa la tecnica del rilassamento, diminendo progressiamente na stima d[] del peso di n cammino minimo dalla sorgente s ad ogni ertice V, finchè non si ragginge il reale peso di commino minimo δ(s, ). L algoritmo restitisce TRUE se e solo se il grafo non contiene n ciclo di peso negatio raggingibile dalla sorgente. Dopo aer effettato la solita inizializzazione, l algoritmo fa V - passate sgli archi del grafo: ogni passata è na iterazione del ciclo for delle linee -4, e consiste nel rilassare ogni arco del grafo na olta. Dopo le V - passate, le linee -8 controllano l esistenza di n ciclo di peso negatio e - -

9 restitiscono il alore booleano appropriato. L algoritmo di Bellman-Ford richiede tempo O(VE). Anche in qesto caso iene dimostrata la correttezza dell algoritmo. Bellman-Ford(G, w, s) Inizializza(G, s) for i to V - 3 do for ogni ertice (, ) E 4 do Rilassa(,, w) for ogni arco (, ) E 6 do if d[] > d[] + w(, ) then retrn FALSE 8 retrn TRUE Esempio a) b) c) d)

10 s e) Una eseczione dell algoritmo di Bellman-Ford. La sorgente è il ertice s. I alori d sono mostrati all interno dei ertici, e gli archi in neretto indicano i alori di π. (a) La sitazione sbito prima della prima passata sgli archi. (b)-(e) La sitazione dopo ogni passata sccessia sgli archi. Alla fine l algoritmo fornisce TRUE. - -

Grafi: cammini minimi

Grafi: 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.

Dettagli

Grafo diretto Università degli Studi di Milano

Grafo diretto Università degli Studi di Milano Grafo diretto Un grafo diretto G è na coppia ordinata (V, E), doe V è l insieme dei ertici {,,,,n} (anche detti nodi). E V V è n insieme di coppie ordinate (,) dette archi diretti 6 V= {,,,4,5,6,7} 7 4

Dettagli

Che cosa c è nella lezione. Questa lezione si occupa di teoria dei grafi: la rappresentazione dei grafi. le visite dei grafi

Che cosa c è nella lezione. Questa lezione si occupa di teoria dei grafi: la rappresentazione dei grafi. le visite dei grafi Algoritmi e Programmazione Aanzata - teoria 1/18 Che cosa c è nella lezione Qesta lezione si occpa di teoria dei grafi: la rappresentazione dei grafi le isite dei grafi gli alberi ricoprenti minimi i cammini

Dettagli

Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico

Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Visita in profondità di n grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Dato n grafo G=(V,E) e n specifico ertice s chiamato

Dettagli

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Stdi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia gigno Nome: Cognome: Matricola: voglio sostenere la prova orale il giorno venerdì //

Dettagli

Visita di grafi. Vittorio Maniezzo - Università di Bologna

Visita di grafi. Vittorio Maniezzo - Università di Bologna Visita di grafi Vittorio Manieo - Uniersità di Bologna Liste di adiacena Lista di adiacenadi n ertice : lista che concatena ttti i ertici adiacenti a Il grafo pò essere rappresentato dalle liste di adiacena

Dettagli

Shortest-Paths Problem - definizioni

Shortest-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

Dettagli

Cammini minimi con sorgente singola

Cammini 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

Dettagli

Problema del cammino minimo

Problema 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

Dettagli

Cammini minimi con sorgente singola

Cammini 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Cammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo

Cammini 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

Dettagli

PROBLEMA 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] 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

Dettagli

Cammini Minimi. Algoritmo di Dijkstra

Cammini 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

Dettagli

Appunti lezione Capitolo 13 Programmazione dinamica

Appunti 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

Dettagli

Algoritmi e Strutture dati Mod B. Grafi: Percorsi Minimi (parte I)

Algoritmi 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

Dettagli

Grafi (orientati): cammini minimi

Grafi (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

Dettagli

Nozioni base di teoria dei grafi

Nozioni base di teoria dei grafi Capitolo 2 Nozioni base di teoria dei grafi 2.1 Prime definizioni La teoria dei grafi stdia le proprietà metriche e topologiche delle relazioni binarie. L oggetto della teoria è il cosddetto grafo, oero

Dettagli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.7)

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.7) Docente: Marco Gaviano (e-mail:gaviano@nica.it) Corso di Larea in Infomatica Corso di Larea in Matematica Matematica Comptazionale(6cf) Ottimizzazione(8cf) (a.a. -4, lez.7) Matematica Comptazionale, Ottimizzazione,

Dettagli

2 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 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

Dettagli

APPUNTI DELLE LEZIONI

APPUNTI DELLE LEZIONI APPUNTI DELLE LEZIONI Giorgio Follo (follogio@libero.it) I.T.I.S. A. Artom Asti Versione del 27/2/2011 Sommario. In qesti appnti engono riportate le nozioni elementeari s ettori e prodotto scalare, per

Dettagli

Minimo albero di copertura

Minimo 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.

Dettagli

Esercizio 1. Soluzione

Esercizio 1. Soluzione UNVRSTÀ DL STUD ROM TR Corso di Stdi in ngegneria nformatica Ricerca Operativa rimo recpero lglio Nome: Cognome: Barrare la casella corrispondente: Larea ng. nformatica ltro sercizio Un processo di ristrttrazione

Dettagli

Fondamenti di Informatica Ingegneria Meccanica, Elettrica, Gestionale Prova scritta del 12 Luglio 2004

Fondamenti di Informatica Ingegneria Meccanica, Elettrica, Gestionale Prova scritta del 12 Luglio 2004 Fondamenti di Informatica Ingegneria Meccanica, Elettrica, Gestionale Proa scritta del 1 Lglio 00 NOME MATRICOLA Esercizio 1 Descriere qale fnzione di e z calcola l algoritmo espresso dal diagramma di

Dettagli

Rappresentazione geometrica

Rappresentazione geometrica I ettori rappresentati come segmenti orientati (rappresentazione geometrica) Rappresentazione geometrica si intendono con l origine coincidente con l origine del sistema di riferimento (assi coordinati)

Dettagli

Esercitazione 7. Grafi. Rappresentazione e algoritmi di visita

Esercitazione 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

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli

Esercizi commentati sugli schemi a blocchi

Esercizi commentati sugli schemi a blocchi Esercizi commentati sgli schemi a blocchi rno Picasso 1 Notazione e preliminari 1.1 Notazione on T 2 1 (s) iene indicata la fnzione di trasferimento dalla ariabile 1 alla ariabile 2. Se in n nodo della

Dettagli

Algoritmi di visita di un grafo

Algoritmi di visita di un grafo Algoritmi di isita di n grafo Ilaria Castelli castelli@dii.nisi.it Uniersità degli Stdi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Visita di n grafo, A.A. 2009/2010

Dettagli

Esempi. non. orientato. orientato

Esempi. 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 è

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Algoritmi 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*) 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

Dettagli

Bioinformatica. Grafi. a.a Francesca Cordero. Grafi Bioinformatica

Bioinformatica. 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,)

Dettagli

Grafi: visita generica

Grafi: 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

Dettagli

Grafi pesati Minimo albero ricoprente

Grafi pesati Minimo albero ricoprente Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene

Dettagli

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

1 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

Dettagli

Progetto e Ottimizzazione di Reti 2. Nozioni base di Teoria dei Grafi

Progetto e Ottimizzazione di Reti 2. Nozioni base di Teoria dei Grafi Progetto e Ottimizzazione di Reti 2. Nozioni base di Teoria dei Grafi ANTONIO SASSANO (A-L) CARLO MANNINO(M-Z) Uniersità di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Larea in

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.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,

Dettagli

La codifica delle immagini

La codifica delle immagini La codifica delle immagini Lettere e nmeri non costitiscono le niche informazioni tilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che tilizzano ed elaborano anche altri

Dettagli

Algoritmi e strutture dati

Algoritmi 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

Dettagli

2 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 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

Dettagli

Algoritmi & Laboratorio

Algoritmi & 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

Dettagli

Algoritmi 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 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

Dettagli

Visite in Grafi BFS e DFS

Visite 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

Dettagli

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (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 è

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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)

Dettagli

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (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

Dettagli

Lo scatolone adiabatico

Lo scatolone adiabatico Lezione XV - 7/0/00 ora 14:0-16:0 - Esercizi miscele apori satri - Originale di rani Nicola. Lo scatolone adiabatico Si consideri n recipiente chiso, non deformabile, isolato dall ambiente esterno e separato

Dettagli

Note per la Lezione 21 Ugo Vaccaro

Note 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

Dettagli

Grafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)}

Grafi. 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

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi 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

Dettagli

Cammini minimi in grafi:

Cammini 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

Dettagli

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2

Dettagli

Università Roma Tre - PAS Classe A048 "Matematica Applicata" - Corso di Informatica a.a. 2013/2014

Università 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

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G è costituito da una coppia di insiemi (V,A) dove V è detto insieme dei nodi e A è detto insieme di archi ed è un sottinsieme di tutte

Dettagli

Teoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna

Teoria 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 =

Dettagli

Grafi (orientati): cammini minimi

Grafi (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

Dettagli

Cammini Minimi. Un problema molto comune. Formalizziamo. Peso di un cammino. Esempio. Ritorniamo all esempio iniziale. Input:

Cammini 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

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)

Dettagli

Teoria dei Grafi Parte I

Teoria 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

Dettagli

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

Dettagli

Ricordo che è ammesso alla prova scritta solo chi ha già consegnato ed avuto approvato il progetto.

Ricordo che è ammesso alla prova scritta solo chi ha già consegnato ed avuto approvato il progetto. Ricordo che è ammesso alla prova scritta solo chi ha già consegnato ed avuto approvato il progetto. NON CORREGGERÒ il compito a chi non ha consegnato il progetto Esercizio 1 (possibili più risposte esatte

Dettagli

algoritmi e strutture di dati

algoritmi e strutture di dati algoritmi e strutture di dati grafi m.patrignani nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente, immagini,

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

Algoritmi & Laboratorio

Algoritmi & 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

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

Visite in Grafi BFS e DFS. PDF created with FinePrint pdffactory trial version

Visite 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

Dettagli

Analisi e implementazione dell algoritmo di Dijkstra (Parte 1)

Analisi e implementazione dell algoritmo di Dijkstra (Parte 1) Analisi e implementazione dell algoritmo di Dijkstra (Parte 1) Algoritmicamente August 1, 2009 http://algoritmicamente.wordpress.com/ 1 Concetti fondamentali Definizione 1 Un grafo è un insieme di vertici

Dettagli

Grafi: introduzione. Definizioni: che cosa sono i grafi. Definizione

Grafi: introduzione. Definizioni: che cosa sono i grafi. Definizione Grafi: introduzione e rappresentazione efinizioni: che cosa sono i grafi Un grafo G=(V,) consiste in: un insieme V di vertici (o nodi) un insieme di coppie di vertici, detti archi o spigoli: ogni arco

Dettagli

Esame di Ricerca Operativa del 18/06/18

Esame di Ricerca Operativa del 18/06/18 Esame di Ricerca Operativa del 8/0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x +x x x x +x x x x + x

Dettagli

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST. Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco

Dettagli

Algoritmi di Ordinamento

Algoritmi di Ordinamento Algoritmi di Ordinamento Univ. degli Stdi di Cagliari Algoritmi di Ordinamento per Strttre Lineari Una semplice classe di algoritmi e qella degli algoritmi di ordinamento per strttre lineari. La classe

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

Modelli di Programmazione Lineare. PRTLC - Modelli

Modelli di Programmazione Lineare. PRTLC - Modelli Modelli di Programmazione Lineare PRTLC - Modelli Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver Come ricavare una stima dell ottimo Rilassamento continuo - generazione di

Dettagli

Lezione 2 Teoria dei vettori Sistemi di forze

Lezione 2 Teoria dei vettori Sistemi di forze 1 Facoltà di Ingegneria di Messina Corso di Scienza delle Costrzioni 1 Lezione 2 Teoria dei ettori Sistemi di forze Prof. Ing.. Giseppe Ricciardi A.A. 2010-2011 2011 2 Teoria dei ettori 3 Teoria dei ettori

Dettagli

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità

Sommario. 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

Dettagli

2.2 Alberi di supporto di costo ottimo

2.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

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Minimo albero ricoprente Sia G = (V, E) un grafo connesso non orientato. Definizioni Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene tutti i

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

METODO DEGLI ELEMENTI FINITI

METODO DEGLI ELEMENTI FINITI orso 01/013 METODO DEGI EEMENTI FINITI Analisi di Problemi di Instabilità (ckling) Il fenomeno dell'instabilità rigarda i corpi con almeno na dimensione molto piccola rispetto alle altre (ad esempio na

Dettagli

La rappresentazione delle Informazioni

La rappresentazione delle Informazioni La rappresentazione delle Informazioni Nella vita di ttti i giorni siamo abitati ad avere a che fare con vari tipi di informazioni, di natra e forma diversa, così come siamo abitati a diverse rappresentazioni

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Primo recupero 22 giugno 2009

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Primo recupero 22 giugno 2009 ome: Cognome: UIETÀ DEGLI STUDI OA TE Corso di Stdi in Ingegneria Informatica icerca Operativa rimo recpero gigno 9 arrare le caselle corrispondenti: Sono iscritto alla: Larea Ing. Informatica Altro OGLIO

Dettagli

Esercizio 1. Soluzione. Associando una variabile alla quantità (in kg) prodotta di ogni solvente, si hanno tre variabili

Esercizio 1. Soluzione. Associando una variabile alla quantità (in kg) prodotta di ogni solvente, si hanno tre variabili UNIVERSITÀ DEGLI STUDI ROM TRE orso di Stdi in Ingegneria Informatica Ricerca Operativa Secondo recpero Settembre 007 Nome: ognome: arrare la casella corrispondente: Larea Ing Informatica ltro Esercizio

Dettagli

2.2 Alberi di supporto di costo ottimo

2.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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme

Dettagli

Programmazione Dinamica (PD)

Programmazione Dinamica (PD) Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni

Dettagli

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:

Dettagli

Esame di Ricerca Operativa del 11/07/2016

Esame di Ricerca Operativa del 11/07/2016 Esame di Ricerca Operativa del /0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un erboristeria vuole produrre una nuova tisana utilizzando tipi di tisane già in commercio. Tali tisane sono per lo più composte

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Algoritmi e Strutture Dati. Scelta della struttura dati

Algoritmi 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.

Dettagli