Typy algorytmów losowych...Maszyna Turinga M = (S,Σ,δ,s) RAM (maszyna o swobodnym doste˛pie),...
Transcript of Typy algorytmów losowych...Maszyna Turinga M = (S,Σ,δ,s) RAM (maszyna o swobodnym doste˛pie),...
-
Typy algorytmów losowych
ALP520 - Wykład z Algorytmów Probabilistycznych – p.2
-
Typy algorytmów losowych
Las Vegas - zawsze daje prawidłową odpowiedź (różny czasdziałania). Przykład: RandQuicksort
ALP520 - Wykład z Algorytmów Probabilistycznych – p.2
-
Typy algorytmów losowych
Las Vegas - zawsze daje prawidłową odpowiedź (różny czasdziałania). Przykład: RandQuicksort
Monte Carlo - może dać odpowiedź błędną z pewnymprawdopodobieństwem. Przykład: MIN-CUT.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.2
-
Typy algorytmów losowych
Las Vegas - zawsze daje prawidłową odpowiedź (różny czasdziałania). Przykład: RandQuicksort
Monte Carlo - może dać odpowiedź błędną z pewnymprawdopodobieństwem. Przykład: MIN-CUT. Możnadowolnie zredukować prawdopodobieństwo błędu przezniezależne powtórzenie algorytmu.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.2
-
Typy algorytmów losowych
Las Vegas - zawsze daje prawidłową odpowiedź (różny czasdziałania). Przykład: RandQuicksort
Monte Carlo - może dać odpowiedź błędną z pewnymprawdopodobieństwem. Przykład: MIN-CUT. Możnadowolnie zredukować prawdopodobieństwo błędu przezniezależne powtórzenie algorytmu.
Dla problemów decyzyjnych (odp. TAK/NIE) wyróżnia sięalgorytmy Monte Carlo
* z jednostronnym błędem (one-sided error) - jedna zodpowiedzi jest poprawna
* z dwustronnym błędem (two-sided error)- każda odp maniezerowe prawdopodobieństwo błędu.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.2
-
Monte Carlo i Las Vegas
ALP520 - Wykład z Algorytmów Probabilistycznych – p.3
-
Monte Carlo i Las Vegas
Zadanie. Rozważmy algorytm Monte Carlo A dla problemu P ooczekiwanym czasie działania co najwyżej T (n) dla dowolnych danychwejściowych rozmiaru n, który daje poprawną odpowiedź zprawdopodobieństwem γ(n). Załóżmy ponadto, że można zweryfikowaćpoprawność danego rozwiązania problemu P w czasie t(n). Pokaż jakotrzymać algorytm Las Vegas, który zawsze da poprawne rozwiązanieproblemu P w oczekiwanym czasie nie większym niż(T (n) + t(n))/γ(n).
ALP520 - Wykład z Algorytmów Probabilistycznych – p.3
-
Odrobina teorii złó żonósci
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeń
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeńMaszyna Turinga M = (S, Σ, δ, s)
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeńMaszyna Turinga M = (S, Σ, δ, s)RAM (maszyna o swobodnym dostępie), operacjein/out, operacje na komórkach pamięci, +,−,×, /
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeńMaszyna Turinga M = (S, Σ, δ, s)RAM (maszyna o swobodnym dostępie), operacjein/out, operacje na komórkach pamięci, +,−,×, /RAM i Maszyna Turinga są równoważne
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeńMaszyna Turinga M = (S, Σ, δ, s)RAM (maszyna o swobodnym dostępie), operacjein/out, operacje na komórkach pamięci, +,−,×, /RAM i Maszyna Turinga są równoważne
II. Klasy złożoności
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Odrobina teorii złó żonósci
I. Modele obliczeńMaszyna Turinga M = (S, Σ, δ, s)RAM (maszyna o swobodnym dostępie), operacjein/out, operacje na komórkach pamięci, +,−,×, /RAM i Maszyna Turinga są równoważne
II. Klasy złożonościRozpatrujemy problemy decyzyjne (TAK/NIE). Każdyproblem decyzyjny można traktować jako problemrozpoznawania pewnego języka (łatwiej).Ustalmy alfabet Σ, zwykle Σ = {0, 1} i niech Σ∗ zbiórwszystkich możliwych słów nad alfabetem. Język L ⊆ Σ∗
jest zbiorem słów nad alfabetem Σ.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.4
-
Klasy złożonósci
ALP520 - Wykład z Algorytmów Probabilistycznych – p.5
-
Klasy złożonósci
Problem rozpoznawania języka - sprawdzenie czy danesłowo x ∈ Σ∗ należy do języka L.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.5
-
Klasy złożonósci
Problem rozpoznawania języka - sprawdzenie czy danesłowo x ∈ Σ∗ należy do języka L.Algorytm rozwiązuje ten problem dla danego języka Lpoprzez akceptację (odp. TAK) każdego słowa wejściowego,które należy do języka i odrzucenie (odp. NIE) każdego słowa,które nie należy do L.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.5
-
Klasy złożonósci
Problem rozpoznawania języka - sprawdzenie czy danesłowo x ∈ Σ∗ należy do języka L.Algorytm rozwiązuje ten problem dla danego języka Lpoprzez akceptację (odp. TAK) każdego słowa wejściowego,które należy do języka i odrzucenie (odp. NIE) każdego słowa,które nie należy do L.
Klasa złożono ści to rodzina języków, które można rozpoznać
za pomocą algorytmu o z góry zadanych parametrach obli-
czeniowych (zwykle efektywny = o wielomianowym czasie działa-
nia nO(1), gdzie n-rozmiar wejścia).
ALP520 - Wykład z Algorytmów Probabilistycznych – p.5
-
Deterministyczne klasy zlȯzonósci
ALP520 - Wykład z Algorytmów Probabilistycznych – p.6
-
Deterministyczne klasy zlȯzonósci
Definicja. P ={L : ∃ alg. wielomianowy A : ∀x ∈ Σ∗
x∈ L ⇒ A(x) akceptujex/∈ L ⇒ A(x) odrzuca.}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.6
-
Deterministyczne klasy zlȯzonósci
Definicja. P ={L : ∃ alg. wielomianowy A : ∀x ∈ Σ∗
x∈ L ⇒ A(x) akceptujex/∈ L ⇒ A(x) odrzuca.}
Definicja. NP ={L : ∃ alg. wielomianowy A : ∀x ∈ Σ∗
x∈ L ⇒ ∃y ∈ Σ∗, |y| < Pol(|x|) A(x, y) akceptuje,x/∈ L ⇒ ∀y ∈ Σ∗ A(x, y) odrzuca.}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.6
-
Deterministyczne klasy zlȯzonósci
Definicja. P ={L : ∃ alg. wielomianowy A : ∀x ∈ Σ∗
x∈ L ⇒ A(x) akceptujex/∈ L ⇒ A(x) odrzuca.}
Definicja. NP ={L : ∃ alg. wielomianowy A : ∀x ∈ Σ∗
x∈ L ⇒ ∃y ∈ Σ∗, |y| < Pol(|x|) A(x, y) akceptuje,x/∈ L ⇒ ∀y ∈ Σ∗ A(x, y) odrzuca.}
NP- tylko problemy, dla których można efektywniezweryfikować rozwiązania.Przykład: cykl Hamiltona w grafie.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.6
-
Losowy model obliczén
ALP520 - Wykład z Algorytmów Probabilistycznych – p.7
-
Losowy model obliczén
Probabilistyczna maszyna Turinga - maszyna Turinga, którapotrafi wygenerować losowy bit w jednym kroku. Jeślir−ciąg losowych bitów, to |r| = Poly(|x|), gdzie x− danawejściowa.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.7
-
Losowy model obliczén
Probabilistyczna maszyna Turinga - maszyna Turinga, którapotrafi wygenerować losowy bit w jednym kroku. Jeślir−ciąg losowych bitów, to |r| = Poly(|x|), gdzie x− danawejściowa.
Losowe klasy złożono ści
ALP520 - Wykład z Algorytmów Probabilistycznych – p.7
-
Losowy model obliczén
Probabilistyczna maszyna Turinga - maszyna Turinga, którapotrafi wygenerować losowy bit w jednym kroku. Jeślir−ciąg losowych bitów, to |r| = Poly(|x|), gdzie x− danawejściowa.
Losowe klasy złożono ści
Definicja. RP(Randomized Polynomial time) = {L : ∃ alg. losowy A owielomianowym czasie w najgorszym przypadku : ∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] ≥ 12x/∈ L ⇒ Pr[A(x) akceptuje] = 0}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.7
-
Losowy model obliczén
Probabilistyczna maszyna Turinga - maszyna Turinga, którapotrafi wygenerować losowy bit w jednym kroku. Jeślir−ciąg losowych bitów, to |r| = Poly(|x|), gdzie x− danawejściowa.
Losowe klasy złożono ści
Definicja. RP(Randomized Polynomial time) = {L : ∃ alg. losowy A owielomianowym czasie w najgorszym przypadku : ∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] ≥ 12x/∈ L ⇒ Pr[A(x) akceptuje] = 0}
one-sided error Monte Carlo, 12 można zastąpić dowolnąfunkcją będącą odwrotnością wielomianu.co_RP : x ∈ L ⇒ Pr[A(x) akceptuje] = 1x/∈ L ⇒ Pr[A(x) odrzuca] ≥ 12 .
ALP520 - Wykład z Algorytmów Probabilistycznych – p.7
-
Losowe klasy złȯzonósci
Definicja. ZPP(Zero-error Probabilistic Polynomial time) = {L : L maalgorytm Las Vegas o wielomianowym oczekiwanym czasie działania.}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.8
-
Losowe klasy złȯzonósci
Definicja. ZPP(Zero-error Probabilistic Polynomial time) = {L : L maalgorytm Las Vegas o wielomianowym oczekiwanym czasie działania.}
Fakt. RP ∩ co_RP = ZPP
(Dowód na ćwiczeniach.)
ALP520 - Wykład z Algorytmów Probabilistycznych – p.8
-
Losowe klasy złȯzonósci
Definicja. ZPP(Zero-error Probabilistic Polynomial time) = {L : L maalgorytm Las Vegas o wielomianowym oczekiwanym czasie działania.}
Fakt. RP ∩ co_RP = ZPP
(Dowód na ćwiczeniach.)Definicja. PP (Probabilistic Polynomial time) = {L : ∃ alg. losowy A owielomianowym czasie w najgorszym przypadku: ∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] > 12x/∈ L ⇒ Pr[A(x) akceptuje] < 12}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.8
-
Losowe klasy złȯzonósci
Definicja. ZPP(Zero-error Probabilistic Polynomial time) = {L : L maalgorytm Las Vegas o wielomianowym oczekiwanym czasie działania.}
Fakt. RP ∩ co_RP = ZPP
(Dowód na ćwiczeniach.)Definicja. PP (Probabilistic Polynomial time) = {L : ∃ alg. losowy A owielomianowym czasie w najgorszym przypadku: ∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] > 12x/∈ L ⇒ Pr[A(x) akceptuje] < 12}
two-sided error Monte Carlo
Redukcja błędu - powtórzyć wielokrotnie i wybrać przeważa-
jącą odpowiedź. Ograniczone możliwości - nie działa gdy
prawd. bliskie 12 .ALP520 - Wykład z Algorytmów Probabilistycznych – p.8
-
Losowe klasy złȯzonósci
Definicja. BPP (Bounded-error Probabilistic Polynomial time) ={L : ∃ alg. losowy A o wielomianowym czasie w najgorszym przypadku:∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] ≥ 34x/∈ L ⇒ Pr[A(x) akceptuje] ≤ 14}
ALP520 - Wykład z Algorytmów Probabilistycznych – p.9
-
Losowe klasy złȯzonósci
Definicja. BPP (Bounded-error Probabilistic Polynomial time) ={L : ∃ alg. losowy A o wielomianowym czasie w najgorszym przypadku:∀x ∈ Σ∗
x∈ L ⇒ Pr[A(x) akceptuje] ≥ 34x/∈ L ⇒ Pr[A(x) akceptuje] ≤ 14}
Redukcja błędu - zawsze można do 12n (dowód poźniej).
Wartośći: 34 i14 można zastąpić przez
12 +
1p(n) i
12 −
1p(n) opo-
wiednio, gdzie p(n) jest dowoloną funkcją ograniczoną przez
wielomian.
ALP520 - Wykład z Algorytmów Probabilistycznych – p.9
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
P ⊆ RP ⊆ NP
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
P ⊆ RP ⊆ NP
RP ⊆ BPP ⊆ PP
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
P ⊆ RP ⊆ NP
RP ⊆ BPP ⊆ PP
PP = co_PP, BPP = co_BPP
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
P ⊆ RP ⊆ NP
RP ⊆ BPP ⊆ PP
PP = co_PP, BPP = co_BPP
Otwarte problemy: RP = co_RP, BPP ⊆ NP
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
-
Związki pomiędzy losowymi klasami złȯzonósci
PP a BPP
P ⊆ RP ⊆ NP
RP ⊆ BPP ⊆ PP
PP = co_PP, BPP = co_BPP
Otwarte problemy: RP = co_RP, BPP ⊆ NP
Jeśli NP ⊆ BPP, to NP = RP. (zadanie)
ALP520 - Wykład z Algorytmów Probabilistycznych – p.10
Typy algorytmów losowychMonte Carlo i Las VegasOdrobina teorii zªó»ono±ciKlasy zªo»ono±ciDeterministyczne klasy zlo»ono±ciLosowy model oblicze«Losowe klasy zªo»ono±ciLosowe klasy zªo»ono±ciZwi¡-zki po-mi¦-dzy lo-so-wy-mi kla-sa-mi zªo-»o-no±-ci