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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

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

La Programmazione Lineare 4 La Programmazione Lineare 4.1 INTERPRETAZIONE GEOMETRICA DI UN PROBLEMA DI PROGRAMMAZIONE LINEARE Esercizio 4.1.1 Fornire una rappresentazione geometrica e risolvere graficamente i seguenti problemi

Dettagli

Elementi di Statistica descrittiva Parte I

Elementi di Statistica descrittiva Parte I Elementi di Statistica descrittiva Parte I Che cos è la statistica Metodo di studio di caratteri variabili, rilevabili su collettività. La statistica si occupa di caratteri (ossia aspetti osservabili)

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

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

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

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

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

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

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

VERIFICA DELLE IPOTESI

VERIFICA DELLE IPOTESI VERIFICA DELLE IPOTESI Introduzione Livelli di significatività Verifica di ipotesi sulla media di una popolazione normale Verifica di ipotesi sulla varianza di una popolazione normale Verifica di ipotesi

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

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

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

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

di informazione asimmetrica:

di informazione asimmetrica: Informazione asimmetrica In tutti i modelli che abbiamo considerato finora abbiamo assunto (implicitamente) che tutti gli agenti condividessero la stessa informazione (completa o incompleta) a proposito

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

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

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

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

5. La teoria astratta della misura.

5. La teoria astratta della misura. 5. La teoria astratta della misura. 5.1. σ-algebre. 5.1.1. σ-algebre e loro proprietà. Sia Ω un insieme non vuoto. Indichiamo con P(Ω la famiglia di tutti i sottoinsiemi di Ω. Inoltre, per ogni insieme

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

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

Sistemi dinamici - Attività 3 I sistemi preda-predatore e le equazioni di Volterra

Sistemi dinamici - Attività 3 I sistemi preda-predatore e le equazioni di Volterra Sistemi dinamici - Attività 3 I sistemi preda-predatore e le equazioni di Volterra Paolo Lazzarini - p.lazzarini@tin.it E il momento di occuparci di un modello matematico discreto più realistico (quindi

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

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

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

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP)

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP) MRP Pianificazione della produzione Materials Requirements Planning (MRP) 15/11/2002 16.58 Con l MRP si decide la tempificazione delle disponibilità dei materiali, delle risorse e delle lavorazioni. MRP

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

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

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

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

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

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

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

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

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

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

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

Capitolo II Le reti elettriche

Capitolo II Le reti elettriche Capitolo II Le reti elettriche Fino ad ora abbiamo immaginato di disporre di due soli bipoli da collegare attraverso i loro morsetti; supponiamo ora, invece, di disporre di l bipoli e di collegarli tra

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

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Grandezze scalari e vettoriali

Grandezze scalari e vettoriali Grandezze scalari e vettoriali 01 - Grandezze scalari e grandezze vettoriali. Le grandezze fisiche, gli oggetti di cui si occupa la fisica, sono grandezze misurabili. Altri enti che non sono misurabili

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

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

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

40 Algoritmi sui Grafi

40 Algoritmi sui Grafi Università degli Studi di Napoli Parthenope Corso di Laurea in Informatica A.A 2014/15 PROGETTO PROGRAMMAZIONE III 40 Algoritmi sui Grafi Relatore: Prof. Raffaele Montella Studente: Diego Parlato Matricola:

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

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

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique

Dettagli

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

Dettagli

11) convenzioni sulla rappresentazione grafica delle soluzioni

11) convenzioni sulla rappresentazione grafica delle soluzioni 2 PARAGRAFI TRATTATI 1)La funzione esponenziale 2) grafici della funzione esponenziale 3) proprietá delle potenze 4) i logaritmi 5) grafici della funzione logaritmica 6) principali proprietá dei logaritmi

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

Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) Algebre di Boole. 1. Definizione e proprietá Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) [# Aii [10 pagine]] Algebre di Boole Un algebra di Boole è una struttura 1. Definizione e proprietá B =< B,,, ν, 0, 1 > in cui B è un insieme non

Dettagli

APPUNTI SUI METODI PERT-C.P.M.

APPUNTI SUI METODI PERT-C.P.M. APPUNTI SUI METODI PERT-C.P.M. (corso di ricerca operativa) A cura di: Antonio Scalera 1 PERT/C.P.M. I metodi Pert e C.P.M. studiano lo sviluppo di un progetto attraverso la programmazione delle attività

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

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

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

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

x u v(p(x, fx) q(u, v)), e poi

x u v(p(x, fx) q(u, v)), e poi 0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Algoritmi e strutture di dati 2 Paola Vocca Lezione 7: Algoritmi on-line e analisi competitiva Algoritmo on-line Algoritmi on-line: le richieste vengono eseguite basandosi solo sulla conoscenza delle richieste

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli