Algoritmi di visita di un grafo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi di visita di un grafo"

Transcript

1 Algoimi di iia di n gafo Ilaia Caelli caelli@dii.nii.i Unieià degli Sdi di Siena Dipaimeno di Ingegneia dell Infomazione A.A. 2009/2010 I. Caelli Viia di n gafo, A.A. 2009/2010 1/44

2 Gafi Viia in ampiezza Viia in pofondià Odinameno opologico I. Caelli Viia di n gafo, A.A. 2009/2010 2/44

3 Scopo e ipi di iia di n gafo Viia Una iia (o aaeameno) di n gafo G pemee di eaminae i nodi e gli achi di G in modo iemaico. Eiono aie ipologie di iia, con diee popieà. In paicolae: 1 Viia in ampiezza (FS = eadh Fi Seach) 2 Viia in pofondià (DFS = Deph Fi Seach) I. Caelli Viia di n gafo, A.A. 2009/2010 3/44

4 eadh Fi Seach Viia in ampiezza Dao n gafo G = (V, E) e n nodo chiamao ogene, la iia in ampiezza eploa gli achi di G pe copie i i nodi aggingibili a paie da La iia FS calcola la dianza (nmeo minimo di achi) a e ogni eice da eo aggingibile La iia conene di definie n albeo FS, con adice, conenene i i nodi aggingibili Nell albeo FS il cammino da a n nodo coiponde a n cammino minimo (conenene il nmeo minimo di achi) La iia FS i pò applicae ia ai gafi diei che a qelli non diei I. Caelli Viia di n gafo, A.A. 2009/2010 4/44

5 eadh Fi Seach La iia in ampiezza eploa i nodi del gafo paendo da qelli a dianza 1 da. Poi iia qelli a dianza 2, e coì ia. L algoimo iia i i eici ad n liello k pima di iiae qelli a liello k + 1. dianza = 3 dianza = 2 dianza = 1 h i Si genea n albeo Si iiano nodi ia ia più diani dalla ogene I. Caelli Viia di n gafo, A.A. 2009/2010 5/44

6 eadh Fi Seach Pe enee accia del pogeo della iia, l algoimo FS aocia delle flag ai nodi. Spponiamo di poe coloae i nodi di bianco, gigio o neo. All inizio i i nodi ono bianchi e, cceiamene, poono dienae gigi e, ine, nei. Un nodo iene copeo la pima ola che iene inconao dane la iia e, in ale iane, cea di eee bianco. La diinzione a nodi gigi e nei eie affinché la iia poceda in ampiezza. In oanza, la diinzione è la egene: ianchi: non ancoa copei Gigi: appena copei; ono la foniea a nodi copei e non. I nodi adiaceni ad n nodo gigio poono eee bianchi. Nei: copei. Ti i nodi adiaceni ad n nodo neo ono ai copei. I. Caelli Viia di n gafo, A.A. 2009/2010 6/44

7 Algoimo FS - Se dai Le e dai ae dall algoimo ono le egeni: Lie di adiacenza Adj Adj[] è la lia dei nodi adiaceni a. Aa colo colo[] coniene il coloe del nodo Aa d d[] coniene la dianza di dal nodo ogene. Viene inizializzaa a inio. Aa p p[] coniene il pedeceoe del nodo nell albeo FS Coda Q coniene i nodi gigi I. Caelli Viia di n gafo, A.A. 2009/2010 7/44

8 Algoimo FS 1 FS(G, ) 2 f o o g n i nodo 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 [ ] = WHITE 4 d [ ] = i n f i n i 5 p [ ] = 6 7 c o l o [ ] = GRAY / i i o l a o g e n e / 8 d [ ] = 0 9 p [ ] = 0 Q = { } 1 h i l e Q!= emp 2 = head [Q] / nodo da e p a n d e e / 3 f o o g n i nodo i n Adj [ ] / i i o i n o d i a d i a c e n i / 4 i f c o l o [ ] = WHITE / e e b i a n c o i e n e c o p e o / 5 hen c o l o [ ] = GRAY 6 d [ ] = d [ ] p [ ] = 8 ENQUEUE(Q, ) / i n e i o n e l l a coda Q / 9 DEQUEUE(Q) / o l o d a l l a coda : e g i a a o e pano / 0 c o l o [ ] = LACK I. Caelli Viia di n gafo, A.A. 2009/2010 8/44

9 Algoimo FS - Eempio d p Adj Q = {} I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

10 Algoimo FS - Eempio d p Adj 0 0 Q = {} I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

11 Algoimo FS - Eempio d p Adj Q = {, } I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

12 Algoimo FS - Eempio d p Adj Q = {,, } I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

