algorytmy aproksymacyjne dla problemów stochastycznychphdopen.mimuw.edu.pl/zima08/lecture3.pdf ·...
TRANSCRIPT
- p. 1/47
Algorytmy aproksymacyjne dlaproblemów stochastycznych
Piotr Sankowski
Uniwersytet Warszawski
PhD Open, 5-6 grudzien, 2008
- p. 2/47
Plan - Wykład III
Aproksymacyjne algorytmy online
Aproksymacyjne stochastyczne algorytmyonline
Problem drzewa Steinera online dolne ograniczenia górne ograniczenia
Stochastyczny problem drzewa Steineraonline dolne ograniczenia górne ograniczenia
- p. 3/47
Algorytmy online
W algorytmach online chcemy rozwiazywacproblemy, w których dane wejsciowe ujawnianesa krok po kroku.
Zazwyczaj zakłada sie, ze nasze decyzje sanieodwracalne.
Algorytmy dynamiczne wpp.
Badamy wpływ niewiedzy o przyszłosci, a nieczas działania.
Interesuja nas tez algorytmy wykładnicze.
- p. 4/47
Algorytmy online
Zadaniem algorytmu online jest przetworzenienieprzewidywalnej sekwencji zadan,wykonujac kazde z nich bez wiedzy oprzyszłosci.
W analizie kompetytywnej algorytmów onlinebadamy zachowanie: algorytmu online, który nie zna przyszłosci,porównujac go do: optymalnego algorytmu offline, który zna cała
sekwencje zadan.
- p. 5/47
Współczynnik kompetytywno sci
Zakładamy, ze sekwencja zadan pochodzi zuniwersum Ω, oraz, ze przeciwnik wybiera sekencjeω = ω1, ω2, . . . nieznanej długosci. Niech Ωl oznaczazbiór sekwencji długosci l.
Klasyczny współczynnik kompetytywnosci(randomizowanego) algorytmu A zdefiniowany jestjako:
maxk
maxω∈Ωk
Er[A(ω, r)]
OPT(ω),
gdzie r jest zbiorem losowych wyborów algorytmu.
- p. 6/47
Drzewo Steinera online
W problemie online drzewa Steinera mamy dany: graf G = (V, E) o zadanym korzeniu r oraz koszty
krawedzi c : E →≥0; b.s.o. koszty spełniaja nierównosc trójkata;
przeciwnik wybiera sekwencje wierzchołków (zpowtórzeniami) v1, v2, . . . z V;
w kazdym momencie czasu t, utrzymujemy spójnypodgraf St ⊆ G zawierajacy r oraz wszystkiedotychczas ujawnione wierzchołki v1, . . . , vt;
zakładamy, ze decyzje algorytmu sa nieodwracalne,a wiec St ⊆ St+1.
- p. 7/47
Algorytm zachłanny
Rozwiazanie zachłanne zawsze podłacza kolejnyotrzymany wierzchołek z aktualnie wykupionympodgrafem przy pomocy sciezki o najmniejszymkoszcie.
Twierdzenie 1 (Imase and Waxman ’91) Współczynnikkompetytywnosci dla dowolnego algorytmu dla drzewaSteinera online wynosi Ω(log n).
Twierdzenie 2 (Imase and Waxman ’91) Współczynnikkompetytywnosci dla zachłannego algorytmu dla drzewaSteinera online wynosi O(log n).
- p. 8/47
Algorytm zachłanny
Prosty przykład pokazuje, ze algorytm zachłanny płacico najmniej log n.
Pierwsze wierzchołki w złej sekwencji to skrajny lewyi skrajny prawy, a nastepne to wierzchołki z srodka.
- p. 9/47
Dolne ograniczenie
W przypadku dowolnych algorytmów.
Zdefiniujmy grafy Gk = (Vk, Ek), dla k ∈ Z+0 o funkcji
kosztu ck.
G0 jest grafem o dwóch wierzchołkach i jednejkrawedzi o koszcie 1.
Aby otrzymac Gk kazda krawedz (u, v) w Gk−1
zamieniamy na dwie sciezki (u, α, v) oraz (u, β, v) okrawedziach o wadze 2−k.
Wierzchołki dodane w Gk maja poziom k.
- p. 10/47
Dolne ograniczenie
Sekwencje zaczynamy zadajac v0 i v1.
Nastepnie dla kazdego poziomu wybieramywierzchołki jeszcze nie połaczone z par α i β.
- p. 11/47
Dolne ograniczenie
Niech Ni to ciag zadan na poziomie i.
Niech T = T0, T1, . . . , Tk bedzie sekwencja drzewwygenerowanych przez algorytm dla ciagu zadanN = N0, N1, . . . , Nk.
Niech T = T0, T1, . . . , Tk bedzie sekwencja
minimalnych drzew otrzymana z T, i.e., Ti jestminimalnym w sensie zawierania drzewem łaczacymaktualne wierzchołki.
Pokazemy, ze c(Ti) ≥ c(Ti−1) + 12 , a zatem
c(Ti) ≥12 i + 1.
- p. 12/47
Dolne ograniczenie
Poniewaz Ti−1 jest minimalne to nie zawiera cykli orazkazdy lisc musi byc elementem jakiegos Nj.
Rozwazmy wierzchołek v z Ni−1, jest on sasiedni zczterema wierzchołkami poziomu i.
Z kazdej z sasiednich par w Ti−1
moze byc tylko jedenwierzchołek, gdyz inaczejmielibysmy: lisc na poziomie i,
badz cykl.
- p. 13/47
Dolne ograniczenie
Dla kazdego wierzchołka v ∈ Ni−1 wybieramy do Ni
sasiednie wierzchołki z poziomu i które nie naleza do
Ti−1.
Zauwazmy, ze jak istniała wczesniej sciezka o koszcie1 zawierajaca wszystkie zadania, to istnieje ona nadal.
W Ni jest 2i−1 wierzchołków i za podłaczenie kazdegomusimy zapłacic co najmniej 2−i.
Tak wiec c(Ti) ≥ c(Ti−1) + 12 .
- p. 14/47
Algorytm zachłanny
Udowodnilismy wiec pierwsze z twierdzen.
Twierdzenie 3 (Imase and Waxman ’91) Współczynnikkompetytywnosci dla dowolnego algorytmu dla drzewaSteinera online wynosi Ω(log n).
Przejdzmy teraz do drugiego dowodu.
Twierdzenie 4 (Imase and Waxman ’91) Współczynnikkompetytywnosci dla zachłannego algorytmu dla drzewaSteinera online wynosi O(log n).
- p. 15/47
Górne ograniczenie
Aby pokazac górne ograniczenie załozymy, ze n jestparzyste.
Niech T bedzie optymalnym drzewem Steinera.
Rozwazmy cykl Eulera E otrzymany z drzewa T, jegokoszt wynosi co najwyzej 2c(T).
W cyklu tym korzystamy ze wszystkich mozliwychskrótów.
Długosc E jest parzysta, a wiec mozemy rozbic go nadwa skojarzenia. Niech M oznacza to które wazymniej niz c(T).
- p. 16/47
Górne ograniczenie
Rozwazmy (u, v) ∈ M. Bez starty ogólnosci mozemyzałozyc, ze u wystepuje w sekwencji przez v.
Po ujawnieniu v moglismy wybrac krawedz (u, v).
Taka mozliwosc mamy dla połowy wierzchołków, topołaczenie tej połowy wierzchołków nie kosztujewiecej niz koszt skojarzenia.
Mozemy rozwazyc pozostałe n2 wierzchołków i
zastosowac ten sam argument.
Po log n powtórzeniach zostanie nam jedenwierzchołek.
- p. 17/47
Algorytmy stochastyczne online
W problemie stochastycznym online: algorytm ma dany jako wejscie rozkład
prawdopodobienstwa,
jestesmy zainteresowani oczekiwanym kosztemalgorytmu.
Taki model został dobrze przebadany w przypadkiproblemów takich jak stronicowanie, czy problemk-serwerów.
Natomiast nie wiadomo wiele o problemachoptymalizacji kombinatorycznej, np. drzewie Steinera.
- p. 18/47
Algorytmy stochastyczne online
W przypadki stochastyczmym adwersarz mozewybrac rozkład prawdopodobienstwaπ : Ω → [0, 1] nad przestrzenia zadan orazdługosc sekwencji zadan k.
Sekwencja ω bedzie wygenerowana przezk’krotne niezalezne losowanie z π.
Bedziemy rozwazac przypadki kiedy algorytmmoze znac k badz π.
- p. 19/47
Stochastatyczna kompetytywno sc
W przypadku stochastycznym mozemy rozwazacdwie miary zachowania algorytmów.
ratio-of-expectations (RoE):
RoE(ALG) = maxπ
maxk
Eω∈πk,r[ALG(ω, r)]
Eω∈πk [OPT(ω)].
expectation-of-ratios (EoR):
RoE(ALG) = maxπ
maxk
Eω∈πk,r
[
ALG(ω, r)
OPT(ω)
]
.
- p. 20/47
Stochatyczna kompetytywno sc
Współczynniki te sa nieporównywalne ale EoR wydajesie byc trudniejszy.
Rozwazmy L + 1 scenariuszy.
RoE =L × 1 + 1 × 2L2
L × 1 + L
=1 + 2L
2≥ L,
EoR =1
L + 1
(
L ×1
1+
L2
L
)
=2L
L + 1≤ 2.
Rozwazmy 2L scenariuszy.
RoE =L × L + L × 2L
L × L + L
=2L2
L2 + L≤ 2,
EoR =1
2L
(
L ×L
L+ L ×
2L
1
)
=L + 2L2
2L≥ L.
- p. 21/47
Stochastyczne d. S. online
W stochastycznym problemie drzewa Steinera online mamydany: graf G = (V, E) o zadanym korzeniu r, oraz koszty
krawedzi c : E →≥0; przeciwnik wybiera rozkład prawdopodobienstwa π
na Voraz k; sekwencja to k wierzchołków wylosowanych
niezaleznie z π; w momencie czasu t utrzymujemy spójny podgraf
St ⊆ G zawierajacy r oraz v1, . . . , vt;
decyzje algorytmu sa nieodwracalne St ⊆ St+1.
- p. 22/47
Drzewo Steinera
Twierdzenie 5 (Drzewo Steiner RoE) Istniejestochastyczny algorytm online dla problemu drzewaSteinera taki, ze RoE(A) = O(1), gdy jako wejscie dane jestπ.
Wynik ten mozna uogólnic takze do innychproblemów
Twierdzenie 6 Istnieja stochastyczne algorytmy online dlaproblemów lasu Steinera, lokalizacji fabryk oraz pokryciawierzchołkowego takie, ze RoE = O(1), gdy jako wejsciedane jest π.
- p. 23/47
Dolne ograniczenia
Mozna pokazac, ze wiedza o rozkładzie, orazniezaleznosc sa konieczne tzn.:
jezeli wejscie jest otrzymane poprzezniezalezne losowania z nieznanego rozkładu,
badz losowania nie sa niezalezne, ale zadanesa przez łancuch Markova,
to istnieje dolne ograniczenie Ω( log nlog log n) w
przypadku drzewa Steinera.
- p. 24/47
Drzewo Steinera cd.
W przypadku gdy algorytm zna k oraz π, to:
Twierdzenie 7 Istnieje stochastyczny algorytm online dladrzewa Steinera taki, ze EoR = O(log log n).
Otwarty problem: uogólnic ten wynik na przypadekdowolnego k.
- p. 25/47
Algorytm zachłanny
W przypadku klasycznym najlepszerozwiazanie to algorytm zachłanny, w którym:
kazde zadanie łaczymy najkrótsza sciezka.
Algorytm ten jest Θ(log n) kompetytywny.
Pokazemy teraz, ze pozostaje on Ω(log n)kompetytywny takze w przypadkustochastycznym.
- p. 26/47
Algorytm zachłanny
Rozwazmy sciezke długosci n złozona z krawedzi okoszcie 1, o wierzchołkach ponumerowanych0, 1, . . . , n, wierzchołek 0 jest korzeniem oraz dlapozostałych wierzchołków π(i) = 1/n.
Dla kazdej pary niesasiednich wierzchołków i, jdodajmy krawedz o wadze ℓij = |i − j| − (i − j)2/n3.
Taka waga krawedzi gwarantuje, ze najkrótsza sciezkato zawsze krawedz „skrót”.
- p. 27/47
Algorytm zachłanny
- p. 28/47
Algorytm zachłanny
Wybierajac wierzchołki z π wiemy, ze: oczekiwana odległosc t’tego wierzchołka do innego
najblizszego wynosi około n/2t.
algorytm zachłanny zawsze wykupuje krawedz„skrót”.
Otrzymujemy wiec oczekiwany koszt Θ(n log k) dla kwierzchołków.
Nawet zupełnie naiwna strategia wykupienia całejsciezki po otrzymaniu pierwszego wierzchołka spisujesie lepiej tzn.,
płaci ona n, co daje RoE = n/(n/2) = 2.
- p. 29/47
Algorytm naiwny
- p. 30/47
Jak to zrobi c lepiej
Jezeli k jest znane to dobrym rozwiazaniem jestwygenerowanie losowo k wierzchołków z rozkładu izbudowanie na nich dobrego rozwiazania.
Dla przypadku sciezki, kazdy wierzchołek z sekwencjiwejsciowej ma wierzchołek w oczekiwanej odległoscin/2k, co daje dodatkowy oczekiwany koszt n/2 zapodłaczenie k wierzchołków.
Najpierw pokazemy algorytm dla zadanego k, apotem przejdziemy do przypadku gdy k jestnieznane.
- p. 31/47
EoR dla znanego k
Załózmy, ze długosc sekwencji zadan k jest znana.Rozwazmy nastepujacy algorytm:
A1. Wybierz zbiór D losujac niezaleznie k razy zrozkładu π.
A2. Skonstruuj 2-aproksymacyjne drzewo Steinera TM
na zbiorze D ∪ r.
A3. Na ujawnionej sekwencji uruchom algorytmzachłanny — mianowicie, podłacz kazdywierzchołek do najblizszego w aktualnymrozwiazaniu.
- p. 32/47
EoR dla znanego k
- p. 33/47
EoR dla znanego k
Twierdzenie 8 (EoR dla znanego k)Współczynnik aproksymacji RoE dla powyzszegoalgorytmu wynosi 4.
Oczekiwany koszt optymalnego drzewaSteinera dla D wynosi E[OPT(ω)], a zatemoczekiwany koszt drzewa TM wynosi2E[OPT(ω)].
Pokazemy, ze oczekiwany koszt połaczenwykupionych przez algorytm zachłannywynosi 2E[OPT(ω)].
- p. 34/47
Koszt połacze n
- p. 35/47
EoR dla znanego k
Rozwazmy teraz połaczenia dodane przez algorytmzachłanny:
dla i’tego wierzchołka v koszt połaczenia jestograniczony przez d(v, D ∪ r), — odległosc v donajblizszego wierzchołka z D ∪ r.
poniewaz kazdy wierzchołek jest losowany z π, to zliniowosci wartosci oczekiwanej, oczekiwany kosztrozwiazania wynosi k × Ev∈π,D∈πk [d(v, D ∪ r)].
Ten koszt nie wzrasta jezeli wezmiemy mniejszy
zbiór D′ ∈ πk−1 zawierajacy tylko k − 1wierzchołków.
- p. 36/47
EoR dla znanego k
Wyobrazmy sobie, ze wybieramy D′ oraz v poprzezwybranie k elementowego D′′, a nastepnie randomlychoosing one of them to be the vertex v;
Ostatecznie wyrazenie Ev∈π,D′∈πk−1[d(v, D′ ∪ r)]
jest ograniczone przez ED′′∈πk [1k · MST(D′′ ∪ r)].
koszt kazdego połaczenia jest nie wiekszy nizkoszt płacony MST.
Tak wiec koszt połaczen wynosiED∈πk [MST(D ∪ r)].
MST jest 2-aproksymacyjne, a wiec otrzymujemy4-aproksymacyjny algorytm.
- p. 37/47
EoR dla nieznanego k
Teraz pokazemy jak pozbyc sie załozenia, zeznamy długosc sekwencji.
Zastosujemy metode skalowania dlaoczekiwanego kosztu rozwiazania.
W kazdej „skali” bedziemy budowacrozwiazanie wstepne o koszcie dwa razywiekszym niz wczesniej.
Kazda skala trwa az otrzymamy tyle zadan ilejest w rozwiazaniu wstepnym.
- p. 38/47
EoR dla nieznanego k
Zdefiniujmy:
Zℓ = Eω∈πℓ [OPT(ω)]
jako oczekiwany koszt optymalnego drzewa Steineradla sekwencji zadan ω długosci ℓ wylosowanej z π.
Skale ti wybrane sa jako najmniejsze takie, ze Zti≥ 2i.
Jezeli otrzymamy wiecej zadan niz ti to budujemy2-przyblizone rozwiazanie wstepne na ti+1 losowowygenerowanych wierzchołkach — k ≤ ti+1.
- p. 39/47
EoR dla nieznanego k
W kazdej skali koszt rozwiazania wstepnegojest 4 razy wiekszy niz koszt rozwiazaniaoptymalnego, bo:
oczekiwany koszt dla ti+1 wierzchołków jestco najwyzej dwa razy wiekszy niz koszt na kwierzchołkach.
Koszt połaczen takze mozemy oszacowac jako 4razy wiekszy niz koszt rozwiazaniaoptymalnego.
- p. 40/47
EoR dla nieznanego k
Koszty dla skal tworza szereg geometryczny.
Tak wiec koszt wszystkich skal jest nie wiekszy niz8 + 8 = 16 razy oczekiwany koszt rozwiazania dla kwierzchołków.
Twierdzenie 9 (EoR dla znanego k) Istniejewielomianowy algorytm dla stochastycznego problemudrzewa Steinera online taki, ze EoR = O(1).
Zamiast uzywac dokładnych wartosci Zℓ wystarczanam aproksymacje.
- p. 41/47
Expectation of Ratios
Współczynnik aproksymacji, który jest czestobardziej wymagajacy to expectation of ratios(EoR):
EoR(ALG) = maxπ
maxk
Eω∈πk
[
Er[A(ω, r)]
OPT(ω)
]
.
Załozymy znowu, ze długosc sekwencjiwejsciowej jest z góry znana.
- p. 42/47
Expectation of Ratios
Bedziemy wykonywac dwa algorytmy onlinerównolegle.
Po realizacji zadania przez oba algorytmy,wybieramy ten który dotychczas zapłacił mnieji wykupujemy jego rozwiazanie.
W ten sposób nigdy nie zapłacimy wiecej nizdwa razy koszt tanszego z tych dwóchalgorytmów.
- p. 43/47
Expectation of Ratios
Równolegle z algorytmem zachłannym uruchamiamynastepujacy algorytm:
1. Wylosuj L róznych k elementowych zbiorówD1, . . . , DL z rozkładu π.
2. Dla kazdego i, policz MST Ti dla zbioru Di ∪ r, alenie wykupuj krawedzi.
3. Wybierz takie i∗, ze koszt Ti∗ jest najmniejszy, iwykup te krawedzie tzn. TM = Ti∗ .
4. Wierzchołki z sekwencji zadan podłaczaj zachłanniedo najblizszego wierzchołka.
- p. 44/47
Expectation of Ratios
Nastepujacy lemat wynika natychmiast z symetriiproblemu.
Lemat 10 Z prawdopodobienstwem co najmniej 1 − 1L+1 ,
koszt najtanszego drzewa Ti∗ wynosi co najwyzej 4OPT(R).
Rozwazmy optymalne rozwiazanie T oraz cykl EuleraE skonstruowany z niego.
Podzielmy wierzchołki na E na sekwencje po 3 log Lnwierzchołków.
- p. 45/47
Expectation of Ratios
Dla kazdego wierzchołka z prawdopodobienstwem 1n3
z 3 log nL najblizszych jest jeden z Di∗ .
Podłaczenie pierwszego wierzchołka z sekwencji niekosztuje wiec wiecej niz koszt sekwencji w E.
Nastepnie sekwencja łaczona jest algorytmemzachłannym o koszcie log(3 log nL).
Lemat 11 Koszt zachłannych podłaczen zadan wynosiO(OPT(R) · log log(nL)) z prawdopodobienstwem co
najmniej 1 − 1n2 .
- p. 46/47
Expectation of Ratios
Twierdzenie 12 Dla L = O(log n), współczynnik EoR dlatego algorytmu wynosi O(log log(n)).
Jezeli jeden z lematów zawiedzie: co dieje sie z
prawdopodobienstwem 1L+1 + L
n2 ≤2
log n . W takim
wypadku płacimy koszt zachłanny O(log n), co dajestały wkład do EoR.
Jezeli obydwa lematy sa spełnione to płacimyO(OPT(R) · log log n).
- p. 47/47
Podsumowanie
W przypadku stochastycznym mozemypokonac klasyczne ograniczenia nawspółczynnik kompetytywny Ω(log n) dladrzewa Steinera.
Techniki te moga byc zastosowane takze wprzypadku problemów addytywnych.
Pozostały jednak pewne problemy otwarte: przypadek nieznanego k dla miary EoR,
Jakie innych problemy mozemy rozwiazac wtakim modelu?