Problemi, istanze, soluzioni

Размер: px
Начинать показ со страницы:

Download "Problemi, istanze, soluzioni"

Транскрипт

1 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 generico ingresso del problema. Una istanza ha associato uno spazio di ricerca nel quale cercare una soluzione per tale istanza del problema. Il problema specifica la proprietà che una soluzione deve avere per risolvere l istanza del problema.

2 lgoritmi e Strutture di Dati II 3 Consideriamo il seguente problema: dato una sequenza di numeri S trovare una permutazione di S che sia ordinata in senso crescente. Una istanza di questo problema è una sequenza S. Lo spazio di ricerca associato a S è l insieme delle permutazioni di S. Una soluzione per l istanza S è una permutazione di S che sia ordinata in senso crescente.

3 lgoritmi e Strutture di Dati II 4 Consideriamo il seguente problema: dato un grafo pesato G e un numero reale k, trovare un albero di supposto di G di costo minore o uguale a k. Una istanza di questo problema è una coppia (G, k). Lo spazio di ricerca associato a (G, k) è l insieme degli alberi di supporto di G. Una soluzione per l istanza (G, k) è un albero di supporto di G il cui costo è minore o uguale a k.

4 lgoritmi e Strutture di Dati II 5 Risolvere o verificare? Un algoritmo che risolve un problema è un algoritmo che prende in ingresso una istanza I del problema e restituisce una soluzione per I. Un algoritmo che verifica un problema è un algoritmo che prende in ingresso una istanza I del problema e un elemento α dello spazio di ricerca associato a I, e verifica se α risolve I.

5 lgoritmi e Strutture di Dati II 6 Risolvere o verificare? HeapSort è un algoritmo che risolve il problema dell ordinamento. La sua complessità è Θ(n log n), ove n è il numero di elementi da ordinare.

6 lgoritmi e Strutture di Dati II 7 L algoritmo che segue verifica il problema dell ordinamento in tempo lineare Θ(n): Check(S,A) 1: for i 1 to length(s) 1 do 2: if A[i] > A[i + 1] then 3: return false 4: end if 5: end for 6: return true

7 lgoritmi e Strutture di Dati II 8 Risolvere o verificare? Il problema dell albero di supporto di costo inferiore ad una certa soglia può essere risolto con questo algoritmo: calcolo l albero di supporto di costo minimo con l algoritmo di Kruskal; verifico se il costo di dell albero restituito è inferiore alla soglia. Dato che un albero di supporto ha n 1 archi, il costo della fase di verifica è Θ(n). La complessità dell algoritmo risulta dunque Θ(n + m log n) = Θ(m log n).

8 lgoritmi e Strutture di Dati II 9 Un algoritmo che verifica il problema dell albero di supporto di costo inferiore ad una certa soglia esegue solo la fase di verifica e dunque ha complessità lineare Θ(n).

9 lgoritmi e Strutture di Dati II 10 Risolvere o verificare? Un algoritmo che risolve un problema può idealmente essere scomposto in due parti: Esplorazione: l algoritmo visita lo spazio di ricerca associato all istanza del problema che deve risolvere; Verifica: l algoritmo verifica se un elemento dello spazio di ricerca soddisfa la proprietà specificata dal problema. Quindi la verifica è parte integrante della soluzione di un problema. In termini computazionali ciò significa che risolvere è impegnativo almeno quanto verificare!

10 lgoritmi e Strutture di Dati II 11 P e NP La classe di complessità P contiene tutti i problemi che possono essere risolti con complessità polinomiale. La classe di complessità NP contiene tutti i problemi che possono essere verificati con complessità polinomiale. Dato che la verifica è parte integrante della soluzione di un problema, abbiamo che: P NP

11 lgoritmi e Strutture di Dati II 12 Problemi NP-completi Un problema Π è NP-completo se: Π NP; e per ogni problema Ω NP, Π è difficile da risolvere almeno quanto Ω. Il altri termini, tra tutti i problemi in NP, i problemi NP-completi sono i più difficili da risolvere. Si noti che se Π è NP-completo e Π P, allora P = NP.

12 lgoritmi e Strutture di Dati II 13 La questione P? = NP Il più grande problema aperto in Teoria della Complessità consiste nel determinare se P NP oppure se P = NP La congettura corrente è che P NP in quanto non è mai stata trovata alcuna soluzione polinomiale per un qualsiasi problema NP-completo.

13 lgoritmi e Strutture di Dati II 14 Problema del commesso viaggiatore (TSP) con soglia Dato un grafo indiretto G, un tour (o ciclo Hamiltoniano) in G è un ciclo semplice (senza nodi ripetuti) che passa per tutti i nodi di G. Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi e un intero positivo k. Domanda: Esiste un tour in G di costo minore o uguale a k?

14 lgoritmi e Strutture di Dati II 15 Problema del commesso viaggiatore (TSP) Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi. Problema: Trovare un tour in G di costo minimo.

