Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/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
Alberi binari Definizione Sottoalberi Padre, figli
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Estendere i linguaggi: i tipi di dato astratti
Introduzione Cosa sono le reti di Petri?
RB-alberi (Red-Black trees)
Alberi binari di ricerca
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 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 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 10/03/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
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
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.
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.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
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
Ispezione lineare La funzione hash h(k,i) si ottiene da una funzione hash ordinaria h'(k) ponendo L’esplorazione inizia dalla cella h(k,0) = h'(k) e continua.
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
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.
Corso di Informatica 2 a.a. 2003/04 Lezione 6
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Alberi Alberi radicati : alberi liberi in cui un vertice è stato scelto come radice. Alberi liberi : grafi non orientati connessi e senza cicli. Alberi.
MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
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.
Università degli Studi di Roma Tor Vergata
Grammatiche Grammatiche libere da contesto Grammatiche regolari
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Capitolo 11 Visite di grafi Algoritmi e Strutture Dati.
Prof. Cerulli – Dott. Carrabs
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
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 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Transcript della presentazione:

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/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 Visita inorder La visita inorder (FS,R,FD) è definita soltanto su alberi binari, ed è necessario poter distinguere tra figlio sinistro e figlio destro di ogni nodo. Nelle nostre strutture dati non abbiamo tale informazione quindi assumeremo che lalbero abbia la proprietà 0/2 (ciascun nodo ha esattamente 0 o 2 figli). Per ottenere la numerazione inorder ciascuna foglia viene conteggiata in corrispondenza della sua unica occorrenza (left=right=1) nel CDE, mentre i nodi interni vengono conteggiati nelloccorrenza intermedia tra il primo ed il secondo figlio (left=right=0). Si da quindi valore 1 a tutti gli archi tali che left=right e si eseguono le somme prefisse S. v inorder(v) = S(u,v) dove (u,v) è larco in cui v è stato conteggiato: left(u,v)=right(u,v).

Algoritmi Paralleli e Distribuiti a.a. 2008/09 4 vabcdefg inorder Esempio di visita inorder CDE g,aa,gg,cc,bb,ff,bb,dd,bb,cc,ee,cc,g left right S c g a be df

Algoritmi Paralleli e Distribuiti a.a. 2008/09 5 LCA La computazione del minimo antecedente comune (lca) di ogni nodo si basa sulle seguenti osservazioni*: 1. u è antecedente di v sse left(u) < left(v) < right(u) 2. u e v sono confrontabili (nessuno è antecedente dellaltro) sse right(v) < left(u) oppure right(u) < left(v) 3.se u e v sono confrontabili, lca(u,v) è il vertice di livello più basso compreso tra right(u) e left(v) Esempio: CDE h,ee,hh,cc,bb,cc,ii,aa,dd,aa,ii,gg,ii,cc,ff,cc,h S liv left right lca(a,f)=c right(a) left(f) c h g e f b i da

Algoritmi Paralleli e Distribuiti a.a. 2008/09 6 Discendenti di un nodo Fatto: Sia dato un albero T con i nodi numerati in postorder. Il numero dei nodi nel sottoalbero radicato in un nodo v (incluso) è dato dalla differenza tra il massimo ed il minimo valore che i nodi in T v hanno nella numerazione, ovvero è dato dalla differenza del numero di nodi visitati prima di ritornare a p(v) e il numero di nodi visitati prima di raggiungere v. Con la numerazione in postorder il massimo valore in T v è esattamente quello di Post(v) mentre il minimo può essere trovato in corrispondenza dellarco (p(v),v). Il numero di discendenti della radice è|T r | = n per ogni altro nodo il valore è|T v | = S(v,p(v)) - S(p(v),v) CDEhehcbciadaigicfc S vabcdefghi |T v |

Algoritmi Paralleli e Distribuiti a.a. 2008/09 7 Ear Decomposition Dato un grafo non orientato G e P 0 ciclo semplice in G, una Ear Decomposition è una partizione ordinata dellinsieme degli archi E = P 0 P 1 P 2 … P k tale che 1 i k P i è un cammino semplice in cui entrambi gli estremi (e solo gli estremi) appartengono a P 0 … P i-1. Non è unica: Se 1 i k P i non è un ciclo (gli estremi sono distinti) allora la decomposizione si dice aperta (vedi secondo esempio). P0P0 P0P0 P1P1 P2P2 P3P3 P0P0 P1P1 P2P2 P3P3

Algoritmi Paralleli e Distribuiti a.a. 2008/09 8 Quali grafi ammetto una Ear Decomposition? G è privo di ponti EAR Decomposition G è biconnesso EAR Decomposition aperta NO P0P0 P1P1 P2P2 P3P3 SI P0P0 P1P1

Algoritmi Paralleli e Distribuiti a.a. 2008/09 9 Dato G si consideri un suo spanning tree T. Esistono m-n+1 archi di G non in T, ciascuno dei quali induce un ciclo se viene aggiunto a T. Questa è una copertura del grafo tramite cicli, non una Ear Decomposition: infatti due cicli possono condividere degli archi. È necessario rompere i cicli per ottenere una Ear Decomposition. Ear e Spanning Tree e1e1 e2e2 e3e3 e4e4 e6e6 e7e7 e8e8 e9e9 e 10 e5e

Algoritmi Paralleli e Distribuiti a.a. 2008/09 10 Etichettare gli archi Etichettiamo ogni arco e=(u,v) in G-T nel seguente modo: label(e) = Livello e lca sono da intendersi in T, aggiungiamo lindice dellarco per disambiguare ed avere tutte etichette distinte. Poi etichettiamo gli archi in T assegnando a ciascun arco e=(u,v) in T la minima etichetta associata ad una arco e' non in T che induce un ciclo contente e. e T lcalabel(e) (2,1)3 (1,8)4 (3,5)3 (7,8)8 (7,6)4 e T label(e) (3,2) (3,4) (4,1) (4,8) (4,5) (8,9) (9,7) (5,6)

Algoritmi Paralleli e Distribuiti a.a. 2008/ P e8 P e9 P e2 P e10 P e4 Risultato Ordinando gli archi rispetto a label(e) si ottiene la Ear Decomposition come sequenza ordinata di cammini disgiunti. elabel(e) (4,5) (3,5) (3,4) (4,1) (3,2) (2,1) (8,9) (5,6) (9,7) (7,6) (4,8) (1,8) (7,8) P e8 P e9 P e2 P e10 P e4