TU Ilmenau, Fakultät IA Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. Martin Dietzfelbinger, Dipl.-Ing. Christopher Mattern http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20112012/ra/ Randomisierte Algorithmen“ ” Übungsblatt 4, WS 2011/12 Besprechung: Donnerstag, 8.12.2011 (49. KW). Für das Vorrechnen einer der mit *“ ” markierten Aufgaben werden Bonuspunkte vergeben. Aufgabe 1 (Parameterschätzung bei Bernoulli-Experimenten, z. B. Münzwurf ) * Seien Z1 , Z2 , Z3 , . . . unabhängige Zufallsvariable, die jeweils zum Parameter p, 0 < p < 1, geometrisch verteilt sind. (Siehe Übungsblatt 2, Aufgabe 2.) Diese Zufallsvariablen modellieren die Wartezeit auf einen Erfolg bei unabhängigen Versuchen mit Erfolgswahrscheinlichkeit p. Weiter sei für k ≥ 1 die Zufallsvariable Yk definiert durch Yk = Z1 +Z2 +· · ·+Zk . Dann modelliert Yk die Wartezeit auf k Erfolge bei unabhängigen Versuchen mit Erfolgswahrscheinlichkeit p. Wir wollen eine Art Hoeffding-Schranke für Yk ermitteln. (a) Zeigen Sie: E(Yk ) = k/p. (b) Finden Sie eine obere Schranke für Pr Yk ≥ (1 + ε) kp . Hinweis: Wenn X1 , X2 , X3 , . . . unabhängige {0, 1}-wertige Zufallsvariable mit Pr(Xi = 1) = p sind, dann kann man sich vorstellen, dass Yk wie folgt definiert ist: Yk = min{i | X1 + X2 + · · · + Xi ≥ k}. Also gilt für ganzzahlige t, dass Pr (Yk > t) = Pr(X1 + · · · + Xt < k). Nun kann man die Hoeffding-Schranke aus der Vorlesung ins Spiel bringen. (c) (Optional.) Finden Sie eine obere Schranke für Pr Yk ≤ (1 − ε) kp . (d) Benutzen Sie das Ergebnis von (b) und (c), um folgende Strategie zu analysieren: Gegeben ist eine unfaire Münze, die mit Wahrscheinlichkeit p Kopf und mit Wahrscheinlichkeit 1 − p Zahl zeigt. Der unbekannte Parameter p soll geschätzt werden. Man wirft die Münze mehrmals, bis genau k-mal Kopf erschienen ist. Die beobachtete Zahl der Versuche ist Y . Nun gibt man p̂ = k/Y als Schätzwert für p aus. Es soll etwas über die Wahrscheinlichkeit gesagt werden, dass man mit dieser Schätzung weit vom echten p entfernt liegt. Aufgabe 2 (Balanciertes Einfärben von Mengen) * Wir betrachten anschaulich folgendes Problem. Gegeben sind die Menge M = {1, . . . , m} und n Teilmengen S1 , . . . , Sn von M . Wir wollen die Elemente von M rot oder grün einfärben und das so, dass in jeder Menge Si der Unterschied zwischen der Anzahl der roten und der grünen Elemente möglichst klein ist. (Probleme dieser Art treten bei der Versuchsplanung auf. Man hat eine Grundgesamtheit M von Objekten und hiervon n Teilmengen, deren Elemente durch irgendein Merkmal ausgezeichnet sind. Nun möchte man die Menge M so in zwei Teile teilen, dass jede Merkmalsteilmenge“ in etwa halbiert wird. Wenn die Merkmalsmengen nicht zu klein ” sind, und es nicht zu viele solche Mengen gibt, funktioniert ein randomisiertes Verfahren ganz hervorragend.) Arithmetisch kann man dieses Problem so formulieren: Gegeben ist eine Matrix A = (aij ) 1≤i≤n 1≤j≤m mit Einträgen aus {0, 1}. (Die Menge Si ist {j | aij = 1}.) Wir wollen die Spalten so mit Vorzeichen versehen (also b = (b1 , . . . , bm )T ∈ {−1, 1} wählen), dass alle n Zeilensummen möglichst geringen Absolutbetrag haben. Ausgeschrieben: Setze ci = ai1 b1 + · · · + aim bm , für 1 ≤ i ≤ n. 2 Randomisierte Algorithmen“ ” Übungsblatt 4, WS 2011/12 Ziel: minimiere kA · bk∞ = max{|ci | | 1 ≤ i ≤ n}. Algorithmus: Wähle b1 , . . . , bm aus {1, −1} zufällig, unabhängig, jeweils mit Wahrscheinlichkeit 21 . (a) Sei i fest. Zeigen Sie, dass 12 (1 + ci ) Summe von ki = |Si | unabhängigen 0-1-wertigen Zufallsvariablen mit Erwartungswert 12 ist. Benutzen Sie eine unserer Hoeffding-Schranken, um eine Abschätzung für Pr(|ci | ≥ z) zu erhalten, für 0 ≤ z ≤ ki . Verwenden Sie, dass ci um 0 symmetrisch verteilt ist. √ (b) Zeigen Sie: Es gibt√eine Konstante c > 0, so dass für jedes i√gilt: Pr(|ci | ≥ c m ln n) ≤ 2/n2 . Hinweis: Wenn k ≤ c m ln n, ist nichts zu zeigen. Wenn k > c m ln n, wendet man Teil (a) an. – Versuchen Sie, ein möglichst kleines c zu erhalten. √ (c) Zeigen Sie: Pr(max{|ci | | 1 ≤ i ≤ n} ≥ c m ln n) ≤ 2/n. Eine zufällige Vorzeichenwahl führt also dazu, dass mit großer Wahrscheinlichkeit √ in keiner der Mengen Si der Unterschied zwischen roten und grünen Elementen größer als c m ln n wird. Aufgabe 3 (Quicksort benötigt O(n log n) Schritte mit hoher Wahrscheinlichkeit) * Sei n ≥ 1 ganzzahlig, L := dlog3/2 ne, sowie c ≥ 6 ganzzahlig und so groß, dass e−(1−3/c) 2 < 3/c 3 (3/c) gilt. Seien weiter Y1 , Y2 , . . . , YcL unabhängige, 0-1-wertige Zufallsvariablen mit Pr(Yi = 1) = 1/3 und sei Y := Y1 + · · · + YcL . (a) Zeigen Sie: 1 Pr(Y ≤ L) ≤ 2 . n Hinweis: Anwendung einer Version der Hoeffding-Ungleichung. (b) Verfolgen Sie bei randomisiertem Quicksort für Input (a1 , . . . , an ), wobei die ai paarweise verschieden sind, das Schicksal“ eines Schlüssels z, z ∈ {a1 , . . . , an }. Wir nennen einen partition” Aufruf für ein Teilarray A[a..b], in dem z vorkommt, gut für z, wenn nach dem Aufruf das neue Teilarray, in dem z steht, höchstens 32 (b − a + 1) Einträge hat (oder wenn z als Pivot gewählt wird). Argumentieren Sie, dass ein fest gewähltes z höchstens L = dlog3/2 ne gute Aufrufe erleben“ ” kann. (c) Zeigen Sie: Wenn z in A[a..b] liegt und partition(a..b) ausgeführt wird, ist die Wahrscheinlichkeit, dass dieser Aufruf gut für z ist, mindestens 1/3. (d) Argumentieren Sie: Die Wahrscheinlichkeit, dass unter den ersten cL partition-Aufrufen, an denen z beteiligt ist, höchstens L viele gut für z sind, ist durch 1/n2 nach oben beschränkt. (e) Argumentieren Sie: Es gibt eine Konstante C, so dass die Wahrscheinlichkeit, dass beim randomisierten Quicksort mehr als Cn log n Vergleiche ausgeführt werden, durch 1/n nach oben beschränkt ist.