IL PROBLEMA DELLO SHORTEST SPANNING TREE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "IL PROBLEMA DELLO SHORTEST SPANNING TREE"

Transcript

1 IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia elettrica, il gas, l acqua, la fognatura, ecc... ; potenzialmente queste città possono essere collegate tra di loro mediante un elettrodotto, o un gasdotto, acquedotto, ecc.; alcuni di questi collegamenti diretti sono resi impossibili da ostacoli fisici insormontabili o difficilmente sormontabili, quali colline, laghi, ecc.; i collegamenti possibili consentono comunque di collegare tra loro a due a due le diverse cittá, passando per le altre. Si deve decidere quali collegamenti realizzare effettivamente, in maniera da servire tutte le cittá con il minimo costo. Possiamo formalizzare il problema pensando le cittá come nodi di un grafo, e i collegamenti potenziali tra due cittá come archi del grafo. Il grafo é pesato, poiché ad ogni arco puó essere associato il costo di costruzione del collegamento, qualora il collegamento venisse realmente realizzato; inoltre il grafo é non orientato, poiché il costo di costruzione di un qualunque arco (a, b) coincide con il costo dell arco (b, a). Dal momento che i collegamenti devono essere realizzati al minimo costo, non ha senso prevedere di costruire archi che collegano una cittá con se stessa e quindi possiamo supporre che il grafo sia senza lacci. Inoltre il grafo é connesso, poiché si é detto che due cittá sono sempre collegabili mediante un cammino che passa per le altre. I collegamenti che si vanno realmente a realizzare possono essere interpretati come gli archi di un sottografo G = (N, A ) di G; tale sottografo deve essere tale che: (1) due cittá sono sempre raggiungibili una dall altra, e quindi G deve essere connesso, (2) il grafo non deve contenere cicli, altrimenti ci sarebbero degli archi superflui, che comporterebbero un costo aggiuntivo evitabile, (3) tutte le cittá devono essere servite, e quindi deve essere N = N. Pertanto G deve essere un albero tale che N = N; un tale sottografo dicesi spanning tree, cioé albero invadente o ricoprente il grafo G. Naturalmente tra tutti gli alberi invadenti occorre scegliere quello di costo minimo. Pertanto il problema puó essere cosí formalizzato: Dato un grafo non orientato connesso e senza lacci G = (N, A), costruire un sottografo G = (N, A ) che sia un albero invadente e che abbia lunghezza minima tra tutti gli alberi invadenti. n. 2 - Algoritmo di PRIM Il problema testé formulato puó essere risolto in maniera iterativa: ad ogni iterazione si dispone di un sottografo G = (N, A ) che sia un albero, e, (finché N N), si aggiunge un arco ad A, (e i relativi nodi ad N ), in modo che il nuovo sottografo sia ancora un albero; ovviamente la scelta dell arco da aggiungere deve essere funzionale all obiettivo di costruire un albero di lunghezza minima. Ebbene, per individuare l arco (a, b) da aggiungere ad A, osserviamo che: (1) se ad A aggiungiamo un arco (a, b), tale che entrambi gli estremi a e b appartengono ad N, allora il nuovo sottografo contiene dei cicli; (infatti, il cammino unione dell arco (a, b) con il cammino congiungente b con a in G é un ciclo); (2) se ad A aggiungiamo un arco (a, b), tale che entrambi gli estremi a e b non appartengono ad N, allora il nuovo sottografo non é connesso, poiché a e b non sono congiungibili con i nodi di N. 1

