H¨ arte von Hamilton-Kreis und TSP Uberblick ¨ ¨ uber die Komplexit¨ atslandschaft
Prof. Dr. Berthold V¨ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨at
RWTH Aachen
28. Januar 2011
Hamiltonkreisprobleme
Problem (Hamiltonkreis – Hamiltonian Circuit – HC) Eingabe: Graph G = (V,E)
Frage: Gibt es einen Hamiltonkreis in G ?
Problem (Gerichteter Hamiltonkreis – Directed HC – DHC) Eingabe: gerichteter Graph G = (V,E)
Frage: Gibt es einen Hamiltonkreis in G ?
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 2 / 20
HC ≤
pDHC
Lemma HC≤p DHC.
Beweis:
Reduktion:F¨ur HC liege ein ungerichteter Graph G vor. Wir transformierenG in einen gerichteten GraphenG0, indem wir jede ungerichtete Kante durch zwei entgegengesetzte gerichtete Kanten ersetzen. Diese lokale Ersetzung ist offensichtlich in polynomieller Zeit m¨oglich.
Korrektheit:G hat genau dann einen Hamiltonkreis, wenn auch G0
einen Hamiltonkreis hat.
DHC ≤
pHC
Lemma DHC≤p HC.
Beweis:
Reduktion:Gegeben sei nun ein gerichteter GraphG = (V,E).
AusG konstruieren wir wieder mittels lokaler Ersetzung einen ungerichteten GraphenG0:
... ... ... ...
G’
v vout
vin
G v
Interpretation: v ist Zimmer,vin und vout sind Ein- bzw.
Ausgangst¨uren.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 4 / 20
DHC ≤
pHC – Fortsetzung Beweis
Korrektheit:
Wir m¨ussen zeigen,G hat genau dann einen Hamiltonkreis, wenn auchG0 einen Hamiltonkreis hat.
Jede Rundreise inG kann offensichtlich in eine Rundreise inG0 transformiert werden.
Aber wie sieht es mit der Umkehrrichtung aus?
Eine Rundreise in G0, die ein Zimmer durch die Eingangst¨ur betritt, betritt alle Zimmer durch die Eingangst¨ur.
Eine Rundreise in G0, die ein Zimmer durch die Ausgangst¨ur betritt, betritt alle Zimmer durch die Ausgangst¨ur. Aber diese Rundreise k¨onnen wir r¨uckw¨arts ablaufen.
Also kann auch jeder Hamiltonkreis inG0 in einen Hamiltonkreis in
G transformiert werden.
NP-Vollst¨ andigkeit von HC und DHC
Satz
HC und DHC sindNP-vollst¨andig.
Beweis:
Beide Probleme sind offensichtlich in NP, da man die Kodierung eines Hamiltonkreises in polynomieller Zeit auf ihre Korrektheit
¨uberpr¨ufen kann.
Da HC und DHC beidseitig aufeinander polynomiell reduzierbar sind, gen¨ugt es die NP-H¨arte eines der beiden Probleme
nachzuweisen.
Wir zeigen die NP-H¨arte von DHC, durch eine polynomielle Reduktion von SAT.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 6 / 20
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
Reduktion:
Wir pr¨asentieren eine polynomiell berechenbare Funktionf die eine KNF-Formelφmit Variablen
x1, . . . ,xN
und Klauseln
c1, . . . ,cM
in einen gerichteten GraphenG = (V,E), der genau dann einen Hamiltonkreis hat, wennφ erf¨ullbar ist.
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
F¨ur jede Variablexi enthalte der GraphG die folgende StrukturGi.
...
...
s
l r
t
i
i
i i
Diese Struktur heißtDiamantengadget.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 8 / 20
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
DieseN Gadgets werden miteinander verbunden, indem wir die Knotenti und si+1 (1≤i ≤N−1) sowie tN und s1 miteinander identifizieren. (Bild Tafel)
In dem so entstehenden Graphen besucht jede Rundreise, die beim Knotens1 startet, die Gadgets in der Reihenfolge G1,G2, . . . ,GN. Die Rundreise hat dabei f¨ur jedes Gadget Gi die Freiheit das Gadgetvon links nach rechts, also von li nach ri, oder von rechts nach links, also vonri nachli, zu durchlaufen.
Die erste Variante interpretieren wir als Variablenbelegungxi = 1, die zweite als Variablenbelegungxi = 0.
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
Jetzt f¨ugen wir einen weiteren Knoten f¨ur jede Klauselcj ein.
Falls das Literalxi in Klauselcj enthalten ist, so verbinden wir das GadgetGi wie folgt mit dem Klauselknoten cj:
li ri
cj
bij aij
...
... ...
...
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 10 / 20
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
Falls das Literal ¯xi in Klauselcj enthalten ist, so verbinden wir das GadgetGi wie folgt mit dem Klauselknoten cj:
li ri
cj
bij aij
...
... ...
...
Ist es nach Hinzunahme der Klauselknoten m¨oglich, dass eine Rundreise zwischen den Gadgets hin- und herspringt statt sie in der
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
Korrektheit:
zu zeigen:G hat einen Hamiltonkreis ⇒ φist erf¨ullbar
Wird ein Klauselknoten cj aus einem GadgetGi heraus von links nach rechts durchlaufen, so muss gem¨aß unserer Konstruktion, die Klausel cj das Literal xi enthalten.
Also wird diese Klausel durch die mit der Laufrichtung von links nach rechts assoziierten Belegung xi = 1 erf¨ullt.
Bei einer Laufrichtung von rechts nach links, die mit der Belegungxi = 0 assoziiert ist, wird die Klausel ebenso erf¨ullt, weil sie in diesem Fall das Literal ¯xi enth¨alt.
Also erf¨ullt die mit der Rundreise assoziierte Belegung alle Klauseln.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 12 / 20
NP-Vollst¨ andigkeit von HC und DHC – Fortsetzung Beweis
zu zeigen:φist erf¨ullbar ⇒G hat einen Hamiltonkreis
Eine Belegung beschreibt in welcher Richtung die Gadgets G1, . . . ,GN jeweils durchlaufen werden.
Klauselknoten cj k¨onnen wir in die Rundreise einbauen, indem wir eine der Variablenxi ausw¨ahlen, diecj erf¨ullt, undcj vom GadgetGi aus besuchen.
Sollte cj f¨urxi = 1 erf¨ullt sein, so istxi unnegiert in cj enthalten, und somit ist ein Besuch von cj beim Durchlaufen des Gadgets Gi von links nach rechts m¨oglich.
Sollte cj hingegen f¨urxi = 0 erf¨ullt sein, so ist die Variable negiert in der Klausel enthalten, und der Besuch voncj kann beim Durchlaufen des Gadgets von rechts nach links erfolgen.
Also k¨onnen alle Klauselknoten in die Rundreise eingebunden
werden.
NP-Vollst¨ andigkeit von TSP
Satz
TSP ist starkNP-hart.
Beweis:
Wir m¨ussen zeigen, dass TSP sogar dann NP-hart ist, wenn die Eingabezahlen un¨ar kodiert sind.
{1,2}-TSP ist eine eingeschr¨ankte Variante des TSP-Problems, bei der wir nur die Distanzwerte 1 und 2 erlauben. Der Beweis des folgenden Lemmas ist eine einfache ¨Ubungsaufgabe.
Lemma
{1,2}-TSP istNP-hart.
Das TSP-Problem ist also bereits NP-hart, wenn alle
Eingabezahlen aus{1,2} gew¨ahlt sind. Ob wir diese Zahlen bin¨ar oder un¨ar kodieren, wirkt sich nicht signifikant auf die
Eingabel¨ange aus.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 14 / 20
NP-Vollst¨ andigkeit: Bedeutung
P enth¨alt die Probleme, die wir effizient, also in polynomieller Zeit auf der TM oder RAM (im logarithmischen Kostenmaß) l¨osen k¨onnen.
NP enth¨alt diejenigen Probleme, die wir in polynomieller Zeit mit einer NTM l¨osen k¨onnen.
NPC ist die Klasse der NP-vollst¨andigen Probleme, also der schwierigsten Problem in NP.
Die Klasse NPC ist von besonderem Interesse, weil sie viele praxis- relevante Probleme enth¨alt wie CLIQUE, KP-E, BPP-E, TSP-E und zahllose andere.
Unter der Hypothese P6= NP giltP∩NPC =∅, d.h. keines der NP-vollst¨andigen Probleme hat einen Polynomialzeitalgorithmus.
Aus dem Buch von Garey und Johnson (1979)
“I can’t find an efficient algorithm, but neither can all these famous people.”
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 16 / 20
Die Klasse PSPACE
Sei PSPACE die Klasse derjenigen Probleme, die wir mit einem polynomiell beschr¨ankten Band auf einer TM l¨osen k¨onnen.
Im Gegensatz zur Zeitkomplexit¨at kann man nachweisen (Satz von Savitch), dass diese Klasse sich nicht ¨andern w¨urde, wenn wir sie bez¨uglich der Platzkomplexit¨at auf NTM definieren w¨urden.
Alternativ kann PSPACE auch ¨uber Registermaschinen definiert werden, ohne dass dies eine ¨Anderung bedeuten w¨urde.
Wie verh¨alt sich PSPACE zu NP? – Da sich der Kopf einer Turingmaschine pro Zeitschritt nur eine Position bewegen kann gilt
NP⊆PSPACE .
Die Klasse EXPTIME
Die Klasse der Probleme mit einer Laufzeitschranke 2p(n) auf einer TM f¨ur ein Polynomp bezeichnen wir als EXPTIME.
Wie verh¨alt sich EXPTIME zu NP? und wie zu PSPACE?
Bei einer Speicherplatzbeschr¨ankung der Gr¨oßes(n) gibt es nur 2O(s(n)) viele verschiedenen Konfigurationen f¨ur eine Turingmaschine, so dass auch die Rechenzeit durch 2O(s(n)) beschr¨ankt ist.
Die Probleme in PSPACE k¨onnen deshalb in Zeit 2p(n) gel¨ost werden, so dass gilt
PSPACE⊆EXPTIME .
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 18 / 20
Zusammenfassung
Wir haben gezeigt
P⊆NP⊆PSPACE⊆EXPTIME
Es ist bekannt, dass Probleme existieren, die in EXPTIME aber nicht in P enthalten sind (Hierarchies¨atze). Somit gilt P(EXPTIME.
In allen anderen F¨allen ist unklar, ob die angegebenen Inklusionen echt oder unecht sind.
Zusammenfassung
EXPTIME
PSPACE
NP
NPC
P
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 28. Januar 2011 20 / 20