13 Algoimo FS - Eempio d p Adj Q = {,, } I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

14 Algoimo FS - Eempio Adj p d Q = {,, } I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

15 Algoimo FS - Eempio Adj p d Q = {,, } I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

16 Algoimo FS - Eempio Adj p d Q = {, } 1 2 I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

17 Algoimo FS - Eempio Adj p d Q = {} 3 2 I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

18 Algoimo FS - Eempio Adj p d Q = {} 2 I. Caelli Viia di n gafo, A.A. 2009/2010 9/44

19 Algoimo FS - Albeo FS La iia FS conene di definie n albeo FS. all inizio coniene olo qando n nodo bianco iene copeo, coendo la lia di adiacenza di n nodo, alloa l aco (, ) e eo engono aggini all albeo p() = p() = p() = p() = p() = p() = p() = p() = I. Caelli Viia di n gafo, A.A. 2009/ /44

20 eadh Fi Seach - Analii Analii del empo di eeczione n gafo G = (V, E) Il empo neceaio pe l inizializzazione è O( V ) Ogni nodo aggingibile iene iiao na ola Le opeazioni di ineimeno e imozione dalla coda coano O(1), qindi il empo oale neceaio pe le opeazioni lla coda è O( V ) La lia di adiacenza di n nodo iene coa na ola ola, qindi in oale il empo è O( E ) Il empo oale ichieo dall algoimo FS i oiene ommando il empo pe l inizializzazione e qello neceaio pe iiae i nodi: O( V + E ) I. Caelli Viia di n gafo, A.A. 2009/ /44

21 eadh Fi Seach - Cammini minimi Dianza minima Si definice dianza minima δ(, ) da a, il nmeo minimo di achi di n cammino dal nodo al nodo δ(, ) 0 δ(, ) = e non è aggingibile paendo da Cammino minimo Un cammino di lnghezza δ(, ) da a i dice cammino minimo. Noa: poono eiee più cammini minimi a de nodi FS La iia FS calcola la dianza minima δ(, ) di ogni nodo aggingibile da Nell albeo FS il cammino da ad n nodo è n cammino minimo I. Caelli Viia di n gafo, A.A. 2009/ /44

22 eadh Fi Seach - Popieà Lemma Dao n gafo G = (V, E) dieo o non dieo e n nodo V qaliai, alloa pe ogni aco (, ) E i ha δ(, ) δ(, ) + 1 Dimoazione Se non è aggingibile da, alloa δ(, ) = Se è aggingibile da, alloa anche è aggingibile. Il cammino minimo da a non pò eee più lngo del cammino minimo da a, più l aco (, ) I. Caelli Viia di n gafo, A.A. 2009/ /44

