@ TECHNISCHE UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG Institut für Theoretische Informatik Prof. J. Adámek, Dr. J. Koslowski Braunschweig, 2007-06-05 Theoretische Informatik 2, Blatt 6 Abgabetermin 2007-06-12 Aufgabe 23 (Übung) Das E-Problem Zyklenüberdeckung (ZÜ) hat als Eingabe einen gerichteten Graphen G = hV, Ei sowie eine positive ganze Zahl k ≤ jV j . Zu entscheiden ist, ob es eine Teilmenge U ⊆ V mit jU j ≤ k gibt, so daß aus jedem gerichteten Zyklus in G mindestens ein Knoten zu U gehört. Weisen Sie detailliert nach, daß dieses Problem NP - vollständig ist. [Hinweis: Die E-Probleme Sat, 3Sat, Hamiltonscher Kreis (HK), Clique, Knotenüberdeckung (KÜ) und Unabhängige Menge (UM) dürfen ohne weiteres als NP -vollständig vorausgesetzt werden. Hinweis 2: Kanten eines ungerichteten Graphen lassen sich als Paare gerichteter Kanten in entgegengesetzter Richtung auffassen.] Lösungsvorschlag: ~ mi zu, wobei G ~ aus G durch KÜ ≤ ZÜ: Einer Instanz hG, mi von KÜ ordnen wir die Instanz hG, Ersetzen jeder ungerichteten Kante zwischen u und v durch zwei gerichtete Kanten von u nach v und zurück entsteht. Wenn der ungerichtete Graph G mittels einer (symmetrischen!) Adjazenzmatrix implementiert ist, erfordert diese Reduktion keine Zeit. ~ Korrektheit: U ⊆ V sei eine Knotenüberdeckung von G = hV, Ei . Jede Kante eines Zyklus C in G ~ hat eine Rückkante in G . Damit liegt sogar ein Endpunkt jeder Kante des Zyklus C in U und somit ist U eine Zyklenüberdeckung. Ist umgekehrt W ⊆ V eine Zyklenüberdeckung, so gehört mindestens ein Endpunkt jedes durch eine Kante von G bestimmten Zweierzyklus zu W , und damit ist W eine Knotenüberdeckung. Zum Nachweis der Zugehörigkeit von ZÜ zu NP verwenden wir eine Turingmaschine, die nichtdeterministisch ≤ k Knoten (und die zugehörigen Kanten) aus einem gerichteten Graphen entfernt (etwa durch Streichen der entsprechenden Spalten und Zeilen der Adjazenzmatrix) und den Restgraphen topologisch sortiert. Ist dies erfolgreich, so hat der Restgraph keine Zyklen und die entfernte Knotenmenge ist eine Zyklenüberdeckung. Aufgabe 24 (Hausaufgabe) [12 punkte] Wir betrachten die folgende Variante des E-Problems TSP: Bottleneck-TSP: Für die Eingabe hG = hV, Ei, c, Ki bestehend aus einem ungerichteten Graphen c / G , einer Kostenfunktion E IN und einer Kostengrenze K ∈ IN ist zu entscheiden, ob ein Rundweg existiert, der alle Knoten genau einmal besucht und dessen Kanten alle die Bedingung c(e) ≤ K erfüllen. Zeigen Sie, daß Bottleneck-TSP NP -vollständig ist. Weisen Sie dabei die Zugehörigkeit des EProblems zu NP in zwei Varianten nach: indem Sie eine Turingmaschine skizzieren und indem sie eine Zertifikatssprache konstruieren. Lösungsvorschlag: 1. Nachweis, daß Bottleneck-TSP zu NP gehört (mittels NTM): Eine NTM N kann nichtdeterministisch eine Permutation aller Knoten “raten” und auf ein Hilfsband schreiben (in O(jV j2 ) Schritten) und dann testen, ob diese einen Hamilton’schen Kreis bildet, d.h., ob jeder Knoten mit seinem Nachfolger in der Permutation verbunden ist, und ob das Gewichte der Kante den Wert K nicht überschreitet (wieder in O(jV j2 ) Schritten). 2. Nachweis, daß Bottleneck-TSP zu NP gehört (mittels Zertifikatssprache): In diesem Fall sind die Zertifikate besonders einfach, nämlich Permutationen der Knotenmenge (mit n Elementen). lcheck besteht somit aus Adjazenzmatrizen von hamiltonschen Graphen, denen eine Permutation der Knoten folgt, die einem konkreten Hamilton’schen Kreis entspricht. Als Polynom für die Längenbeschränkung des Zertifikats in der Größe der Eingabe können wir die Identität x verwenden. (Der Zusammenhang mit der NTM, die die Zugehörigkeit des Problems zu NP testet, ist nicht immer so einfach wie in diesem Fall!) Reduktion Hamilton’scher Kreis ≤ Bottleneck-TSP: Einer Instanz G von HK wird das Tripel c (G, c1 , 2) zugeordnet, wobei E 1 / IN die konstante Funktion mit Wert 1 sei. Jeder Hamilton’sche Kreis in G erfüllt dann automatisch die Kostenbedingung. Die Korrektheit ist somit klar. Das Erstellen der Funktionstabelle für c1 erfordert O(jEj) Schritte, also handelt es sich um eine FP-Reduktion. Aufgabe 25 (Hausaufgabe) (a) [5 punkte] Das E-Problem K4 -Subgraph hat als Eingabe einen ungerichteten Graphen G . Es soll entschieden werden, ob es in G einen vollständigen Untergraphen mit vier Knoten ( K4 ) gibt. Zeigen Sie, daß K4 -Subgraph zu P gehört. (b) [8 punkte] Motiviert durch (a) entschließt sich Ihre Schwester, den Informatik-Bachelor unter Umgehung der mühsamen Klausur zu erlangen, indem sie P = NP beweist. (Außerdem läßt sich somit der Ruhm der Familie mehren und eine Million Dollar einstreichen, die natürlich fairerweise mit dem unermüdlichen TI-Lehrer zu teilen wären.) Bekanntermaßen ist das E-Problem 3-Färbbarkeit NP - vollständig (Beispiel 6.8.2 im Skript). Jeder Graph, der einen K4 als Untergraphen enthält, benötigt mindestens vier Farben zu einer legitimen (Knoten-)Färbung. Benötigt man umgekehrt vier oder mehr Farben, so muß spätestens dann eine vierten Farbe verwendet werden, wenn ein Knoten drei verschiedenfarbige Nachbarn hat, also Teil eines K4 ist. Warum muß Ihre Schwester doch durch das Inferno der Bachelorklausur gehen, statt sich im Glanz ihre Konterfeis in der New York Times zu sonnen? Lösungsvorschlag: (a) Ein Graph G mit n ≥ 4 Knoten hat n4 = n(n − 1)(n − 2)(n − 3)/24 Teilgraphen mit genau vier Knoten. In jedem dieser Teilgraphen ist die Existenz von 6 möglichen Kanten zu überprüfen, etwa durch Testen der entsprechenden Einträge in der Adjazenzmatrix von G . Damit gehört K4 Subgraph zu P . (b) Ein Graph kann vier Farben erfordern, ohne K4 als Teilgraphen zu enthalten: @GA FzB ECD iii 2 66 i i @GA FzB E 66 3 CDH HHH 6 @GA FzB E D C G @ FzB A E 0 1 CD v )) v v v )) @GA FzB E 4 CDUUU UU @GA FzB E 5 CD Der durch z0 , z1 und z2 bestimmte Teilgraph benötigt drei Farben. Dann können wir z3 wie z1 färben, und z4 wie z2 . Aber nun hat z5 drei verscheiden gerfärbte Nachbarn, benötigt also eine vierte Farbe.