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.