Algorytmiczna teoria grafów - Przedmiot fakultatywny 20h wykładu +
Transkrypt
Algorytmiczna teoria grafów - Przedmiot fakultatywny 20h wykładu +
Algorytmiczna teoria grafów Przedmiot fakultatywny 20h wykªadu + 20h ¢wicze« dr Hanna Furma«czyk 23 marca 2013 dr Hanna Furma«czyk Algorytmiczna teoria grafów Najkrótsze ±cie»ki - cd Algorytm Dijkstry (dodatnie wagi!) - wykªad nr 2 dr Hanna Furma«czyk Algorytmiczna teoria grafów Najkrótsze ±cie»ki - cd Algorytm Dijkstry (dodatnie wagi!) - wykªad nr 2 Algorytm Bellmana-Forda Wej±cie: obci¡»ony spójny digraf G ze ¹ródªem s . Dozwolone ujemne wagi na kraw¦dziach. dr Hanna Furma«czyk Algorytmiczna teoria grafów Najkrótsze ±cie»ki - cd Algorytm Dijkstry (dodatnie wagi!) - wykªad nr 2 Algorytm Bellmana-Forda Wej±cie: obci¡»ony spójny digraf G ze ¹ródªem s . Dozwolone ujemne wagi na kraw¦dziach. Nie mo»e by¢ cykli ujemnej dªugo±ci. dr Hanna Furma«czyk Algorytmiczna teoria grafów Najkrótsze ±cie»ki - cd Algorytm Dijkstry (dodatnie wagi!) - wykªad nr 2 Algorytm Bellmana-Forda Wej±cie: obci¡»ony spójny digraf G ze ¹ródªem s . Dozwolone ujemne wagi na kraw¦dziach. Nie mo»e by¢ cykli ujemnej dªugo±ci. Algorytm znajduje dªugo±ci najkrótszych dróg ze ¹ródªa s do wszystkich pozostaªych wierzchoªków grafu - macierz D . dr Hanna Furma«czyk Algorytmiczna teoria grafów Algorytm Bellmana-Forda O (n 3 ) Dla ka»dego wierzchoªka v ∈ V podstaw D [v ] := w (s , v ). D [s ] := 0 Dla ka»dego k od 1 do n − 2 wykonaj: dla ka»dego v 6= s wykonaj: dla ka»dego u ∈ V wykonaj: D [v ] := min{D [v ], D [u ] + w (u , v )}. Algorytm Bellmana-Forda; dr Hanna Furma«czyk Algorytmiczna teoria grafów Algorytm Bellmana-Forda O (n 3 ) Dla ka»dego wierzchoªka v ∈ V podstaw D [v ] := w (s , v ). D [s ] := 0 Dla ka»dego k od 1 do n − 2 wykonaj: dla ka»dego v 6= s wykonaj: dla ka»dego u ∈ V wykonaj: D [v ] := min{D [v ], D [u ] + w (u , v )}. Algorytm Bellmana-Forda; Dowód poprawno±ci algorytmu - indukcyjny (po i -tej iteracji zewn¦trznej p¦tli D [v ] zawiera dªugo±¢ z s do v zawieraj¡c¡ co najwy»ej i + 1 kraw¦dzi dr Hanna Furma«czyk Algorytmiczna teoria grafów Algorytm Bellmana-Forda O (n 3 ) Dla ka»dego wierzchoªka v ∈ V podstaw D [v ] := w (s , v ). D [s ] := 0 Dla ka»dego k od 1 do n − 2 wykonaj: dla ka»dego v 6= s wykonaj: dla ka»dego u ∈ V wykonaj: D [v ] := min{D [v ], D [u ] + w (u , v )}. Algorytm Bellmana-Forda; Dowód poprawno±ci algorytmu - indukcyjny (po i -tej iteracji zewn¦trznej p¦tli D [v ] zawiera dªugo±¢ z s do v zawieraj¡c¡ co najwy»ej i + 1 kraw¦dzi Przykªad - slajd 45 (Dereniowski) dr Hanna Furma«czyk Algorytmiczna teoria grafów Grafy acykliczne Obserwacje istnieje wierzchoªek, do którego nie wchodzi »adna kraw¦d¹ dr Hanna Furma«czyk Algorytmiczna teoria grafów Grafy acykliczne Obserwacje istnieje wierzchoªek, do którego nie wchodzi »adna kraw¦d¹ wierzchoªki mo»na ponumerowa¢ tak, aby kraw¦d¹ prowadziªa od nuemru mniejszego do wi¦kszego (przykªad) dr Hanna Furma«czyk Algorytmiczna teoria grafów Grafy acykliczne Obserwacje istnieje wierzchoªek, do którego nie wchodzi »adna kraw¦d¹ wierzchoªki mo»na ponumerowa¢ tak, aby kraw¦d¹ prowadziªa od nuemru mniejszego do wi¦kszego (przykªad) Algorytm. O (n2 ) acykliczny, obci¡»ony digraf G = (V , A, w ) ze ¹ródªem s , (wierzchoªki odpowiednio ponumerowane). Dane wyj±ciowe: macierz D odlegªo±ci z s do wszystkich wierzchoªków w G . Dane wej±cowe: Dla ka»dego v ∈ V podstaw D [v ] := ∞. D [s ] := 0. Dla ka»dego v ∈ V po kolei wg numerów wykonaj: dla ka»dego u < v D [v ] := min{D [v ], D [u ] + w (u , v )}. dr Hanna Furma«czyk Algorytmiczna teoria grafów Hiperkostka. Rozsyªanie wiadomo±ci Hiperkostka - def. indukcyjna Hiperkostka wymiaru 1, H1 - dwa wierzchoªki poª¡czone kraw¦dzi¡, ponumerowane 0, 1 Hiperkostka wym. k Hk - dwie kostki Hk −1 , w 1. dopisujemy 0 przed etykietami wierzchoªków, a w drugiej dopisujemy 1. ¡czymy kraw¦dziami odpowiadajace sobie wierzchoªki z obu kopii etykiety wierzchoªków hiperkostki Hk - ci¡gi bitowe dª. k dwa wierzchoªki s¡ poª¡czone kraw¦dzi¡ je»eli ci¡gi bitów ró»ni¡ si¦ jednym bitem dr Hanna Furma«czyk Algorytmiczna teoria grafów Cykl Hamiltona w Hk Twierdzenie Ka»da hiperkostka Hk zawiera drog¦ Hamiltona, zaczynaj¡c¡ si¦ w wierzchoªku 0k i ko«cz¡c¡ w wierzchoªku 10k −1 dr Hanna Furma«czyk Algorytmiczna teoria grafów Cykl Hamiltona w Hk Twierdzenie Ka»da hiperkostka Hk zawiera drog¦ Hamiltona, zaczynaj¡c¡ si¦ w wierzchoªku 0k i ko«cz¡c¡ w wierzchoªku 10k −1 Dowód Indukcyjny wzgl¦dem k . dr Hanna Furma«czyk Algorytmiczna teoria grafów Cykl Hamiltona w Hk Twierdzenie Ka»da hiperkostka Hk zawiera drog¦ Hamiltona, zaczynaj¡c¡ si¦ w wierzchoªku 0k i ko«cz¡c¡ w wierzchoªku 10k −1 Dowód Indukcyjny wzgl¦dem k . Wniosek Hiperkostka Hk jest grafem hamiltonowskim (ma cykl Hamiltona). dr Hanna Furma«czyk Algorytmiczna teoria grafów Kod Graya. Rozsyªanie/zbieranie wiadomosci Kod Graya Droga Hamiltona w Hk tworzy kod Graya - ci¡g wszystkich k -elementowych ci¡gów bitów, ka»dy wyst¦puje raz, ka»dye dwa kolejne ró»ni¡ si¦ jednym bitem oraz ostatni ci¡g ró»ni si¦ jednym bitem od pierwszego. dr Hanna Furma«czyk Algorytmiczna teoria grafów Kod Graya. Rozsyªanie/zbieranie wiadomosci Kod Graya Droga Hamiltona w Hk tworzy kod Graya - ci¡g wszystkich k -elementowych ci¡gów bitów, ka»dy wyst¦puje raz, ka»dye dwa kolejne ró»ni¡ si¦ jednym bitem oraz ostatni ci¡g ró»ni si¦ jednym bitem od pierwszego. Protokoªy Rozsyªanie i zbieranie wiadomo±c. Plotkowanie - slajdy z ¢wicze« dr Hanna Furma«czyk Algorytmiczna teoria grafów Skojarzenia Denicja Zbiór kraw¦dzi M jest skojarzeniem (ang. matching)w grae G , je»li »adne dwie kraw¦dzie nale»¡ce do M nie maj¡ wspólnego wierzchoªka. dr Hanna Furma«czyk Algorytmiczna teoria grafów Skojarzenia Denicja Zbiór kraw¦dzi M jest skojarzeniem (ang. matching)w grae G , je»li »adne dwie kraw¦dzie nale»¡ce do M nie maj¡ wspólnego wierzchoªka. Przykªad dr Hanna Furma«czyk Algorytmiczna teoria grafów Problemy Problemy: najliczniejsze skojarzenie szukamy skojarzenia zawieraj¡cego najwi¦ksz¡ mo»liw¡ liczb¦ kraw¦dzi dr Hanna Furma«czyk Algorytmiczna teoria grafów Problemy Problemy: najliczniejsze skojarzenie szukamy skojarzenia zawieraj¡cego najwi¦ksz¡ mo»liw¡ liczb¦ kraw¦dzi dokªadne skojarzenie (ang. perfect matching pytamy, czy istnieje skojarzenie zªo»one z n/2 kraw¦dzi (n musi by¢ parzyste) dr Hanna Furma«czyk Algorytmiczna teoria grafów Problemy Problemy: najliczniejsze skojarzenie szukamy skojarzenia zawieraj¡cego najwi¦ksz¡ mo»liw¡ liczb¦ kraw¦dzi dokªadne skojarzenie (ang. perfect matching pytamy, czy istnieje skojarzenie zªo»one z n/2 kraw¦dzi (n musi by¢ parzyste) skojarzenie o minimalnej (maksymalnej) wadze szukamy w obci¡»onym grae takiego skojarzenia, aby suma wag jego kraw¦dzi byªa mo»liwie najmniejsza (najwi¦ksza) dr Hanna Furma«czyk Algorytmiczna teoria grafów Problemy Problemy: najliczniejsze skojarzenie szukamy skojarzenia zawieraj¡cego najwi¦ksz¡ mo»liw¡ liczb¦ kraw¦dzi dokªadne skojarzenie (ang. perfect matching pytamy, czy istnieje skojarzenie zªo»one z n/2 kraw¦dzi (n musi by¢ parzyste) skojarzenie o minimalnej (maksymalnej) wadze szukamy w obci¡»onym grae takiego skojarzenia, aby suma wag jego kraw¦dzi byªa mo»liwie najmniejsza (najwi¦ksza) dokªadne skojarzenie o minimalnej (maksymalnej) wadze j.w. oraz dodatkowo skojarzenie musi zawiera¢ n/2 kraw¦dzi dr Hanna Furma«czyk Algorytmiczna teoria grafów Denicja Niech M b¦dzie dowolnym skojarzeniem. Kraw¦d¹ nz skojarzon¡, je»eli nale»y ona do wypadku kraw¦d¹ jest nieskojarzona. dr Hanna Furma«czyk M. W przeciwnym Algorytmiczna teoria grafów Denicja Niech M b¦dzie dowolnym skojarzeniem. Kraw¦d¹ nz skojarzon¡, je»eli nale»y ona do wypadku kraw¦d¹ jest nieskojarzona. M. W przeciwnym Wierzchoªek v nz wolnym (w odniesieniu do konkretnego skojarzenia), je»eli »adna spo±ród kraw¦dzi nale»¡cych do nie zawiera v . dr Hanna Furma«czyk Algorytmiczna teoria grafów M Denicja Niech M b¦dzie dowolnym skojarzeniem. Kraw¦d¹ nz skojarzon¡, je»eli nale»y ona do wypadku kraw¦d¹ jest nieskojarzona. M. W przeciwnym Wierzchoªek v nz wolnym (w odniesieniu do konkretnego skojarzenia), je»eli »adna spo±ród kraw¦dzi nale»¡cych do nie zawiera v . M Droga P jest naprzemienna wzgl. M , je»eli dla dowolnych dwóch s¡siednich kraw¦dzi nale»¡cych do P nie jest prawd¡, »e jednocze±nie nale»¡ lub nie nale»¡ one do M . dr Hanna Furma«czyk Algorytmiczna teoria grafów Denicja Niech M b¦dzie dowolnym skojarzeniem. Kraw¦d¹ nz skojarzon¡, je»eli nale»y ona do wypadku kraw¦d¹ jest nieskojarzona. M. W przeciwnym Wierzchoªek v nz wolnym (w odniesieniu do konkretnego skojarzenia), je»eli »adna spo±ród kraw¦dzi nale»¡cych do nie zawiera v . M Droga P jest naprzemienna wzgl. M , je»eli dla dowolnych dwóch s¡siednich kraw¦dzi nale»¡cych do P nie jest prawd¡, »e jednocze±nie nale»¡ lub nie nale»¡ one do M . Droga naprzemienna, która zaczyna si¦ i ko«czy w ró»nych wierzchoªkach wolnych jest drog¡ powi¦kszaj¡c¡. dr Hanna Furma«czyk Algorytmiczna teoria grafów Denicja Niech A, B ⊆ E (G ) b¦d¡ zbiorami. Wówczas A ⊕ B := (A ∪ B )\(A ∩ B ) dr Hanna Furma«czyk Algorytmiczna teoria grafów Denicja Niech A, B ⊆ E (G ) b¦d¡ zbiorami. Wówczas A ⊕ B := (A ∪ B )\(A ∩ B ) Twierdzenie Je±li M jest skojarzeniem, natomiast P drog¡ powi¦kszaj¡c¡ wzgl. M , to M 0 := M ⊕ P jest równie» skojarzeniem. Ponadto |M 0 | = |M | + 1 - PRZYKAD. dr Hanna Furma«czyk Algorytmiczna teoria grafów