15 lgoritmi e Strutture di Dati II 16 Complessità di TSP TSP può essere verificato in tempo polinomiale: dato un tour, calcolo il suo costo sommando il costo di tutti i suoi archi e verifico se è minore o uguale a k. Quindi TSP NP. E dimostrabile che tutti i problemi in NP possono essere ridotti a TSP, quindi TSP è NP-completo. Fino a oggi, nessuno ha mai trovato un algoritmo che risolve TSP in tempo polinomiale.

16 lgoritmi e Strutture di Dati II 17 Problemi difficili Di fronte a problemi difficili (NP-completi) possiamo procedere in uno dei seguenti modi: identificare casi particolari del problema per i quali esiste una soluzione polinomiale; risolvere il problema nella sua generalità solo su istanze piccole; usare un algoritmo che velocemente restituisce una soluzione parziale (algoritmo incompleto) o una soluzione prossima a quella ottima (algoritmo di approssimazione).

17 lgoritmi e Strutture di Dati II 18 Approx-TSP Vediamo un algoritmo di approssimazione per TSP chiamato Approx-TSP. Un algoritmo incompleto per TSP con soglia si ottiene facilmente a partire dall algoritmo di approssimazione. Sia G = (V, E, w) un grafo indiretto completo con pesi non negativi. Facciamo l ipotesi che la funzione peso w soddisfi la disuguaglianza triangolare: per ogni u, v, w V, w(u, w) w(u, v) + w(v, w) Se w è una metrica (per esempio la distanza Euclidea), allora w soddisfa la disuguaglianza triangolare.

18 lgoritmi e Strutture di Dati II 19 Approx-TSP Approx-TSP è il seguente algoritmo di approssimazione per TSP: 1. scegliere a caso una radice r V ; 2. calcolare un albero T di supporto di costo minimo per G con radice r usando l algoritmo di Prim; 3. visitare i nodi di T in ordine anticipato e inserire i nodi in una lista C; 4. appendere la radice r alla fine della lista C e restituire C.

19 lgoritmi e Strutture di Dati II 20 a d e b f g c h

20 lgoritmi e Strutture di Dati II 21 a d e b f g c h C = a, b, c, h, d, e, f, g, a

21 lgoritmi e Strutture di Dati II 22 a d a d e e b f g b f g c c h h C = a, b, c, h, d, e, f, g, a w(c) = 19,074 C* = a, b, c, h, f, g, e, d, a w(c*) = 14,715

22 lgoritmi e Strutture di Dati II 23 Complessità di Approx-TSP Approx-TSP ha complessità polinomiale: il passo 1 ha costo costante, il passo 2 ha costo Θ(m log n), il passo 3 ha costo Θ(n) e il il passo 4 ha costo costante. Dato che il grafo è completo, m = Θ(n 2 ), dunque il costo di Approx-TSP risulta Θ(n 2 log n)

23 lgoritmi e Strutture di Dati II 24 Grado di approssimazione di Approx-TSP Teorema Nel caso di grafi pesati che soddisfano la disuguaglianza triangolare, la soluzione fornita da Approx-TSP ha costo minore o uguale al doppio del costo della soluzione ottima.

24 lgoritmi e Strutture di Dati II 25 Sia C il tour fornito da Approx-TSP e C il tour di costo minimo. Occorre dimostrare che w(c) 2w(C ) Sia T l albero di supporto di costo minimo. Dato che togliendo un arco qualsiasi a C ottengo un albero di supporto, allora w(t ) w(c )

25 lgoritmi e Strutture di Dati II 26 Sia P il cammino ottenuto seguendo la visita di T in ordine anticipato e inserendo in P ogni nodo quando incontrato: a d e b f g c h P = a, b, c, b, h, b, a, d, e, f, e, g, e, d, a

26 lgoritmi e Strutture di Dati II 27 Si noti che: P passa esattamente due volte per ogni arco di T. Dunque w(p ) = 2w(T ); il tour C è ottenuto elimimando da P le occorrenze ripetute di ogni nodo. Dunque, per la disuguaglianza triangolare, w(c) w(p ). Quindi: w(c) w(p ) = 2w(T ) 2w(C )

27 lgoritmi e Strutture di Dati II 28 Problemi NP-completi Garey and Johnson, nel 1979, nel loro libro Computers and Intractability, catalogano più di 300 problemi NP-completi. Dieci anni dopo, nel 1989, Dewdney afferma nel suo libro The Turning Omnibus l esistenza di più di 2000 problemi NP-completi. A tutt oggi non esiste alcuna soluzione polinomiale pubblicata per alcuno di questi problemi. Ciò suggerisce la congettura P NP.

28 lgoritmi e Strutture di Dati II 29 Albero di supporto con vincolo sul grado dei nodi Istanza: Un grafo G = (V, E) e un intero positivo k V. Domanda: Esiste un albero di supporto per G in cui tutti i nodi dell albero hanno grado minore o uguale a k?

29 lgoritmi e Strutture di Dati II 30 Ciclo/Cammino Hamiltoniano Istanza: Un grafo G. Domanda: Esiste un ciclo/cammino Hamiltoniano in G? Cioè, esiste un ciclo/cammino semplice che passa per tutti i nodi del grafo? Commento: Il problema del cammino Hamiltoniano è invece polinomiale su grafi diretti e aciclici.

