Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture dati Mod B
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Il problema del minimo albero ricoprente in un grafo non cooperativo
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Algoritmi e Strutture Dati
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Alberi binari di ricerca
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Insiemi disgiunti.
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 31/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 22/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 17/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 20/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 28/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 06/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 19/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 27/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Il problema del minimo albero ricoprente in un grafo con archi privati
Algoritmi e strutture Dati - Lezione 7
Il problema del dizionario
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Interrogazioni su un albero binario di ricerca Search(S,k) – dato un insieme S ed un valore chiave k restituisce un puntatore x ad un elemento in S tale.
Flusso Massimo Applicazione di algoritmi
Algoritmi e Strutture Dati Alberi Binari di Ricerca.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e Strutture Dati 20 aprile 2001
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 17/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 07/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi e strutture Dati - Lezione 7 1 Algoritmi di ordinamento ottimali L’algoritmo Merge-Sort ha complessità O(n log(n))  Algoritmo di ordinamento.
Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola.
Laureando: Enrico Sperindio Relatore: Prof. GIORGIO ROMANIN JACUR
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Simulazione di lettura e scrittura concorrente Tecnica dell’accelerated cascading Lezione.
Prof.ssa Rossella Petreschi Lezione del 15 /10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Paragrafo 7.4 del testo Kingston “Algorithms and.
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi Complessità e Trasportabilità Lezione n°3.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Algoritmi Avanzati a.a. 2011/12 Lezione del 02/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi Albero Ricoprente Lezione n°9.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Come generare un MST in un sistema distribuito Lezione n°13.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Transcript della presentazione:

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI

Algoritmi Paralleli e Distribuiti a.a. 2008/09 2 Le variabili Per ogni nodo p: Fram(p) nome del frammento a cui p appartiene. Liv(p) valore del livello del frammento a cui p appartiene. Per ogni arco (p, q): Stato p (q) accettato se è stato inserito nel MST. Per ogni frammento f: w(f) minimo fra i costi degli archi uscenti da f (è sufficiente ad identificare univocamente larco perché assumiamo costi distinti).

Algoritmi Paralleli e Distribuiti a.a. 2008/09 3 Complessità di comunicazione Teorema: lalgoritmo per la determinazione del MST in un sistema distribuito richiede complessità di comunicazione O(n log n + m). Dim: ad ogni livello O(n) messaggi in totale sono inviati lungo gli spigoli dellalbero. Ci sono inoltre O(m) messaggi addizionali in fase di inizializzazione, necessari affinchè ogni nodo possa conoscere quali sono gli identificativi dei propri vicini.

Algoritmi Paralleli e Distribuiti a.a. 2008/09 4 Spigolo di costo minimo del frammento Quando due frammenti si combinano (o quando uno viene assorbito in un altro) bisogna che tutti i nodi del nuovo frammento aggiornino le loro variabili e che lintero frammento identifichi il proprio arco uscente di costo minimo. Tutto avviene tramite una operazione di broadcast con eco così suddivisa: si propagano le nuove informazioni a tutti i nodi; ciascun nodo v individua larco (v,u) di costo minimo tra quelli uscenti dal frammento; tramite leco si trasmettono al nodo che identifica il frammento i minimi parziali; il nodo identificatore individua il minimo assoluto (x,y). Tale valore sarà poi ritrasmesso a tutti i nodi del frammento; in questo modo, il nodo x potrà mandare una richiesta di connessione al frammento ad esso adiacente.

Algoritmi Paralleli e Distribuiti a.a. 2008/09 5 Complessità temporale Lemma: Il livello di un frammento non eccede mai O(log n) Dim: Per l > 0, un frammento di livello l si forma soltanto quando due frammenti di livello l-1 si fondono, quindi un frammento di livello l contiene almeno 2 l nodi, ne consegue lasserto, dato che n 2 l, per ogni l. Come conseguenza del Lemma e del fatto che le operazioni ad ogni livello richiedono tempo O(n) si ha: Teorema: lalgoritmo per la determinazione del MST in un sistema distribuito richiede complessità temporale O(n log n)

Algoritmi Paralleli e Distribuiti a.a. 2008/09 6 Algoritmo per il MST distribuito begin// inizialmente init = V P i init :inizializza tutte le variabili trova larco (i,y) di costo minimo poni stato i (y) = accettato send ad y richiesta di connessione repeat P i :receive messaggio M dal mittente q if M è una richiesta di connessione then if liv(q) > liv(i) then non fare nulla else if liv(q) < liv(i) then assorbi fram(q) in fram(i) send a q richiesta di ridefinizione R{liv(i), fram(i)} else if q = y e liv(q) = liv(i) e w(fram(i))=w(fram(q)) then combina fram(q) con fram(i) send a q richiesta di ridefinizione R{liv(i)+1, min(q,i)} else if M è una richiesta di ridefinizione then aggiorna tutte le variabili relative a i con i valori ricevuti da R send R a tutti gli appartenenti al vecchio frammento di i trova lo arco (x,y) di costo minimo uscente dal nuovo frammento if i = x then poni stato i (y) = accettato // solo il nodo x contatta y send ad y richiesta di connessione until rimane un solo frammento end

Algoritmi Paralleli e Distribuiti a.a. 2008/09 7 Esempio left e right Consideriamo lalbero in figura e il suo CDE, considerandolo radicato nel nodo h h e h c b c i a d a i g c f c h Su tale albero otteniamo i seguenti vettori: Ribadiamo che i valori left e right associati allarco (u,v) identificano rispettivamente la prima e lultima visita del nodo v nel Cammino di Eulero. CDE h,ee,hh,cc,bb,cc,ii,aa,dd,aa,ii,gg,ii,cc,ff,cc,h S left right c h g e f b i da

Algoritmi Paralleli e Distribuiti a.a. 2008/09 8 Occorrenza sinistra e destra Per individuare la prima e lultima occorrenza di un nodo nel CDE di un albero radicato, sfruttiamo il vettore delle somme prefisse S che serve per calcolare il livello dei nodi. Per ogni arco (u,v) nel CDE calcoleremo due valori booleani, left e right, che determineranno se, in corrispondenza di tale arco, si ha la prima e/o lultima apparizione del nodo v. Se larco che precede e=(u,v) ha associato un livello minore di quello di e, allora siamo in corrispondenza della prima occorrenza di v: left(e) = 1 sse S(e.pred) < S(e) Se larco che segue e ha livello minore di e allora sarà lultima occorrenza di v: right(e) = 1 sse S(e.next) < S(e) Nota: left(u,v) = right(u,v) = 1 sse v è una foglia È possibile definire, per ogni nodo, left(u) come lindice nel CDE dellunico arco (u,v) con left(u,v)=1. Idem per right(v). Si assuma left(r)=0.