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 - PRZYKŠAD.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów

Podobne dokumenty