Rolf Wanka Manuel Schmitt Erlangen, 2. Juli 2014 Übungen zur Vorlesung Randomisierte Algorithmen SS 2014 Blatt 8 AUFGABE 18: Ein randomisiertes Zähl-Approximationsschema (RASC) für ein kombinatorisches Zählproblem #Π ist ein Algorithmus A, der als Eingabe eine Instant I von Π (Π ist ein normales“ ” kombinatorisches Problem) und ein ε, 0 < ε < 1, bekommt, und die Zahl A(I, ε) berechnet, so dass gilt: 3 Pr[|A(I, ε) − #(I)| ≤ ε · #(I)] ≥ . 4 Beachten Sie, dass hier keine Einschränkungen hinsichtlich der Laufzeit gemacht werden. Ziel dieser Aufgabe ist es, ein RASC mit mild-exponentieller“ Laufzeit für das Problem #3” SAT zu analysieren. Sei also Φ eine Boolesche Formel in konjunktiver Normalform (für die Definition siehe Vorlesung, Algorithmus von Schöning) und #(Φ) die Anzahl der erfüllenden Belegungen von Φ. Ab jetzt bezeichnet Φ immer eine Boolesche Formel in konjunktiver Normalform, in der jede Klausel die Länge 3 hat. (a) Aus der Vorlesung kennen Sie die Monte-Carlo-Methode zum Lösen von Zählproblemen. Wie könnten der uniforme Generator (UG) und der Beantworter für dieses konkrete Problem aussehen? Nehmen Sie nun an, es wäre bereits eine untere Schranke ` für #(Φ) bekannt. Welche Laufzeit hat dann das Monte-Carlo-Verfahren für das gegebene Problem? Hinweis: Berücksichtigen Sie nicht nur die Anzahl der benötigten Anfragen an den Beantworter, sondern auch dessen Laufzeit. (b) Ein Eliminationsbaum für eine 3-KNF Φ ist wie folgt definiert. Man fixiert eine Eliminationsreihenfolge (y1 , . . . , yn ) der Variablen von Φ. Jeder Knoten φ des Baumes entspricht einer Booleschen Formel. Die Wurzel (Level 0) des Baumes ist Φ. Jeder Knoten φ in Level i, 0 ≤ i < n, hat zwei Kinder: Ein Kind ist φyi =0 , das andere ist φyi =1 . Ein Pfad von der Wurzel zu einem Blatt entspricht also einer Variablenzuweisung und die Formel an einem Blatt ist entweder 0 oder 1. #Φ ist die Anzahl der mit 1 markierten Blätter. Ein Knoten, dessen Boolesche Formel erfüllbar ist, heißt 1-Knoten. Sei ` eine natürliche Zahl. Ein `-Schnitt eines Eliminationsbaumes ist ein zusammenhängender Teilbaum, der die Wurzel enthält, dessen sämtliche Knoten 1-Knoten sind und der genau ` Blätter hat. In Abbildung 1 sehen Sie ein Beispiel für einen Eliminationsbaum und einen seiner `-Schnitte. Sei t(n) die Laufzeit eines (möglicherweise randomisierten) Algorithmus, der entscheidet, ob Φ erfüllbar ist. Nehmen Sie nun an, t(n) = O(2β·n ). Welche Laufzeit in Abhängigkeit von ` hat dann die Berechnung eines `-Schnittes? (x̄1 ∨ x2 ) ∧ (x̄2 ∨ x3 ) (x̄1 ∨ x2 ) ∧ (x̄2 ∨ x3 ) "b b " b 0 "" b 1 b " x2 =⇒ x̄1 x1 =⇒ x3 e 1 x3 =⇒ 0 LL 1 L 1 1 x1 =⇒ 0 e 0 x3 x3 C 0 C1 C 0 C1 C 0 C1 0 0 0 1 (a) C 0 x̄1 \ \1 \ 0 ee 1 @ @ 1 @ x2 =⇒ C x3 0 1 x3 =⇒ 0 LL 1 C L 0 1 1 1 (b) Abbildung 1: (a) Eliminationsbaum und (b) ein 3-Schnitt für Φ = (x̄1 ∨ x2 ) ∧ (x̄2 ∨ x3 ), entsprechend der Eliminationsreihenfolge (x2 , x1 , x3 ). Die Summe der Blätter ist #Φ = 4. 1-Knoten sind umrahmt. Hinweis: Wie viele Knoten hat der Eliminationsbaum von Φ auf Level i höchstens? Welche Laufzeit wird also für Level i benötigt? (c) Der schnellste derzeit bekannte Algorithmus für 3-SAT benötigt eine Laufzeit von t(n) = O(20.3864·n ). Verwenden Sie dies zusammen mit den Ergebnissen der beiden vorherigen Aufgaben, um ein RASC für #3-SAT anzugeben, das in Zeit O(2α·n ) läuft. Wie groß ist Ihr α?