2 2 Pertanto, se vogliamo che il nuovo sottografo sia ancora un albero, dobbiamo aggiungere ad A un arco che congiunge un nodo a N con un nodo b N N. In effetti, si vede facilmente che, se a N e b / N, allora il sottografo G = (N, A ), con N = N {b}, A = A {(a, b)}, é ancora connesso e senza cicli, e quindi é ancora un albero. Infatti, G é connesso poiché: - due nodi distinti di N sono tra loro congiungibili in G e quindi in G, - il nodo b é congiungibile con a mediante l arco (a, b), ed é congiungibile con qualunque a N, a a mediante il cammino unione del cammino congiungente a ad a con l arco (a, b). Inoltre, G non ha cicli; infatti se esistesse un ciclo in G, tale ciclo dovrebbe passare per il nodo b, (altrimenti sarebbe un ciclo in G, contro l ipotesi che G non ha cicli). Ne seguirebbe che il ciclo dovrebbe contenere l arco (a, b) ed un ulteriore arco (b, a ) A, con a a: ma allora ne seguirebbe che b N, mentre b era stato scelto in N N. D altra parte, dovendo cercare l albero invadente di lunghezza minima, sembra ragionevole scegliere, (tra gli archi candidati ad essere aggiunti ad A ), quello di lunghezza minima. Siamo dunque in grado di formulare il seguente Algoritmo di PRIM (0) - (Inizializzazione) - Si sceglie arbitrariamente un nodo a N e si pone N = {a}, A =. (1) - (Fase iterativa) - Finché N N, si cercano ā N, b N N tali che (ā, b) A e l(ā, b) = min {l(a, b) : a N, b N N, (a, b) A}. Si aggiunge b ad N ed (ā, b) ad A. Dopo n 1 iterazioni l algoritmo si interrompe e fornisce un sottografo G che é un albero invadente di lunghezza minima. Infatti é evidente che il sottografo iniziale G = (N, A ), con A =, é un albero; conseguentemente, il sottografo trovato dopo la prima iterazione é un albero. Ma allora anche quello trovato dopo la seconda iterazione é un albero, e in generale il sottografo trovato dopo ogni iterazione é un albero. Pertanto, il sottografo G = (N, A ) trovato dopo n 1 iterazioni é un albero; d altra parte tale albero é invadente, perché, dopo n 1 iterazioni, l insieme N avrá n elementi e quindi coincide con N. E inoltre intuitivo che, avendo ogni volta selezionato l arco piú breve tra quelli candidati, tale albero invadente sia quello di lunghezza minima. I dettagli della dimostrazione della ottimalitá dell albero prodotto dall algoritmo di Prim sono contenuti nella Appendice. Osservazione L algoritmo di Prim puó essere formalizzato in maniera piú dettagliata, utilizzando un contatore k dei nodi giá serviti, una variabile reale MIN che serve per calcolare la minima lunghezza degli archi congiungenti un nodo a N con un nodo b / N, una variab ile NEXT che serve per individuare il prossimo nodo da servire, e due vettori n-dimensionali, LABEL e P RED, per memorizzare i nodi e gli archi giá selezionati, nel senso che per ogni j = 1, 2,..., n risulta: { 1 se aj N, LABEL(j) = 0 altrimenti, j se a j é il nodo iniziale P RED(j) = i > 0 se a j N ed (a i, a j ) A,. 0 se a j / N L algoritmo di PRIM assume allora la forma:

3 3 Algoritmo di PRIM (0) - (Inizializzazione) - Si sceglie arbitrariamente un nodo, ad esempio a 1 N, e si pone k = 1, LABEL(1) = P RED(1) = 1, LABEL(j) = P RED(j) = 0 per ogni j = 2, 3,..., n. (1) - (Fase iterativa) - Si pone M IN = M, (dove M é un numero molto grande rispetto alle lunghezze degli archi del grafo), e si esegue il ciclo: Per i = 1, 2,..., n e per j = 1, 2,..., n esegui: se LABEL(i) = 1 e LABEL(j) = 0 ed l(a i, a j ) < M, allora poni: MIN = l(a i, a j ), NEXT = j, PRED (NEXT)=i. Alla fine del ciclo si pone k = k + 1, LABEL(NEXT)=1. (2) -(Test di arresto) - Se k = n STOP, altrimenti si torna al Passo 1. Osservazione Alla fine della esecuzione dell algoritmo di Prim, dal vettore P RED si ricostruisce l albero invadente di lunghezza minima: esso é formato dagli n 1 archi (P RED(2), 2), (P RED(3), 3),..., (P RED(n), n). La lunghezza di tale albero é data ovviamente dalla somma delle lunghezze di tali archi. n. 3 - L algoritmo di PRIM-DIJKSTRA L algoritmo di Prim descritto sopra effettua ad ogni iterazione n 2 confronti, prima di individuare il prossimo nodo da servire e il relativo arco da aggiungere. L algoritmo giunge quindi alla soluzione ottima con (n 1) n 2 operazioni, e non é molto efficiente perché non cerca di tenere conto delle informazioni via via acquisite. Un approccio piú efficiente si otterrebbe se ad ogni iterazione noi ricercassimo per ogni nodo a j non ancora scelto l arco piú breve che congiunge a j con i nodi giá scelti, e memorizzassimo, per un successivo utilizzo, la lunghezza LMIN(j) di tale arco e l arco stesso (P RED(j), j). E chiaro, infatti, che la scelta del prossimo arco da aggiungere si restringe a tali archi, e per trovare il prossimo nodo da servire sará sufficiente cercare il nodo non servito per cui si ha il min {LMIN(j) : a j N }. D altra parte, se abbiamo trovato che il nodo da aggiungere é a h ed LMIN(j) rappresenta la lunghezza dell arco piú breve che congiunge a j con i nodi serviti prima dell aggiunta di a h, per trovare l arco piú breve che congiunge a j ai nodi scelti dopo l aggiunta di a h basterá confrontare LMIN(j) con la lunghezza l(h, j) dell arco (a h, a j ). E chiaro, infatti, che se LMIN(j) l(h, h), allora l arco piú breve trovato prima é rimasto competitivo anche dopo l aggiunta di a h ; se peró risulta l(h, j) < LMIN(j), allora l arco piú breve dopo l aggiunta di a h é diventato l arco (a h, a j ), ed occorre quindi sostituire LMIN(j) e P RED(j) trovati prima, rispettivamente, con l(h, j) e h. Siamo cosí in grado di formulare la seguente variante dell algoritmo di Prim che va sotto il nome di Algoritmo di Prim - Dijkstra. Consideriamo dunque i vettori LABEL e P RED per memorizzare i nodi e gli archi serviti, il vettore LMIN, la cui generica componente j-esima rappresenta, per ogni nodo a j non servito, la lunghezza dell arco piú breve che congiunge a j ai nodi giá serviti. Consideriamo inoltre il contatore k dei nodi serviti, le variabili NEXT e LAST che rappresentano il prossimo nodo da servire e l ultimo nodo servito, e la variabile M IN necessaria per calcolare la lunghezza dell arco da aggiungere ad ogni iterazione. Si ha allora il seguente

4 4 Algoritmo di PRIM - DIJKSTRA (0) - (Inizializzazione) - Si sceglie arbitrariamente un nodo, ad esempio a 1 N, e si inizializzano i vettori LABEL, P RED, e LM IN, ponendo LABEL(1) = 1, P RED(1) = 1, LMIN(1) = 0, LABEL(j) = 0, P RED(j) = 1, LMIN(j) = l(1, j) per ogni j = 2, 3,..., n. Si inizializza il contatore k ponendo k = 1 e si pone LAST = 1. (1) - (Fase iterativa) - Si pone M IN = M, (dove M é un numero molto grande rispetto alle lunghezze degli archi del grafo), e si esegue il ciclo: Per j = 1, 2,..., n esegui: se LABEL(j) = 0 ed LMIN(j) < M, allora si pone MIN = LMIN(j), NEXT = j. Alla fine del ciclo si pone LABEL(NEXT ) = 1, k = k + 1. (2) - (Test di arresto) - Se k = n STOP, altrimenti si va al Passo 3. (3) - (Aggiornamento) - Si pone LAST = NEXT e si esegue il ciclo: per ogni j = 2, 3,..., n esegui: se LABEL(j) = 0 e risulta LMIN(j) > l(last, j), allora poni: LMIN(j) = l(last, j) e P RED(j) = LAST. Con i vettori LMIN e P RED cosí modificati si torna al Passo 1. Osservazione L algoritmo di Prim-Dijkstra effettua, in ciascuna delle n 1 iterazioni, al massimo n confronti per calcolare MIN e quindi NEXT, ed al massimo n confronti per aggiornare i vettori LM IN e P RED, e dunque complessivamente al massimo 2n(n 1) operazioni, e quindi ha una complessitá computazionale di ordine n 2, mentre l algoritmo di Prim aveva una complessitá computazionale di ordine n 3. Alla fine dell esecuzione dell algoritmo si ricostruisce l albero invadente dal vettore P RED, mentre dal vettore LM IN si ottiene direttamente la lunghezza dello shortest spanning tree. Infatti, se in una generica iterazione si seleziona il nodo a j, allora LMIN(j) rappresenterá la lunghezza dell arco scelto in quella iterazione; di conseguenza la lunghezza dell intero albero invadente sará dato da j LMIN(j). n. 4 - Algoritmo di Kruskal L algoritmo di Prim costruisce l albero invadente di lunghezza minima in maniera iterativa, aggiungendo ad ogni iterazione al sottografo G = (N, A ) l arco piú breve che aggiunto ai precedenti conserva al sottografo G la caratteristica di essere un albero, cioé un sottografo connesso e senza cicli. E possibile seguire peró un altro approccio: ad ogni iterazione si possiede un sottografo G che puó essere sconnesso, ma deve essere senza cicli, e si aggiunge l arco piú breve che non forma cicli con quelli giá scelti. Di conseguenza gli estremi dell arco (a, b) da aggiungere devono appartenere a due diverse componenti connesse del grafo G ; aggiungendo l arco (a, b) ad A, le due componenti connesse di G a cui appartenevano a e b verranno a formare un unica componente connessa. Pertanto ad ogni iterazione si costruisce un sottografo in cui il numero delle componenti connesse diminuisce di una unitá. Ebbene, si parte con il sottografo (N, ), in cui non c é nessun arco, e quindi nessun nodo puó essere raggiungibile da un altro nodo, ed in cui quindi ci sono n componenti connesse, quanti sono i nodi, e ad ogni iterazione si aggiunge un arco che produce una riduzione di una unitá del numero delle componenti connesse. Dopo n 1 iterazioni avremo costruito un sottografo G = (N, A ) senza cicli, in cui sono rimaste n (n 1) componenti connesse, cioé in cui é rimasta un unica componente connessa. Pertanto il sottografo trovato dopo n 1 iterazioni é connesso, senza cicli e serve tutti i nodi, cioé é un albero invadente.

5 Infine avendo avuto cura di aggiungere sempre l arco piú breve tra quelli disponibili, il sottografo finale é un albero invadente di lunghezza minima. Il procedimento descritto é la sostanza del procedimento di ricerca dello shortest spanning tree, noto come algoritmo di KRUSKAL Per illustrarne i dettagli supponiamo che il grafo sia stato memorizzato mediante i vettori F ROM, T O e LEN GT H, ordinati in ordine crescente di lunghezza. Consideriamo a) un vettore m-dimensionale LABEL per memorizzare gli archi accettati: LABEL(j) = 1 se l arco j-esimo é stato giá scelto, altrimenti LABEL(j) = 0, b) un vettore n dimensionale COMP, caratterizzato dal fatto che COMP (j) = i se a j appartiene alla stessa componente connessa del nodo a i, c) il contatore k degli archi giá accettati, d) una variabile intera ARCO che rappresenta l indice dell arco sotto esame, da accettare o da scartare. Si ha allora il seguente: 5 ALGORITMO DI KRUSKAL (0) - (inizializzazione) Si pone k = 0, ARCO = 1 e si inizializzano i vettori LABEL e COMP ponendo LABEL(j) = 0 per ogni j = 1, 2,..., m e COMP (i) = i per ogni i = 1, 2,... n. (1) - (Fase iterativa) - Si esegue il ciclo: finché COMP(FROM(ARCO)) = COMP(TO(ARCO)), si pone ARCO = ARCO + 1. Alla fine del ciclo si pone LABEL(ARCO) = 1, k = k + 1. (2) - (Test di arresto) Se k = n 1 STOP, altrimenti si va al Passo 3 (3) - (Aggiornamento) Si esegue il ciclo: per i = 1, 2,..., n esegui: se COMP (i) = COMP (T O(ARCO)), allora poni COMP (i) = COMP (F ROM(ARCO)). Con il vettore COMP cosí modificato si torna al Passo 1. n. 5 - Appendice Dimostrazione della ottimalitá dell albero generato dall algoritmo di Prim Per dimostrare che l albero generato dall algoritmo di Prim é quello di lunghezza minima, é opportuno premettere la seguente Definizione. Si dice sottoalbero ottimo di G un sottografo G = (N, A ) di G per cui esiste un albero invadente di lunghezza minima G = (N, A ) tale che A A. Sussiste allora il seguente Teorema di Prim. Sia G = (N, A ) un sottoalbero ottimo di G tale che N N e siano ā N, b N N tali che (ā, b) A e (*) l(ā, b) = min {l(a, b) : a N, b N N, (a, b) A}. Allora il sottografo G = (N { b}, A {(ā, b)} é ancora un sottoalbero ottimo. Dim. Sia G = (N, A ) un albero invadente di lunghezza minima tale che A A e dimostriamo che esiste un albero invadente di lunghezza minima G = (N, A ) tale che A A (ā, b).

6 6 Ebbene, se (ā, b) A, l albero G soddisfa la tesi. In caso contrario, esiste un cammino in G che congiunge ā con b; tale cammino conterrá un arco (a, b) tale che a N e b / N. Consideriamo allora il sottografo G di G ottenuto sostituendo in A l arco (a, b) con l arco (ā, b), (cioé G = (N, A ), con A = A {(ā, b)} {(a, b)}), e dimostriamo che : (1) G é connesso, (2) G non ha cicli, (3) la lunghezza di G é minore o uguale della lunghezza di G ; ne seguirá che G é (al pari di G ), un albero invadente di lunghezza minima, e quindi soddisfa la tesi, dal momento che risulta chiaramente G A {(ā, b)}. Dim. di (1). Siano a, b N, a b e dimostriamo che esiste un cammino in G un acmmino congiungente a con b. A tal fine, sia Γ il cammino in G congiungente a con b ; se Γ non contiene l arco (a, b), allora Γ soddisfa la tesi. In caso contrario, il cammino cercato si ottiene sostituendo Gamma con il cammino Γ unione dei seguenti cammini: il cammino congiungente a con a, il cammino congiungente a con ā, l arco (ā, b), il cammino congiungente b con b, il cammino congiungente b con b. Dim. di (2). Supponiamo per assurdo che G contiene un ciclo Γ e dimostriamo che allora esiste un ciclo in G, il che é impossibile, poiché G é un albero. Infatti, se Γ non contiene l arco (ā, b), allora Γ stesso é un ciclo in G. Se Γ contiene l arco (ā, b), allora un ciclo in G si ottiene sostituendo, in Γ, l arco (ā, b) con il cammino Γ unione dei seguenti cammini: il cammino congiungente ā con a, l arco (a, b), il cammino congiungente b con b. Dim di (3). I sottografi G e G differiscono solo per gli archi (ā, b) e (a, b) e risulta l(ā, b) l(a, b), in virtú di (*); ne segue che la lunghezza di G é minore o uguale della lunghezza di G. Dal teorema di Prim si deduce che il sottografo trovato alla fine dell esecuzione dell algoritmo di Prim é un albero invadente di lunghezza minima. Infatti é evidente che il sottografo iniziale G = (N, A ), con A =, é un sottoalbero ottimo; conseguentemente, il sottografo trovato dopo la prima iterazione é un sottoalbero ottimo. Ma allora anche quello trovato dopo la seconda iterazione é un sottoalbero ottimo, e in generale il sottografo trovato dopo ogni iterazione é un sottoalbero ottimo. Pertanto, il sottoalbero G = (N, A ) trovato dopo n 1 iterazioni é un sottoalbero ottimo, e quindi esiste un albero invadente di lunghezza minima G = (N, A ), tale che A A. Ebbene si vede facilmente che N = N, A = A, e quindi che il sottoalbero G trovato dall algoritmo di Prim é proprio l albero invadente di lunghezza minima G = (N, A ). Infatti, dopo n 1 iterazioni, l insieme N avrá n elementi e quindi coincide con N; d altra parte, deve essere A = A, perché se ci fosse un arco (a, b) A A, il cammino unione dell arco (a, b) con il cammino in G congiungente b con a sarebbe un ciclo in G, e questo é impossibile, poiché G é un albero.

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI 1. - Formulazione del problema Supponiamo di dover organizzare e gestire un progetto complesso, quale puó essere la costruzione di un edificio, oppure la

Dettagli

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS INTRODUZIONE Per conoscere la struttura di un grafo connesso è importante individuare nel grafo la distribuzione di certi punti detti cutpoints (punti

Dettagli

Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente

Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente Minimo sottografo ricoprente Minimo sottografo ricoprente Dato un grafo connesso G = (V, E) con costi positivi sugli archi c e, un minimo sottografo ricoprente è un insieme di archi E E tale che: G = (V,

Dettagli

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Fondamenti di Ricerca Operativa

Fondamenti di Ricerca Operativa Politecnico di Milano Anno Accademico 2010/2011 Fondamenti di Ricerca Operativa Corso del Prof. Edoardo Amaldi Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria

Dettagli

Minimo Albero Ricoprente

Minimo Albero Ricoprente Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione

Dettagli

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

1 Alcuni criteri di convergenza per serie a termini non negativi

1 Alcuni criteri di convergenza per serie a termini non negativi Alcuni criteri di convergenza per serie a termini non negativi (Criterio del rapporto.) Consideriamo la serie a (.) a termini positivi (ossia a > 0, =, 2,...). Supponiamo che esista il seguente ite a +

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi 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

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 A Ricerca Operativa Primo appello 4 novembre 005 Esercizio Incontrate una ragazza con il suo cane Fido e vi chiedete che età possa avere. Lei sembra leggervi nel pensiero e vi dice: Non si chiede l età

Dettagli

ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE

ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE Sia I un intervallo di R e siano a = inf(i) R { } e b = sup(i) R {+ }; i punti di I diversi dagli estremi a e b, ( e quindi appartenenti all intervallo aperto

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

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

Dettagli

Bilanciamento dei carichi di lavoro

Bilanciamento dei carichi di lavoro Bilanciamento dei carichi di lavoro Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici A.A. 2003-04 Sommario Il problema

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico

Dettagli

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job. Esercizio 1: schedulazione con il modello di Johnson...2 Soluzione dell esercizio 1 (schedulazione con il modello di Johnson)...2 Esercizio 2: schedulazione con il modello di Hodgson...3 Soluzione dell

Dettagli

7.1 Il problema del cammino minimo e alcuni esempi di applicazioni. p(u, v). Il problema del cammino minimo può essere enunciato nel modo seguente:

7.1 Il problema del cammino minimo e alcuni esempi di applicazioni. p(u, v). Il problema del cammino minimo può essere enunciato nel modo seguente: Capitolo 7 Cammini minimi Come abbiamo accennato nel capitolo precedente, il linguaggio dei grafi permette di rappresentare in modo semplice la struttura di molti problemi applicativi, consentendo, in

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain 1 PROGRAMMAZIONE LINEARE 1 1 Programmazione lineare 1.1 Modelli matematici Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling

Dettagli

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

Dettagli

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo)

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) Se si ha un problema lineare e' possibile risolverlo in piu' modi (equivalenti ) - Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) - Trovare soluzione ottima duale (con il simplesso

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico 2012-2013 Indice 1. Introduzione........................................

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

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

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Sorgenti autorevoli in ambienti hyperlinkati.

Sorgenti autorevoli in ambienti hyperlinkati. Sorgenti autorevoli in ambienti hyperlinkati. La qualità di un metodo di ricerca richiede la valutazione umana dovuta alla soggettività inerente alla nozione di rilevanza. I motori di ricerca correnti,

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

2 Formulazione dello shortest path come problema di flusso

2 Formulazione dello shortest path come problema di flusso Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

Ricerca Operativa 2. Introduzione al metodo del Simplesso Ricerca Operativa 2. Introduzione al metodo del Simplesso Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema di ottimizzazione vincolata è definito dalla massimizzazione

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Sulle funzioni di W 1,p (Ω) a traccia nulla

Sulle funzioni di W 1,p (Ω) a traccia nulla Sulle funzioni di W 1,p () a traccia nulla Sia u W 1,p (R n ) e supponiamo che il supp u, essendo un aperto di R n. Possiamo approssimare u con una successione di funzioni C il cui supporto è contenuto

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano

Dettagli

Alcuni Preliminari. Prodotto Cartesiano

Alcuni Preliminari. Prodotto Cartesiano Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}

Dettagli

3. Gli algoritmi di ottimizzazione.

3. Gli algoritmi di ottimizzazione. Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3. Gli algoritmi di ottimizzazione. I grafi. La teoria dei grafi è un comodo strumento per la definizione e la formalizzazione

Dettagli

Algoritmi enumerativi

Algoritmi enumerativi Capitolo 7 Algoritmi enumerativi Come abbiamo visto, né gli algoritmi greedy né quelli basati sulla ricerca locale sono in grado, in molti casi, di garantire l ottimalità della soluzione trovata. Nel caso

Dettagli

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto Università degli studi di Salerno Laurea in Informatica I semestre / Commutazione di Pacchetto Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Svantaggi della Commutazione

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

Concetti di soluzione in giochi dinamici a informazione perfetta in strategie pure (LEZIONE 4)

Concetti di soluzione in giochi dinamici a informazione perfetta in strategie pure (LEZIONE 4) Economia Industriale (teoria dei giochi) Concetti di soluzione in giochi dinamici a informazione perfetta in strategie pure (LEZIONE 4) Valerio Sterzi Università di Bergamo Facoltà di ingegneria 1 Cosa

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Algoritmi. Matricole dispari Prof.ssa Anselmo. Pre-appello del 15 Gennaio 2015. Attenzione:

Algoritmi. Matricole dispari Prof.ssa Anselmo. Pre-appello del 15 Gennaio 2015. Attenzione: COGNOME: Nome: Algoritmi Matricole dispari Prof.ssa Anselmo Pre-appello del 15 Gennaio 2015 Attenzione: Inserire i propri dati nell apposito spazio soprastante e sottostante. Non voltare la pagina finché

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI.

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. 1. ABSTRACT In questo progetto si intende costruire un sistema di sorveglianza mediante l uso di robot mobili. L idea base è quella di usare

Dettagli

5. Problemi di Ottimizzazione e Programmazione Matematica

5. Problemi di Ottimizzazione e Programmazione Matematica Dispense del corso di Ottimizzazione Combinatoria (IN440) 5. Problemi di Ottimizzazione e Programmazione Matematica Marco Liverani Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 19/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Limiti e continuità di funzioni reali di una variabile

Limiti e continuità di funzioni reali di una variabile di funzioni reali di una variabile Corso di Analisi Matematica - capitolo VI Facoltà di Economia, UER Maria Caterina Bramati Université Libre de Bruxelles ECARES 22 Novembre 2006 Intuizione di ite di funzione

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

APPENDICE NOZIONI BASE E VARIE

APPENDICE NOZIONI BASE E VARIE pag. 131 Appendice: Nozioni base e varie G. Gerla APPENDICE NOZIONI BASE E VARIE 1. Funzioni e relazioni di equivalenza Questi appunti sono rivolti a persone che abbiano già una conoscenza elementare della

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Geometria analitica di base (prima parte)

Geometria analitica di base (prima parte) SAPERE Al termine di questo capitolo, avrai appreso: come fissare un sistema di riferimento cartesiano ortogonale il significato di equazione di una retta il significato di coefficiente angolare di una

Dettagli

Attività 9. La città fangosa Minimal Spanning Trees

Attività 9. La città fangosa Minimal Spanning Trees Attività 9 La città fangosa Minimal Spanning Trees Sommario la nostra società ha molti collegamenti in rete: la rete telefonica, la rete energetica, la rete stradale. Per una rete in particolare, ci sono

Dettagli

Esame di Ricerca Operativa - 20 settembre 2007 Facoltà di Architettura - Udine - CORREZIONE -

Esame di Ricerca Operativa - 20 settembre 2007 Facoltà di Architettura - Udine - CORREZIONE - Esame di Ricerca Operativa - settembre 7 Facoltà di rchitettura - Udine - CORREZIONE - Problema ( punti): Un azienda pubblicitaria deve svolgere un indagine di mercato per lanciare un nuovo prodotto. L

Dettagli

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per

Dettagli

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

Giochi ed equilibri di Nash. Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi.

Giochi ed equilibri di Nash. Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi. Giochi ed equilibri di Nash Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi.it 1 1 Notazione e definizione di equilibrio di Nash Si supponga

Dettagli

Ricerca informata. Scelta dell euristica

Ricerca informata. Scelta dell euristica Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella

Dettagli

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari

Dettagli

DNA sequence alignment

DNA sequence alignment DNA sequence alignment - Introduzione: un possibile modello per rappresentare il DNA. Il DNA (Acido desossiribonucleico) è una sostanza presente nei nuclei cellulari, sia vegetali che animali; a questo

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 9/0/06 (Cognome) (Nome) (Matricola) Esercizio. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

γ (t), e lim γ (t) cioè esistono la tangente destra e sinistra negli estremi t j e t j+1.

γ (t), e lim γ (t) cioè esistono la tangente destra e sinistra negli estremi t j e t j+1. Capitolo 6 Integrali curvilinei In questo capitolo definiamo i concetti di integrali di campi scalari o vettoriali lungo curve. Abbiamo bisogno di precisare le curve e gli insiemi che verranno presi in

Dettagli

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento:

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento: Capitolo 3 Serie 3. Definizione Sia { } una successione di numeri reali. Ci proponiamo di dare significato, quando possibile, alla somma a + a 2 +... + +... di tutti i termini della successione. Questa

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI Il criterio più semplice è il seguente. CRITERI DI CONVERGENZA PER LE SERIE Teorema(condizione necessaria per la convergenza). Sia a 0, a 1, a 2,... una successione di numeri reali. Se la serie a k è convergente,

Dettagli

Tecniche di DM: Alberi di decisione ed algoritmi di classificazione

Tecniche di DM: Alberi di decisione ed algoritmi di classificazione Tecniche di DM: Alberi di decisione ed algoritmi di classificazione Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Concetti preliminari: struttura del dataset negli

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

Indirizzo Giuridico Economico Aziendale

Indirizzo Giuridico Economico Aziendale Premessa Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire solamente i concetti fondamentali necessari per il raggiungimento degli obiettivi

Dettagli

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0. Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini

Dettagli

Introduzione alla TEORIA DEI GRAFI

Introduzione alla TEORIA DEI GRAFI Introduzione alla TRI DI GRFI La teoria dei grafi è una parte importante della Ricerca perativa (R..). ome per gli altri problemi affrontati nella R.. Si tratta di risolvere problemi di minimo (o di massimo)

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

Reti di Calcolatori IL LIVELLO RETE

Reti di Calcolatori IL LIVELLO RETE Reti di Calcolatori IL LIVELLO RETE D. Talia RETI DI CALCOLATORI - UNICAL 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato

Dettagli