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

Slides:



Advertisements
Presentazioni simili
Flusso Massimo Applicazione di algoritmi
Advertisements

Algoritmi e Strutture Dati
Strutture dati per insiemi disgiunti
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Introduzione Cosa sono le reti di Petri?
Algoritmi e Strutture Dati
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Il problema del minimo albero ricoprente in un grafo con archi privati.
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.
Scenario Archi di un grafo controllati da agenti egoistici
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
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 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
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 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.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
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.
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Cammini minimi Algoritmo SPT.Acyclic
Modelli e Algoritmi per la Logistica
Algoritmi e Strutture Dati
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
Algoritmi e Strutture Dati
Componenti fortemente connesse
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
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.
Cammini minimi da un sorgente
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.
Olimpiadi di Informatica 2010 Giornate preparatorie
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.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
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.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.
Algoritmi Avanzati a.a. 2010/11
Transcript della presentazione:

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 2 Minimo Albero Ricoprente Sia G=(V,E) un grafo connesso non orientato e w:E R una funzione costo degli archi di G. Definiamo inoltre m:V V nel seguente modo: m(u)=v sse (u,v) è larco di costo minimo incidente su u. Un albero ricoprente (ST) di G=(V,E) è un albero T=(V,E') tale che E' E. Un minimo albero ricoprente (MST) di G=(V,E) è un albero ricoprente T=(V,E') di costo minimo. Il costo di un albero è la somma dei costi degli archi che lo compongono: w(T)= e T w(e).

Algoritmi Paralleli e Distribuiti a.a. 2008/09 3 Unicità del MST Il MST è unico sse ogni arco ha un costo distinto. Tale condizione può essere forzata disambiguando eventuali costi uguali: si aggiunge al costo lindice dellarco cui appartiene: w'(e) = a b d c e Si noti che tra e viene scelto a b d c e Nel seguito i costi verranno sempre disambiguati considerando gli archi indicizzati in base al loro ordine lessicografico.

Algoritmi Paralleli e Distribuiti a.a. 2008/09 4 Proprietà 1 Lemma1. Tutti gli archi (u,m(u)) MST. Dimostrazione. Sia G=(V,E) un grafo, w una funzione di costo su G e T il MST di G. Assumiamo per assurdo che esista un v V tale che (v,m(v)) T. Consideriamo il cammino da v a m(v) in T sia (v,x) il primo arco in tale cammino. Il costo di tale arco è sicuramente maggiore di quello dellarco (v,m(v)), per definizione di m(v). Sia T' = T - (v,x) (v,m(v)). T' è un albero ricoprente per G e il suo costo w(T')=w(T)-w(v,x)+(v,m(v)) è minore di quello di T, il che contrasta con il fatto che T è il MST di G, quindi v non può esistere.

Algoritmi Paralleli e Distribuiti a.a. 2008/09 5 Stelle ed alberi radicati Albero Radicato Stella Radicata

Algoritmi Paralleli e Distribuiti a.a. 2008/09 6 Pseudoforesta Si definisce pseudoforesta un grafo orientato in cui ogni vertice ha grado uscente minore od uguale ad uno. In altre parole, pseudoforesta è un insieme di alberi (e stelle) orientati radicati, ciascuno contenente un ciclo. Una pseudoforesta può essere vista come una funzione d:V V. v V, (v,d(v)) è lunico arco uscente da v in G vd(v)

Algoritmi Paralleli e Distribuiti a.a. 2008/09 7 Proprietà 2 La funzione m:V V definisce una pseudoforesta t.c. ogni albero orientato ha un ciclo contenente esattamente due archi. Non ci sono cappi perché m(u) u u V. Se per assurdo ci fosse un ciclo di 3 (o più archi) tra i nodi u, v=m(u) e x=m(v) con u=m(x) allora considerando i costi di tali archi w 1, w 2 e w 3 si avrebbe w 1 < w 3 < w 2 < w 1. Il che è assurdo. v ux w1w1 w2w2 w3w3

Algoritmi Paralleli e Distribuiti a.a. 2008/09 8 Strategie per MST Prim: si parte da T = un singolo vertice e si costruisce incrementalmente il MST aggiungendo larco di costo minimo tra T e G-T. Kruskal: si parte da una foresta di nodi isolati e, considerando tutti gli archi in ordine di costo crescente, si aggiunge ciascun arco solo se non induce un ciclo. Sollin: si parte da una foresta di nodi isolati, si aggiungono tutti gli archi (u,m(u)) e si itera fino ad ottenere un grafo connesso.

Esempio 1 A partire dal grafo Prim inizia con T=({a}, ). Poi inserisce, passo dopo passo, gli archi (a,g), (g,e), (a,b), (b,d), (b,f) e (d,c). Lalbero ricoprente generato è: Algoritmi Paralleli e Distribuiti a.a. 2008/09 9 d cb a f e g d cb 1 a f e g

Esempio 2 Kruskal genera il medesimo MST analizzando gli archi nel seguente ordine (quelli che inducono cicli vengono scartati): Algoritmi Paralleli e Distribuiti a.a. 2008/09 10 d cb 1 a f e g ew(e)induce un ciclo? (a,g)1no (b,d)1no (b,f)1no (c,d)1no (d,f)1si (e,g)1no (a,b)2no (a,c)2si (f,g)2si (e,f)3si (b,g)4si

Esempio 3 Sollin inizialmente considera i seguenti archi: ed ottiene: In seguito considera gli archi tra le due componenti connesse: Algoritmi Paralleli e Distribuiti a.a. 2008/09 11 d cb 1 a f e g vm(v)costo ag1 bd1 cd1 db1 eg1 fb1 ga1 Vm(V)costoarco originale C1C1 C2C2 2(a,b) C2C2 C1C1 2 d cb 1 a f e g

Algoritmi Paralleli e Distribuiti a.a.2007/08 12 Strategia per il concorrente Sia Prim che Kruskal sono inerentemente sequenziali in quanto la scelta fatta ad ogni passo dipende strettamente da tutto ciò che si è fatto nei passi precedenti. Lidea di Sollin invece (ad ogni iterazione) lavora su tutti i vertici senza richiedere un ordine specifico, quindi si presta meglio ad essere utilizzata in un contesto di calcolo concorrente (sia parallelo che distribuito). Si noti però che se i costi non fossero distinti con Sollin si potrebbero introdurre cicli di lunghezza 3: um(u) ab bc ca b ac b ac

Algoritmi Paralleli e Distribuiti a.a.2007/08 13 MST nel concorrente Input: G grafo non orientato connesso pesato, con pesi distinti Output: lunico MST Idea: partendo da frammenti costituiti da singoli nodi, ad ogni passo ogni frammento cerca di unirsi con un altro frammento attraverso lo spigolo di costo minimo ad esso incidente. Si ripete finché la foresta non si riduce ad un albero.

Algoritmi Paralleli e Distribuiti a.a.2007/08 14 Come fare Identificare ladiacente di costo minimo Rappresentare e identificare opportunamente i frammenti Fondere i frammenti avendo presente le limitazioni sul costo (tempo, processori, complessità dei messaggi) che si vuole ottenere