Lösung 2

Werbung
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 2
Zürich, 8. März 2016
Lösung zu Aufgabe 3
Für eine Funktion F , eine Eingabe x und k ≥ 2 sei also Ak ein Algorithmus, der für jede
Eingabe x genau k unabhängige Läufe von A auf x simuliert. Die ?“ -Wahrscheinlichkeit
”
von A auf x ist 1 − ε. Da bereits bei der Berechnung eines korrekten Resultates in einem
der Läufe das richtige Gesamtergebnis ausgegeben wird, beträgt die ?“ -Wahrscheinlichkeit
”
von Ak höchstens (1 − ε)k . Es soll gelten, dass
(1 − ε)k ≤ 1 − δ,
wobei 1 − δ der gewünschten ?“ -Wahrscheinlichkeit entspricht. Die Anzahl der benötigten
”
Wiederholungen k folgt sofort aus
(1 − ε)k ≤ 1 − δ ⇐⇒ log(1 − ε)k ≤ log(1 − δ) ⇐⇒ k · log(1 − ε) ≤ log(1 − δ)
zu
k≥
log(1 − δ)
.
log(1 − ε)
Lösung zu Aufgabe 4
Um den Erwartungswert für die Anzahl der Wiederholungen zu bestimmen, müssen wir
zunächst die Wahrscheinlichkeit p dafür abschätzen, dass in einer Iteration (d. h. in dem
ursprünglichen Algorithmus STICH aus der Vorlesung) mindestens die Hälfte der Klauseln
erfüllt wird.
Sei also Φ = F1 ∧ F2 ∧ . . . ∧ Fm eine Formel in KNF über den Variablen {x1 , x2 , . . . , xn }.
Weiter sei α = (α1 , α2 , . . . , αn ) die von dem Algorithmus zufällig gewählte Belegung der
Variablen.
Wir nennen die Belegung α gut für eine Formel Φ, falls α mindestens die Hälfte der
Klauseln von Φ erfüllt und schlecht für Φ sonst.
Zu einer Belegung α sei α die komplementäre Belegung, es gelte also α(xi ) = 1 − α(xi )
für alle i ∈ {1, . . . , n}. Dann erfüllt α mindestens alle die Klauseln, die von α nicht erfüllt
werden. Falls α also schlecht ist, dann ist α gut.
Damit ist für jede schlechte Belegung die komplementäre Belegung gut, und somit ist
mindestens die Hälfte aller möglichen Belegungen gut für Φ. Die zufällig gewählte Belegung
α erfüllt also mit Wahrscheinlichkeit p ≥ 1/2 mindestens die Hälfte aller Klauseln von Φ.
Mit Hilfe dieser Abschätzung für p können wir jetzt die erwartete Anzahl der Wiederholungen wie folgt abschätzen: Die Wahrscheinlichkeit, dass der modifizierte Algorithmus
genau k Iterationen braucht, ist (1 − p)k−1 · p: Wenn genau k Iterationen benötigt werden,
war der Algorithmus in den ersten k − 1 Iterationen nicht erfolgreich, aber in der k-ten
Iteration, und alle Iterationen sind unabhängig voneinander.
Sei T eine Zufallsvariable, die die Anzahl der benötigten Iterationen zählt. Dann ergibt
sich für den Erwartungswert
E[T ] =
=
=
=
∞
X
k · (1 − p)k−1 · p
k=0
∞
X
k · (1 − p)k−1 · p
k=1
∞
X
(k + 1) · (1 − p)k · p
k=0
∞
X
k
k · (1 − p) · p +
k=0
= (1 − p) ·
∞
X
(1 − p)k · p
k=0
∞
X
k · (1 − p)k−1 · p + p ·
k=0
Damit folgt
1
p · E[T ] = p · ,
p
E[T ] =
(1 − p)k
k=0
1
= (1 − p) · E[T ] + p ·
.
1 − (1 − p)
also
∞
X
1
≤ 2.
p
Herunterladen