Algorytmy probabilistyczne

Transkrypt

Algorytmy probabilistyczne
Algorytmy probabilistyczne
Wykład 10
Tomasz Krawczyk
[email protected]
Kraków, semestr zimowy 2015/16
plan wykładu
I
Łańcuchy Markowa.
I
Spełnialność formuł 3-SAT.
I
s − t spójność.
definicja
Łańcuch Markowa – ciąg zmiannych losowych X0 , X1 , X2 , . . . w którym
rozkład zmiennej losowej Xt+1 zależy jedynie od rozkładu zmiennej Xt , to
jest
P(Xn = an |X0 = a0 , . . . , Xn−1 = an−1 )
=
=
P(Xn = an |Xn−1 = an−1 )
P(an , an−1 ).
Łańcuch Markowa jest jednoznacznie zdefiniowany przez:
I
przestrzeń stanów S – w naszych zastosowaniach S jest skończony,
I
macierz przejść P rozmiaru |S| × |S|:
pij – prawdopodobieństwo przejścia ze stanu (i) do stanu (j).
I
x0 – rozkład początkowy zmiennej losowej X0 .
Para (P, x0 ) jednoznacznie definiuje łańcuch Markowa.
własności
Interpretacja:
I
macierz przejść i stany – automat o zbiorze stanów S, krawędź (i, j)
otrzymuje etykietę pij ,
I
x0 (i) – prawdopodobieństwo umieszczenia cząsteczki w stanie i
automatu,
I
w każdej jednostce czasowej: cząsteczka znajdująca się w stanie i
przesuwa się do stanu j z prawdopodobieństwem pij ,
I
rozkład zmiennej losowej Xt – rozkład prawdopodobieństwa
położenia cząsteczki w chwili t.
Własności:
I
rozkład zmiennej losowej Xt dany jest wzorem:
xt = x0 P (t) .
zrandomizowany algorytm dla 2-spełnialności (ćwiczenia)
Wejście: Formuła w postaci 2-CNF, z n zmiennymi.
Wyjście: Wartościowanie spełniające formułę bądź komunikat, że
jest ona niespełnialna.
Algorytm 2-SAT:
I
zacznij od dowolnego wartościowania,
I
Powtarzaj maksymalnie 2mn2 razy:
I
I
I
I
wybierz dowolną klauzulę, która nie jest spełniona,
wybierz losowo w sposób jednostajny jeden z literałów tej
klauzuli i zmień wartość jego zmiennej,
jeżeli nowe wartościowanie spełnia formułę, zwróć to
wartościowanie i przerwij działanie algorytmu,
zwróć komunikat, że formuła nie jest spełnialna.
zrandomizowany algorytm dla 2-spełnialności (ćwiczenia)
Własności algorytmu 2-SAT:
I
algorytm jest w stanie (i) wtw aktualne wartościowania pokrywa się
z wartościowaniem spełniającym na dokładnie i zmiennych,
I
Xt – liczba zmiennych zgodnych z wartościowaniem spełniającym w
chwili t,
I
z prawdopodobieństwem co najmniej 21 przechodzimy ze stanu (i)
do stanu (i + 1), z pozostałym prawdopodobieństwem algorytm
przechodzi do stanu (i − 1), czyli dla 1 6 i 6 n − 1:
P(Xt+1 = i + 1|Xt = i) ≥
1
,
2
1
,
2
= 1|Xt = 0) = 1,
P(Xt+1 = i − 1|Xt = i) 6
P(Xt+1
item chcemy oszacować od góry wartość oczekiwaną liczby kroków
aż do momentu dotarcia do stanu (n),
I
hiX – oczekiwana liczba kroków dotarcia ze stanu (i) do stanu (n).
zrandomizowany algorytm dla 2-spełnialności (ćwiczenia)
Analiza algorytmu 2-SAT:
I
proces X0 , X1 , . . . nie jest łańcuchem Markowa,
I
rozważmy następujący proces Markowa: dla 1 6 i 6 n − 1 mamy
P(Yt+1 = i + 1|Yt = i) =
1
,
2
P(Yt+1 = i − 1|Yt = i) =
1
,
2
oraz dla i = 0
P(Yt+1 = 1|Yt = 0) = 1
I
hiY – wartość oczekiwana liczby kroków do momentu dotarcia do
stanu (n) przy założeniu, że startujemy ze stanu (i). Oczywiście
hX (i) 6 hiY .
Wykazaliśmy (ćwiczenia), że h0Y 6 n2 . Z nierówności Markowa, z
prawdopodobieństwem co najmniej 21 algorytm dotrze do stanu (n) z
każdego stanu początkowego w co najwyżej 2n2 krokach.
zrandomizowany algorytm dla 2-spełnialności (ćwiczenia)
Theorem
Algorytm 2-SAT zawsze zwraca poprawne rozwiązanie, gdy formuła nie
jest spełnialna. Jeśli formuła jest spełnialna, to z prawdopodobieństwem
co njamniej 1 − 21m algorytm zwraca poprawne wartościowanie.
zrandomizowany algorytm dla 3-spełnialności
Algorytm 3-SAT:
I
zacznij od dowolnego wartościowania,
I
Powtarzaj maksymalnie m razy (m ustalone później):
I
I
I
I
wybierz dowolną klauzulę, która nie jest spełniona,
wybierz losowo w sposób jednostajny jeden z literałów tej
klauzuli i zmień wartość jego zmiennej,
jeżeli powstałe wartościowanie spełnia formułę, to je zwróć i
zakończ działanie algorytmu,
Zwróć komunikat, że formuła nie jest spełnialna.
zrandomizowany algorytm dla 3-spełnialności
Podobnie, algorytm 3-SAT może być analizowany za pomocą
następującego łańcucha Markowa:
P(Yt+1 = 1|Yt = 0) = 1,
1
,
3
2
= i − 1|Yt = i) = .
3
P(Yt+1 = i + 1|Yt = i) =
P(Yt+1
Analiza:
I
hi – oczekiwana liczba kroków do osiągnięcia (n) ze stanu (i),
I
można wykazać, że hn = Θ(2n ) (algorytm nie jest zatem lepszy od
algorytmu przeglądającego wszystkie możliwe wartościowania).
zrandomizowany algorytm dla 3-spełnialności
Dwa pomysły, które mogą usprawnić działanie poprzedniego algorytmu:
I jeśli wybierzemy początkowe wartościowanie losowo w sposób jednostajny,
to liczba zmiennych, które zgadzają się z S ma rozkład dwumianowy o
wartości oczekiwanej n2 . Z wykładniczo małym, ale nie pomijalnym
prawdopodobieństwem, proces zaczyna się wartościowaniem, które jest
zgodne z S na zdecydowanie więcej niż n2 zmiennych.
I Po rozpoczęciu algorytmu bardziej prawdopodobne jest pójście w stronę
(0) niż w stronę (n). Im dłużej kontynuujemy proces, tym większa szansa
pójścia w kierunku (0). Zatem bardziej opłaca się ponowne uruchamianie
procesu z wieloma losowo wybranymi wartościowaniami początkowymi i
za każdym razem wykonywanie małej liczby kroków niż długie
kontynuowanie jednego procesu.
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
Algorytm MOD-3-SAT:
I
Powtarzaj maksymalnie m razy (m ustalone później):
I
I
zacznij od dowolnego wartościowania,
powtarzaj maksymalnie 3n razy:
I
I
I
I
wybierz dowolną klauzulę, która nie jest spełniona,
wybierz losowo w sposób jednostajny jeden z literałów tej
klauzuli i zmień wartość jego zmiennej,
jeżeli nowo powstałe wartościowanie spełnia formułę to je
zwróć i przerwij program,
Zwróć komunikat, że formuła nie jest spełnialna.
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
Niech:
I
S – wartościowanie spełniające formułę,
I
q – prawdopodobieństwo, że zmodyfikowany proces osiągnie
wartościowanie S w 3n krokach (bądź wcześniej),
I
qj – dolne ograniczenie na prawdopodobieństwo, że zmodyfikowany
algorytm osiągnie S, gdy zaczyna z wartościowania, które zawiera
dokładnie j zmiennych o wartościach różnych od S.
I
wykażemy, że qj ≥
c 1
√
j 2j
, gdzie c jest pewną stałą.
Mamy:
q≥
n
X
j=0
P(losowe wartościowanie różni się od S na j zmiennych) · qj .
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
Przy założeniu, że qj ≥
q
≥
≥
≥
=
=
Pn
c 1
√
j 2j
mamy:
j=0 P(losowe wartościowanie
Pn
n 1 n √
c 1
1
j=1 j ( 2 ) · j 2j
2n +
Pn
n 1 j
n−j
√c ( 1 )n
j=0 j ( 2 ) (1)
n 2
√c ( 1 )n ( 3 )n
2
n 2
√c ( 3 )n .
n 4
różni się od S na j zmiennych) · qj
Oznacza to, że w oczekiwaniu należy powtórzyć procedurę
O(poly(n)( 34 )n ) razy, co jest znacząco lepsze od O(2n ).
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
A zatem pozostaje wykazać, że qj ≥
c 1
√
j 2j
. Zauważmy, że
j 2j
1
3j
2
,
qj ≥
3
3
j
jako że wyrażenie jest prawdopodobieństwem zdarzenia, że w w dokładnie
3j krokach:
I
w dokładnie 2j krokach idziemy w górę (z prawdopodobieństwem 31 ),
I
w dokładnie j krokach idziemy w dół (z prawdopodobieństwem 23 ).
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
Wzór Stirlinga:
√
2πm
m m
e
m m
√
6 m! 6 2 2πm
.
e
Ze wzoru Stirlinga:
3j
j
=
≥
(3j)!
j!(2j)!
√
√ 2π(3j)
√
=
4 2π(2j) 2πj
√
√3 ( 27 )j
8 πj 4
=
c
√
j
( 3je )3j ( 2je )2j ( ej )j
j
( 27
4 ) dla stałej c =
√
√3 .
8 π
zrandomizowany algorytm dla 3-spełnialności - modyfikacja
Ostatecznie
qj
≥
≥
≥
co było do wykazania.
2 j 1 2j
3j
3
3
j
c 27 j 2 j 1 2j
√
( ) (3) (3)
j 4
c
√ 1j ,
j 2
Łańcuchy Markowa - klasyfikacja stanów
Stan (i) jest osiągalny ze stanu (j), jeśli dla pewnej liczby całkowitej
n ≥ 0, P n [j, i] > 0. Stany (i) oraz (j) nazywamy wzajemnie
komunikującymi się gdy są wzajemnie osiągalne.
Relacja komunikowania się jest relacją równoważności (spójne składowe w
grafie przejść).
Łańcuch Markowa jest nieredukowalny jeśli wszystkie jego stany należą
do jednej klasy komunikacji.
Klasyfikacja stanów - stany przejściowe i powrotne
t
Niech ri,j
oznacza prawdopodobieństwo, że zaczynając w stanie (i),
pierwsze wejście do stanu (j) nastąpi w czasie t; to znaczy:
t
ri,j
= P(Xt = j oraz dla 1 6 s 6 t − 1, Xs 6= j|X0 = i).
P
t
StanP
(i) jest powracający jeśli t≥1 ri,i
= 1. Stan (i) jest przejściowy
t
jeśli t≥1 ri,i < 1. Powracający stan (i) jest pochłaniający jeżeli Pi,i = 1.
Twierdzenie o Macierzy Fundamentalnej
Niech P, x0 będzie łańcuchem Markowa, w którym wszystkie stany
powracające są pochłaniające. Przenumerujmy stany tak, by stany
przejściowe znajdowały się przed stanami pochłaniającymi. Załóżmy, że
Q R
P=
0 I
jest macierzą przejścia, gdzie Q odpowiada przejściom pomiędzy stanami
przejściowymi. Macierz (I − Q)−1 istnieje (patrz twierdzenie na
następnym slajdzie) i nazywa się macierzą fundamentalną łańcucha
Markowa P, x0 .
Twierdzenie o Macierzy Fundamentalnej
Twierdzenie (o macierzy fundamentalnej)
Przy powyższych założeniach można wykazać, że:
I
limt→∞ Q t = 0 (co jest równoważne temu, że z
prawdopodobieństwem równym 1 proces znajdzie się w stanie
pochłanijacym),
I
macierz (I − Q) jest odwracalna oraz
N = (I − Q)−1 = I + Q + Q 2 + . . .,
I
N[i, j] jest oczekiwaną liczbą odwiedzin stanu (j) przy założeniu, że
proces startuje ze stanu (i),
I
Nc[i] jest oczekiwanym czasem pochłonięcia procesu, przy założeniu
że startuje on ze stanu (i), (gdzie c[i] = 1 dla każdego i),
I
NR[i, v ] jest prawdopodobieństwem, że proces startujący ze stanu
(i) zostanie pochłonięty przez stan (v ).
Klasyfikacja stanów - stany nieokresowe i okresowe
Stan (j) w łańcuchu Markowa jest okresowy jeżeli istnieje liczba
całkowita ∆ > 1 taka, że z faktu P(Xt+s = j|Xt = j) > 0 możemy
wnioskować, iż ∆ dzieli s.
Łańcuch Markowa jest okresowy jeżeli przynajmniej jeden jego stan jest
okresowy; w przeciwnym przypadku łańcuch Markowa jest nieokresowy.
W nieredukowalnym łańcuchu Markowa, jeżeli jeden stan jest
nieokresowy, to wszystkie stany są nieokresowe.
ergodyczne łańcuchy Markowa
Nieredukowalny łańcuch Markowa posiadający stan nieokresowy
nazywamy ergodycznym.
Łańcuch Markowa jest ergodyczny wtedy i tylko wtedy, gdy jest
nieredukowalny oraz istnieje N takie, że P t > 0 dla każdego t > N.
Rozkład stacjonarny
Rozkładem stacjonarnym (zwanym także stanem równowagi) w łańcuchu
Markowa z macierzą P nazywamy taki rozkład prawdopodobieństwa π,
dla którego zachodzi
π · P = π.
Twierdzenie
Załóżmy, że P jest macierzą przejścia w ergodycznym łańcuchu Markowa.
Wtedy:
I
limt→∞ P t istnieje (załóżmy, że limt→∞ P t = W ),
I
wszystkie wiersze macierzy W są równe i każdy z nich jest
rozkładem stacjonarnym macierzy P,
I
dla dowolnego rozkładu prawdopodobieństwa x0 mamy
lim x0 P t = π.
Ostatni punkt powyższego twierdzenia mówi, że bez względu na to z
jakim rozkładem prawdopodobieństwa losujemy stan początkowy,
prawdopodobieństwo znalezienia się w stanie (j) (po dostatecznie długim
czasie) jest równe w przybliżeniu π(j).
Fundamentalne Twierdzenie o Łańcuchach Markowa
Dowolny skończony ergodyczny łańcuch Markowa ma następujace
własności:
I
łańcuch ma dokładnie jeden rozkład stacjonarny
π = (π0 , π1 , . . . , πn ),
I
dla wszystkich i, j istnieje granica limt→∞ P t [j, i] i granica ta jest
niezależna od j,
I
dla wszystkich i oraz j, πi = limt→∞ P t [j, i] = h1i ,i , gdzie hi,i jest
oczekiwanym czasem dotarcia do (i) przy założeniu, że startujemy
w (i),
Twierdzenie Perrona-Frobeniusa
Macierz A jest nieredukowalna jeżeli digraf G [A] zdefiniowany na zbiorze [n]
i → j iff A[i, j] > 0
jest silnie spójny.
Macierz A jest nieokresowa jeżeli każdy wierzchołek G [A] jest nieokresowy.
Twierdzenie (Perron-Frobenius)
Niech A będzie macierzą nieokresową i nieredukowalną. Wtedy:
I A ma dokładnie jedną maksymalną na moduł wartość własną λ1 i wartość
własna ta jest rzeczywista,
I uogólnniona przestrzeń wektorów własnych dla wartości własnej λ1 jest
jednowymiarowa,
I dla pozostałych wartości własnych λ macierzy A mamy |λ| < |λ1 |.
Implikacje tw. Perrona-Frobeniusa dla ergodycznych
łańcuchów Markowa
Niech P będzie macierzą przejść ergodycznego łańcucha Markowa.
P spełnia założenia twierdzenia Perrona-Frobeniusa.
Implikacje tw. Perrona-Frobeniusa:
I dla każdej wartości własnej λ macierzy P mamy |λ| 6 1.
I z faktu, że istnieje wartość własna równa 1 oraz lewy wektor własny π dla
wartości własnej 1 mamy, że wszystkie pozostałe wartości własne P są na
moduł ściśle większe od 1.
Pierwsza implikacja wynika stąd, że P i PT mają te same wartości własne oraz
z faktu, że (P T x)j 6 (x)j dla każdego wektora rzeczywistego x ≥ 0, gdzie j
jest wierszem takim, że xj = maxi ∈[n] xi .
Czasowo-odwracalne łańcuchy Markowa
Macierz przejść ergodycznego łańcucha Markowa jest
czasowo-odwracalna jeżeli
π[i] · P[i, j] = π[j] · P[j][i].
Wartości własne ergodycznego czasowo-odwracalnego łańcucha Markowa
są rzeczywiste.
Jeżeli macierz przejść łańcucha Markowa jest symetryczna, to jest
czasowo-odwracalna.
Rozkład stacjonarny ergodycznego łańcucha Markowa z symetryczną
macierzą przejść jest rozkładem jednostajnym.
Łańcuchy Markowa z dodatnimi wartościami własnymi
Twierdzenie
Jeżeli P jest ergodycznym, czasowo odwracalnym łańcuchem Markowa, to
jest również ergodycznym, czasowo odwracalnym łańcuchem
P 0 = P+I
2
Markowa z tym samym rozkładem stacjonarnym π. Co więcej, wszystkie
wartości własne P 0 są większe od zera.
Dowód:
Wartości własne P oraz P 0 są w następującej relacji:
λ – wartość własna dla P iff
1+λ
– wartość własna dla P’.
2
Przekształcenia P → P 0 używamy często aby uzyskać własność nieokresowości
łańcucha Markowa.
Szybkość zbieżności łańcucha Markowa do rozkładu
stacjonarnego π
Chcemy oszacować wartość:
∆(t) = maxi,j
|P t [j, i] − πi |
.
πi
Szybkość zbieżności do rozkładu stacjonarnego π
Przyjmijmy:
I
P jest ergodycznym i symetrycznym łańcuchem Markowa,
I
N jest liczbą stanów łańcucha P,
I
( N1 , . . . , N1 ) jest rozkładem stacjonarnym P.
Interesuje nas jak duże t należy dobrać, aby ∆(t) było ograniczone przez
1
nc dla pewnej stałej c > 0.
Wtedy, po t krokach, prawdopodobieństwo że będziemy w stanie i (bez
względu na to, skąd startujemy) mieści się w przedziale
[ N1 − n1c · N1 , N1 + n1c · N1 ].
Szybkość zbieżności do rozkładu stacjonarnego
λ2 - druga co do modułu wartość własna P.
Twierdzenie
P – ergodyczny, czasowo-odwracalny łańcuch Markowa. Wtedy:
∆(t) 6
(λ2 )t
.
minj π[j]
Szybkość zbieżności do rozkładu stacjonarnego π
Przyjmijmy t =
(ln N+ln nc )
.
1−λ2
Wtedy:
∆(t)
6
(λ2 )t
maxi ∈[N] πi
6
e −(1−λ2 )t · N
=
e −(ln N+ln n ) · N
=
1
N
1
nc
=
c
·
1
nc
·N
,
przy czym druga nierówność wynika z nierówności λ2 6 e −(1−λ2 ) .
1
Jeżeli 1−λ
6 poly (n) dla pewnego wielomianu poly (n), to dla
2
t ≥ (ln N + ln nc ) · poly (n) mamy ∆(t) 6 n1c . Jeżeli tylko ln N jest
wielomianem od n, to ograniczenie ∆(t) 6 n1c otrzymujemy po wielomianowej
liczbie kroków.
Jak ograniczyć
1
1−λ2 ?
Niech S będzie podzbiorem stanów ergodycznego i czasowo-odwracalnego
łańcucha Markowa P. Definiujemy:
P
I capacity of S: CS =
i ∈S π[i].
P
I flow from S to S: FS =
i ∈S,j∈S π[i]P[i, j].
I conductance of S: ΦS =
FS
CS
.
Conductance of P:
ΦP = min∅6=S⊂Q,C (S)6 1 ΦS
2
Twierdzenie
P – ergodyczny, czasowo-odwracalny łańcuch Markowa. Wtedy:
λ2 6 1 −
Φ2P
,
2
co implikuje
1
2
6 2.
1 − λ2
ΦP
Jeżeli pokażemy, że ΦP ≥
naszym celem).
1
,
poly (n)
to wtedy
1
1−λ2
6 2 · poly 2 (n) (co było
Szybkość zbieżności do rozkładu stacjonarnego π
Wniosek: P - ergodyczny, czasowo-odwracalny.
Aby pokazać, że ∆(t) 6 n1c dla wszystkich t ≥ poly1 (n), gdzie poly1 jest
pewnym wielomianem, wystarczy wykazać, że
ΦP ≥
dla pewnego wielomianu poly2 .
1
poly2 (n)
Ograniczenie dolne na szybkość zbieżności
Twierdzenie
P – ergodyczny, czasowo-odwracalny, wszystkie wartości własne są
dodatnie. Wtedy:
I
∆(t) ≥ (λ2 )t ,
I
λ2 ≥ (1 − 2Φ).
Dla przykladu, jeżeli Φ(P) 6 2·21cn , to wtedy należy wykonać co najmniej
2cn kroków by mieć ∆(t) ≈ e1 .
Dla t ≈ 2cn mamy:
∆(t) ≥ (λ2 )t ≥ (1 −
1 t
1
) ≈ .
2cn
e
Jak pokazać Φ ≥
1
poly (n) ?
Założenia:
I P – symetryczny, ergodyczny łańcuch Markowa z liczbą stanów N,
I dla każdych i, j ∈ N, P[i, j] ≥
1
c(n)
dla pewnego wielomianu c.
Technika kanonicznych ścieżek:
I definiujemy kanoniczną ścieżkę p(s, t) pomiędzy każdymi dwoma stanami
s, t łańcucha Markowa,
I wykazujemy, że dla każdej krawędzi w z łańcucha Markowa, liczba
wszystkich kanonicznych ścieżek przechodząca przez w jest ograniczona
od góry przez b(n)N, gdzie b jest pewnym wielomianem.
Przy powyższych założeniach wykażemy, że ΦP ≥
1
2·c(n)·b(n)
(kolejny slajd).
technika kanonicznych ścieżek
I
S – podzbiór stanów taki, że |S| 6
I
S – dopełnienie S, S ≥
ΦS
=
≥
=
≥
co kończy dowód.
N
2
(CS 6 12 ),
N
2.
FS
CS
1
N
1
· c(n)
·(liczba krawędzi z S do S)
1
|S|· N
(liczba krawędzi z S do S)
c(n)·|S|
(liczba ścieżek kanonicznych z S do S)
b(n)·N
c(n)·|S|
|S|· N
2
≥
b(n)·N·c(n)·|S|
≥
1
2·b(n)·c(n),
Spacery losowe w grafach nieskierowanych
Spacer losowy na grafie G jest łańcuchem Markowa zdefiniowanym przez
ciąg ruchów cząsteczki między wierzchołkami (stanami) grafu G . Jeżeli
cząsteczka jest w wierzchołku (i) oraz jeżeli i ma d (i) sąsiadów, to
prawdopodobieństwo, że cząsteczka bedzie się poruszać wzdłuż krawędzi
1
.
(i, j) i przejdzie do sąsiedniego wierzchołka (j), jest równe d(i)
Spacery losowe w grafach nieskierowanych
Twierdzenie
Ergodyczny spacer losowy na grafie G jest zbieżny do rozkładu
stacjonarnego π, gdzie
d (v )
.
πv =
2|E |
P
d(v )
Dowód.
v ∈V 2|E | = 1, a zatem π jest rozkładem prawdopodobieństwa.
Zależność π = πP jest równoważna równości
πv =
X d (u)
1
d (v )
·
=
,
2|E | d (u)
2|E |
u∈N(v )
co kończy dowód.
Spacery losowe w grafach nieskierowanych
Twierdzenie
Jeżeli {u, v } jest krawędzią w grafie G , to hu,v < 2|E |, gdzie hu,v jest
oczekiwanym czasem dotarcia do v przy założeniu, że startujemy w
wierzchołku u.
Dowód. Obliczymy hu,u na dwa sposoby. Z jednej strony
hu,u =
2|E |
d (u)
z fundamentalnego twierdzenia o łańcuchach Markowa. Z drugiej strony
hu,u =
X
1
(1 + hw ,u ).
d (u)
w ∈N(u)
A zatem
2|E | =
X
w ∈N(u)
co implikuje tezę twierdzenia.
(1 + hw ,u ),
s-t spójność
Czas pokrycia grafu G to maksimum po wszystkich wierzchołkach v ∈ V
oczekiwanego czasu niezbędnego do odwiedzenia wszystkich
wierzchołków grafu przez spacer losowy zaczynający się w v .
Twierdzenie
Czas pokrycia grafu G jest ograniczony z góry przez 4|V ||E |.
Dowód. Wybieramy drzewo rozpinające T grafu G . Niech
C = v0 v1 v2 . . . v2n−2 = v0 bedzie cyklem Eulera drzewa T . Oczekiwany
czas przejścia przez cykl C jest mniejszy od
(2|V | − 2)(2|E |)
na mocy poprzedniego twierdzenia, co kończy dowód.
s-t spójność w pamięci O(log n)
Algorytm s-t spójności:
I
zacznij spacer losowy z s,
I
jeżeli spacer dotrze do t w 4n3 krokach, zwróc odpowiedź, że
istnieje ścieżka z s do t; w przeciwnym przypadku odpowiedz, że
ścieżka taka nie istnieje.
Twierdzenie
Algorytm s-t spójności może się mylić tylko w przypadku, gdy istnieje
ścieżka z s do t. W tym przypadku, oczekiwany czas przejścia z s do t
jest mniejszy od 2n3 , a zatem z prawdopodobieństwem co najmniej 12
dojdziemy z s do t w 4n3 krokach.

Podobne dokumenty