Progeazione di Algorimi Anno Accademico 0 09 Eercizi Ugo Vaccaro Eercizi u Grafi: Pare Seconda N.B. Si ricorda che ogni algorimo và accompagnao da una argomenazione ul perchè calcola correamene l oupu e da un analii della ua compleià di empo. Inolre, i poono uare algorimi vii a lezione (come BFS, DFS, ec.) enza neceariamene riporare il relaivo peudocodice, purchè lo i menzioni epliciamene. In generale, di ogni algorimo è preferibile preenare il relaivo peudocodice. Tuavia, anche una ola decrizione a parole dell idea dell algorimo (purchè precia e correa) verrà acceaa all eame.. Eercizio: Si preeni l algorimo di Dijkra per il calcolo dei cammini minimi in un grafo, i argomeni la ua correezza e e ne valui la ua compleià di empo.. Eercizio: Si eegua l algorimo di Dijkra per il calcolo dei cammini minimi dal nodo ul eguene grafo. Si epliciino in deaglio i pai che l algorimo eegue (ovvero, NON è ufficiene riporare emplicemene l albero dei cammini minimi riulani dall eecuzione dell algorimo). 0 x 9 y z. Eercizio: Sia G = (V,E) un grafo direo, con lunghezze l(e) > 0 per ogni arco e E. Si progei e i analizzi (e i argomeni la correezza) un algorimo che prei in inpu un verice V ed un arco (u,v) E, deermini:. e ra ui i cammini di lunghezza minima da a v ne eie almeno uno che ui l arco (u,v);. e ra ui i cammini di lunghezza minima da a v ne eie almeno uno che non ui l arco (u,v).
. Eercizio: Dao un grafo orienao G = (V,E), con lunghezze l(e) > 0 per per ogni arco e E, e due nodi v, V. (a) Si proponga un algorimo che deermini, olre ad un cammino minimo p da v a che upponiamo eere p = (v,,... n,), un econdo cammino p che ia il cammino di lunghezza minima ra quelli che congiungono v con e non conengono l arco ( n,). (b) Si provi la correezza e i valui la compleià dell algorimo propoo. (c) Si proponga un algorimo che deermini, olre ad un cammino minimo p da v a, un econdo cammino p che ia il cammino di lunghezza minima ra ui i cammini che congiungono v con e ono diini da p.. Eercizio: Sia G = (V,E) un grafo direo in cui ad ogni nodo u V è aociao un peo w(u) > 0. Decrivere un algorimo per calcolare i cammini di peo minimi da un nodo orgene V a ui i nodi v V. In quea iuazione, il peo di un cammino è definio come la omma dei pei dei nodi che appaiono nel cammino. (Sugg.: i riduca il problema a quello di calcolare i cammini di peo minimi in un opporuno grafo con pei u archi).. Eercizio: Decrivere l algorimo di Prim per la coruzione di un MST e provarne con preciione la correezza.. Eercizio: Decrivere l algorimo di Krukal per la coruzione di un MST e provarne con preciione la correezza.. Eercizio: Dao il grafo rappreenao in figura, calcolare un MST di eo applicando l algorimo di Prim a parire dal nodo I. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao. E H I 0 A M 0 F G J L B 0 0 C D K
9. Eercizio: Dao il grafo rappreenao in figura, calcolare un MST di eo applicando l algorimo di Krukal. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao. I A M E F H J G L B C D K 0 0 0 0 0. Eercizio: Dao il grafo rappreenao in figura, calcolare un MST di eo applicando l algorimo di Krukal. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao. J K M A B E C G F I D H L. Eercizio: Dao il grafo rappreenao in figura, calcolare un MST di eo applicando l algorimo di Prim a parire dal verice I. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao.
E J K M A C F G I L B H D. Eercizio: Si proponga un algorimo che, dao in inpu un grafo non non orienao G = (V,E), pei w(e) per ogni arco e E, ed un arco (u,v) E, deermini l eienza o meno di un MST per G non conenene l arco (u,v). Si moivi la correezza e i calcoli la complei a dell algorimo propoo. Si riconiderino i puni precedeni nel cao in cui i voglia deerminare l eienza di un MST per il grafo G conenene l arco (u,v).. Eercizio: Sia G = (V,E) un grafo non orienao e peao, con archi di coo c(e), per ogni e E. (a) Si decriva brevemene un algorimo efficiene (per eempio ra quelli vii a lezione) che deermini un Minimum Spanning Tree per G e e ne valui la compleià. (b) Si provi o i refui la eguene proprieà: dao un Minimum Spanning Tree per G queo coniene almeno un arco ra quelli aveni peo minimo in G. (c) Si provi o i refui la eguene proprieà: dao un Minimum Spanning Tree per G queo coniene un cammino minimo per ogni coppia di nodi in G.. Eercizio: Sia G = (V,E) un grafo non orienao e peao, con archi di coo c(e), per ogni e E. Si provi la eguene affermazione: ia S V un ooinieme dei nodi, e ia e = (u,v) l arco di coo minimo con un eremo in S e l alro in V S. Allora ogni MST coniene l arco e.. Eercizio: Si decriva l algorimo di Ford e Fulkeron per il calcolo del maimi fluo in una ree di fluo e i analizzi in deaglio la relaiva compleià.
. Eercizio: Si conideri il eguene problema: Inpu: n perone ed n job da eeguire È dao un grafo direo G = (V,E) con archi che vanno olo da perone a job, in cui un arco dalla perona p al job j vuol dire che poenzialmene la perona p porebbe eeguire il job j (e l arco (p,j) non c è vuol dire che la perona p non può eeguire il job j). Sono dai i egueni vincoli al problema: Ciacuna perona può eere aegnaa ad eaamene un job Ciacun job può eere aegnao ad eaamene una ola perona Oupu: Trovare una aegnazione degli n job alle n perone che oddifi i vincoli al problema (o dichiarare che ciò non è poibile, e una ale aegnazione non eie). Suggerimeno: i proceda in maniera analoga a come fao per riolvere il problema del Maimo Maching.. Eercizio: Una cuola vuole organizzare un ballo di fine anno. Ogni coppia di udeni compoa da un ragazzo ed una ragazza che inendono danzare inieme devono regirari (alrimeni non poono danzare inieme). I regolameni della cuola impongono che ogni daa coppia non poa danzare inieme più di vole. In più, ogni udene non può danzare più di 0 vole in oale. Il problema è di maimizzare il numero di danze in oale. Formalizzare con preciione il problema come un problema di maimo fluo.. Eercizio: Daa la eguene iuazione nel campionao di baeball, i deermini e la quadra di Deroi può ancora erminare con il maggior numero di viorie nel girone, uando le ecniche di fluo vie a lezione. w(i) g(i) g(i, j) quadra vine da giocare NYY BAL BOS TOR DET New York Yankee Boon Oriole Boon Red Sox 9 0 0 Torono Blue Jay 0 0 Deroi Lion 9 0 0 9. Eercizio: Si eegua l algorimo di Bellman-Ford per il calcolo del cammino minimo da a nel grafo di oo riporao. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao. 0 x 9 y z
0. Eercizio: Si eegua l algorimo di Bellman-Ford per il calcolo dei cammini minimi da al nodo. Si decrivano con preciione le compuazioni effeuae dall algorimo pao dopo pao. - (L arco da a ha peo - e l arco da a ha peo.). Eercizio: Derivare l equazione di ricorrenza per il coo di cammini minimi in grafi, argomenando i relaivi pai. Decrivere un algorimo per il calcolo dell equazione prima oenua.. Eercizio: Derivare l algorimo per coprire e un grafo direo con lunghezze ugli archi coniene cicli di coo oale negaivo e provarne la correezza.. Eercizio: Derivare l algorimo per rovare in un grafo direo un ciclo di coo oale negaivo (e eo eie) e provarne la correezza.. Eercizio: Preenare la definizione formale di fluo f in un grafo G = (V, E), con orgene, deinazione e capacià c(e), per ogni e E. Si provi la eguene affermazione: per ogni verice u V {,} vale f(u,v) = 0 v V. Eercizio: Siano f un fluo e (A,B) un aglio in una ree di fluo G con orgene e deinazione. Si provi il eguene riulao: Il fluo neo che aravera il aglio è uguale al fluo ucene da, ovvero ( ) f(e) f(e) = f(e) = v(f) e ucene da A e enrane in A e ucene da
. Eercizio: Siano f un fluo e (A,B) un aglio in una ree di fluo G con orgene e deinazione. Si provi il eguene riulao: Il valore del fluo v(f) è al più pari alla capacià c(a,b) del aglio. Eercizio: Un geore di ree deve collegare il nodo e il nodo della ree in figura. Per moivi di icurezza i due nodi devono eere collegai da due cammini digiuni ugli archi. Formalizzare il problema come problema di fluo e riolverlo, uando le ecniche di fluo, per l eempio in figura. E poibile avere re cammini digiuni ra e? Moivare la ripoa.. Eercizio: Applicare l algorimo di Ford e Fulkeron alla ree di fluo di oo riporaa. Ad ogni pao i ripori il cammino aumenane celo e i calcoli il valore del maimo fluo oenuo da a. Indicare infine il aglio di capacià minima. 0 0 9. Eercizio: Si conideri la ree di fluo in figura, in cui il primo numero u ogni arco denoa la capacià dell arco, ed il econdo denoa una aegnazione di fluo già u di eo effeuao. Qual è il valore di queo fluo già aegnao? Di quano può eere ancora aumenao per
arrivare ad un fluo di valore maimo? Giuificare le ripoe.,,,,,0,,,,,,,,, 0. Eercizio: Applicare l algorimo di Ford e Fulkeron alla ree di fluo di oo riporaa. Ad ogni pao i ripori il cammino aumenane celo e i calcoli il valore del maimo fluo oenuo da a. Indicare infine il aglio di capacià minima. 9 9 9. Eercizio: Applicare l algorimo di Ford e Fulkeron alla ree di fluo di oo riporaa. Ad ogni pao i ripori il cammino aumenane celo e i calcoli il valore del maimo fluo oenuo da a. Indicare infine il aglio di capacià minima.. Eercizio: Si formuli il problema del Maimo Maching in ermini di fluo in rei e i preeni la relaiva oluzione.
9. Eercizio: Si formuli il problema del Maimo numero di Cammini Digiuni ra due verici e di un grafo in ermini di fluo in rei e i preeni la relaiva oluzione.. Eercizio: Dao un grafo G con vincoli di capacià ia u archi che u verici, i formuli il problema del Maimo Fluo dal verice al verice di G e i mori che eo è equivalane al problema di calcolare il maimo fluo in una opporuna ree di fluo avene capacià olo u archi.. Eercizio: Si provi che i egueni riulai ono ra di loro equivaleni (ovvero ognuna implica le alre). (a) un aglio (A,B) ale che v(f) = c(a,b) (b) Il fluo f ha valore v(f) maimo (c) G f non ha cammini aumenani