Blatt 8 - Informatik 12

Werbung
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 α?
Herunterladen