Übungsblatt 5

Werbung
TU Ilmenau, Fakultät IA
Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen
Univ.-Prof. Dr. Martin Dietzfelbinger, Dipl.-Inf. Martin Aumüller
http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20112012/kt/
Komplexitätstheorie, WS 2011/2012
Übungsblatt 5
Themen für die fünfte Übungsstunde am 11.11.2011.
Aufgabe 1
Seien P = (I, SOL) und P 0 = (I 0 , SOL0 ) zwei NPS-Probleme. Wir nennen eine Polynomialzeitreduktion P ≤p P 0 mittels zweier Funktionen f und h sparsam, falls für jedes
x ∈ I mit SOL(x) 6= ∅ die Funktion hx : SOL0 (f (x)) → SOL(x) mit hx (y) = h(x, y)
bijektiv ist.
(a) Betrachten Sie die Reduktion SAT ≤p 3-SAT aus der Vorlesung. Ist diese Reduktion sparsam? Falls nicht, modifizieren Sie die Reduktion so, dass eine sparsame
Reduktion entsteht.
(b) Prüfen Sie für jede der folgenden Reduktionen aus der Vorlesung, ob sie eine
sparsame Reduktion darstellt.
(i) 3-SAT ≤p CLIQUE
(ii) 3-SAT ≤p RUCKSACK∗
(iii) CLIQUE ≤p INDEPENDENT SET
(iv) INDEPENDENT SET ≤p VERTEX COVER
(v) VERTEX COVER ≤p HITTING SET
(vi) HITTING SET ≤p SET COVER
Aufgabe 2
Auf Übungsblatt 2 haben wir zwei NP-vollständige 3-SAT-Varianten gesehen: MAX2-3-SAT
und EXACT-3-SAT. Wir wollen durch die Nutzung dieser Varianten nun die in der
Vorlesung gezeigte Reduktion von 3-SAT auf RUCKSACK∗ vereinfachen.
(a) Wie können die Zielzahl b und die Auffüllvariablen“ pj , qj verändert werden,
”
wenn wir MAX2-3-SAT als Ausgangsproblem der Reduktion wählen? Welche
Basis kann für die Darstellung der Ziffern genutzt werden?
(b) Lösen Sie (a) analog im Falle der Nutzung von EXACT-3-SAT.
2
Komplexitätstheorie, WS 2011/2012
Übungsblatt 5
Aufgabe 3
Das Meisterschaftsproblem mit der 3-1-0-Regel (3 Punkte für den Sieger eines Spiels, 0
Punkte für den Verlierer, jeweils einen Punkt bei einem Unentschieden) kann informal
wie folgt beschrieben werden:
Eingabe: Eine Liste von n Teams, ein ausgezeichnetes Team, eine Punktzahl
∈ N für jedes Team, und eine Liste noch ausstehender Spiele zwischen den
Mannschaften.
Aufgabe: Finde einen Ausgang der Spiele, so dass das ausgezeichnete Team
am Ende Meister“ wird, d.h. kein anderes Teams mehr Punkte besitzt.
”
Wir formulieren ohne Beschränkung der Allgemeinheit folgende Annahmen:
1. Das ausgezeichnete Team gewinnt alle seine restlichen Spiele.
2. Wir gehen vorerst davon aus, dass die ansonsten verbleibenden Spiele unentschieden ausgehen.
Unter diesen Annahmen können wir insbesondere die ausgezeichnete Mannschaft, für
die wir das Meisterschaftsproblem lösen wollen, aus dem Input entfernen, und alle Spiele, an denen sie beteiligt war. Weiterhin muss man nicht die exakte Punktzahl jeder
Mannschaft vorgeben, sondern es reicht, die Punktedifferenz zwischen einer Mannschaft
(unter der Annahme, dass sie in den restlichen Spielen unentschieden erreicht) und des
ausgezeichneten Teams (welches jedes Spiel gewinnt) mitzuführen. Der Input für das
Meisterschaftsproblem kann dann wie folgt aufgefasst werden:
Die Eingabe ist ein Graph G. Jedes Team wird durch einen Knoten repräsentiert. Jeder Knoten/jedes Team v besitzt ein Label `(v), das die Punktedifferenz der Mannschaft zum ausgewählten Team symbolisiert (unter obigen
Annahmen). Es existiert eine ungerichtete Kante zwischen zwei Teams, wenn
diese noch ein ausstehendes Spiel besitzen.
Eine ungerichtete Kante steht dabei für den Ausgang unentschieden“. Wir können eine
”
Kante richten, um Sieg/Niederlage einer Mannschaft auszudrücken. Falls wir eine Kante
aus einem Knoten herausrichten, so sinkt sein Label um 1 (er verliert einen Punkt).
Wenn wir eine Kante in einen Knoten hineinrichten, so erhöht sich das Label um 2. Die
Aufgaben für einen gegebenen Graphen ist also, die Kanten so zu orientieren, dass jeder
Knoten mit einer Zahl ≤ 0 beschriftet ist.
Wir beschreiben im Folgenden eine Reduktion von 3-SAT auf das Meisterschaftsproblem
mit 3-1-0-Punkteregel. Sei ϕ = C1 ∧ · · · ∧ Cr eine 3-KNF-Formel, in der die Variablen
X1 , . . . , Xn vorkommen. Wir nehmen an, dass alle Literale einer Klausel verschieden
sind.
Komplexitätstheorie, WS 2011/2012
Übungsblatt 5
3
Wir betrachten als Beispiel die Formel:
ϕ = (X1 ∨ ¬X2 ∨ ¬X3 ) ∧ (¬X1 ∨ ¬X4 ∨ X1 ) ∧ (X3 ∨ X2 ∨ ¬X4 ) ∧ (X4 ∨ ¬X2 ∨ ¬X1 ).
Der Graph besteht aus zwei Komponenten: für jede Variable enthält er eine Variablenkomponente, für jede Klausel eine Klauselkomponente. Das folgende Bild beschreibt
deren Aussehen:
+1
Xi
0
0
−2
0
−2
+1
−2
¬Xi
Xi
+1
+1
¬Xj
¬Xk
−2
−2
+1
Cj = (Xi ∨ ¬Xj ∨ ¬Xk )
Abbildung 1: Links: Die Variablekomponente für eine Variable Xi . Für jedes Vorkommen des Literals Xi bzw. ¬Xi existiert ein Blatt mit Beschriftung −2“ im linken bzw.
”
rechten Teilbaum. Rechts: Darstellung einer Klauselkomponente. Für jede Klausel wird
ein Knoten mit Beschriftung +1“ eingefügt. Es existieren ungerichtete Kanten zu den in
”
der Klausel vorkommenden Literalen. Dabei wird jedem Blatt der Variablenkomponente
genau ein Klauselknoten zugeordnet.
Lösen Sie die folgenden Teilaufgaben:
(a) Zeichnen Sie nach dieser Beschreibung einen Graphen für obige Formel ϕ.
(b) Sei v eine erfüllende Belegung für die Beispielformel ϕ. Richten Sie den Graphen
basierend auf v so, dass jeder Knoten ein Label mit Wert maximal 0 hat.
(c) Zeigen Sie allgemein, wie Sie aus einem orientierten Graphen für das Meisterschaftsproblem mit Knotenbeschriftungen maximal 0 eine erfüllende Belegung für
ϕ ablesen können.
(d) Wir nehmen an, dass jedes Team nur noch maximal 2 verbleibende Spiele besitzt.
Zeigen Sie, dass das Meisterschaftsproblem mit dieser Restriktion einen Polynomialzeitalgorithmus besitzt.
(e) Nennen Sie einen Grund, warum ein solcher Algorithmus für maximal 3 verbleibende Restspiele wahrscheinlich nicht existiert.
Herunterladen