Algoritmi di visita di un grafo
|
|
- Anna Maria Damiano
- 8 anni fa
- Visualizzazioni
Transcript
1 Algoritmi di isita di n grafo Ilaria Castelli castelli@dii.nisi.it Uniersità degli Stdi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Visita di n grafo, A.A. 2009/2010 1/44
2 Grafi Visita in ampiezza Visita in profondità Ordinamento topologico I. Castelli Visita di n grafo, A.A. 2009/2010 2/44
3 Scopo e tipi di isita di n grafo Visita Una isita (o attraersamento) di n grafo G permette di esaminare i nodi e gli archi di G in modo sistematico. Esistono arie tipologie di isita, con dierse proprietà. In particolare: 1 Visita in ampiezza (BFS = Breadth First Search) 2 Visita in profondità (DFS = Depth First Search) I. Castelli Visita di n grafo, A.A. 2009/2010 3/44
4 Breadth First Search Visita in ampiezza Dato n grafo G = (V, E) e n nodo s chiamato sorgente, la isita in ampiezza esplora gli archi di G per scoprire ttti i nodi raggingibili a partire da s La isita BFS calcola la distanza (nmero minimo di archi) tra s e ogni ertice da esso raggingibile La isita consente di definire n albero BFS, con radice s, contenente ttti i nodi raggingibili Nell albero BFS il cammino da s a n nodo corrisponde a n cammino minimo (contenente il nmero minimo di archi) La isita BFS si pò applicare sia ai grafi diretti che a qelli non diretti I. Castelli Visita di n grafo, A.A. 2009/2010 4/44
5 Breadth First Search La isita in ampiezza esplora i nodi del grafo partendo da qelli a distanza 1 da s. Poi isita qelli a distanza 2, e così ia. L algoritmo isita ttti i ertici ad n liello k prima di isitare qelli a liello k + 1. distanza = 3 distanza = 2 r distanza = 1 h s i t Si genera n albero Si isitano nodi ia ia più distanti dalla sorgente x y I. Castelli Visita di n grafo, A.A. 2009/2010 5/44
6 Breadth First Search Per tenere traccia del progresso della isita, l algoritmo BFS associa delle flag ai nodi. Spponiamo di poter colorare i nodi di bianco, grigio o nero. All inizio ttti i nodi sono bianchi e, sccessiamente, possono dientare grigi e, infine, neri. Un nodo iene scoperto la prima olta che iene incontrato drante la isita e, in tale istante, cessa di essere bianco. La distinzione tra nodi grigi e neri esiste affinché la isita proceda in ampiezza. In sostanza, la distinzione è la segente: Bianchi: non ancora scoperti Grigi: appena scoperti; sono la frontiera tra nodi scoperti e non. I nodi adiacenti ad n nodo grigio possono essere bianchi. Neri: scoperti. Ttti i nodi adiacenti ad n nodo nero sono stati scoperti. I. Castelli Visita di n grafo, A.A. 2009/2010 6/44
7 Algoritmo BFS - Strttre dati Le strttre dati sate dall algoritmo sono le segenti: Liste di adiacenza Adj Adj[] è la lista dei nodi adiacenti a. Array color color[] contiene il colore del nodo Array d d[] contiene la distanza di dal nodo sorgente s. Viene inizializzata a infinito. Array p p[] contiene il predecessore del nodo nell albero BFS Coda Q contiene i nodi grigi I. Castelli Visita di n grafo, A.A. 2009/2010 7/44
8 Algoritmo BFS 1 BFS(G, s ) 2 f o r o g n i nodo i n V[G] { s } / i n i z i a l i z z a z i o n e / 3 c o l o r [ ] = WHITE 4 d [ ] = i n f i n i t y 5 p [ ] = NIL 6 7 c o l o r [ s ] = GRAY / i s i t o l a s o r g e n t e / 8 d [ s ] = 0 9 p [ s ] = NIL 0 Q = { s } 1 h i l e Q!= empty 2 = head [Q] / nodo da e s p a n d e r e / 3 f o r o g n i nodo i n Adj [ ] / i s i t o i n o d i a d i a c e n t i / 4 i f c o l o r [ ] = WHITE / s e e b i a n c o i e n e s c o p e r t o / 5 then c o l o r [ ] = GRAY 6 d [ ] = d [ ] p [ ] = 8 ENQUEUE(Q, ) / i n s e r i t o n e l l a coda Q / 9 DEQUEUE(Q) / t o l t o d a l l a coda : e g i a s t a t o e spanso / 0 c o l o r [ ] = BLACK I. Castelli Visita di n grafo, A.A. 2009/2010 8/44
9 Algoritmo BFS - Esempio r s x y t y s t t x r t x y x r s r s x y t r s x y t Adj p d r s t x y NIL 0 0 s 1 1 s r 2 t x Q = {} 2 I. Castelli Visita di n grafo, A.A. 2009/2010 9/44
10 Algoritmo BFS - Albero BFS La isita BFS consente di definire n albero BFS. all inizio contiene solo s qando n nodo bianco iene scoperto, scorrendo la lista di adiacenza di n nodo, allora l arco (, ) e stesso engono agginti all albero p(r) = s p(s) = NIL p(t) = p() = t r s t r s x y p() = r p() = s p(x) = p(y) = x 2 x 2 t 2 y 3 3 I. Castelli Visita di n grafo, A.A. 2009/ /44
11 Breadth First Search - Analisi Analisi del tempo di eseczione s n grafo G = (V, E) Il tempo necessario per l inizializzazione è O( V ) Ogni nodo raggingibile iene isitato na olta Le operazioni di inserimento e rimozione dalla coda costano O(1), qindi il tempo totale necessario per le operazioni slla coda è O( V ) La lista di adiacenza di n nodo iene scorsa na sola olta, qindi in totale il tempo è O( E ) Il tempo totale richiesto dall algoritmo BFS si ottiene sommando il tempo per l inizializzazione e qello necessario per isitare i nodi: O( V + E ) I. Castelli Visita di n grafo, A.A. 2009/ /44
12 Breadth First Search - Cammini minimi Distanza minima Si definisce distanza minima δ(s, ) da s a, il nmero minimo di archi di n cammino dal nodo s al nodo δ(s, ) 0 δ(s, ) = se non è raggingibile partendo da s Cammino minimo Un cammino di lnghezza δ(s, ) da s a si dice cammino minimo. Nota: possono esistere più cammini minimi tra de nodi BFS La isita BFS calcola la distanza minima δ(s, ) di ogni nodo raggingibile da s Nell albero BFS il cammino da s ad n nodo è n cammino minimo I. Castelli Visita di n grafo, A.A. 2009/ /44
13 Breadth First Search - Proprietà Lemma Dato n grafo G = (V, E) diretto o non diretto e n nodo s V qalsiasi, allora per ogni arco (, ) E si ha δ(s, ) δ(s, ) + 1 Dimostrazione Se non è raggingibile da s, allora δ(s, ) = Se è raggingibile da s, allora anche è raggingibile. Il cammino minimo da s a non pò essere più lngo del cammino minimo da s a, più l arco (, ) I. Castelli Visita di n grafo, A.A. 2009/ /44
14 Breadth First Search - Proprietà Lemma Sia G = (V, E) n grafo diretto o non diretto e s V n nodo sorgente qalsiasi, a partire dal qale è stato esegito l algoritmo BFS. Allora per ogni nodo V si ha d[] δ(s, ) Dimostrazione Per indzione: d[s] = 0 = δ(s, s) e, per qalsiasi nodo V {s}, ale d[] = δ(s, ) Dato n nodo scoperto drante l esplorazione di n nodo, per ipotesi indttia ale d[] δ(s, ). d[] }{{} = d[] + 1 }{{} algoritmo ipotesi indttia δ(s, ) + 1 δ(s, ) }{{} lemma precedente I. Castelli Visita di n grafo, A.A. 2009/ /44
15 Breadth First Search - Proprietà Lemma Spponendo che drante l eseczione della ricerca BFS s n grafo G = (V, E), la coda Q contenga i nodi < 1,..., r >, doe 1 = head[q] e r = tail[q], allora d[ r ] d[ 1 ] + 1 e d[ i ] d[ i+1 ], i = 1,..., r 1 La differenza tra le distanze da s dei nodi presenti nella coda in n certo momento è al più 1 Un nodo iene inserito nella coda (dientando r+1 ) qando il nodo in testa, 1, iene esplorato d[ r+1 ] = d[] = d[ 1 ] + 1 d[ r ] d[ 1 ] + 1 = d[] = d[ r+1 ] I. Castelli Visita di n grafo, A.A. 2009/ /44
16 Breadth First Search - Proprietà Proposizione I nodi che entrano nella coda Q sono ttti e soli i nodi tali che δ(s, ) <, cioè ttti i nodi raggingibili da s Dimostrazione 1 entra in Q = δ(s, ) < Si procede per indzione sll i-esima iterazione dell operazione ENQUEUE se i = 0, solo s è nella coda: δ(s, s) = 0 < se i > 0, spponiamo che l ipotesi indttia sia era per ogni iterazione k < i. Al passo i si isita Adj[], con = head[q], e i nodi bianchi engono inseriti in Q. Per ipotesi indttia δ(s, ) <. Poiché esiste l arco (, ): δ(s, ) δ(s, ) + 1 < I. Castelli Visita di n grafo, A.A. 2009/ /44
17 Breadth First Search - Proprietà 2 entra in Q = δ(s, ) < Si procede per indzione s δ(s, ) = k se δ(s, ) = 0 è ero: = s se δ(s, ) = k > 0, per ipotesi indttia si ha che per ogni tale che δ(s, ) < k, è già entrato in coda. Poiché δ(s, ) <, esiste n cammino < 0,..., i 1, i > da s a, con 0 = s e i =. s 0 (i 1) δ(s, i 1 ) = k 1 e i 1 è nella coda per ipotesi indttia. Qando errà isitata Adj[ i 1 ] errà scoperto e: se è bianco entra in coda non pò essere grigio o nero, altrimenti sarebbe già entrato in coda, perché arrebbe δ(s, ) < k! I. Castelli Visita di n grafo, A.A. 2009/ /44
18 Breadth First Search - Albero BFS Albero BFS L array p definisce n sottografo dei predecessori di G. In particolare, si tratta di n albero, T p : T p = (V p, E p ) V p = { V : p[] NIL} {s} E p = {(p[], ) E : V p {s}} Una olta esegita la ricerca BFS, la segente procedra stampa il cammino minimo da s a 1 PRINT PATH(G, s, ) 2 i f = s 3 then p r i n t s 4 e l s e i f p [ ] = NIL 5 then p r i n t "non esiste n cammino da s a " 6 e l s e PRINT PATH(G, s, p [ ] ) 7 p r i n t I. Castelli Visita di n grafo, A.A. 2009/ /44
19 Depth First search Visita in profondità Dato n grafo G = (V, E) ed n nodo s, detto nodo sorgente, la isita depth first esplora il grafo andando il più possibile in profondità. Dato n nodo appena scoperto, la isita prosege a partire da si soi archi che ancora non sono stati esplorati Qando si sono esplorati ttti gli archi del nodo, si torna al nodo dal qale è stato scoperto, e si esplorano i soi lteriori archi non ancora esplorati (se ce ne sono) Si prosege finchè non engono scoperti ttti i nodi raggingibili da s Se i sono ancora dei nodi non scoperti, no di qesti iene adottato come na noa sorgente, e la isita riprende a partire da esso L algoritmo termina qando ttti i nodi sono stati scoperti I. Castelli Visita di n grafo, A.A. 2009/ /44
20 Depth First Search Per tenere traccia del progresso della isita, anche l algoritmo DFS associa delle flag ai nodi. Di noo, si sppone di colorare i nodi di bianco, grigio o nero. All inizio ttti i nodi sono bianchi e, sccessiamente, possono dientare grigi e, infine, neri. Un nodo iene scoperto la prima olta che iene incontrato drante la isita e, in tale istante, cessa di essere bianco. La distinzione tra nodi grigi e neri è necessaria affinché la isita proceda in profondità. La distinzione è la segente: Bianchi: non ancora scoperti Grigi: sono stati scoperti, ma l esplorazione della loro lista di adiacenza non è ancora terminata. Neri: l esplorazione della loro lista di adiacenza è completata. I. Castelli Visita di n grafo, A.A. 2009/ /44
21 Algoritmo DFS - Strttre dati Le strttre dati sate dall algoritmo sono le segenti: Liste di adiacenza Adj Adj[] è la lista dei nodi adiacenti a. Array color color[] contiene il colore del nodo Array p p[] contiene il predecessore del nodo nella foresta DFS Array d d[] è n timestamp che contiene il momento in ci è stato scoperto. Array f f[] è n timestamp che contiene il momento in ci si è conclsa la isita di, cioè si è finito di esaminare al sa lista di adiacenza Adj[]. I. Castelli Visita di n grafo, A.A. 2009/ /44
22 Algoritmo DFS - Strttre dati Nota: Il nodo è bianco prima di d[] grigio tra d[] e f[] nero dopo f[] Oiamente si ha d[] < f[], V I timestamp sono nmeri interi compresi tra 1 e 2 V, poiché ogni nodo iene scoperto esattamente na olta, e si finisce di esplorarlo esattamente na olta. I. Castelli Visita di n grafo, A.A. 2009/ /44
23 Algoritmo DFS 1 DFS(G, s ) 2 f o r o g n i e r t i c e i n V[G] / i n i z i a l i z z a z i o n e / 3 c o l o r [ ] = WHITE 4 p [ ] = NIL 5 time = 0 6 f o r o g n i e r t i c e i n V[G] 7 i f c o l o r [ ] = WHITE 8 then DFS VISIT ( ) / i s i t a o g n i nodo non s c o p e r t o / 1 DFS VISIT ( ) 2 c o l o r [ ] = GRAY 3 d [ ] = time / tempo d i i n i z i o i s i t a l i s t a d i a d i a c e n z a / 4 time = time f o r o g n i e r t i c e i n Adj [ ] 6 i f c o l o r [ ] = WHITE 7 then p [ ] = 8 DFS VISIT ( ) / i s i t a s b i t o n o d i non s c o p e r t i / 9 c o l o r [ ] = BLACK / f i n i t o d i i s i t a r e i n o d i a d i a c e n t i / 0 f [ ] = time 1 time = time + 1 I. Castelli Visita di n grafo, A.A. 2009/ /44
24 Algoritmo DFS - Esempio Adj x y y z x x y z y x z z I. Castelli Visita di n grafo, A.A. 2009/ /44
25 Algoritmo DFS - Esempio 1/ 1/ 2/ 1/ 2/ 3/ x y z x y z x y z 1/ 2/ 1/ 2/ 1/ 2/ B B 4/ 3/ x y z 4/ 3/ x y z 4/5 3/ x y z 1/ 2/ 1/ 2/7 1/ 2/7 B B F B 4/5 3/6 4/5 3/6 4/5 3/6 x y z x y z x y z I. Castelli Visita di n grafo, A.A. 2009/ /44
26 Algoritmo DFS - Esempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F B F B F B C 4/5 3/6 4/5 3/6 4/5 3/6 x y z x y z x y z 1/8 2/7 9/ 1/8 2/7 9/ 1/8 2/7 9/ F B C F B C F B C 4/5 3/6 10/ x y z 4/5 3/6 10/ x y z B 4/5 3/6 10/11 x y z B 1/8 2/7 9/12 F B C 4/5 3/6 10/11 x y z B I. Castelli Visita di n grafo, A.A. 2009/ /44
27 Foresta DFS Allo stesso modo della ricerca BFS, nella ricerca DFS, n nodo iene scoperto esplorando la lista di adiacenza di n nodo già scoperto. L array p tiene traccia del predecessore di ogni nodo scoperto: p[] = Foresta DFS L array p definisce n sottografo dei predecessori di G. In particolare, si tratta di na foresta, F p : F p = (V, E p ) E p = {(p[], ) : V e p[] NIL} Il sottografo dei predecessori è na foresta depth first, costitita da più alberi depth first. I. Castelli Visita di n grafo, A.A. 2009/ /44
28 Foresta DFS - Classificazione degli archi Gli archi del grafo originario engono classificati in: Tree-edge. Archi della foresta DFS. Forard-edge. Archi in aanti. Archi non appartenenti alla foresta DFS, che anno da n ertice ad n so sccessore nella foresta DFS. Qando engono percorsi drante l algoritmo DFS, collegano de nodi già scoperti. Backard-edge. Archi all indietro. Archi non appartenenti alla foresta DFS, che anno da n ertice ad n so antenato nella foresta DFS. Archi del grafo che, qando engono percorsi drante l algoritmo DFS, collegano de nodi già scoperti. Cross-edge Archi di attraersamento. Ttti gli altri archi. Collegano de nodi che non hanno na relazione di discendenza l no dall altro. I. Castelli Visita di n grafo, A.A. 2009/ /44
29 Foresta DFS p 1/8 9/12 1/8 2/7 9/12 F B C 4/5 3/6 10/11 x y z B x y z NIL NIL y F B 2/7 3/6 4/5 y x C 10/11 z B La strttra degli alberi DFS rispecchia esattamente la strttra delle chiamate ricorsie alla procedra DF S V ISIT : = p[] se e solo se DF S V ISIT () è stata chiamata drante lo scorrimento della lista di adiacenza di. Nota: gli archi scenti ed entranti sllo stesso nodo (self-loop), engono considerati backard-edge. I. Castelli Visita di n grafo, A.A. 2009/ /44
30 Algoritmo DFS - Analisi 1 Nella procedra DF S ci sono de cicli, che engono esegiti Θ( V ) 2 La procedra DF S V ISIT iene richiamata esattamente na olta per ogni nodo V 3 Drante l eseczione di DF S V ISIT (), il ciclo nelle linee 5-8 iene esegito Adj[] olte 4 Poiché Adj[] = Θ( E ) V il costo totale per l eseczione del ciclo è Θ( E ) Il tempo totale di eseczione è Θ( V + E ) I. Castelli Visita di n grafo, A.A. 2009/ /44
31 Algoritmo DFS - Proprietà Teorema delle parentesi In na isita in profondità di n grafo (diretto o non diretto) G = (V, E), per ogni coppia di nodi e, definiamo gli interalli A = [d[], f[]] B = [d[], f[]] Allora, na e na sola delle segenti condizioni è era: 1 A B = 2 L interallo A è interamente inclso nell interallo B, e è n discendente di in n albero DFS 3 L interallo B è interamente inclso nell interallo A, e è n discendente di in n albero DFS I. Castelli Visita di n grafo, A.A. 2009/ /44
32 Algoritmo DFS - Proprietà Dimostrazione 1 Caso 1. d[] < d[]. Ci sono de sottocasi: 1 d[] < f[] iene scoperto prima di Qando si scopre la isita di non è stata completata ( è grigio) Ciò ol dire che è discendente di Poiché è stato scoperto più recentemente di, la isita di dee completarsi prima di tornare a : f[] < f[] QUindi l interallo A = [d[], f[]] è completamente contento in B = [d[], f[]] d[] d[] f[] f[] I. Castelli Visita di n grafo, A.A. 2009/ /44
33 Algoritmo DFS - Proprietà 1 2 d[] > f[] dienta nero prima che enga scoperto Qindi, qando iene scoperto la isita di è già stata completata d[] < f[] e d[] < f[] Qindi gli interalli A = [d[], f[]] e B = [d[], f[]] sono disginti d[] f[] d[] f[] 2 Caso 2. d[] > d[]: è simmetrico, basta scambiare il rolo di e Corollario (consege dal teorema delle parentesi) Un nodo è n discendente di n nodo in n albero della foresta DFS per n grafo (diretto o non diretto) G se e solo se d[] < d[] < f[] < f[] I. Castelli Visita di n grafo, A.A. 2009/ /44
34 Algoritmo DFS - Proprietà 1/8 9/12 F B 2/7 3/6 y C 10/11 z B y x z 4/5 x I. Castelli Visita di n grafo, A.A. 2009/ /44
35 Algoritmo DFS - Un altro esempio y z s t 3/6 2/9 1/10 11/16 B F C B 4/5 C 7/8 C 12/13 C 14/15 x B s 1/10 C z F 2/9 C y 3/6 7/8 C t 11/16 B 12/13 14/15 C y x s z t x 4/ I. Castelli Visita di n grafo, A.A. 2009/ /44
36 Algoritmo DFS - Proprietà Teorema del cammino bianco In na foresta DFS, n nodo è discendente di se e solo se al tempo d[] (in ci la isita scopre ), il ertice è raggingibile da con n cammino contenente esclsiamente nodi bianchi. d[]/ I. Castelli Visita di n grafo, A.A. 2009/ /44
37 Algoritmo DFS - Classificazione degli archi L algoritmo DFS pò essere modificato in modo da effettare na classificazione degli archi. Ogni arco pò essere classificato in fnzione del colore del ertice che ragginge, qando iene percorso per la prima olta: Archi bianchi. Qelli appartenenti a n albero DFS. Archi grigi. Archi backard. Uniscono de nodi grigi drante la isita DFS. Archi neri. Archi forard (se d[] < d[]) oppre crossard (se d[] > d[]). Nota: in n grafo non diretto ci possono essere ambigità perché (, ) e (, ) sono lo stesso arco. In tal caso l arco iene classificato come l arco orientata (, ) oppre (, ), a seconda della direzione in ci iene percorso per la prima olta. I. Castelli Visita di n grafo, A.A. 2009/ /44
38 Algoritmo DFS - Classificazione degli archi Teorema Se G è n grafo non orientato, allora ogni arco è n tree-edge oppre n backard-edge. Dimostrazione. Sia (, ) n arco arbitrario Spponiamo d[] < d[] (senza perdita di generalità) Allora si erifica no di qesti de casi: 1 (, ) iene isitato a partire da, con grigio e bianco. In tal caso è n tree-edge. 2 (, ) iene isitato a partire da, con e entrambi grigi. In tal caso è n backard-edge. I. Castelli Visita di n grafo, A.A. 2009/ /44
39 Algoritmo DFS - Classificazione degli archi Lemma Un grafo diretto è aciclico se e solo se l algoritmo DFS non determina l esistenza di backard-edge B x y z Dimostrazione. 1 =. Se (, ) è n arco all indietro, allora è n antenato di nella foresta DFS. Qindi, esiste n cammino da a in G, e l arco backard (, ) completa il ciclo. 2 =. Si sppone che G abbia n ciclo c. Sia il primo ertice del ciclo ad essere scoperto, e sia (, ) l arco che lo precede nel ciclo. Al tempo d[] ttti i nodi da a sono bianchi ( grigio). Per il teorema dei cammini bianchi sarà n discendente di. Qindi, (, ) è necessariamente n backard-edge. I. Castelli Visita di n grafo, A.A. 2009/ /44
40 Ordinamento topologico L algoritmo DFS pò essere sato per effettare n ordinamento topologoco dei nodi di n grafo diretto aciclico (DAG - Direct Acyclic Graph). Ordinamento topologico Un ordinamento topologico di n DAG G = (V, E) è n ordinamento lineare dei soi ertici tale che, se G contiene n arco (, ), allora compare prima di nell ordinamento. Se il grafo contenesse dei cicli, n ordinamento di qesto tipo non sarebbe possibile. I. Castelli Visita di n grafo, A.A. 2009/ /44
41 Ordinamento topologico I. Castelli Visita di n grafo, A.A. 2009/ /44
42 Ordinamento topologico 1 TOPOLOGICAL SORT(G) 2 Chiama DFS(G) p e r c a l c o l a r e i tempi d i f i n e i s i t a f [ ] 3 p e r o g n i e r t i c e 4 Appena l a i s i t a d i n nodo e finita, inseriscilo 5 in testa a na lista concatenata 6 Restitisci la lista concatenata dei nodi Spponendo che s = 2 e Adj[s] = f[2] > f[1] > f[3] > f[4] Nota: l ordinamento topologico ottento aria a seconda della sorgente scelta, e dall ordine dei nodi nelle liste Adj I. Castelli Visita di n grafo, A.A. 2009/ /44
43 Ordinamento topologico Teorema T OP OLOGICAL SORT (G) prodce n ordinamento topologico di n grafo orientato aciclico G Dimostrazione. È sfficiente dimostrare che per ogni coppia di ertici, V, se esiste n arco (, ), allora f[] < f[] Poiché il grafo è aciclico, non esistono backard-edge (archi grigi). Qindi (, ) pò essere: 1 n arco bianco (tree-edge). In tal caso è bianco e dienta discendente di e, per il teorema delle parentesi, f[] < f[] 2 n arco nero (forard-edge oppre cross-edge). In tal caso è nero e f[] < f[] perché è già dientato nero prima di aer conclso la isita di. I. Castelli Visita di n grafo, A.A. 2009/ /44
44 Ordinamento topologico - Analisi DF S(G) richiede tempo Θ( V + E ) L inserimento di ognno dei V nodi nella lista richiede tempo costante. L ordinamento topologico richiede tempo Θ( V + E ) I. Castelli Visita di n grafo, A.A. 2009/ /44
Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico
Depth-first search Visita in profondità di n grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Dato n grafo G=(V,E) e n specifico ertice s chiamato
DettagliGrafo diretto Università degli Studi di Milano
Grafo diretto Un grafo diretto G è na coppia ordinata (V, E), doe V è l insieme dei ertici {,,,,n} (anche detti nodi). E V V è n insieme di coppie ordinate (,) dette archi diretti 6 V= {,,,4,5,6,7} 7 4
DettagliAppunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia
Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1
DettagliVisita di grafi. Vittorio Maniezzo - Università di Bologna
Visita di grafi Vittorio Manieo - Uniersità di Bologna Liste di adiacena Lista di adiacenadi n ertice : lista che concatena ttti i ertici adiacenti a Il grafo pò essere rappresentato dalle liste di adiacena
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura
DettagliMATEMATICA 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
DettagliSono 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
DettagliAlberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione
Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari
DettagliGrafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it http://www.moreno.marzolla.
Grafi Moreno Marzolla ip. di Informatica Scienza e Ingegneria Università di ologna moreno.marzolla@unibo.it http://www.moreno.marzolla.name/ opyright lberto Montresor, Università di Trento, Italy (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliEsempi. non. orientato. orientato
Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è
DettagliEsercizi 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
DettagliAlgoritmi 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
DettagliSommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità
Visite Grafi Sommario Rappresentazione dei grafi Visita in ampiezza Visita in profondità Ordinamento topologico Visita in ampiezza La visita in ampiezza breadth-first-search (BFS) di un grafo dato un vertice
DettagliVisite in Grafi BFS e DFS
Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati
DettagliChe cosa c è nella lezione. Questa lezione si occupa di teoria dei grafi: la rappresentazione dei grafi. le visite dei grafi
Algoritmi e Programmazione Aanzata - teoria 1/18 Che cosa c è nella lezione Qesta lezione si occpa di teoria dei grafi: la rappresentazione dei grafi le isite dei grafi gli alberi ricoprenti minimi i cammini
DettagliRicerca non informata in uno spazio di stati
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli
DettagliAlgoritmi e Strutture di Dati II 2. Visite di grafi
Algoritmi e Strutture di Dati II 2 Visite di grafi Gli algoritmi di visita di un grafo hanno come obiettivo l esploraione di tutti i nodi e gli archi del grafo. Vi sono due modi principali per esplorare
DettagliSequenziamento 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
DettagliVisite in Grafi BFS e DFS. PDF created with FinePrint pdffactory trial version
Visite in Grafi BFS e DFS Visita di un Grafo 8Obiettivo: 4Visitare una sola volta tutti i nodi del grafo. 4Es.: visitare un porzione del grafo del Web 8Difficoltà : 4Presenza di cicli: Marcare i nodi visitati
DettagliSTRUTTURE NON LINEARI
PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo
Dettagli40 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:
DettagliGrafi: cammini minimi
Algoritmi e Programmaione Aanata EIP Grafi: cammini minimi Flio CORNO - Matteo SONZA REORDA Dip. Atomatica e Informatica Politecnico di Torino Sommario Introdione Algoritmo di Dijkstra Algoritmo di Bellman-Ford.
DettagliAlcuni Preliminari. Prodotto Cartesiano
Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}
DettagliIL PROBLEMA DELLO SHORTEST SPANNING TREE
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
DettagliAlgoritmi e Strutture Dati
Alberi Binari di Ricerca (BST) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Alberi Binari di Ricerca (Binary Search Trees BST)
DettagliI NUMERI NATURALI. Per cominciare impariamo a leggere alcuni numeri naturali e dopo prova a scriverli nella tua lingua:
I NUMERI NATURALI Per cominciare impariamo a leggere alcni nmeri natrali e dopo prova a scriverli nella ta linga: NUMERI ITALIANO LA TUA LINGUA 1 UNO 2 DUE 3 TRE 4 QUATTRO 5 CINQUE 6 SEI 7 SETTE 8 OTTO
DettagliAlberi binari di ricerca
Alberi binari di ricerca Definizione Visita dell albero inorder Ricerca Ricerca minimo, massimo e successore. Inserimento ed eliminazione di un nodo Problema del bilanciamento dell albero Albero binario
DettagliEsercizi di Matematica Finanziaria
Università degli Stdi di Siena Facoltà di Economia Esercizi di Matematica Finanziaria relativi ai capitoli XI-XIII del testo Cladio Pacati a.a. 998 99 c Cladio Pacati ttti i diritti riservati. Il presente
DettagliAlgoritmi e Strutture Dati Grafi. Daniele Loiacono
lgoritmi e Strutture ati Grafi Riferimenti 2 Questo materiale è tratto dalle trasparenze del corso lgoritmi e Strutture ati del prof. lberto Montresor dell Università di Trento. (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliAlgoritmi di Visita di Grafi. Damiano Macedonio mace@unive.it
lgoritmi di Visita di rafi amiano Macedonio mace@unive.it Original work opyright lberto Montresor, Università di Trento, Italy Modifications opyright 00 0, Moreno Marzolla, Università di ologna, Italy
DettagliA 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
DettagliQuando 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
DettagliAlgoritmi e Strutture Dati
Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai
DettagliQuanti centesimi mancano per avere 1 unità se ho 30 centesimi?... E se ne ho 35?... E se ne ho 73?... 0,5 1,4 3,2 7,4 0,7 0,78 1,12 1,06
I NUMERI DECIMALI Calcolo rapido Rispondi alle segenti domande. Qanti decimi occorrono per fare 1 nità?... E mezza nità?... Qanti decimi mancano per avere 1 nità intera se ho 7 decimi?... E se ne ho 6?...
DettagliSistemi Interconnessi
Corso di Fondamenti di Atomatica Università di Roma La Sapienza Sistemi Interconnessi L. Lanari Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Roma, Ital Ultima modifica Ma 29,
DettagliAlgoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II
Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II Classificazione digli archi Sia G la foresta DF generata da DFS sul grafo G. Arco d albero: gli
DettagliTSP 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
DettagliIntroduzione. Algoritmi Link-State. Principi. Adiacenze OSPF (2) Adiacenze OSPF (1) Open Shortest Path First Protocol (OSPF)
Introdzione Open Shortest Path First Protocol (OSPF) Svilppo inizia nel 987 OSPF Working Grop (parte di IETF) OSPFv2 emanato nel 99 OSPFv2 aggiornato nel RFC 278 Principi OSPF è n protocollo di roting
DettagliAlberi auto-aggiustanti
Alberi auto-aggiustanti Dispensa didattica per il corso di Algoritmi e Strutture Dati a.a. 2007/2008 ver. 1.3 Ing. Claudio Mazzariello, Prof. Carlo Sansone 27 Maggio 2008 A differenza di altre possibili
DettagliLEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0
LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi
DettagliGrafi: ordinamento topologico
.. Grafi: ordinamento topologico Che cosa e e come si calcola Che cosa e un ordinamento topologico F. Damiani - Alg. & Lab. 04/05 Una definizione di ordinamento topologico Definizione. Funzione σ: V {1,
Dettagli1. 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
Dettagli3 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
DettagliAlgoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità
DettagliMetodi 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
DettagliRicerca 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
DettagliEsercitazione 7. Grafi. Rappresentazione e algoritmi di visita
Esercitazione 7 Grafi Rappresentazione e algoritmi di visita Grafo G = (V,E) non orientato 1 1 G = (V,E) orientato 6 Rappresentazione Grafo G = (V,E) metodi standard per la rappresentazione Liste di adiacenza
DettagliPlate Locator Riconoscimento Automatico di Targhe
Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa
DettagliNote 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
DettagliDimensione 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
DettagliStruttura elettronica delle molecole. Teoria quantistica del legame chimico
Strttra elettronica delle molecole. Teoria qantistica del legame chimico Lo ione idrogeno molecolare H 2 + Eq. Schroedinger singolo elettrone La fnzione d onda φ b soddisfa na eqazione analoga. Gli atovalori
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliParte 2. Determinante e matrice inversa
Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice
DettagliTSP 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
Dettagliuscente entrante adiacente Figure B.2 (a) (b) (c) incident from leaves incident to enters incident on adjacent degree isolated
Grafi Si dice grafo un insieme di nodi legati "a due a due" da archi direzionati (o no) I grafi sono strutture dati di fondamentale importanza in informatica Vi sono centinaia di problemi computazionali
DettagliMinimo 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
DettagliIl Metodo Branch and Bound
Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale
Dettagli1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
Dettaglib 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
DettagliTeoria dei grafi: ricerca di percorsi a minimo costo Ing. Valerio Lacagnina
Metodi diide-et-impera, programmazione dinamica e algoritmi greed La programmazione dinamica, come il metodo diide-et-impera, risole n problema mettendo insieme le solzioni di n certo nmero di sottoproblemi.
DettagliIntelligenza Artificiale. Metodi di ricerca
Intelligenza Artificiale Metodi di ricerca Marco Piastra Metodi di ricerca - 1 Ricerca nello spazio degli stati (disegno di J.C. Latombe) I nodi rappresentano uno stato Gli archi (orientati) una transizione
DettagliRicerca Operativa A.A. 2007/2008
Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del
DettagliEsercizi 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
DettagliAnalisi di una Rete Sociale
2012 Analisi di una Rete Sociale Alessandro Lovati Matricola 626053 Comunicazione Digitale ord. F47 26/01/2012 Indice : 1. Obiettivo del progetto 2. Realizzazione 3. Analisi dei risultati 3.1. Numero di
DettagliGrafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)}
Grafi Grafo orientato (o diretto) = (V,E) V = nodi o vertici - E = archi (edges) V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)} archi uscenti da un nodo x: (x, y) archi incidenti su un nodo
Dettagli2.3.4 Pianificazione di progetti
.. Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i. stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
DettagliParte 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à:
DettagliProgetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij
DettagliPROVA 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
DettagliAlgoritmi. 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é
DettagliMacchine sequenziali
Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di
Dettagli4. Operazioni elementari per righe e colonne
4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:
DettagliCUTPOINTS 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
DettagliLABORATORIO DI ALGORITMI E STRUTTURE DATI A-L. Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso
LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso Grafi Un grafo è una struttura definita come un insieme di nodi (o vertici) che
DettagliIntroduzione Ordini parziali e Reticoli Punti fissi
Introduzione Ordini parziali e Reticoli Punti fissi By Giulia Costantini (819048) & Giuseppe Maggiore (819050) Table of Contents ORDINE PARZIALE... 3 Insieme parzialmente ordinato... 3 Diagramma di Hasse...
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliControlli automatici
Controlli atomatici Sistemi a tempo discreto Prof. Paolo Rocco (paolo.rocco@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informaione e Bioingegneria Introdione Un sistema dinamico a tempo
DettagliTecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima
Project Management Tecniche Reticolari Metodologie per risolvere problemi di pianificazione di progetti Progetto insieme di attività A i di durata d i, (=,...,n) insieme di relazioni di precedenza tra
DettagliGrafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
DettagliOperazioni di Comunicazione di base. Cap.4
Operazioni di Comunicazione di base Cap.4 1 Introduzione: operazioni di comunicazioni collettive Gli scambi collettivi coinvolgono diversi processori Sono usati massicciamente negli algoritmi paralleli
DettagliIl principio di induzione e i numeri naturali.
Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito
DettagliGrafi: visita in profondita
.. rafi: visita in profondita Una presentazione alternativa (con ulteriori dettagli) onsideriamo la versione concreta dell algoritmo di visita generica con costruzione del sottografo dei predecessori:
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliSommario 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
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliIL SISTEMA INFORMATIVO
LEZIONE 15 DAL MODELLO DELLE CONDIZIONI DI EQUILIBRIO AL MODELLO CONTABILE RIPRESA DEL CONCETTO DI SISTEMA AZIENDALE = COMPLESSO DI ELEMENTI MATERIALI E NO CHE DIPENDONO RECIPROCAMENTE GLI UNI DAGLI ALTRI
Dettaglirisulta (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
Dettagliexecute reject delay
Scheduler Lo scheduler stabilisce l ordine di esecuzione delle operazioni. Le azioni che svolge sono: execute: l operazione può essere eseguita immediatamente, per cui viene passata al data manager reject:
DettagliMacchine di Turing. a n B B. Controllo Finito
Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il
DettagliMacchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007
Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
DettagliA i è un aperto in E. i=1
Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque
Dettagli24 - Strutture simmetriche ed antisimmetriche
24 - Strutture simmetriche ed antisimmetriche ü [.a. 2011-2012 : ultima revisione 1 maggio 2012] In questo capitolo si studiano strutture piane che presentano proprieta' di simmetria ed antisimmetria sia
DettagliCPM - 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
DettagliCalcolatori Elettronici
Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE
DettagliRicorsione. Rosario Culmone. - p. 1/13
Ricorsione Rosario Culmone - p. 1/13 Induzione e Ricorsione Spesso utilizzeremo le definizioni induttive. Sono forme di definizione compatte che descrivono un numero infinito di elementi. I contesti di
DettagliMacchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine
DettagliRicorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliAlgoritmi e Strutture Dati
Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento
Dettagli