Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/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
Algoritmi e Strutture Dati
Strutture dati per insiemi disgiunti
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Il problema del minimo albero ricoprente in un grafo con archi privati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi e Strutture Dati
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 12/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
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Flusso Massimo Applicazione di algoritmi
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Elementi di Informatica di base
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
La prova nazionale all’esame finale del primo ciclo
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.
Lezione n° 18: Maggio Problema del trasporto: formulazione matematica Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di.
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 07/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Capitolo 12 Minimo albero ricoprente Algoritmi e Strutture Dati.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Flusso di Costo Minimo Trasformazioni Equivalenti e Trasformazioni Inverse Viene data la seguente rete di flusso, in cui i valori riportati vicino agli.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
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.
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.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi Albero Ricoprente Lezione n°9.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a. 2010/11
Transcript della presentazione:

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

Cosa si deve fare nel parallelo Ad ogni frammento si associa un identificativo: inizialmente i frammenti sono vertici isolati; lidentificativo del frammento coincide con letichetta del nodo che è radice dellalbero che costituisce il frammento; ogni nodo capisce a quale frammento appartiene semplicemente leggendo il nome della radice del suo albero. Cosa si deve evitare nel parallelo: che il costo sia troppo elevato, quindi bisogna diminuire il più possibile il numero dei processori usati, il numero di iterazioni necessarie e laltezza degli alberi che si gestiscono. Algoritmi Paralleli e Distribuiti a.a. 2008/092

3 Frammenti = Meganodi Per generare i meganodi: 1.ogni nodo v seleziona un proprio vicino tramite una funzione D:V V; si costruisce così una pseudo foresta (V,F), dove F={(v, D(v)) | v V}. 2.ogni meganodo è identificato dalla radice dellalbero che lo rappresenta ed ogni nodo di V conosce il nome del meganodo a cui appartiene semplicemente leggendo il nome dellalbero a cui appartiene.

Algoritmi Paralleli e Distribuiti a.a. 2008/094 Come generare i meganodi Per generare i meganodi: 1.ogni nodo v seleziona il proprio vicino di numerazione minore. Ogni ciclo nella pseudo foresta o è un loop o contiene due archi e in ogni singolo albero il vertice di numerazione minima appartiene al ciclo (e sarà usato come radice). 2.tramite la tecnica del salto del puntatore, ogni albero della foresta è ridotto ad una stella. In tal modo ogni meganodo è identificato dalla radice della stella ed ogni nodo conosce il nome del meganodo a cui appartiene semplicemente leggendo il nome della radice della propria stella

Algoritmi Paralleli e Distribuiti a.a. 2008/095 Grafo ridotto Una volta che al passo k-esimo si sono individuati tutti i meganodi del grafo su cui si sta operando, bisogna costruire il nuovo grafo ridotto su cui si opererà al passo (k+1)-esimo. Il nuovo grafo avrà n k+1 meganodi e tanti spigoli quanti sono quelli che uniscono i meganodi, ovvero quegli spigoli di G che uniscono vertici appartenenti a stelle differenti. Per calcolare n k+1 bisogna numerare tutti i meganodi utilizzando la tecnica delle somme prefisse.

Algoritmi Paralleli e Distribuiti a.a. 2008/096 Strutture dati per MST Input: il grafo G rappresentato come matrice di adiacenza pesata W. W[i,j] = w(i,j) se (i,j) E altrimenti W[i,j] =. Output: MST di G rappresentato tramite liste di adiacenza Altre variabili: n k : numero di nodi del grafo al passo k (n 0 = n) W k : matrice di adiacenza del grafo al passo k (W 0 = W) m k (v): adiacente di v t.c. (u,m k (u)) è larco di costo minimo incidente su u (nel grafo al passo k)

Algoritmi Paralleli e Distribuiti a.a. 2008/097 Algoritmo per MST begin k = 0 while W k contiene archi do m k (u) = v t.c. min W k (u,v) Aggiungi (u,m k (u)) al MST Esegui il salto del puntatore su m k (v) Numera i meganodi Costruisci W k+1 k = k+1 end

Algoritmi Paralleli e Distribuiti a.a. 2008/098 Costo dellalgoritmo Adoperiamo una PRAM con n 2 processori, uno per ogni elemento della matrice di adiacenza. Al generico passo k, una componente connessa di n' > 1 nodi, può originare al più n'/2 meganodi. Quindi dopo O(log n) iterazioni del ciclo while lalgoritmo termina. Ciascuna iterazione richiede tempo logaritmico: a)La ricerca del minimo adiacente per ciascun nodo v richiede O(log n) tempo su PRAM EREW, se invece si assume una PRAM ERCW (con scrittura del minimo o priorità al processore di indice minimo) il costo è O(1). b)Il salto del puntatore per ridurre a stelle la pseudoforesta richiedere tempo logaritmico su PRAM CREW. c)La numerazione dei meganodi richiede tempo logaritmico con somme prefisse su PRAM EREW.

