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.