Theoretische Informatik 2, Blatt 6

Werbung
@
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.
Herunterladen