Typy algorytmów losowych...Maszyna Turinga M = (S,Σ,δ,s) RAM (maszyna o swobodnym doste˛pie),...

39
Typy algorytmów losowych ALP520 - Wyklad z Algorytmów Probabilistycznych – p.2

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