1
Hamilton-Pfad in Gittergraphen ist NP-vollständig
Seminar über Algorithmenbei Prof. Rote
• Von Stephanie Wilke
• Am 31.10.07
2
Überblick
• Definitionen
• Teilprobleme
• Das Hamilton-Pfad Problem ist NP-vollständig
3
Definitionen
•Hamilton-Pfad Problem Ein Hamilton-Pfad in einem ungerichteten
Graphen ist ein Pfad, der jeden Knoten genau einmal enthält
4
Definitionen
• Ein Grittergraph ist ein Graph G[w,h] mit Breite w + 1 und Höhe h + 1 definiert als der Graph mit der Knotenmenge V = {0, . . . ,w} × {0, . . . , h} und der Kantenmenge E wobei
E = {{(x, y), (x′, y′)} ⊆ V | |x − x′| + |y − y′| = 1} ist.
w+1
h+1 (x,y)
5
Definitionen
• x, y sind die Koordinaten eines Knotens v
• Ein Knoten ist gerade, wenn x + y Ξ 0 (mod 2) ist
• s,t є G sind verschiedene Knoten von G
6
Definitionen
• planar bipartiter Graph B = ((V0 V1 ), E) mit dem Grad ≤ 3
V0, V1є V
x1
x2
x3
y1
y2
y3
V0 V1
7
Definitionen
• NP-vollständigEin Problem heißt NP-vollständig, g.d.w. es
1. in NP liegt Mit festlegen eines Zeugen
2. und NP-schwer ist Ein Problem L heißt NP-schwer, g.d.w.
L‘ ≤p L für alle L‘ є NP
8
Überblick
• Definitionen
• Teilprobleme
• Das Hamilton-Pfad Problem ist NP-vollständig
9
Teilprobleme
1. Umwandlung eines planaren bipartiten Graphen B in einen Gittergraphen G Mit Hilfe einer Funktion, die paritätserhaltende
Einbettung erzielt diese Umwandlung wird nur abstrakt dargestellt
2. Erstellen eines Clusters und
3. Erstellen von Streifen und daraus Tentakel
10
Teilprobleme 1
• Mit dieser Funktion, kann man in polynomieller Zeit einen planaren bipartiten Graphen B in einen Gittergraphen G umwandeln
• Funktion1. alle Knoten von V0 werden auf gerade Knoten von
G abgebildet2. die Knoten von V1 werden auf ungerade Knoten
von G abgebildet3. die Kanten von B werden in Wege in G dargestellt
wobei die Knoten nur zu einem Weg gehören dürfen
11
Teilprobleme 1
x1
x2
x3
y1
y2
y3
Funktion
x2 y2
y3
x1 y1 x3
12
Teilprobleme 1
• Lemma 1:Wenn B ein planarer bipartiter Graph mit n Knoten und Grad ≤ 3 ist, kann man in polynomieller Zeit einen Gittergraphen erstellen.
13
Teilprobleme 2
• Aus jedem Knoten von B wird ein 9–Cluster erstellt
• Lemma 2:Jedes 9–Cluster hat einen Hamilton-Pfad, für alle 1≤i<j≤4 von pi nach pj, der die Kanten (e1, e2, e3, e4) enthält
Es gibt endlich viele Möglichkeiten
e1
e2
e3
e4
p1p2
p3p4
s
t
14
Teilprobleme 2
e1
e2
e3
e4
p1
p2
p3p4
s t
e1
e2
e3
e4
p1
p2
p3p4
s
t
e1
e2
e3
e4
p1
p2
p3p4
s
t
e1
e2
e3
e4
p1
p2
p3p4
s
t
e1
e2
e3
e4
p1
p2
p3p4
s
t
e1
e2
e3
e4
p1
p2
p3p4
st
15
Teilprobleme 3
• Ein Streifen ist ein rechteckiger Graph, der über seine Länge und Breite definiert ist
• Ein Tentakel T beschreibt einen Weg in einem Gittergraphen, wobei die Kanten in diesem Weg aus Streifen bestehen
16
Teilprobleme 3
• Die Tentakel können entweder mit einem Rückkehrpfad durchlaufen werden
oder
• mit einem Zickzackpfad
17
Teilprobleme 3
• Lemma 3:Wenn s und t zwei verschiedene Eckknoten von Tentakel T sind, dann hat T einen Hamilton-Pfad, sobald die Koordinaten von s und t unterschiedliche Paritäten haben.
s=(0,1)
t=(7,0)
s=(0,1)
t=(6,0)
18
Teilprobleme 3
(0,6)
(1,6)
(0,6)
(0,6)
19
Überblick
• Definitionen
• Teilprobleme
• Das Hamilton-Pfad Problem ist NP-vollständig
20
Vorgehensweise
• Vorausgesetzt wird, dass das Hamilton-Kreis Problem für planare bipartite Graphen NP–vollständig ist.
• Das Hamilton-Kreis Problem ist auch für Gittergraphen NP–vollständig.
Umwandlung eines planaren bipartiten Graphen in einen Gittergraphen in polynomieller Zeit
• Das Hamilton-Kreis Problem ist NP-vollständig, also ist auch das Hamilton-Pfad Problem NP-vollständig
durch die Reduktion vom Hamilton-Kreis Problem für Gittergraphen auf das Hamilton-Pfad Problem für Gittergraphen
21
NP–vollständig
• Theorem:Das Hamilton-Kreis Problem ist für Gittergraphen NP-vollständig.
22
Voraussetzung
• Wir gehen davon aus, dass das Hamilton-Kreis Problem für planare bipartite Graphen B mit dem Grad ≤ 3 NP–vollständig ist.
• Wir konstruieren einen Gittergraphen G, so dass G genau dann einen Hamilton-Kreis enthält, wenn B einen Hamilton-Kreis enthält
y1
y2
y3
x1
x2
x3
s
V0 V1
23
Umwandlung mit Teilproblem 1
• Um zu zeigen, dass das Hamilton-Kreis Problem für Gittergraphen NP–vollständig ist, wird in polynomieller Zeit ein planarer bipartiter Graph in einen Gittergraph umgewandelt.
x1
x2
x3
y1
y2
y3
Funktion
x2 y2
y3
x1 y1 x3
24
Umwandlung mit Teilproblem 2
• Wir erzeugen aus dem Gittergraphen G1 einen Gittergraphen G9 indem wir die Größe (die Anzahl der Knoten) von G1 mit 9 multiplizieren.
• Dadurch hat jeder Knoten von B ein entsprechendes 9–Cluster G9
x1 y1 x3
x2
y2
y3
25
Umwandlung mit Teilproblem 3
• Und die Kanten von B werden durch Tentakel simuliert
x1
y1x3
x2 y2
y3
26
Umwandlung mit Teilproblem 3
• Dabei muss man darauf achten, wie die Tentakel an die 9-Cluster angehängt werden
• Annahme es gibt eine Kante k von v nach u in G, mit v є GERADE und u є UNGERADE
Wenn k den geraden Knoten v unten verlässt, dann wird der Tentakel wie in der Abbildung verbunden
andere Fälle durch Drehen symmetrisch
v
u
27
Umwandlung mit Teilproblem 3
mit dem ungeraden Knoten u wird der Tentakel wie in der Abbildung dargestellt verbunden
andere Fälle durch Drehen symmetrisch
v
u
28
Beweis „=>“
B hat einen Hamilton-Kreis => G hat einen Hamilton-Kreis
Ein Hamilton-Kreis von G wird wie folgt konstruiert: Die Kanten, die zum Hamilton-Kreis von B gehören, werden
für den Hamilton-Kreis in G durch Tentakel mit Zickzackpfaden abgedeckt
Alle anderen Kanten werden in G durch Tentakel mit Rückkehrpfaden abgedeckt
Die Knoten (9-Cluster) des Gittergraphen können, wie vorher im Lemma 2 gezeigt, verbunden und durchlaufen werden
29
Beweis „=>“
y1
y2
y3
x1
x2
x3
s
s
30
Beweis „<=“
B hat einen Hamilton-Kreis <= G hat einen Hamilton-Kreis
• Jeder Tentakel aus B wird in G entweder durch einen Zickzackpfad oder einen Rückkehrpfad abgedeckt
• Aus der Konstruktion der Tentakel folgt: Der Hamilton-Kreis in B besteht nur aus Kanten, deren zugehörige Tentakel in G mit Zickzackpfaden abgedeckt sind
• Dieser Kreis ist ein Hamilton-Kreis, weil jedes 9-Cluster nur dann zum Hamilton-Kreis gehören kann, wenn es genau zwei Zickzackpfade verbindet
31
Beweis
• Durch den Beweis in beide Richtungen ist gezeigt, dass das Hamilton-Kreis Problem für planare bipartite Graphen polynomialzeitreduzierbar auf das Hamilton-Kreis Problem für Gittergraphen ist.
32
Hamilton-Kreis ≤ Hamilton-Pfad
• Bisher: Hamilton-Kreis für planare bipatite Graphen ist NP-
vollständig Umwandlung in Gittergraph
Hamilton-Kreis ≤ Hamilton-Pfad:• Wenn G ein Gittergraph mit Hamilton-Kreis ist, der
keine Knoten mit Grad < 2 hat, • muss ein Eckknoten s existieren mit Grad = 2,• und t ein Nachbar von s sein
• Das Hamilton-Pfad Problem für G hat genau dann eine Lösung, wenn G einen Hamilton-Kreis hat
33
Danke!
Top Related