Methoden zum Entwurf von zufallsgesteuerten Algorithmen Departement Informatik Dr. Hans-Joachim Böckenhauer Dr. Dennis Komm Dr. Richard Královič http://www.ita.inf.ethz.ch/randalg16 Lösungsvorschläge – Blatt 4 Zürich, 22. März 2016 Lösung zu Aufgabe 7 In unserem Protokoll überträgt R1 nur Information über ein einziges Element von M : 1. 2. 3. 4. 5. 6. Falls M 6= ∅, wählt R1 zufällig eine Zahl i ∈ M aus. Falls M = ∅, setze i := 0. R1 sendet i, kodiert in dlog2 (n + 1)e Bits. R2 empfängt i. Falls i = 0, gibt R2 Nein aus. Falls i > 0 und i = y, dann gibt R2 Ja aus. Andernfalls gibt R2 Ja mit Wahrscheinlichkeit 1/2 − 1/(3n − 2) und Nein mit Wahrscheinlichkeit 1/2 + 1/(3n − 2) aus. Wenn M = ∅, dann gibt R2 immer die richtige Antwort. Also nehmen wir im Folgenden an, dass M nicht leer ist. Wir analysieren zwei Fälle: 1. Sei y ∈ / M . In diesem Fall ist immer i 6= y, und R2 gibt die richtige Antwort Nein mit Wahrscheinlichkeit 1 1 + . 2 3n − 2 2. Sei y ∈ M . Mit Wahrscheinlichkeit 1/ |M | wählt R1 die Zahl i = y und R2 gibt die richtige Antwort. Andernfalls (also mit Wahrscheinlichkeit 1 − 1/ |M |) ist i 6= y und R2 gibt die richtige Antwort mit Wahrscheinlichkeit 1/2 − 1/(3n − 2) aus. Die gesamte Wahrscheinlichkeit der richtigen Antwort ist deshalb ! 1 1 1 1 + 1− · − |M | |M | 2 3n − 2 1 1 1 1 1 + − − + = |M | 2 3n − 2 2 · |M | |M | · (3n − 2) 1 1 1 − |M | = + + 2 · |M | 2 |M | · (3n − 2) 3n − 2 |M | 1 = + 2 2 · |M | · (3n − 2) 3n − 2n 1 ≥ + 2 2n · (3n − 2) 1 1 = + . 2 6n − 4 Dabei folgt die Ungleichung in der vorletzten Zeile wegen |M | ≤ n. Unser Protokoll ist also ein korrektes Monte-Carlo-Protokoll mit unbeschränktem zweiseitigem Fehler ε := 1/(6n − 4). Lösung zu Aufgabe 8 Offenbar kann A0 nur dann eine falsche Antwort ausgeben, wenn mindestens eine der folgenden Bedingungen erfüllt ist: 1. Weniger als βn Läufe von A geben die richtige Antwort aus. 2. Mindestens βn Läufe von A geben dieselbe falsche Antwort aus. Sei P1 die Wahrscheinlichkeit des ersten Falls und sei P2 die Wahrscheinlichkeit des zweiten Falls. Die Fehlerwahrscheinlichkeit des Algorithmus A0 ist dann kleiner gleich P1 + P2 . Zuerst schätzen wir die Wahrscheinlichkeit P1 ab. Sei 1 ≤ i ≤ n. Wir definieren Xi als eine Indikatorvariable, so dass Xi = 1 genau dann gilt, wenn der i-te Lauf von A eine falsche P Antwort ausgibt. Ausserdem definieren wir die Zufallsvariable X = ni=1 Xi . Es gilt, dass P1 = Prob X ≥ (1 − β)n. Um diese Wahrscheinlichkeit zu beschränken, wollen wir die Chernoff-Ungleichung verwenden. Dazu überprüfen wir zunächst, ob alle Bedingungen dafür erfüllt sind. Die Xi sind paarweise unabhängig voneinander, und für jedes Xi gilt Prob Xi = 1 ≤ 2/3. Wir wählen also als Werte für die pi jeweils pi = 2/3, und damit gilt p = 2n/3. Wir müssen nun noch sicherstellen, dass γ > 1 ist, also ermitteln wir zuletzt noch den Wert von γ. Da wir mit einer Formel für Prob X ≥ γp die Wahrscheinlichkeit Prob X ≥ (1 − β)n abschätzen wollen, setzen wir γp und (1 − β)n gleich und erhalten γp = (1 − β)n ⇐⇒ γ = (1 − β)n · ⇐⇒ γ = 3(1 − β) . 2 3 2n Da β = 7/24, ist somit γ > 1. Es sind also alle nötigen Bedingungen erfüllt und wir können die Chernoff-Ungleichung anwenden. Damit ergibt sich 3(1−β) 2 P1 ≤ e(1− 3(1−β) −ln 2 )(1−β)n ≤ e−0.001n . Jetzt beschränken wir die Wahrscheinlichkeit P2 . Hierfür beweisen wir zunächst die in der Aufgabenstellung angegebene Hilfsbehauptung. Wir zeigen, dass wir alle möglichen falschen Antworten des Algorithmus A in höchstens 5 Gruppen verteilen können, so dass für jede Gruppe Sj die Ungleichung Prob A(x) ∈ Sj ≤ 1/4 gilt. Der Beweis dieser Behauptung ist einfach: Wir nehmen an, dass die Menge aller möglichen falschen Antworten abzählbar ist. Wir verteilen alle möglichen falschen Antworten nacheinander in die Gruppen. Wenn die Wahrscheinlichkeit der aktuellen Gruppe 1/4 überschreitet, starten wir eine neue Gruppe. Wir zeigen durch einen Widerspruchsbeweis, dass so maximal 5 Gruppen entstehen können. Angenommen, wir würden mindestens 6 Gruppen erhalten. Dann muss offensichtlich gelten Prob A(x) ∈ S1 ∪ S2 > 1/4, denn sonst wären alle Antworten A(x) ∈ S2 noch in Gruppe S1 eingeteilt worden. Analog können wir für S3 ∪ S4 und S5 ∪ S6 argumentieren. Somit gilt S Prob A(x) ∈ 6j=1 Si > 3/4 > 2/3, was aber nicht sein kann, da die Wahrscheinlichkeit, dass A(x) eine richtige Antwort ist, laut Aufgabenstellung mindestens 1/3 ist. Damit ist die Behauptung bereits bewiesen. Sei PSi die Wahrscheinlichkeit, dass mindestens βn Läufe eine Antwort aus der Gruppe Sj P ausgeben. Weil P2 ≤ 5j=1 PSi gilt, ist es ausreichend, die Wahrscheinlichkeit PSj zu beschränken. Wir können jede Zufallsvariable PS für S ⊆ {S1 , S2 , . . . , S6 } analog wie im ersten Fall beschränken. Sei Xi eine Indikatorvariable, so dass Xi = 1 genau dann gilt, wenn die Ausgabe des i-ten Laufs von A in der Gruppe S enthalten ist. Es gilt, dass Prob Xi = 1 ≤ P 1/4 und PS = Prob ni=1 Xi ≥ βn. Wir benutzen die Chernoff-Ungleichung für p = n/4 und γ = 4β > 1 und erhalten 1 PS ≤ e(1− 4β −ln(4β))βn ≤ e−0.003n . Also gilt P2 ≤ 5e−0.003n . Die Fehlerwahrscheinlichkeit des Algorithmus A0 ist deshalb höchstens 5e−0.003n + e−0.001n . Mit der Wahl eines hinreichend grossen Wertes für n können wir diese Wahrscheinlichkeit beliebig klein machen. Mit wachsendem n nimmt die Fehlerwahrscheinlichkeit exponentiell ab. Im Gegensatz zu A ist A0 also durchaus ein brauchbarer Algorithmus für F .