Algorytmy probabilistyczne

Transkrypt

Algorytmy probabilistyczne
Algorytmy probabilistyczne
Wykªad 13
Tomasz Krawczyk
[email protected]
Kraków, semestr zimowy 2015/16
Plan wykªadu
Plan wykªadu:
I
Algorytmy on-line:
I
I
Problem stronicowania.
On-line matching.
stronicowanie - denicja problemu
Pami¦¢ wewn¦trzna procesora zawiera k jednostek (stron) pami¦ci, do których
dost¦p jest bardzo szybki. Aby przeczyta¢ warto±¢ z pami¦ci zewn¦trznej,
nale»y najpierw skopiowa¢ zawarto±¢ komórki pami¦ci zewnetrznej do pami¦ci
wewn¦trznej.
q1 , . . . , qn - adresy kolejnych komórek, które chcemy mie¢ w pami¦ci
wewn¦trzej.
Przetwarzaj¡c qi algorytm sprawdza, czy qi jest w pami¦ci wewn¦trzej i je»eli qi
nie ma, to usuwa z pami¦ci wewn¦trznej jak¡± komórk¦ i ªaduje qi . Operacje
tego typu s¡ operacjami kosztownymi, zwanymi operacjami wywªaszczania.
Algorytm stronicowania precyzuje, która komórka ma zosta¢ usuni¦ta w chwili
ªadowania qi je»eli qi nie jest w pami¦ci wewn¦trznej.
Optymalny algorytm stronicowania: usu« t¦ komórk¦, która b¦dzie potrzebna
najpó¹niej (dokªadnie t¦ , której pierwsza pozycja po qi w ci¡gu wej±ciowym
jest najodleglejsza).
stronicowanie on-line
Algorytm on-line stronicowania podejmuje decyzj¦, który element usun¡¢ na
podstawie preksu q1 . . . qi (algorytm nie zna przyszªo±ci).
Powiemy, »e algorytm on-line A ma staª¡ kompetytywno±ci równ¡ c je»eli dla
ka»dego wej±cia q1 , . . . , qn
ilo±¢ operacji wywªaszczania w alg. A
−c · optymalna ilo±¢ operacji wywªaszcania 6 pewna staªa.
Nie istniej¡ algorytmy on-line dla problemu stronicowania, których staªa
kompetytywno±ci jest lepsza ni» k .
algorytmy markuj¡ce
Ka»dy algorytm z z rodziny algorytmów markuj¡cych oznacza ka»dy element w
pami¦ci wewn¦trznej jako zamarkowany b¡d¹ niezamarkowany .
Algorytmy markuj¡ce dziaªaj¡ w fazach. Na pocz¡tku ka»dej fazy wszystkie
elementy s¡ niezamarkowane.
Obsªuga »¡dania qi :
I
je»eli zaczyna si¦ nowa faza, oznacz wszystkie elementy jako
niezamarkowane,
I
je»eli qi jest w pami¦ci wewn¦trznej i qi jest niezamarkowane, zamarkuj
qi ,
I
je»eli qi nie ma w pami¦ci wewn¦trznej:
I
I
je»eli wszystkie elementy w pami¦ci wewn¦trznej s¡
zamarkowane, zadeklaruj koniec fazy i wykonaj jeszcze raz
algorytm by obsªu»y¢ qi ,
je»eli istnieje niezamarkowany element x , wstaw qi zamiast x
do pami¦ci wewn¦trznej i zamarkuj qi .
Ró»ne metody wyboru x daj¡ ró»ne algorytmy markuj¡ce.
analiza algorytmu stronicowania
Ka»dy algorytm z rodziny algorytmów markuj¡cych ma staª¡
kompetytywno±ci k :
I
w ka»dej fazie markujemy dokªadnie k elementów,
I
elementów zamarkowanych w trakcie danej fazy nie usuwamy z
pami¦ci wewn¦trznej (w trakcie tej fazy),
I
w trakcie ka»dej fazy algorytm o-line musi zaªadowa¢ przynajmniej
jeden element.
typy algorytmów on-line
Klasykacja przeciwników dla algorytmów on-line:
Adaptive adversary zna algorytm on-line i jego output, dostosowuje si¦
do outputu (randomizacja nie pomaga).
Oblivious adversary zna algorytm on-line, nie zna dotychczasowego
outputu (randomizacja istotnie pomaga).
Niech A b¦dzie algorytmem on-line przeciwko nieczuªemu adwersarzowi.
Mówimy, »e algorytm zrandomizowany dziaªa ze staª¡ kompetytywno±ci
c je»eli dla ka»dego inputu:
warto±¢ oczekiwana liczby operacji (wywªaszczania) w algorytmie A
−c · optymalna liczby operacji wywªaszczania 6 pewna staªa.
zrandomizowany algorytm on-line dla stronicowania
(przeciwko nieczuªemu adwersarzowi)
Twierdzenie
Zrandomizowany algorytm markuj¡cy wybieraj¡cy niezamarkowan¡
komórk¦ w sposób losowy ze zbioru wszystkich niezamarkowanych
komórek z rozkªadem jednostajnym ma staª¡ kompetytywno±ci
O(log k).
zrandomizowany algorytm markuj¡cy - analiza
Zaªo»enie: w fazie zerowej pami¦¢ wewn¦trzna zapeªniona elementami
1 . . . k , kolejna strona do zaªadowania (k + 1).
Oznaczmy przez:
I
ci liczba nowych stron w fazie i . Nowe strony w fazie i to te
strony z fazy i , których nie ma w pami¦ci wewn¦trznej po fazie
(i − 1), pozostaªe strony z fazy i nazywami stronami starymi.
I
fi liczba wywªaszcze« w fazie i .
Zauwa»my, »e:
fi−1 + fi ≥ ci , jako »e w fazach i − 1 oraz i jest do obsªu»enia co
najmniej k + ci strony,
Pr
k
I st¡d wynika, »e f1 + . . . + fr ≥ 1
j=1 cj + 2 .
2
I
zrandomizowany algorytm markuj¡cy - analiza
Analiza fazy i -tej:
I
ci liczba stron nowych w fazie i dla ka»dej nowej strony jest
konieczne wywªaszczenie przy pierwszym »¡daniu do tej strony,
I
k − ci liczba stron starych dla ka»dej starej strony mo»e (ale nie
musi) doj±¢ do wywªaszczenia przy pierwszym »¡daniu do strony,
kolejne »¡dania starej strony nie powoduj¡ wywªaszczenia,
I
rozpatrzmy pierwsze pojawienie si¦ strony starej x (zakªadamy, »e
dotychczas w trakcie fazy pojawiªo si¦ c nowych stron oraz i − 1
starych S ):
I
I
stan pami¦ci wewn¦trznej: zamarkowane s¡ komórki, które
przed faz¡ i -t¡ zawieraªy komórki zbioru S oraz c losowe
komórki spo±ród pozostaªych k komórek pami¦ci,
prawdopodobie«stwo wywªaszcenia przy obsªudze x jest
ograniczone przez
P(wywªaszczenie przy obsªudze x) 6
c
.
k − (i − 1)
zrandomizowany algorytm markuj¡cy - analiza
Oczekiwana liczba wywªaszcze« w i -tej fazie jest ograniczona przez:
ci +
ci
ci
ci
+
+ ... + 6
k
k −1
2
1
1
+ . . . + ) 6 ci log k.
2
k
Oczekiwana
Pr liczba wywªaszcze« w r fazach jest ograniczona przez
O(log k) j=1 cj .
6 ci (1 +
Poniewa» ka»dy deterministyczny algorytm wywªaszcza co najmniej
r
f1 + . . . + fr ≥
1X
k
cj +
2
2
j=1
razy, wi¦c staªa kompetytywno±ci algorytmu wynosi O(log k).
Dopasowanie doskonaªe
Problem maksymalnego dopasowania:
I
(U, V , E ) - graf dwudzielny, wierzchoªki U przychodz¡ on-line,
I
algorytm tworzy dopasowanie wierzchoªków U z wierzchoªkami z V ,
I
staªa kompetytywno±ci
liczba dopasowanych wierzchoªków
.
dopasowanie optymalne
algorytmy on-line przeciwko adaptywnemu adwersarzowi
Lemat
Staªa kompetytywno±ci najlepszego algorytmu on-line przeciwko
1
adaptywnemu adwersarzowi wynosi co najwy»ej 2 .
algorytm on-line przeciwko nieczuªemu adwersarzowi
Algorytm SIMPLE :
I
dla ka»dego kolejnego wierzchoªka u ∈ U :
I
dopasuj u do wolnego (jeszcze niedopasowanego) s¡siada z N(u)
wybranego z jednostajnym prawdopodobie«stwem.
Zadanie
1
Wyka», »e staªa kompetytywno±ci algorytmu SIMPLE wynosi 2
(asymptotycznie).
algorytmy on-line przeciwko nieczuªemu adwersarzowi
Algorytm RANKING:
I
niech δ b¦dzie losow¡ permutacj¡ wierzchoªków z V ,
I
dla ka»dego kolejnego wierzchoªka u ∈ U : dopasuj u do wolnego
s¡siada u pierwszego w kolej±ni±ci δ .
Twierdzenie
Staªa kompetytywno±ci algorytmu RANKING wynosi
przybli»eniu 0.62).
1−
1
e (równe w

Podobne dokumenty