Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 3

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 3"

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

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 1

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 è

Dettagli

Algoritmi Approssimanti per -TSP

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

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 4

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

Dettagli

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

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 è

Dettagli

Algoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)

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

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

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

Dettagli

Il problema del commesso viaggiatore

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à

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

Alberi binari: definizione e alcune proprietà

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

Dettagli

8.10 Algoritmi di approssimazione

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

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

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

Dettagli

Cammini minimi fra tutte le coppie

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)

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

Complessità Computazionale

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

Dettagli

Esercitazione 6 Ancora sul Network Flow

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

Dettagli

Matroidi, algoritmi greedy e teorema di Rado

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

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

Il valore di flusso che si ottiene è

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

Dettagli

Note per la Lezione 17 Ugo Vaccaro

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

Dettagli

Circuiti euleriani. F. Pugliese April 22, 2011

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

Dettagli

Possibile applicazione

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

Dettagli

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

Dettagli

Dai ponti di Königsberg al postino cinese

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à

Dettagli

ALBERI ORIENTATI. Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r);

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

Dettagli

Soluzioni per gli esercizi di Teoria dei grafi.

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

Dettagli

Sommario della lezione

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

Dettagli

ESERCIZIO 1: Punto 1

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

Dettagli

Suffix Trees. Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017

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(

Dettagli

Sommario della lezione

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à

Dettagli

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

Dettagli

Lista di esercizi 11 maggio 2016

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

Dettagli

Esercizi Union-Find e su Grafi. Ugo Vaccaro

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

Dettagli

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

Dettagli

Note per la Lezione 22 Ugo Vaccaro

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

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 e Strutture Dati II: Parte B Anno Accademico Lezione 7

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

Dettagli

Parte IV: Matrici totalmente unimodulari

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

Dettagli

Parte V: Rilassamento Lagrangiano

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

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

Parte II: Ottimalità, rilassamenti e bound

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:

Dettagli

Applicazioni del Massimo flusso (II parte)

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.

Dettagli

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

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

Dettagli

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

Dettagli

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

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

Dettagli

Note per la Lezione 6 Ugo Vaccaro

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,

Dettagli

Complessità computazionale

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.

Dettagli

Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal

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

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

Note per la Lezione 4 Ugo Vaccaro

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

Dettagli

GE460 - Teoria dei grafi. Soluzioni esame del 28 Gennaio 2013

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.

Dettagli

Teoria dell Informazione II Anno Accademico Lezione 6-7

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

Dettagli

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

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

Automi e Linguaggi Formali

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.

Dettagli

3.3 Problemi di PLI facili

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

Dettagli

2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo

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

Dettagli

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

Dettagli

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

Dettagli

DISPIEGAMENTO CENTRALIZZATO L ACCOPPIAMENTO PERFETTO DI PESO MINIMO IL PROBLEMA DEL SENSORI MOBILI IL PROBLEMA (1)

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

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

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

Dettagli

Se con e indichiamo l elemento neutro di in G, e deve appartenere ad H.

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

Dettagli

Appunti sui Codici di Reed Muller. Giovanni Barbarino

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à

Dettagli

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

Dettagli

Algoritmi e Strutture Dati

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

Dettagli

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

Dettagli

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)

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

Dettagli

8. Completamento di uno spazio di misura.

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

Dettagli

Complementi di Analisi Matematica Ia. Carlo Bardaro

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

Dettagli

Complementi ed Esercizi di Informatica Teorica II

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

Dettagli

NP completezza. Problemi astratti

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

Dettagli

NP completezza. Vittorio Maniezzo - Università di Bologna

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

Dettagli

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6

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

Dettagli

Se il grafo è bipartito, un accoppiamento viene anche detto assegnamento.

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

Dettagli

Gioco 10x10. Prova con una matita, che punteggio ottieni?

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

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

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

Lezione 4 Ugo Vaccaro

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

Dettagli

Lezione 18 Ugo Vaccaro

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

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

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

Dettagli

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP

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.

Dettagli

Certificati dei problemi in NP

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

Dettagli

Cammini minimi. Damiano Macedonio

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

Dettagli

Problemi difficili e ricerca esaustiva intelligente

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,

Dettagli

3-SAT CLIQUE VERTEX-COVER INDEPENDENT-SET 3-COLORING

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

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

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

Dettagli

Dimostrazione: Data una allora non appartiene all immagine. Se per

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

Dettagli

Aniello Murano Problemi non decidibili e riducibilità

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

Dettagli

LA MATEMATICA DELLE RELAZIONI SOCIALI

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

Dettagli

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

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

Dettagli

Primi elementi di combinatoria Federico Lastaria, Analisi e Geometria 1

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

Dettagli

3.2 Rilassamenti lineari/combinatori e bounds

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

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi

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 =

Dettagli

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6

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

Dettagli

Sommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle

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

Dettagli

Algoritmi e Strutture Dati

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;

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,...) protocolli reti IP memorizzazione compatta di

Dettagli