Algoritmi Paralleli e Distribuiti a.a. 2008/099 Costo dellalgoritmo d)Si deve prestare attenzione nella generazione della matrice W k+1 da utilizzare al passo successivo: tra due meganodi si dovrà porre un arco il cui peso è pari al minimo tra tutti gli archi che collegano i nodi di un meganodo ai nodi dellaltro. Tale operazione si può eseguire in O(log n) tempo su una PRAM EREW simulando una scrittura concorrente. Si dovrà inoltre tenere traccia dellarco del grafo originale a cui tale costo si riferisce, al fine di poterlo correttamente inserire nel MST. Lalgoritmo richiede quindi O(log 2 n) tempo su una PRAM CREW con n 2 processori.

Esempio Grafo di partenza rappresentato tramite matrice W 0 Passo 0: meganodi iniziali = nodi isolati Aggiungendo (u,m(u)) u V Algoritmi Paralleli e Distribuiti a.a. 2008/

Esempio Dopo il salto del puntatore rimangono 4 meganodi La matrice di adiacenza W 1 del grafo ridotto è: (nella tabella sono riportati il costo minimo di un arco tra due meganodi e lidentificatore di tale arco) Algoritmi Paralleli e Distribuiti a.a. 2008/ , (1,2)4, (4,5) 22, (1,2)- 34, (4,5) -5, (7,11) 4 5, (7,11)-

Esempio Passo 1: 4 meganodi isolati, aggiungendo (u,m(u)) u in W 1 Dopo il salto del puntatore rimane 1 solo meganodo La matrice di adiacenza è vuota quindi al passo 2 lalgoritmo termina. Il MST risultante è: Algoritmi Paralleli e Distribuiti a.a. 2008/

Algoritmi Paralleli e Distribuiti a.a. 2008/0913 Cosa si deve fare nel distribuito Ad ogni frammento si associa un identificativo: inizialmente i frammenti sono a livello 0 e sono costituiti da un solo nodo il cui identificativo coincide con quello del frammento; lidentificativo di un frammento è dato dal nodo di identificativo maggiore fra i due estremi dello spigolo portante dello spanning tree proprio del frammento. Uniamo i frammenti in due modi: per combinazione di frammenti allo stesso livello k con lo stesso spigolo di costo minimo. In tal caso si crea un nuovo frammento di livello k+1; per assorbimento di un frammento di livello minore con uno di livello maggiore.

Algoritmi Paralleli e Distribuiti a.a. 2008/0914 Cosa si deve evitare nel distribuito Che i frammenti non coordinino le loro azioni: ogni nodo deve riconoscere a quale frammento appartiene e questa informazione la deve ricevere in modo coordinato; fra tutti gli spigoli uscenti dal frammento, va trovato lo spigolo di costo minimo relativo al frammento stesso; Che lunione dei frammenti non implichi un numero di messaggi da trasmettere troppo elevato: evitare lunione di frammenti grandi con vertici isolati: questo potrebbe portare a trasmettere un numero quadratico di messaggi.

Algoritmi Paralleli e Distribuiti a.a. 2008/0915 Unione di frammenti Consideriamo un frammento a livello l 0, f l, e sia l' il livello del frammento al quale f l è connesso tramite il suo spigolo uscente di costo minimo, e l. Allora si ha: combinazione di frammenti quando l=l' ed e l = e l'. Qui si crea un nuovo frammento di livello l+1 il cui spigolo portante è lo spigolo che ha unito i due frammenti a livello l; assorbimento di un frammento quando l l'. Il frammento di livello minore è assorbito da quello di livello maggiore che si trasforma in nuovo frammento mantenendo stesso livello e stesso spigolo portante; nessuna operazione in tutti gli altri casi.

Algoritmi Paralleli e Distribuiti a.a. 2008/0916 Esempio m l fg eh i c d a b a b 1 b a 2 c d 2 d c 3 e f 3 f e 4 g e 5 h g 6 i g 7 l g 9 m f Identificazione dellarco uscente di peso minimo Inizialmente ogni nodo è un frammento di livello 0 a b c d e f Combinazione e f Assorbimento gm liv 1 1

Algoritmi Paralleli e Distribuiti a.a. 2008/0917 Identificazione dellarco uscente di peso minimo 14 Esempio Identificazione dellarco uscente di peso minimo a b c d e f gm 16 c 14 e 5 h Combinazione (niente) Assorbimento e f gm hil e f gm i l ha b c d 16 c e 14 d Combinazione Assorbimento (niente) e f g m i l h cd liv 1 liv 2 5 h g 6 i g 7 l g

Algoritmi Paralleli e Distribuiti a.a. 2008/0918 Esempio Identificazione dellarco uscente di peso minimo a b 16 c Combinazione Assorbimento (niente) e f g m i l h cd 16 a ba e f g m i l h cd liv 2