Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 3
|
|
- Filippa Foti
- 5 anni fa
- Visualizzazioni
Transcript
1 Algoritmi e Strutture Dati II: Parte B Anno Accademico Docente: Ugo Vaccaro Lezione 3 In questa lezione deriveremo algoritmi di approssimazione per alcuni classici problemi su grafi pesati. Iniziamo con il considerare il seguente problema Steiner Tree Input: grafo G = (V, E) funzione peso w : E R + sugli archi sottoinsieme R V Output: sottoalbero di G di minimo costo totale che copra tutti i vertici di R, dove il costo dell albero è definito come la somma dei costi dei suoi archi. Ci sono delle similitudini tra questo problema e quello di determinare lo spanning tree di peso minimo in un grafo. Infatti, se R = V allora i due problemi coincidono esattamente. Come conseguenza, il problema dello Steiner Tree è risolubile in tempo polinomiale nel caso particolare che R = V. In generale, il problema dello Steiner Tree è NP -hard. Il seguente esempio mostra in cosa il problema dello Steiner Tree differisce dal problema del Minimum Spanning Tree. Consideriamo il grafo a sinistra nella figura di sotto, in cui solo i vertici anneriti sono richiesti. La figura immediatamente a destra mostra un Minimum Spanning Tree sui vertici richiesti, di costo totale pari a 4. All estremità destra è invece mostrato un albero di Steiner che fa uso anche di vertici non richiesti (nel caso in questione, quello centrale), di costo totale pari a Quindi, includere dei nodi non necessariamente richiesti nell albero può far abbassare il costo della soluzione. Questo è in effetti il tratto che distingue il problema del Minimum Spanning Tree dal problema dello Steiner Tree. Il fatto che nel problema dello Steiner Tree si possano scegliere o meno nodi in V R fa sí che l insieme delle possibili soluzioni al problema aumenti enormemente, rendendo difficile l individuazione della soluzione ottima.
2 Passiamo ora a considerare il progetto di algoritmi di approssimazione per il problema dello Steiner Tree. Per prima cosa, mostriamo che è sufficiente considerare istanze del problema in cui il grafo G = (V, E) è un grafo completo, ed in esso vale la diseguaglianza triangolare, ovvero u, v, z E w(u, v) w(u, z) + w(z, v). () Piò precisamente, mostreremo che se siamo in grado di produrre un algoritmo di approssimazione con fattore di approssimazione ρ per il problemo dello Steiner Tree in grafi completi in cui vale la diseguaglianza triangolare, allora siamo anche in grado di produrre un algoritmo di approssimazione con lo stesso fattore di approssimazione ρ in istanze arbitrarie del problema dello Steiner Tree. Procederemo come segue. Data una istanza I = (G, R, w) arbitraria del problema dello Steiner Tree, dove G è un grafo, R è il sottoinsieme dei vertici richiesti, e w è la funzione peso sugli archi di G, trasformiamo innanzitutto I in tempo polinomiale in una istanza I = (G, R, w ), dove G è un grafo completo sugli stessi vertici di G, l insieme dei vertici R richiesto è immutato, e la funzione peso w sugli archi (u, v) di G è definita come w (u, v) = w(e), e p(u,v) dove p(u, v) è un cammino di peso totale minimo tra i vertici u e v nel grafo G. Osserviamo ora che per ogni arco (u, v) G, vale che w(u, v) w (u, v). (2) Ciò è ovvio in quanto il costo dell arco (u, v) in G è pari al costo del cammino di minimo costo tra u e v in G. Sia OP T (I) il costo della soluzione ottima in G, e sia OP T (I ) il costo della soluzione ottima in G. Come conseguenza della (2) otteniamo che OP T (I) OP T (I ). (3) Sia ora T un albero di Steiner in G, di costo minimo OP T (I ). Consideriamo il sottografo H di G composto da tutti i cammini di G che corrispondono agli archi di T. Ovviamente vale che il costo totale di H (ovvero la somma dei costi degli archi di H) è esattamente pari al costo di T. Il sottografo H non è necessariamente un albero. Eliminando da H tutti gli archi che creano cicli, otteniamo un sottoalbero A di G che copre tutti i vertici richiesti, di costo al più pari al costo di T (visto che abbiamo eliminato degli archi da T per ottenere A). Daltra parte, per definizione, il costo OP T (I) di un albero di Steiner di G è non superiore a A, pertanto otteniamo Mettendo insieme la (3) e la (4) otteniamo che OP T (I) costo(a) costo(t ) = OP T (I ). (4) OP T (I) = OP T (I ). (5) Riassumendo, abbiamo fatto vedere che il costo di una soluzione ottima in un grafo arbitrario G è uguale al costo di una soluzione ottima in un grafo completo G facilmente ottenibile da G. Non 2
3 solo, abbiamo anche fatto vedere che data una soluzione ottima in G, è semplice ottenere da essa una soluzione ottima nell istanza originale G. Di conseguenza, possiamo limitarci a progettare algoritmi per il problema dello Steiner Tree in grafi completi, in cui valga la diseguaglianza triangolare. L algoritmo di approssimazione in tali grafi è molto semplice. Algoritmo di approssimazione per Steiner Tree. Costruisci un Minimum Spanning Tree T sui vertici in R del grafo input G 2. Return T Dimostriamo che l algoritmo sopra esposto ha fattore di approssimazione pari a 2. Sia S uno Steiner tree di costo minimo. Sostituiamo ogni arco (u, v) di S con la coppia di archi direzionati (u, v) e (v, u) e si proceda ad una visita di tutti i nodi del grafo cosí ottenuto (si veda la figura di sotto). Il percorso relativo alla visita potrá passare per piú di una volta per uno stesso vertice, e passerá sia attraverso vertici in R che attraverso vertici non in R (denotati con un circolo vuoto nella figura di sopra). Il costo di questo percorso é pari a 2OP T, visto che usiamo ogni arco di S esattamente due volte (una volta in un verso, e la seconda nell altro verso). A questo punto, usiamo la diseguaglianza triangolare per evitare di passare due volte attraverso uno stesso vertice e per evitare di passare attraverso vertici non in R (si veda la figura di sotto). Essenzialmente, stiamo qui usando il fatto che andare direttamente da un vertice u ad un vertice v costa di meno che andarci passando attraverso un qualche vertice intermedio. In questo modo otterremo un ciclo che attraversa tutti i vertici di R, di costo al piú 2OP T (a causa della diseguaglianza triangolare). Eliminando un qualsiasi arco da questo ciclo ci dará un albero Z che attraversa tutti e solo i vertici di R, di costo ancora inferiore, ovvero il costo di Z sará al piú 2OP T. D altra parte, il costo del Minimim Spanning Tree T (output del nostro algoritmo di approssimazione) sará per definizione inferiore al costo dell albero Z, che abbiamo prima 3
4 mostrato essere inferiore a 2OP T. Otteniamo quindi che la nostra soluzione al problema dello Steiner Tree, ovvero un Minimum Spanning Tree su R, ha costo al piú 2OP T. Possiamo mostrare che esistono classi di grafi in cui il costo di un Minimum Spanning Tree é circa 2 volte il costo di uno Steiner Tree, quindi l analisi della tecnica prima esposta non puó essere essenzialmente migliorata. Consideriamo ad esempio il grafo completo G = (V, E), dove V = {,..., n, n + }, insieme richiesto R = {,..., n}, e funzione peso sugli archi w : E R + cosí definita { se i = n +, (i, j) E w(i, j) = 2 altrimenti. Il costo della soluzione prodotta dal nostro algoritmo di approssimazione è pari al costo di un MST su R, e quindi pari a 2(n ) D altra parte, lo Steiner Tree di costo minimo è composto da tutti gli archi dal nodo n + (non richiesto) a tutti gli altri nodi del grafo. Tale Steiner Tree ha costo totale pari a n, cioè circa la metá del costo di un MST su R. Le tecniche appena sviluppate sono utili anche per la progettazione di algoritmi di approssimazione per il seguente importante problema: Problema del Commesso Viaggiatore (TSP). TSP Input: grafo G = (V, E) funzione costo c : E R + sugli archi Output: un ciclo di minimo costo totale che attraversa tutti i vertici di G una ed una sola volta. Il problema del TSP è NP-completo ed, in generale, è difficile da approssimare. Teorema Per ogni funzione ρ(n) calcolabile in tempo polinomiale, la esistenza di un algoritmo di approssimazione con fattore di approssimazione ρ(n) per TSP implica che P = NP. 4
5 Dim. Proveremo che se esistesse un algoritmo di approssimazione con fattore di approssimazione ρ(n) per TSP, allora sarebbe possibile decidere in tempo polinomiale se un grafo arbitrario G possiede un ciclo Hamiltoniano, problema questo notoriamente NP -completo. Sia a tale scopo G = (V, E) un grafo arbitrario, n = V. Trasformiamo G in una istanza di TSP nel modo seguente. Sia G = (V, E ) un grafo completo sullo stesso insieme dei vertici di G. Inoltre, G ha una funzione costo c : E R + sugli archi definita nel modo seguente: { (u, v) E, se (u, v) E, c(u, v) = C > nρ(n), se (u, v) / E. Supponiamo di avere un algoritmo di approssimazione A per il problema del TSP, con fattore di approssimazione ρ(n). Sull input G l algoritmo A produrrá una soluzione dal valore SOL. Possono accadere due casi:. SOL < nρ(n). Sotto questa ipotesi, e per come è definito il grafo G, possiamo dire che l algoritmo A ha trovato un ciclo che visita tutti i vertici di G ed il ciclo è composto solo da archi di costo. Ció implica, per come sono definiti i costi degli archi di G, che il ciclo trovato da A è composto solo da archi di G. Ovvero, possiamo concludere che G possiede un ciclo Hamiltoniano. 2. SOL nρ(n). Sotto questa ipotesi, e per come è definito il grafo G, possiamo dire che il grafo G non possiede un ciclo Hamiltoniano. Infatti, se lo possedesse, vorrebbe dire che la soluzione ottima del problema del TSP in G ha valore pari a n, contraddicendo il fatto che l algoritmo A ha fattore di approssimazione pari a ρ(n). In conclusione, la esistenza di un algoritmo di approssimazione con fattore di approssimazione ρ(n) per TSP implica la esistenza di una procedura polinomiale per decidere se un grafo arbitrario ha un ciclo Hamiltoniano o meno, il che implicherebbe che P = N P a causa della N P -completezza del problema del ciclo Hamiltoniano. Nell ipotesi che la funzione costo sugli archi del grafo G soddisfi la diseguaglianza triangolare, è abbastanza semplice produrre un algoritmo di approssimazione per il problema del TSP con fattore di approssimazione 2. L algoritmo è simile all algoritmo di approssimazione per Steiner Tree. Algoritmo di approssimazione per TSP. Costruisci un Minimum Spanning Tree T del grafo input G 2. Sostituisci ogni arco (u, v) di T con la coppia di archi (u, v) e (v, u) 3. Costruisci un tour T del grafo cosí ottenuto, passando attraverso tutti i suoi archi 4. Output il ciclo C che visita i vertici di G nell ordine della loro prima apparizione nel tour T. Si ricordi che un ciclo Hamiltoniano è un ciclo che attraversa tutti i vertici del grafo, una ed una sola volta. 5
6 Il seguente esempio illustra il funzionamento dell algoritmo. L albero di sotto è il Minimum Spanning Tree costruito dall algoritmo. Su di esso costruiamo il tour T rappresentato dagli archi trattegiati, più o meno come si procedeva nel caso dello Steiner Tree. Dopodichè, in accordo all algoritmo, otteniamo un ciclo che enumera i vertici dell albero in accordo all ordine in cui essi compaiono per la prima volta nel tour T. Per la diseguaglianza triangolare, i percorsi che vanno da un vertice direttamente ad un altro senza passare per vertici intermedi, sono di costo minore e quindi non aumentano il costo del ciclo C rispetto al costo del tour T. Proviamo ora che l algoritmo ha fattore di approssimazione pari a 2. Osserviamo innazitutto che costo(mst ) OP T. (6) Infatti, se dal ciclo di costo OP T togliamo un arco, otteniamo un alberto T, di costo inferiore 6
7 al ciclo, ed in piú T avrá sicuramente costo maggiore od al piú uguale a T, che è un MST. Pertanto il costo SOL della soluzione prodotta dall algoritmo di sopra sará: SOL = costo(c) costo(t ) (a causa della diseguaglianza triangolare) = 2costo(M ST ) (per costruzione) 2OP T (per la (6)), il che prova che l algoritmo ha un fattore di approssimazione pari a 2. Ci poniamo ora il problema di elaborare un algoritmo per il problema del TSP con un migliore fattore di approssimazione. A tale scopo, è utile comprendere meglio come abbiamo ottenuto il semplice algoritmo con fattore di approssimazione pari a 2. Siamo partiti con uno MST T del grafo G ed abbiamo ottenuto un tour che visita tutti gli archi di T, essenzialmente raddoppiando gli archi di T. Ció ci costa 2 volte il costo di T. Da questo tour, abbiamo ottenuto un ciclo in G prendendo delle scorciatoie nel tour. A causa delle diseguaglianza triangolare, queste scorciatoie non hanno aumentato il costo della soluzione. La prova si concludeva con l osservazione che 2 (costo di T ) è inferiore a 2 OP T. La chiave del miglioramento dell algoritmo prima esposto risiedeá nel fatto che sará possibile ottenere un tour che attraversa tutti i vertici di G ad un costo inferiore a 2 (costo di T ). A tale scopo abbiamo bisogno di introdurre il concetto di Tour Euleriano di un grafo. Un Tour Euleriano di un grafo G consiste in un percorso nel grafo G con vertice di partenza e vertice di arrivo coincidenti, e che attraversa tutti gli archi di G una ed una sola volta. La similaritá di questo problema con quello del ciclo Hamiltoniano è solo apparente. Mentre infatti il problema di stabilire se un grafo possiede o meno un ciclo Hamiltoniano è NP -completo, stabilire se un grafo possiede un tour Euleriano è un problema risolubile in tempo polinomiale. Possiamo infatti provare il seguente risultato. Teorema 2 Il grafo G possiede un tour Euleriano se e solo se G non ha vertici di grado dispari. Dim. Proviamo innazitutto che se G = (V, E) possiede vertici di grado dispari allora G non ammette un tour Euleriano. Supponiamo quindi che G possieda un vertice x di grado dispari e scegliamo x come ipotetico punto di partenza e di arrivo del tour Euleriano. Osserviamo che ogni volta che con questo percorso usciamo da x e vi ritorniamo, usiamo due archi incidenti su x. Non saremmo quindi in grado di visitare tutti gli archi incidenti su x una ed una sola volta con un percorso che parte e ritorna in x, in quanto tali archi sono in numero dispari. La prova che è possibile costruire un tour Euleriano di G se G ha solo vertici di grado pari la si effettua per induzione sul numero di archi E. Se E = non vi è nulla da provare. Assumiamo il teorema vero per tutti i grafi con E k, per qualche k, e sia G un grafo con E = k +. Prendiamo un arbitrario vertice x in G e scegliamolo come punto di partenza ed iniziamo a visitare il grafo, con l accortezza di non passare mai due volte su di uno stesso arco. Poichè il grado di ogni vertice v è pari, ogni volta che entriamo in un vertice v ne possiamo anche uscire. Poichè il grafo G finito, prima o poi ritorneremo nel vertice x. Se abbiamo visitato 7
8 tutti gli archi di G, allora abbiamo trovato il tour Euleriano che cercavamo. Altrimenti abbiamo trovato solo un percorso che parte ed arriva in x e che ogni qualvolta è entrato in qualche vertice v ne è anche uscito. In altre parole, questo percorso ha visitato, per ogni vertice v, un numero pari di archi incidenti su v. Togliamo gli archi di tale percorso da G, rimane un grafo G con un numero di archi k, ed ogni vertice di G ha ovviamente grado pari. Il grafo G ammette quindi un tour Euleriano per ipotesi induttiva. Il tour prima trovato congiunto al tour di G formano ovviamente un tour che parte e arriva in x e che visita tutti gli archi di G una ed una sola volta. Diciamo che un grafo G è Euleriano se in G vi è un tour Euleriano. A questo punto dovrebbe essere anche chiaro perchè raddoppiavamo tutti gli archi del Minimum Spanning Tree T nel primo algoritmo di approssimazione per TSP prima di trovare un tour nel grafo: raddoppiando tutti gli archi ottenevamo infatti un grafo con tutti i nodi di grado pari e quindi il tour Euleriano esisteva sicuramente. Non è detto peró che questo sia il modo piú economico per ottenere da T un grafo Euleriano. Anzi, in generale non lo è. Banalmente, se un nodo ha giá grado pari in T non vi è alcuna necessitá di raddoppiare il suo grado. In virtú del teorema precedente, sono solo i vertici di grado dispari che sono fonte di problemi. Questi problemi li possiamo far scomparire aggiungendo un arco a ciaschedun nodo di grado dispari, ottenendo quindi un grafo con tutti i vertici di grado pari in cui costruire un tour Euleriano e poi, usando le scorciatoie e la diseguaglianza triangolare, ottenere un ciclo che attraversa tutti i vertici una ed una sola volta. Ricordiamo la seguente relazione, che abbiamo provato nella prima lezione: deg(x) = 2 E. (7) u V Immediata conseguenza della (7) è che il numero di vertici in G che hanno grado dispari è pari, visto che la quantitá al membro destro della (7) è pari. Pertanto, dato un generico grafo G, per trasformare G in un grafo Euleriano basta individuare il sottoinsieme dei vertici V di grado dispari, dividerlo in due sottoinsiemi disgiunti di cardinalitá V /2 ciascheduno, ed aggiungere un matching tra tali due sottoinsiemi. Abbiamo quindi il seguente nuovo algoritmo di approssimazione per TSP. Algoritmo di approssimazione per TSP fattore di approssimazione 3/2. Costruisci un Minimum Spanning Tree T del grafo input G 2. Calcola un matching perfetto M di minimo costo sui vertici di grado dispari di T. Aggiungi M a T per ottenere un grafo Euleriano 3. Costruisci un tour euleriano T del grafo ottenuto al passo precedente 4. Output il ciclo C che visita i vertici di G nell ordine della loro prima apparizione nel tour T. 8
9 Analizziamo il costo della soluzione prodotta dall algoritmo. A causa della diseguaglianza triangolare, il costo SOL della soluzione prodotta non sará superiore al costo del grafo Euleriano ottenuto al passo 2 dell algoritmo, ovvero SOL costo(t ) + costo(m). Giá sappiamo che costo(t ) OP T, valutiamo quindi il costo di M. A tale scopo, effettuiamo le seguenti osservazioni. Consideriamo la soluzione ottima al problema dello TSP, ovvero il ciclo C che attraversa tutti i vertici del grafo con un costo totale OP T. Tale ciclo C attraverserá anche tutti i vertici dell insieme V (composto dai vertici di grado dispari nel MST T usato nel passo dell algoritmo), in un qualche ordine. Numeriamo i vertici di V con i numeri, 2,..., V secondo quest ordine di attraversamento (si veda la figura di sotto) V Ora, il ciclo C per andare dal vertice al vertice 2 seguirá un certo percorso (rappresentato dalla linea tratteggiata tra e 2 nella figura di sopra) che, a causa della diseguaglianza triangolare, avrá un costo del costo dell arco tra e 2. Stesso discorso per il percorso che C effettuerá per andare da 2 a 3, e cosí via. In conclusione, la somma dei costi dei percorsi del ciclo C tra i vertici di {, 2,...} = V, comprensivo del ritorno al vertice sará della somma dei costi degli archi diretti tra i vertici {, 2,...} = V. Facendo attenzione, si puó comprendere che gli archi tra i vertici di V si possono decomporre in due matching disgiunti (nella figura di sopra sono rappresentati con archi di differente spessore). Possiamo quindi dire che il costo OP T del ciclo ottimo C sará della somma dei costi dei percorsi del ciclo C tra i vertici di {, 2,...} = V che, a sua volta, è del costo dei due matching tra i vertici di V. Almeno uno dei due matching avrá quindi costo OP T/2. A maggior ragione, il matching di costo minimo M aggiunto tra i vertici di V nel passo 2 dell algoritmo avrá costo OP T/2. Riassumendo otteniamo SOL costo(t ) + costo(m) OP T + 2 OP T 3 OP T, 2 9
10 il che conclude (finalmente) l analisi dell algoritmo. La seguente figura mostra che l analisi dell algoritmo non puó essere migliorata, ovvero esistono istanze di input su cui l algoritmo produce effettivamente una soluzione di costo pari a 3/2OP T.... n/2 Il Minimum Spanning Tree trovato al Passo dell algoritmo è rappresentato da archi di maggior spessore. Notiamo che ha solo due vertici di grado dispari, pertanto il matching di minimo peso che viene aggiunto tra di essi è dato dall arco di peso n/2. Abbiamo quindi che l algoritmo produce un ciclo di peso totale SOL = (n ) + n/2. D altra parte, è facile vedere che il ciclo ottimo nel grafo di sopra ha peso esattamente n. Da cui segue che nel grafo di sopra il nostro algoritmo è forzato a produrre una soluzione di costo 3/2OP T. 0
Università degli Studi di Salerno. Note per il Corso di Algoritmi e Strutture Dati II Parte B. Docente: Ugo Vaccaro
Università degli Studi di Salerno Note per il Corso di Algoritmi e Strutture Dati II Parte B Docente: Ugo Vaccaro Corso di Laurea in Informatica Anno Accademico 2004-2005 Indice Lezione 1: Definizione
Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 1
Algoritmi e Strutture Dati II: Parte B Anno Accademico 004-005 Docente: Ugo Vaccaro Lezione 1 Dalla Teoria della NP-Completezza abbiamo appreso che esiste una classe di problemi (NPhard) per cui non è
Algoritmi Approssimanti per -TSP
Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema Algoritmi Approssimanti per -TSP Definizione (TSP) Il problema del commesso viaggiatore (TSP) è definito come
Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 4
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 4 In questa lezione deriveremo un algoritmo di approssimazione per il seguente problema. Approfitteremo dell
min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.
Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è
Algoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)
Algoritmi Avanzati Soluzioni dello scritto del febbraio 004 (appello straordinario) 1. Tengo nascosto nel taschino della giacca un grafo misterioso di 7 nodi. Vi dico solo che listando le valenze (= numero
Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
Il problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
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
Alberi binari: definizione e alcune proprietà
Alberi binari: definizione e alcune proprietà Alberi binari Un albero binario è un albero con radice in cui ogni nodo ha al più due figli. In maniera più formale: Definizione. (Alberi binari) Un albero
8.10 Algoritmi di approssimazione
296 Capitolo 8 NP-completezza e approssimazione 8.10 Algoritmi di approssimazione Dimostrare che un problema è NP-completo significa rinunciare a progettare per esso un algoritmo polinomiale di risoluzione
PROBLEMA DEL COMMESSO VIAGGIATORE
PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero
Cammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
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
Complessità Computazionale
Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare
Esercitazione 6 Ancora sul Network Flow
Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima
Matroidi, algoritmi greedy e teorema di Rado
Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione
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
Il valore di flusso che si ottiene è
1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita
Note per la Lezione 17 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2018 2019 Note per la Lezione 17 Ugo Vaccaro Per la risoluzione di Problemi di Ottimizzazione (ovvero problemi per cui desideriamo trovare la migliore soluzione
Circuiti euleriani. F. Pugliese April 22, 2011
Circuiti euleriani F. Pugliese April, 0 Abstract Diamo una dimostrazione costruttiva dell esistenza di circuiti euleriani nei grafi connessi con vertici tutti di grado pari. Innanzitutto, ricordiamo la
Possibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento
UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),
Dai ponti di Königsberg al postino cinese
Dai ponti di Königsberg al postino cinese Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/1 - Corso di Ricerca Operativa Università
ALBERI ORIENTATI. Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r);
ALBERI ORIENTATI Pagina 1 ALBERI ORIENTATI 15:05 Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r); - per ogni nodo v, esiste
Soluzioni per gli esercizi di Teoria dei grafi.
M. Barlotti Soluzioni per gli Esercizi di Teoria dei grafi v.!.3 Pag. 1 Soluzioni per gli esercizi di Teoria dei grafi. Esercizio 1 Un grafo connesso Z è disegnato nel piano senza sovrapposizione di lati
Sommario della lezione
Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2009/10 p. 1/21 Sommario della lezione Ulteriori applicazioni del Massimo Flusso 1. Connettività di grafi 2. Selezione di
ESERCIZIO 1: Punto 1
ESERCIZIO : Punto La seguente matrice è una matrice delle distanze di un istanza del problema del Commesso Viaggiatore. - - - - - - - Calcolare.Il valore del rilassamento che si ottiene determinando l
Suffix Trees. Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017
Complementi di Algoritmi e Strutture Dati Suffix Trees Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017 In generale, possiamo trovare tutte le occorrenze di un pattern y in un testo x in tempo O(
Sommario della lezione
Sommario della lezione Analisi dell Algoritmo di Ford e Fulkerson per il calcolo del massimo flusso Applicazioni del massimo flusso: Matching in Grafi Bipartiti Cammini disgiunti tra vertici Università
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione
Lista di esercizi 11 maggio 2016
Lista di esercizi 11 maggio 2016 1. Determinare il numero di sequenze binarie di lunghezza n che contengano almeno una coppia di 0 consecutivi. Soluzione. Potrebbe essere utile un programma di calcolo
Esercizi 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
Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2
Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} Rappresentiamo sul piano gli insiemi ammissibili.
Note per la Lezione 22 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 09 Note per la Lezione Ugo Vaccaro Nella lezione scorsa abbiamo introdotto la vista in ampiezza di grafi. Essenzialmente, esso è un metodo per esplorare in
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
Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 7
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 7 Nelle lezioni scorse abbiamo visto varie applicazioni della PL al progetto di algoritmi di approssimazione
Parte IV: Matrici totalmente unimodulari
Parte IV: Matrici totalmente unimodulari Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)}
Parte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
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
Parte II: Ottimalità, rilassamenti e bound
Parte II: Ottimalità, rilassamenti e bound Ottimalità, rilassamenti e bound Consideriamo il seguente problema z * = max {c T x : x X, X {0,1} n } dove z* è il valore della soluzione ottima x*. Domanda:
Applicazioni del Massimo flusso (II parte)
Applicazioni del Massimo flusso (II parte) Progettazione di Algoritmi a.a. 207-8 Matricole congrue a Docente: Annalisa De Bonis 9 Percorsi disgiunti PROGETTAZIONE DI ALGORITMI A.A. 207-8 A. DE BONIS Def.
Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia
sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente
K 4 è planare? E K 3,3 e K 5 sono planari? Sì! No! (Teorema di Kuratowski) K 5. Camil Demetrescu, Irene Finocchi, Giuseppe F.
K 4 è planare? Sì! E K 3,3 e K 5 sono planari? K 5 No! (Teorema di Kuratowski) 1 Un albero è un grafo bipartito? SÌ! Ma un grafo bipartito è sempre un albero?? 2 Algoritmi e Strutture Dati Capitolo 11
Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale
Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione
Note per la Lezione 6 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,
Complessità computazionale
Complementi di Algoritmi e Strutture Dati Complessità computazionale Docente: Nicolò Cesa-Bianchi versione 6 marzo 2019 Attenzione: Questo è un riassunto di alcune lezioni messo a disposizione dal docente.
Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal
Algoritmi e Strutture Dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Progettare una rete stradale Supponiamo di dover progettare una rete stradale in cui il costo di costruzione di un
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
Note per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
GE460 - Teoria dei grafi. Soluzioni esame del 28 Gennaio 2013
GE460 - Teoria dei grafi Soluzioni esame del 28 Gennaio 2013 Problema 1. (1.a) Sia G un grafo connesso p-regolare e G G un suo sottografo. Vero o falso: Se G è p-regolare allora G = G. Soluzione Vero.
Teoria dell Informazione II Anno Accademico Lezione 6-7
Teoria dell Informazione II Anno Accademico 2017 2018 Lezione 6-7 Ugo Vaccaro ( ) 1 2 n Data una variabile casuale X = che assume valori i, con probabilità p p 1 p 2 p i, per i = 1,...,n, n vogliamo studiare
OSTRUZIONI SUI GRAFI. Alcune ostruzioni per l esistenza di grafi con dato score 1) Vale il seguente lemma
OSTRUZIONI SUI GRAFI Alcune ostruzioni per l esistenza di grafi con dato score 1) Vale il seguente lemma Lemma 1. Se G = (V, E) è un grafo finito con n vertici allora deg(v) n 1, v V. Dal lemma segue che
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
Automi e Linguaggi Formali
Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.
3.3 Problemi di PLI facili
3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P
2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo
. Pianificazione multiperiodo della produzione energetica Consideriamo il problema di approvvigionamento energetico dell Italia su un orizzonte di T = 0 anni. Sia d t il consumo di potenza elettrica stimato
Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte III
Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte III Applicazioni di DFS Due prolemi: calcolare l ordinamento topologico indotto da un grafo aciclico.
Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano
Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in
DISPIEGAMENTO CENTRALIZZATO L ACCOPPIAMENTO PERFETTO DI PESO MINIMO IL PROBLEMA DEL SENSORI MOBILI IL PROBLEMA (1)
1 IL PROBLEMA DEL DISPIEGAMENTO CENTRALIZZATO DI SENSORI MOBILI OVVERO L ACCOPPIAMENTO PERFETTO DI PESO MINIMO Prof. Tiziana Calamoneri Corso di Algoritmi per le reti A.A. 2010/11 2 IL PROBLEMA SENSORI
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.
LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L. Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso
LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso Minimum Spanning Tree Albero di copertura (Spanning Tree): un albero di copertura
Se con e indichiamo l elemento neutro di in G, e deve appartenere ad H.
Abbiamo visto a lezione che una sottoalgebra B di un algebra A è identificabile con l immagine di un omomorfismo iniettivo a valori in A. Una sottoalgebra B di A è in particolare un sottoinsieme non vuoto
Appunti sui Codici di Reed Muller. Giovanni Barbarino
Appunti sui Codici di Reed Muller Giovanni Barbarino Capitolo 1 Codici di Reed-Muller I codici di Reed-Muller sono codici lineari su F q legati alle valutazioni dei polinomi sullo spazio affine. Per semplicità
RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Minimo albero ricoprente Domenico Fabio Savo 1 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
Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso
a p a (p) (a + 1) p = i=0 sono noti come coefficienti binomiali 2 e sono numeri interi (a + 1) p a p + 1 (p) (a + 1) p a + 1 (p)
Appunti quarta settimana Iniziamo con un risultato molto importante che ha svariate conseguenze e che3 sarà dimostrato in modi diversi durante il corso: Esercizio 1.[Piccolo teorema di Fermat] Dimostrare
8. Completamento di uno spazio di misura.
8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme
Complementi di Analisi Matematica Ia. Carlo Bardaro
Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo
Complementi ed Esercizi di Informatica Teorica II
Complementi ed Esercizi di Informatica Teorica II Vincenzo Bonifaci 21 maggio 2008 4 Problemi di ottimizzazione: il Bin Packing Il problema bin packing è il seguente: dato un insieme di n oggetti di dimensioni
NP completezza. Problemi astratti
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
NP completezza. Vittorio Maniezzo - Università di Bologna
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6
Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Ricerca Operativa 2 p. 2/6 Introduzione In questo corso ci occuperemo di problemi
Se il grafo è bipartito, un accoppiamento viene anche detto assegnamento.
1. Accoppiamento Definizione. Dato un grafo (non orientato) G =(N,E), un sottoinsieme M di archi, tale che ogni nodo del grafo è incidente in al più unarcodim, viene detto accoppiamento, (matching). I
Gioco 10x10. Prova con una matita, che punteggio ottieni?
Gioco 10x10 Il gioco consiste nel cercare di riempire una tabella quadrata 10x10 con i numeri progressivi da 1 a 100 partendo da una qualunque casella con il numero 1 e passando alla successiva casella
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
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
Lezione 4 Ugo Vaccaro
Teoria dell Informazione II Anno Accademico 205 206 Lezione 4 Ugo Vaccaro Il risultato principale che abbiamo scoperto nella lezione scorsa è il seguente: data una sorgente DSSM X, X 2,..., X i,... con
Lezione 18 Ugo Vaccaro
Teoria dell Informazione II Anno Accademico 26 27 Lezione 8 Ugo Vaccaro In questa lezione vedremo un applicazione della Teoria dei Codici a correzione d errore al seguente problema, già descritto nella
Gestione della produzione e della supply chain Logistica distributiva
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non
Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP
roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.
Certificati dei problemi in NP
Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione
Cammini 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
Problemi difficili e ricerca esaustiva intelligente
Problemi difficili e ricerca esaustiva intelligente Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis Gli argomenti di questa lezione sono tratti da Dasgupta, Papadimitriou,
3-SAT CLIQUE VERTEX-COVER INDEPENDENT-SET 3-COLORING
Sommario Esempi di problemi NP-completi: 3-S CLIQUE VEREX-COVER INDEPENDEN-SE 3-COLORING HamCycle SP 3S Consideriamo formule booleane in forma normale congiuntiva (CN) con esattamente 3 letterali per clausola
Euristiche per il Problema del Commesso Viaggiatore
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni bruni@dis.uniroma.it Il materiale presentato
Dimostrazione: Data una allora non appartiene all immagine. Se per
Attenzione: Questi appunti sono la trascrizione delle lezioni del corso di ETI tenuto nel 2014 dal Prof. Di Nasso, questo file contiene le dimostrazioni svolte ma avendo perso il quaderno subito prima
Aniello Murano Problemi non decidibili e riducibilità
Aniello Murano Problemi non decidibili e riducibilità 8 Lezione n. Parole chiave: Riduzione Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Overview Nelle lezioni
LA MATEMATICA DELLE RELAZIONI SOCIALI
LA MATEMATICA DELLE RELAZIONI SOCIALI ALESSIO TORTI SILVIA LAZZARI FRANCESCA GERACE FLAVIA VICICONTE ABSTRACT. Nell articolo si analizzano, utilizzando la teoria dei grafi, le diverse configurazioni che
1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):
. equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale
Primi elementi di combinatoria Federico Lastaria, Analisi e Geometria 1
Politecnico di Milano. Scuola di Ingegneria Industriale e dell Informazione Analisi e Geometria 1 Federico Lastaria Primi elementi di combinatoria 11 Ottobre 2016 Indice 1 Elementi di combinatoria 2 1.1
3.2 Rilassamenti lineari/combinatori e bounds
3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una
Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi
Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 (Esercizio C-14.34 del testo [GTG14]) Sia G = (V, E) un grafo non diretto con n =
Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6
Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Tali problemi sono tipicamente raggruppati in classi ognuna delle quali è formata
Sommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle
Sommario Esempi di problemi NP-completi: 3-COLORING HamCycle SP 3-Coloring è NP-hard Una colorazione di un grafo G=(V,E) è una funzione f : V {1,...,n} tale che {u,v} E f(u) f(v). Una 3- colorazione usa
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Minimo albero ricoprente Fabio Patrizi 1 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;
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,...) protocolli reti IP memorizzazione compatta di