Theoretische Informatik Probabilistische Turingmaschinen Rainer Schrader Institut für Informatik 10. Juni 2009 2 / 30 1 / 30 PTM PTM • es stellt sich die Frage, wie sich probabilistische Ansätze in die bisher behandelte Komplexitätstheorie einordnen Gliederung • wir werden dazu im folgenden eine Komplexitätstheorie für Algorithmen • probabilistische Turingmaschinen • Beziehungen zwischen PTM und NDTM mit Zufallsschritten behandeln • sie beruht u.a. auf probabilistischen Turingmaschinen • die als Varianten der nichtdeterministischen TM aufgefasst werden können 3 / 30 4 / 30 PTM PTM probabilistische Turingmaschine (PTM) • Beispiel für eine PTM: • die Übergangsfunktion ist eine Abbildung δ : Q × A → (Q × A × {L, R, N })2 • jede der beiden möglichen Rechenschritte wird mit Wahrscheinlichkeit 1 2 gewählt ? • für drei ausgezeichnete Zustände q+ , q− , q? stoppt die PTM mit dem Ergebnis „akzeptieren”, „verwerfen”, „weiß nicht” ja • das Ergebnis bei Eingabe x ist eine Zufallsvariable f (x ) mit Werten 8 < 1 akzeptieren 0 verwerfen f (x ) = : ? weiß nicht ja nein • die von M berechnete Zufallsvariable: 8 > 1 mit Wahrscheinlichkeit > < 0 mit Wahrscheinlichkeit f (x ) = > > : ? mit Wahrscheinlichkeit • die Wahrscheinlichkeit eines Rechenweges der Länge k ist 2 −k • die Rechenzeit einer PTM ist die maximale Rechenzeit auf einem der Rechenwege 3 8 1 8 4 8 5 / 30 6 / 30 PTM PTM (ii) RP (Randomized Polynomial time) ist die Menge aller Sprachen L, für die es eine polynomiell-zeitbeschränkte PTM gibt mit: Klassen von durch PTM erkannten Sprachen: • sei L eine Sprache und χL ihre charakteristische Funktion 1 für x ∈ L 2 Pr (f (x ) = 0) = 1 für x ∈ /L Pr (f (x ) = 1) > i) BPP (Bounded error, Probabilistic, Polynomial time): die Menge aller Sprachen L, für die: • es eine polynomiell-zeitbeschränkte PTM und • beispielsweise gilt: L = {n : n ist nicht prim} ∈ RP • ein ε > 0 gibt, so dass • für alle x ∈ {0, 1}∗ gilt: (iii) coRP ist die Menge aller Sprachen L, für die es eine polynomiellzeitbeschränkte PTM gibt mit: 1 Pr (f (x ) = χ(x )) > + ε. 2 Pr (f (x ) = 1) = 1 für x ∈ L Pr (f (x ) = 0) > BPP ist offensichtlich unter Komplementbildung abgeschlossen. 7 / 30 1 für x ∈ /L 2 8 / 30 PTM PTM Satz Sei k ∈ N. Für L ∈ RP gibt es eine PTM M , so dass gilt: (iv) ZPP (Zero error, Probabilistic, Polynomial time) ist die Menge aller Sprachen L, für die es eine polynomiell-zeitbeschränkte PTM gibt mit: Pr (fM (x ) = 1) Pr (fM (x ) = 0) 1 für x ∈ L 2 1 Pr (f (x ) = 1) = 0 und Pr (f (x ) = 0) > für x ∈ /L 2 > 1 − 2−k =1 für x ∈ L für x ∈ / L. Pr (f (x ) = 0) = 0 und Pr (f (x ) = 1) > Beweis: • die PTM M simuliert k -mal die PTM M 0 , die zu L existiert • wenn eine dieser Simulationen akzeptiert, akzeptiert M , • die PTM sagt also nie die Unwahrheit, im Zweifelsfall antwortet sie „?” • andernfalls verwirft M die Eingabe x • ist x ∈ / L, so ist Pr (fM 0 (x ) = 0) = 1. In einigen Fällen kann durch wiederholte Anwendung die Wahrscheinlichkeit • damit ist auch Pr (fM (x ) = 0) = 1. • ist x ∈ L, so ist Pr (fM 0 (x ) 6= 1) < 12 . • die Wahrscheinlichkeit, dass dies bei k unabhängigen Versuchen erhöht werden. passiert, ist dann Pr (fM (x ) 6= 1) < 2−k . 10 / 30 9 / 30 PTM PTM • das Ergebnis zeigt, dass es auch reicht, Pr (f (x ) = 1) > ε für x ∈ L zu Beweis: verlangen • per Definition von ai ist: • auch für die etwas schwächeren BPP lässt sich ein entsprechendes ai = Ergebnis formulieren • dazu ein vorbereitendes Lemma: • sei p = 1 2 ! t p i (1 − p)t −i = i + ε + δ, dann folgt: 1 2 1 =( 2 1 =( 2 1 <( 2 p(1 − p) = ( Lemma • Sei E ein Ereignis, dessen Wahrscheinlichkeit p größer ist als • für t ∈ N und i ≤ t sei ai die Wahrscheinlichkeit, dass E bei 1 2 +ε t unabhängigen Versuchen genau i -mal eintritt • dann gilt: ai < ! t t 1 ( − ε2 ) 2 . i 4 ! t p i (1 − p)i (1 − p)t −2i i 1 − ε − δ) 2 1 1 1 + ε)( − ε) + δ( − ε − δ) − δ( + ε) 2 2 2 1 2 + ε)( − ε) − 2δε − δ 2 1 + ε)( − ε) 2 + ε + δ)( • Somit p i (1 − p)i < ( 12 + ε)i ( 12 − ε)i = ( 14 − ε2 )i 11 / 30 12 / 30 PTM PTM • damit können wir die Fehlerwahrscheinlichkeit auch für die etwas • p i (1 − p)i < ( 14 − ε2 )i und somit: schwächeren BPP herabsetzen: ! t p i (1 − p)i (1 − p)t −2i i ! t 1 )( − ε2 )i (1 − p)t −2i i 4 ai = < Da (1 − p)2 < ( 12 − ε)2 = Satz Sei M eine BPP für L mit Parameter ε > 0 und k ∈ N. Dann gibt es eine PTM M 0 für L mit Pr (fM 0 (x ) = χL (x ) > 1 − 2−k . − ε + ε2 < 14 − ε2 , folgt ! t 1 ai < ( − ε2 )i (1 − p)t −2i i 4 ! t −2i t 1 1 < ( − ε2 )i ( − ε2 ) 2 i 4 4 ! t t 1 = ( − ε2 ) 2 i 4 1 4 Beweis: • sei t eine ungerade natürliche Zahl, die wir später spezifizieren • M 0 simuliert M t -mal unabhängig voneinander • M 0 akzeptiert (verwirft) x , wenn mindestens d 2t e der Simulationen von M x akzeptieren (verwerfen), • ansonsten antwortet sie „?” 13 / 30 14 / 30 PTM für x ∈ L gilt: PTM Somit ist • M 0 akzeptiert x , wenn mindestens d 2t e der Simulationen x akzeptieren X ` ´ t 1 ai > 1 − ( − ε2 ) 2 Pr fM 0 (x ) = χL (x ) = 1 − 4 t • damit ist die Wahrscheinlichkeit dafür, dass M 0 x akzeptiert: Pr (fM 0 (x ) = 1) = 1 − X i ≤b 2 c ai i ≤b 2t c • die Binomialkoeffizienten sind symmetrisch (d.h. ai < ` t t −i ´ ) 2 • somit ai t 1 − ε2 ) 2 2t −1 4 t 1 = 1 − (1 − 4ε2 ) 2 2 i ≤b 2t c nach dem letzten Lemma gilt: = ! • da t ungerade ist, ist die Anzahl der • M 0 verwirft x , wenn mindestens d 2t e der Simulationen x verwerfen, • damit ist die Wahrscheinlichkeit dafür, dass M 0 x verwirft: Pr (fM 0 (x ) = 0) = 1 − 0≤i ≤b 2t c `t ´ i t i `t ´ , 0 ≤ i ≤ t gerade i `t ´ P `´ P • wegen der Symmetrie ist i ≤b t c i dann die Hälfte von i ≤t ti = 2t entsprechend gilt für x ∈ / L: X X Pr (fM 0 (x ) = χL (x )) > 1 − ( ! t t 1 ( − ε2 ) 2 i 4 15 / 30 16 / 30 PTM Pr (fM 0 (x ) = χL (x )) > 1 − PTM t 1 (1 − 4ε2 ) 2 2 • sei t ≥ −2(k − 1)/ log(1 − 4ε2 ). • dann ist 1− • d.h. für t ≥ −2(k − 1)/ log(1 − 4ε2 ) Versuche ist der Fehler kleiner als 2−k 2 t 1 1 (1 − 4ε2 ) 2 > 1 − (1 − 4ε2 )−(k −1)/ log(1−4ε ) . 2 2 • allgemein gilt x • somit 1/ log x =2 log x / log x • da ε konstant, wächst die Anzahl der Wiederholungen linear in k =2 • d.h. der Fehler von BPP-Algorithmen kann schnell klein gemacht werden. 2 1 (1 − 4ε2 )−(k −1)/ log(1−4ε ) 2 1 = 1 − 2−(k −1) 2 = 1 − 2−k Pr (fM 0 (x ) = χL (x )) > 1 − 18 / 30 17 / 30 PTM PTM Satz P ⊆ ZPP ⊆ RP ⊆ BPP. Gliederung Beweis: • probabilistische Turingmaschinen • Beziehungen zwischen PTM und NDTM • P ⊆ ZPP folgt aus der Definition • baue die ZPP so um, dass „?” durch „verwerfen” ersetzt wird, • dann erhalten wir einen RP • nach früherem Satz (etwa mit k = 2) gilt RP ⊆ BPP. 19 / 30 20 / 30 PTM PTM Zum Schluss noch einige Beziehungen zwischen PTM und NDTM: • sei K eine Klasse von Sprachen Satz RP ⊆ NP. • mit coK haben wir die Menge aller Sprachen bezeichnet, deren Beweis: • d.h. Komplement in K liegt coK = {L ∈ Σ∗ : Σ∗ r L ∈ K}. • sei L ∈ RP und M die zugehörigen PTM. • fasse M als NDTM auf, bei der jeweils höchstens zwei Nachfolgekonfigurationen entstehen • seien A und B zwei Klassen von Sprachen mit A ⊆ B • für x ∈ / L gilt Pr (fM (x ) = 1) = 0, • dann folgt auch coA ⊆ coB, • d.h. es gibt keinen akzeptierenden Rechenweg. • denn L ∈ coA bedeutet Σ∗ r L ∈ A • für x ∈ L gilt Pr (fM (x ) = 1) > 21 , • damit ist Σ∗ r L ∈ B und L ∈ coB • d.h. es existiert ein akzeptierender Weg und die NDTM akzeptiert x. 21 / 30 22 / 30 PTM PTM Satz 8 < akzeptiert, e verwirft, M : weiß nicht, ZPP = RP ∩ coRP. Beweis: • nach früherem Satz ist ZPP ⊆ RP. • wegen der Symmetrie von ZPP ist ZPP = coZPP • also folgt auch ZPP = coZPP ⊆ coRP. • es gilt: e akzeptiert M e verwirft M e weiß nicht M • sei umgekehrt L ∈ RP ∩ coRP, d.h. L ∈ RP • seien M und M die zugehörigen PTM. e , die nacheinander M , M simuliert, mit • konstruiere eine Maschine M 8 < akzeptiert, e verwirft, M : weiß nicht, falls M akzeptiert; falls M nicht akzeptiert, M danach akzeptiert; falls M und M nicht akzeptieren; ⇐⇒ ⇐⇒ ⇐⇒ M akzeptiert M akzeptiert M , M akzeptieren nicht ⇒x ∈L ⇒x ∈ /L • im letzten Fall macht eine der beiden Maschinen einen Fehler, • nach Voraussetzung ist dieser Fehler kleiner als 12 . falls M akzeptiert; falls M nicht akzeptiert, M danach akzeptiert; falls M und M nicht akzeptieren; 23 / 30 24 / 30 PTM PTM Satz NP ∪ coNP ⊆ BPP. Korollar Beweis: ZPP ⊆ NP ∩ coNP. • für BPP ist die Definition symmetrisch in „akzeptiert“ und „verwerfen“ • somit ist BPP = coBPP Beweis: • es genügt also NP ⊆ BPP zu zeigen • nach früherem Satz gilt RP ⊆ NP, • damit folgt coRP ⊆ coNP • somit • sei L ∈ NP und M eine NDTM mit Polynom p • wir können annehmen: ZPP = RP ∩ coRP ⊆ NP ∩ coNP. • jede Konfiguration hat keine oder zwei Nachfolgekonfigurationen • alle Rechenwege zur Eingabe x stoppen nach genau p(|x |) Schritten • wir konstruieren eine PTM M’ wie folgt: 25 / 30 26 / 30 PTM PTM • M 0 erzeugt bei Eingabe x eine Zufallszahl z mit 0 ≤ z ≤ 2p(|x |)+2 − 1 • M 0 erzeugt bei Eingabe x eine Zufallszahl z mit 0 ≤ z ≤ 2p(|x |)+2 − 1 • falls z ≤ 2p(|x |)+1 , simuliert M 0 die Maschine M , • falls z ≤ 2p(|x |)+1 , simuliert M 0 die Maschine M , • andernfalls wird x akzeptiert • andernfalls wird x akzeptiert • M 0 hat somit polynomielle Rechenzeit • M 0 hat somit polynomielle Rechenzeit • ist x ∈ L: • M akzeptiert auf mindestens einem der Rechenwege • d.h. mit Wahrscheinlichkeit ≥ 2−p(|x |) • ist x ∈ / L: • kein Rechenweg von M akzeptiert den Input x • M 0 akzeptiert x ∈ / L nur dann, wenn 2p(|x |)+1 < z ≤ 2p(|x |)+2 − 1 • die Wahrscheinlichkeit ist (2p(|x |)+1 − 1)/2p(|x |)+2 < • die Wahrscheinlichkeit, dass M simuliert wird, ist größer als • also ist die Wahrscheinlichkeit zu akzeptieren größer als 1 2 2−p(|x |) 27 / 30 1 2 1 2p(|x |)+1 − 1 2p(|x |)+1 + 1 1 + = > p(|x |)+2 2 2 2 2p(|x |)+2 28 / 30 PTM PTM Damit ergibt sich: P ⊆ ZPP = RP ∩ coRP ⊆ NP ∩ coNP RP ⊆ NP ∪ coNP ⊆ NP Die PTM’s als Verallgemeinerung von DTM’s haben zu einer Verschärfung der Church’schen These geführt: ff ⊆ BPP. Starke Church’sche These: BPP Die in einem intuitiven Sinne berechenbaren Funktionen können mit höchstens polynomiellem Mehraufwand auf einer PTM simuliert werden. NP ∪ coNP NP • d.h. alle intuitiv berechenbaren Funktionen sind PTM-berechenbar coNP • die Rechenzeit steigt dabei höchstens polynomiell an NP ∩ coNP RP • wir werden auf die starke Church’sche These im Zusammenhang mit coRP Quantencomputern zurückkommen. ZPP P 29 / 30 30 / 30