23 eadh Fi Seach - Popieà Lemma Sia G = (V, E) n gafo dieo o non dieo e V n nodo ogene qaliai, a paie dal qale è ao eegio l algoimo FS. Alloa pe ogni nodo V i ha d[] δ(, ) Dimoazione Pe indzione: d[] = 0 = δ(, ) e, pe qaliai nodo V {}, ale d[] = δ(, ) Dao n nodo copeo dane l eploazione di n nodo, pe ipoei india ale d[] δ(, ). d[] }{{} = d[] + 1 }{{} algoimo ipoei india δ(, ) + 1 δ(, ) }{{} lemma pecedene I. Caelli Viia di n gafo, A.A. 2009/ /44

24 eadh Fi Seach - Popieà Lemma Spponendo che dane l eeczione della iceca FS n gafo G = (V, E), la coda Q conenga i nodi < 1,..., >, doe 1 = head[q] e = ail[q], alloa d[ ] d[ 1 ] + 1 e d[ i ] d[ i+1 ], i = 1,..., 1 La diffeenza a le dianze da dei nodi peeni nella coda in n ceo momeno è al più 1 Un nodo iene ineio nella coda (dienando +1 ) qando il nodo in ea, 1, iene eploao d[ +1 ] = d[] = d[ 1 ] + 1 d[ ] d[ 1 ] + 1 = d[] = d[ +1 ] I. Caelli Viia di n gafo, A.A. 2009/ /44

25 eadh Fi Seach - Popieà Popoizione I nodi che enano nella coda Q ono i e oli i nodi ali che δ(, ) <, cioè i i nodi aggingibili da Dimoazione 1 ena in Q = δ(, ) < Si pocede pe indzione ll i-eima ieazione dell opeazione ENQUEUE e i = 0, olo è nella coda: δ(, ) = 0 < e i > 0, pponiamo che l ipoei india ia ea pe ogni ieazione k < i. Al pao i i iia Adj[], con = head[q], e i nodi bianchi engono ineii in Q. Pe ipoei india δ(, ) <. Poiché eie l aco (, ): δ(, ) δ(, ) + 1 < I. Caelli Viia di n gafo, A.A. 2009/ /44

26 eadh Fi Seach - Popieà 2 ena in Q = δ(, ) < Si pocede pe indzione δ(, ) = k e δ(, ) = 0 è eo: = e δ(, ) = k > 0, pe ipoei india i ha che pe ogni ale che δ(, ) < k, è già enao in coda. Poiché δ(, ) <, eie n cammino < 0,..., i1, i > da a, con 0 = e i =. 0 (i1) δ(, i1 ) = k 1 e i1 è nella coda pe ipoei india. Qando eà iiaa Adj[ i1 ] eà copeo e: e è bianco ena in coda non pò eee gigio o neo, alimeni aebbe già enao in coda, peché aebbe δ(, ) < k! I. Caelli Viia di n gafo, A.A. 2009/ /44

27 eadh Fi Seach - Albeo FS Albeo FS L aa p definice n oogafo dei pedeceoi di G. In paicolae, i aa di n albeo, T p : T p = (V p, E p ) V p = { V : p[] } {} E p = {(p[], ) E : V p {}} Una ola eegia la iceca FS, la egene poceda ampa il cammino minimo da a 1 PRINTPATH(G,, ) 2 i f = 3 hen p i n 4 e l e i f p [ ] = 5 hen p i n "non eie n cammino da a " 6 e l e PRINTPATH(G,, p [ ] ) 7 p i n I. Caelli Viia di n gafo, A.A. 2009/ /44

28 Deph Fi each Viia in pofondià Dao n gafo G = (V, E) ed n nodo, deo nodo ogene, la iia deph fi eploa il gafo andando il più poibile in pofondià. Dao n nodo appena copeo, la iia poege a paie da i oi achi che ancoa non ono ai eploai Qando i ono eploai i gli achi del nodo, i ona al nodo dal qale è ao copeo, e i eploano i oi leioi achi non ancoa eploai (e ce ne ono) Si poege finchè non engono copei i i nodi aggingibili da Se i ono ancoa dei nodi non copei, no di qei iene adoao come na noa ogene, e la iia ipende a paie da eo L algoimo emina qando i i nodi ono ai copei I. Caelli Viia di n gafo, A.A. 2009/ /44

29 Deph Fi Seach Pe enee accia del pogeo della iia, anche l algoimo DFS aocia delle flag ai nodi. Di noo, i ppone di coloae i nodi di bianco, gigio o neo. All inizio i i nodi ono bianchi e, cceiamene, poono dienae gigi e, ine, nei. Un nodo iene copeo la pima ola che iene inconao dane la iia e, in ale iane, cea di eee bianco. La diinzione a nodi gigi e nei è neceaia affinché la iia poceda in pofondià. La diinzione è la egene: ianchi: non ancoa copei Gigi: ono ai copei, ma l eploazione della loo lia di adiacenza non è ancoa eminaa. Nei: l eploazione della loo lia di adiacenza è compleaa. I. Caelli Viia di n gafo, A.A. 2009/ /44

30 Algoimo DFS - Se dai Le e dai ae dall algoimo ono le egeni: Lie di adiacenza Adj Adj[] è la lia dei nodi adiaceni a. Aa colo colo[] coniene il coloe del nodo Aa p p[] coniene il pedeceoe del nodo nella foea DFS Aa d d[] è n imeamp che coniene il momeno in ci è ao copeo. Aa f f[] è n imeamp che coniene il momeno in ci i è concla la iia di, cioè i è finio di eaminae al a lia di adiacenza Adj[]. I. Caelli Viia di n gafo, A.A. 2009/ /44

31 Algoimo DFS - Se dai Noa: Il nodo è bianco pima di d[] gigio a d[] e f[] neo dopo f[] Oiamene i ha d[] < f[], V I imeamp ono nmei inei compei a 1 e 2 V, poiché ogni nodo iene copeo eaamene na ola, e i finice di eploalo eaamene na ola. I. Caelli Viia di n gafo, A.A. 2009/ /44

32 Algoimo DFS 1 DFS(G, ) 2 f o o g n i e 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 [ ] = WHITE 4 p [ ] = 5 ime = 0 6 f o o g n i e i c e i n V[G] 7 i f c o l o [ ] = WHITE 8 hen DFSVISIT ( ) / i i a o g n i nodo non c o p e o / 1 DFSVISIT ( ) 2 c o l o [ ] = GRAY 3 d [ ] = ime / empo d i i n i z i o i i a l i a d i a d i a c e n z a / 4 ime = ime f o o g n i e i c e i n Adj [ ] 6 i f c o l o [ ] = WHITE 7 hen p [ ] = 8 DFSVISIT ( ) / i i a b i o n o d i non c o p e i / 9 c o l o [ ] = LACK / f i n i o d i i i a e i n o d i a d i a c e n i / 0 f [ ] = ime 1 ime = ime + 1 I. Caelli Viia di n gafo, A.A. 2009/ /44

33 Algoimo DFS - Eempio Adj z z z z I. Caelli Viia di n gafo, A.A. 2009/ /44

34 Algoimo DFS - Eempio 1/ z I. Caelli Viia di n gafo, A.A. 2009/ /44

35 Algoimo DFS - Eempio 1/ 1/ 2/ z z I. Caelli Viia di n gafo, A.A. 2009/ /44

36 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z I. Caelli Viia di n gafo, A.A. 2009/ /44

37 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 4/ 3/ z I. Caelli Viia di n gafo, A.A. 2009/ /44

38 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 1/ 2/ 4/ 3/ z 4/ 3/ z I. Caelli Viia di n gafo, A.A. 2009/ /44

39 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 1/ 2/ 1/ 2/ 4/ 3/ z 4/ 3/ z 4/5 3/ z I. Caelli Viia di n gafo, A.A. 2009/ /44

40 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 1/ 2/ 1/ 2/ 4/ 3/ z 4/ 3/ z 4/5 3/ z 1/ 2/ 4/5 3/6 z I. Caelli Viia di n gafo, A.A. 2009/ /44

41 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 1/ 2/ 1/ 2/ 4/ 3/ z 4/ 3/ z 4/5 3/ z 1/ 2/ 1/ 2/7 4/5 3/6 4/5 3/6 z z I. Caelli Viia di n gafo, A.A. 2009/ /44

42 Algoimo DFS - Eempio 1/ 1/ 2/ 1/ 2/ 3/ z z z 1/ 2/ 1/ 2/ 1/ 2/ 4/ 3/ z 4/ 3/ z 4/5 3/ z 1/ 2/ 1/ 2/7 1/ 2/7 F 4/5 3/6 4/5 3/6 4/5 3/6 z z z I. Caelli Viia di n gafo, A.A. 2009/ /44

43 Algoimo DFS - Eempio 1/8 F 2/7 4/5 3/6 z I. Caelli Viia di n gafo, A.A. 2009/ /44

44 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ F F 4/5 3/6 z 4/5 3/6 z I. Caelli Viia di n gafo, A.A. 2009/ /44

45 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F F F C 4/5 3/6 z 4/5 3/6 z 4/5 3/6 z I. Caelli Viia di n gafo, A.A. 2009/ /44

46 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F F F C 4/5 3/6 z 1/8 2/7 9/ F C 4/5 3/6 10/ z 4/5 3/6 z 4/5 3/6 z I. Caelli Viia di n gafo, A.A. 2009/ /44

47 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F F F C 4/5 3/6 z 1/8 2/7 9/ F C 4/5 3/6 z 1/8 2/7 9/ F C 4/5 3/6 z 4/5 3/6 10/ z 4/5 3/6 10/ z I. Caelli Viia di n gafo, A.A. 2009/ /44

48 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F F F C 4/5 3/6 4/5 3/6 4/5 3/6 z z z 1/8 2/7 9/ 1/8 2/7 9/ 1/8 2/7 9/ F C F C F C 4/5 3/6 10/ z 4/5 3/6 10/ z 4/5 3/6 10/11 z I. Caelli Viia di n gafo, A.A. 2009/ /44

49 Algoimo DFS - Eempio 1/8 2/7 1/8 2/7 9/ 1/8 2/7 9/ F F F C 4/5 3/6 4/5 3/6 4/5 3/6 z z z 1/8 2/7 9/ 1/8 2/7 9/ 1/8 2/7 9/ F C F C F C 4/5 3/6 10/ z 4/5 3/6 10/ z 4/5 3/6 10/11 z 1/8 2/7 9/12 F C 4/5 3/6 10/11 z I. Caelli Viia di n gafo, A.A. 2009/ /44

50 Foea DFS Allo eo modo della iceca FS, nella iceca DFS, n nodo iene copeo eploando la lia di adiacenza di n nodo già copeo. L aa p iene accia del pedeceoe di ogni nodo copeo: p[] = Foea DFS L aa p definice n oogafo dei pedeceoi di G. In paicolae, i aa di na foea, F p : F p = (V, E p ) E p = {(p[], ) : V e p[] } Il oogafo dei pedeceoi è na foea deph fi, coiia da più albei deph fi. I. Caelli Viia di n gafo, A.A. 2009/ /44

51 Foea DFS - Claificazione degli achi Gli achi del gafo oiginaio engono claificai in: Tee-edge. Achi della foea DFS. Foad-edge. Achi in aani. Achi non appaeneni alla foea DFS, che anno da n eice ad n o cceoe nella foea DFS. Qando engono pecoi dane l algoimo DFS, collegano de nodi già copei. ackad-edge. Achi all indieo. Achi non appaeneni alla foea DFS, che anno da n eice ad n o anenao nella foea DFS. Achi del gafo che, qando engono pecoi dane l algoimo DFS, collegano de nodi già copei. Co-edge Achi di aaeameno. Ti gli ali achi. Collegano de nodi che non hanno na elazione di dicendenza l no dall alo. I. Caelli Viia di n gafo, A.A. 2009/ /44

52 Foea DFS p 1/8 9/12 1/8 2/7 9/12 F C 4/5 3/6 10/11 z z F 2/7 3/6 4/5 C 10/11 z La a degli albei DFS ipecchia eaamene la a delle chiamae icoie alla poceda DF S V ISIT : = p[] e e olo e DF S V ISIT () è aa chiamaa dane lo coimeno della lia di adiacenza di. Noa: gli achi ceni ed enani llo eo nodo (elf-loop), engono conideai backad-edge. I. Caelli Viia di n gafo, A.A. 2009/ /44

53 Algoimo DFS - Analii 1 Nella poceda DF S ci ono de cicli, che engono eegii Θ( V ) 2 La poceda DF S V ISIT iene ichiamaa eaamene na ola pe ogni nodo V 3 Dane l eeczione di DF S V ISIT (), il ciclo nelle linee 5-8 iene eegio Adj[] ole 4 Poiché Adj[] = Θ( E ) V il coo oale pe l eeczione del ciclo è Θ( E ) Il empo oale di eeczione è Θ( V + E ) I. Caelli Viia di n gafo, A.A. 2009/ /44

54 Algoimo DFS - Popieà Teoema delle paenei In na iia in pofondià di n gafo (dieo o non dieo) G = (V, E), pe ogni coppia di nodi e, definiamo gli inealli A = [d[], f[]] = [d[], f[]] Alloa, na e na ola delle egeni condizioni è ea: 1 A = 2 L ineallo A è ineamene inclo nell ineallo, e è n dicendene di in n albeo DFS 3 L ineallo è ineamene inclo nell ineallo A, e è n dicendene di in n albeo DFS I. Caelli Viia di n gafo, A.A. 2009/ /44

55 Algoimo DFS - Popieà Dimoazione 1 Cao 1. d[] < d[]. Ci ono de oocai: 1 d[] < f[] iene copeo pima di Qando i cope la iia di non è aa compleaa ( è gigio) Ciò ol die che è dicendene di Poiché è ao copeo più ecenemene di, la iia di dee compleai pima di onae a : f[] < f[] QUindi l ineallo A = [d[], f[]] è compleamene coneno in = [d[], f[]] d[] d[] f[] f[] I. Caelli Viia di n gafo, A.A. 2009/ /44

56 Algoimo DFS - Popieà 1 2 d[] > f[] diena neo pima che enga copeo Qindi, qando iene copeo la iia di è già aa compleaa d[] < f[] e d[] < f[] Qindi gli inealli A = [d[], f[]] e = [d[], f[]] ono digini d[] f[] d[] f[] 2 Cao 2. d[] > d[]: è immeico, baa cambiae il olo di e I. Caelli Viia di n gafo, A.A. 2009/ /44

57 Algoimo DFS - Popieà 1 2 d[] > f[] diena neo pima che enga copeo Qindi, qando iene copeo la iia di è già aa compleaa d[] < f[] e d[] < f[] Qindi gli inealli A = [d[], f[]] e = [d[], f[]] ono digini d[] f[] d[] f[] 2 Cao 2. d[] > d[]: è immeico, baa cambiae il olo di e Coollaio (conege dal eoema delle paenei) Un nodo è n dicendene di n nodo in n albeo della foea DFS pe n gafo (dieo o non dieo) G e e olo e d[] < d[] < f[] < f[] I. Caelli Viia di n gafo, A.A. 2009/ /44

58 Algoimo DFS - Popieà 1/8 9/12 F 2/7 3/6 C 10/11 z z 4/ I. Caelli Viia di n gafo, A.A. 2009/ /44

59 Algoimo DFS - Un alo eempio z 3/6 2/9 1/10 11/16 F C 4/5 C 7/8 C 12/13 C 14/15 1/10 C z F 2/9 C 3/6 7/8 C 11/16 12/13 14/15 C z 4/ I. Caelli Viia di n gafo, A.A. 2009/ /44

60 Algoimo DFS - Popieà Teoema del cammino bianco In na foea DFS, n nodo è dicendene di e e olo e al empo d[] (in ci la iia cope ), il eice è aggingibile da con n cammino conenene ecliamene nodi bianchi. d[]/ I. Caelli Viia di n gafo, A.A. 2009/ /44

61 Algoimo DFS - Claificazione degli achi L algoimo DFS pò eee modificao in modo da effeae na claificazione degli achi. Ogni aco pò eee claificao in fnzione del coloe del eice che agginge, qando iene pecoo pe la pima ola: Achi bianchi. Qelli appaeneni a n albeo DFS. Achi gigi. Achi backad. Unicono de nodi gigi dane la iia DFS. Achi nei. Achi foad (e d[] < d[]) oppe coad (e d[] > d[]). Noa: in n gafo non dieo ci poono eee ambigià peché (, ) e (, ) ono lo eo aco. In al cao l aco iene claificao come l aco oienaa (, ) oppe (, ), a econda della diezione in ci iene pecoo pe la pima ola. I. Caelli Viia di n gafo, A.A. 2009/ /44

62 Algoimo DFS - Claificazione degli achi Teoema Se G è n gafo non oienao, alloa ogni aco è n ee-edge oppe n backad-edge. Dimoazione. Sia (, ) n aco abiaio Spponiamo d[] < d[] (enza pedia di genealià) Alloa i eifica no di qei de cai: 1 (, ) iene iiao a paie da, con gigio e bianco. In al cao è n ee-edge. 2 (, ) iene iiao a paie da, con e enambi gigi. In al cao è n backad-edge. I. Caelli Viia di n gafo, A.A. 2009/ /44

63 Algoimo DFS - Claificazione degli achi Lemma Un gafo dieo è aciclico e e olo e l algoimo DFS non deemina l eienza di backad-edge z Dimoazione. 1 =. Se (, ) è n aco all indieo, alloa è n anenao di nella foea DFS. Qindi, eie n cammino da a in G, e l aco backad (, ) complea il ciclo. 2 =. Si ppone che G abbia n ciclo c. Sia il pimo eice del ciclo ad eee copeo, e ia (, ) l aco che lo pecede nel ciclo. Al empo d[] i i nodi da a ono bianchi ( gigio). Pe il eoema dei cammini bianchi aà n dicendene di. Qindi, (, ) è neceaiamene n backad-edge. I. Caelli Viia di n gafo, A.A. 2009/ /44

64 Odinameno opologico L algoimo DFS pò eee ao pe effeae n odinameno opologoco dei nodi di n gafo dieo aciclico (DAG - Diec Acclic Gaph). Odinameno opologico Un odinameno opologico di n DAG G = (V, E) è n odinameno lineae dei oi eici ale che, e G coniene n aco (, ), alloa compae pima di nell odinameno. Se il gafo conenee dei cicli, n odinameno di qeo ipo non aebbe poibile. I. Caelli Viia di n gafo, A.A. 2009/ /44

65 Odinameno opologico I. Caelli Viia di n gafo, A.A. 2009/ /44

66 Odinameno opologico 1 TOPOLOGICALSORT(G) 2 Chiama DFS(G) p e c a l c o l a e i empi d i f i n e i i a f [ ] 3 p e o g n i e i c e 4 Appena l a i i a d i n nodo e finia, ineicilo 5 in ea a na lia concaenaa 6 Reiici la lia concaenaa dei nodi Spponendo che = 2 e Adj[] = f[2] > f[1] > f[3] > f[4] Noa: l odinameno opologico oeno aia a econda della ogene cela, e dall odine dei nodi nelle lie Adj I. Caelli Viia di n gafo, A.A. 2009/ /44

67 Odinameno opologico Teoema T OP OLOGICAL SORT (G) podce n odinameno opologico di n gafo oienao aciclico G Dimoazione. È fficiene dimoae che pe ogni coppia di eici, V, e eie n aco (, ), alloa f[] < f[] Poiché il gafo è aciclico, non eiono backad-edge (achi gigi). Qindi (, ) pò eee: 1 n aco bianco (ee-edge). In al cao è bianco e diena dicendene di e, pe il eoema delle paenei, f[] < f[] 2 n aco neo (foad-edge oppe co-edge). In al cao è neo e f[] < f[] peché è già dienao neo pima di ae conclo la iia di. I. Caelli Viia di n gafo, A.A. 2009/ /44

68 Odinameno opologico - Analii DF S(G) ichiede empo Θ( V + E ) L ineimeno di ognno dei V nodi nella lia ichiede empo coane. L odinameno opologico ichiede empo Θ( V + E ) I. Caelli Viia di n gafo, A.A. 2009/ /44

3. La matrice dei dati e le analisi preliminari 3.1 Introduzione

3. La matrice dei dati e le analisi preliminari 3.1 Introduzione 3. L mtice dei dti e le nlii pelimini 3. Intoduzione Pe elizze un nlii ttitic concenente fenomeni ziendli, o di qulii lt ntu, non bt ccogliee dti, biogn nche ognizzli in modo ppopito. Si che i dti poengno

Dettagli

CHAPTER 1 CINEMATICA. 1.1. Moto Rettilineo

CHAPTER 1 CINEMATICA. 1.1. Moto Rettilineo ESERCIZI DI FISICA CHAPTER 1 CINEMATICA 1.1. Moto Rettilineo Velocità media: vettoriale e calare. Exercie 1. Carl Lewi ha coro i 100m piani in circa 10, e Bill Rodger ha vinto la maratona (circa 4km)

Dettagli

Problema 1: Una collisione tra meteoriti

Problema 1: Una collisione tra meteoriti Problema : Una colliione ra meeorii Problemi di imulazione della econda prova di maemaica Eami di ao liceo cienifico 5 febbraio 05 Lo udene deve volgere un olo problema a ua cela Tempo maimo aegnao alla

Dettagli

durante lo spostamento infinitesimo dr la quantità data dal prodotto scalare F dr

durante lo spostamento infinitesimo dr la quantità data dal prodotto scalare F dr 4. Lavoo ed enegia Definizione di lavoo di una foza Si considea un copo di massa m in moto lungo una ceta taiettoia. Si definisce lavoo infinitesimo fatto dalla foza F duante lo spostamento infinitesimo

Dettagli

Problemi sul parallelogramma con le incognite

Problemi sul parallelogramma con le incognite Problemi sl parallelogramma con le incognite Qante altezze ha n parallelogramma Il concetto di altezza rimanda direttamente a qello della distanza di in pnto da na retta La distanza di n pnto da na retta

Dettagli

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA Esercizi su eventi, previsioni e probabilità condizionate Nota: Alcuni esercizi sono tradotti, più o meno fedelmente, dal libro A first course in probability

Dettagli

La f(x) dovrà rimanere all interno di questo intorno quando la x è all interno di un intorno di x 0, cioè I(x 0 ), cioè:

La f(x) dovrà rimanere all interno di questo intorno quando la x è all interno di un intorno di x 0, cioè I(x 0 ), cioè: 1 Limiti Roberto Petroni, 2011 Possiamo introdurre intuitivamente il concetto di limite dicendo che quanto più la x si avvicina ad un dato valore x 0 tanto più la f(x) si avvicina ad un valore l detto

Dettagli

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2 Dati due numeri naturali a e b, diremo che a è divisibile per b se la divisione a : b è esatta, cioè con resto 0. In questo caso diremo anche che b è un divisore di a. 24 : 3 = 8 con resto 0 26 : 4 = 6

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Urti tra due punti materiali

Urti tra due punti materiali Uti ta due punti ateiali URTO: eento isolato nel quale una foza elatiaente intensa agisce pe un tepo elatiaente bee su due o più copi in contatto ta loo isultato di un contatto fisico F F isultato di una

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

ONDE ESERCIZI SVOLTI DAL PROF. TRIVIA GIANLUIGI

ONDE ESERCIZI SVOLTI DAL PROF. TRIVIA GIANLUIGI ONDE ESERCIZI SVOLTI DAL PROF. TRIVIA GIANLUIGI 1. Tipi di Onde Exercie 1. Un onda viaggia lungo una corda tea. La ditanza verticale dalla creta al ventre è di 13 c e la ditanza orizzontale dalla creta

Dettagli

Effetto reddito ed effetto sostituzione.

Effetto reddito ed effetto sostituzione. . Indice.. 1 1. Effetto sostituzione di Slutsky. 3 2. Effetto reddito. 6 3. Effetto complessivo. 7 II . Si consideri un consumatore che può scegliere panieri (x 1 ; ) composti da due soli beni (il bene

Dettagli

Ancora sull indipendenza. Se A e B sono indipendenti allora lo sono anche

Ancora sull indipendenza. Se A e B sono indipendenti allora lo sono anche Ancora sull indipendenza Se A e B sono indipendenti allora lo sono anche A e B Ā e B Ā e B Sfruttiamo le leggi di De Morgan Leggi di De Morgan A B = Ā B A B = Ā B P (Ā B) = P (A B) = 1 P (A B) = 1 (P (A)

Dettagli

Attività 9. La città fangosa Minimal Spanning Trees

Attività 9. La città fangosa Minimal Spanning Trees Attività 9 La città fangosa Minimal Spanning Trees Sommario la nostra società ha molti collegamenti in rete: la rete telefonica, la rete energetica, la rete stradale. Per una rete in particolare, ci sono

Dettagli

RISCONTO ATTIVO = Costo sospeso = costo che riguarda il futuro esercizio

RISCONTO ATTIVO = Costo sospeso = costo che riguarda il futuro esercizio LE SCRITTURE DI RETTIFICA: Attraverso le scritture di rettifica si rinviano al futuro esercizio componenti positivi e negativi di reddito che si sono manifestati nell esercizio, e quindi sono stati in

Dettagli

FROM LIQUID STEEL TO FINISHED PRODUCTS

FROM LIQUID STEEL TO FINISHED PRODUCTS DLL CCIIO LIQUIDO I PRODOTTI FINITI FROM LIQUID STEEL TO FINISHED PRODUCTS IL VLORE DELLE SINERGIE DI UN GRNDE GRUPPO SYNERGIES EXPLOITTION OF GROUP 6 million /y of eel poducion. Ove 17 million /y of eel

Dettagli

6. Registri delle persone che hanno accesso a informazioni privilegiate

6. Registri delle persone che hanno accesso a informazioni privilegiate Direttiva livello 1 Direttiva livello 2 (2004/72/CE) TUF Regolamento Proposto Articolo 6, paragrafo 3, comma 3, Articolo 115-bis (Registri delle persone che hanno accesso a informazioni privilegiate) Gli

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando 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

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Esercitazione VIII - Lavoro ed energia II

Esercitazione VIII - Lavoro ed energia II Esercitazione VIII - Lavoro ed energia II Forze conservative Esercizio Una pallina di massa m = 00g viene lanciata tramite una molla di costante elastica = 0N/m come in figura. Ammesso che ogni attrito

Dettagli

Circuiti del primo ordine

Circuiti del primo ordine Circuii del primo ordine Un circuio del primo ordine è caraerizzao da un equazione differenziale del primo ordine I circuii del primo ordine sono di due ipi: L o C Teoria dei Circuii Prof. Luca Perregrini

Dettagli

Il mistero dei muoni: perché arrivano sulla terra e cosa c entra la relatività del tempo e dello spazio?

Il mistero dei muoni: perché arrivano sulla terra e cosa c entra la relatività del tempo e dello spazio? Il mistero dei muoni: perché arrivano sulla terra e cosa c entra la relatività del tempo e dello spazio? Carlo Cosmelli, Dipartimento di Fisica, Sapienza Università di Roma Abbiamo un problema, un grosso

Dettagli

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50 http://einmatman1c.blog.excite.it/permalink/54003 Esempi di problemi di 1 grado risolti Esercizio 1 Trovare un numero che sommato ai suoi 3/2 dia 50 Trovare un numero e' la prima frase e significa che

Dettagli

Calcolo delle Probabilità

Calcolo delle Probabilità Calcolo delle Probabilità Il calcolo delle probabilità studia i modelli matematici delle cosidette situazioni di incertezza. Molte situazioni concrete sono caratterizzate a priori da incertezza su quello

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Analisi in regime sinusoidale (parte V)

Analisi in regime sinusoidale (parte V) Appunti di Elettrotecnica Analisi in regime sinusoidale (parte ) Teorema sul massimo trasferimento di potenza attiva... alore della massima potenza attiva assorbita: rendimento del circuito3 Esempio...3

Dettagli

Sulla monotonia delle funzioni reali di una variabile reale

Sulla monotonia delle funzioni reali di una variabile reale Liceo G. B. Vico - Napoli Sulla monotonia delle funzioni reali di una variabile reale Prof. Giuseppe Caputo Premetto due teoremi come prerequisiti necessari per la comprensione di quanto verrà esposto

Dettagli

2 - ISCRIZIONI AD ANNI SUCCESSIVI AL PRIMO

2 - ISCRIZIONI AD ANNI SUCCESSIVI AL PRIMO 2 - ISCRIZIONI AD ANNI SUCCESSIVI AL PRIMO 1. Devo iscrivermi al secondo anno (anni successivi, anni fuori corso) del Corso di Laurea in Giurisprudenza, come devo fare? Nei termini stabiliti dall Ateneo

Dettagli

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette:

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette: FASCI DI RETTE DEFINIZIONE: Si chiama fascio di rette parallele o fascio improprio [erroneamente data la somiglianza effettiva con un fascio!] un insieme di rette che hanno tutte lo stesso coefficiente

Dettagli