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 9 Zürich, 03. Mai 2016 Lösung zu Aufgabe 17 (a) Wie in der Aufgabenstellung gefordert, konstruieren wir den α-Approximationsalgorithmus APPROX-KONTRAKTION für das Problem Min-Cut. Seien nun k die Kosten eines minimalen Schnittes Cmin von G = (V, E). Zunächst betrachten wir den Fall, dass der in Zeile 1 bestimmte Knoten einen Grad von höchstens α · k besitzt. In diesem Fall berechnet APPROX-KONTRAKTION mit Sicherheit eine α-Approximation. Ist dies nicht der Fall, so besitzt jeder Knoten in G einen Grad von mindestens α · k + 1. Das bedeutet wiederum, dass α·k ·n 2 gilt für alle Läufe von KONTRAKTION, die zu berücksichtigen sind. Mit dieser Bedingung vollziehen wir nun den Beweis von Satz 5.2.1 nach. Seien die Ereignisse Eventi wie im Beweis definiert. Es folgt sofort, dass |E| > Prob(Event1 ) ≥ 1 − k 2 = 1 − . α·k α·n ·n 2 Ferner besitzt der nach i − 1 Iterationen erzeugte Multigraph G/Fi genau n − i + 1 Knoten und mindestens α · k · (n − i + 1) 2 Kanten. Ebenfalls analog zum Beweis von Satz 2.5.1 gilt Prob Eventi | i−1 \ j=1 Eventj ≥ |E(G/Fi )| − |E(Cmin )| |E(G/Fi )| ! α · k · (n − i + 1) 2 ≥ −k · 2 α · k · (n − i + 1) 2 =1− α · (n − i + 1) für i ∈ {2, 3, . . . , n − 1}. Die Wahrscheinlichkeit, einen Schnitt der Grösse α · k zu bestimmen, ist also Prob n−2 \ Eventj ≥ j=1 n−2 Y 2 1− α · (n − i + 1) i=1 ! ! 2 2 = 1− · ... · 1− α·n α · (n − 1) ! α·n−2 α · (n − 1) − 2 · ... = · α·n α · (n − 1) ! n n Y Y α·l−2 2 = = 1− , α · l α · l l=3 l=3 2 · 1− α·3 α·3−2 · 3·α was zu zeigen war. (b) Wir benutzen nun die Ergebnisse aus (a), um die Güte weiter abzuschätzen. Es gilt Prob n−2 \ Eventj ≥ j=1 ∗ = n Y 1− l=3 n Y 2 α·l exp ln 1 − l=3 n Y 2 α·l n n X 2 2 2 X 1 ≈ exp − = exp − = exp − · α·l α l=3 l l=3 l=3 α · l ∗∗∗ 2 2 2 ≥ exp − · ln n = exp ln n− α = n− α , α ∗∗ ! ! was zu zeigen war. ∗ Für eine bessere Lesbarkeit sei exp(x) := ex , wobei e die Eulersche Zahl ist. Hier benutzen wir den Hinweis aus der Aufgabenstellung, dass ln(1 − x) ≈ −x für 0 ≤ x ≤ 32 . Pn Pn ∗∗∗ Es gilt i=3 1i ≤ ln (n), also − i=3 1i ≥ − ln (n). exp(x) ist monoton steigend. ∗∗ Lösung zu Aufgabe 18 Wir betrachten die t-fache Wiederholung des Kommunikationsprotokolls PSet, dieses modifizierte Protokoll bezeichnen wir als t-PSet. Wir wissen aus der Vorlesung, dass die Fehlerwahrscheinlichkeit des Protokolls PSet auf einer Eingabe (x, U ) mit |U | = k höchstens k · (2 ln n/n) ist. Einfaches Potenzieren dieser Fehlerwahrscheinlichkeit mit t liefert eine zu schwache obere Schranke, damit könnten wir eine zu 0 konvergierende Fehlerwahrscheinlichkeit nur für k ∈ o(n/(ln n)) erreichen. Wir wollen deshalb zeigen, dass die Fehlerwahrscheinlichkeit von t-PSet höchstens k · (2 ln n/n)t beträgt. Wir betrachten hierfür den Fall, dass x ∈ / U gilt. Sei wie in der Vorlesung SPSet,x = {Pr | r ∈ PRIM(n2 )} die Menge aller möglichen Berechnungen von PSet auf der Eingabe x. Sei für i ∈ {1, . . . , k} das Ereignis Ai definiert durch Ai = {Pm | m ∈ PRIM(n2 ) und Nummer(x) mod m = Nummer(qi ) mod m}. Sei weiter St-PSet,x = {(Pr1 , . . . , Prt ) | r1 , . . . , rt ∈ PRIM(n2 )} die Menge aller möglichen (t) Berechnungen von t-PSet auf der Eingabe x. Dann ist für i ∈ {1, . . . , k} das Ereignis Ai definiert durch (t) Ai = {(Pm1 , . . . , Pmt ) | m1 , . . . , mt ∈ PRIM(n2 ) und für alle j ∈ {1, . . . , t} gilt Nummer(x) mod mj = Nummer(qi ) mod mj }. (t) Offensichtlich ist A = ki=1 Ai das Ereignis, dass t-PSet die falsche Antwort x ∈ U ausgibt. Wie wir in der Vorlesung gesehen haben, gilt Prob(Ai ) ≤ 2 lnn n . Damit folgt S (t) t Prob(Ai ) ≤ 2 lnn n und somit auch unsere Behauptung Prob(A) ≤ k · (2 ln n/n)t . Hiermit lässt sich die maximale Grösse der Menge U , für die die Fehlerwahrscheinlichkeit mit wachsendem n gegen 0 konvergiert, in Abhängigkeit von t abschätzen durch k∈o n ln n t ! . Für die gewünschte Kommunikationskomplexität von O(log n log log n) aus (i) ergibt sich eine Anzahl von Wiederholungen in O(log log n) und damit kann U höchstens k∈o n ln n c·log log n ! Elemente enthalten, für eine Konstante c. Bei (ii) ergibt sich analog eine Anzahl von t = c · (log n)d−1 Wiederholungen für ein konstantes c und damit eine maximale Mengengrösse von k∈o n ln n c·(log n)d−1 ! .