30 lgoritmi e Strutture di Dati II 31 Commesso viaggiatore con collo di bottiglia Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi e un intero positivo k. Domanda: Esiste un tour in G in cui tutti gli archi hanno costo minore o uguale a k?

31 lgoritmi e Strutture di Dati II 32 Commesso viaggiatore con distanza Euclidea Istanza: Un grafo G indiretto, completo e pesato in cui i nodi sono punti del piano Z Z e il costo di un arco è la distanza Euclidea discretizzata tra i due nodi dell arco e un intero positivo k. Domanda: Esiste un tour in G di costo minore o uguale a k? Commento: Rimane NP-completo se la distanza è L 1 oppure L. Rimane NP-difficile se la distanza è Euclidea (non discretizzata).

32 lgoritmi e Strutture di Dati II 33 Cammino di costo inferiore ad una soglia Istanza: Un grafo G con pesi interi (arbitrari), due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di costo minore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di costo minimo), cioè trovare il cammino di costo minimo tra due nodi dati, rimane NP-completo. Il problema è invece polinomiale se i pesi sono positivi oppure se il grafo è aciclico.

33 lgoritmi e Strutture di Dati II 34 Cammino di costo superiore ad una soglia Istanza: Un grafo G con pesi interi, due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di costo maggiore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di costo massimo), rimane NP-completo. Rimane NP-completo anche se i pesi sono positivi. Il problema è invece polinomiale se il grafo è aciclico.

34 lgoritmi e Strutture di Dati II 35 Cammino di lunghezza superiore ad una soglia Istanza: Un grafo G con pesi interi, due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di lunghezza maggiore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di lunghezza massima) rimane NP-completo. Il problema è invece polinomiale se il grafo è aciclico. Il problema del cammino di lunghezza minima è invece polinomiale.

35 lgoritmi e Strutture di Dati II 36 Dal problema alla soluzione 1. studiare le proprietà del problema; 2. capire se il problema è decidibile; 3. classificare il problema in una classe di complessità; 4. scegliere le strutture per rappresentare i dati del problema; 5. scrivere un algoritmo che risolve il problema; 6. calcolare la complessità dell algoritmo; 7. verificare la correttezza dell algoritmo; 8. implementare l algoritmo in un linguaggio di programmazione; 9. confrontare empiricamente la performance del programma scritto con quella di altri programmi per lo stesso problema.

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici); Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo

Подробнее

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Подробнее

Esercizi svolti a lezione

Esercizi svolti a lezione Esercizi svolti a lezione Problema 1 In un corso di laurea sono previsti un certo numero di esami obbligatori. Esistono inoltre dei vincoli di propedeuticità: se un esame A è propedeutico ad un esame B

Подробнее

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)

Подробнее

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

Подробнее

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

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

Подробнее

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.

Подробнее

Cammini minimi in grafi:

Cammini minimi in grafi: Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio III: la fine della trilogia Input: nelle puntate

Подробнее

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai

Подробнее

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Подробнее

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

Подробнее

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

Подробнее

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai

Подробнее

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

Подробнее

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.

Подробнее

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Esercizi vari. Alberto Montresor. 19 Agosto, 2014 Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni

Подробнее

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

Подробнее

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento

Подробнее

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])

Подробнее

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Подробнее

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Подробнее

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di

Подробнее

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

Подробнее

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 [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Подробнее

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 9 Agosto, 204 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Подробнее

Cammini Minimi. Algoritmo di Dijkstra

Cammini Minimi. Algoritmo di Dijkstra Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo

Подробнее

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

Подробнее

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Подробнее

Teoria della Complessità Concetti fondamentali

Teoria della Complessità Concetti fondamentali Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non

Подробнее

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 [email protected] Il materiale presentato

Подробнее

ESERCIZI SULLA TECNICA Greedy

ESERCIZI SULLA TECNICA Greedy ESERCIZI SULLA TECNICA Greedy 1. [FILE] Si supponga di avere n files di lunghezze l 1,..., l n (interi positivi) che bisogna memorizzare su un disco di capacità data D. Si assuma che la somma delle lunghezze

Подробнее

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

Подробнее

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco

Подробнее

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

Подробнее

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Подробнее

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

Подробнее

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

Подробнее

Programmazione Dinamica (PD)

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

Подробнее

Grafi (orientati): cammini minimi

Grafi (orientati): cammini minimi Grafi (orientati): cammini minimi Una breve presentazione Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Un cammino minimo tra

Подробнее

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

Подробнее

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

Подробнее

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli

Подробнее

Strutture dati per insiemi disgiunti

Strutture dati per insiemi disgiunti Strutture dati per insiemi disgiunti Servono a mantenere una collezione S = {S 1, S 2,..., S k } di insiemi disgiunti. Ogni insieme S i è individuato da un rappresentante che è un particolare elemento

Подробнее

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Подробнее