1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von...

33
1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07

Transcript of 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von...

Page 1: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

1

Hamilton-Pfad in Gittergraphen ist NP-vollständig

Seminar über Algorithmenbei Prof. Rote

• Von Stephanie Wilke

• Am 31.10.07

Page 2: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

2

Überblick

• Definitionen

• Teilprobleme

• Das Hamilton-Pfad Problem ist NP-vollständig

Page 3: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

3

Definitionen

•Hamilton-Pfad Problem Ein Hamilton-Pfad in einem ungerichteten

Graphen ist ein Pfad, der jeden Knoten genau einmal enthält

Page 4: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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)

Page 5: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 6: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

6

Definitionen

• planar bipartiter Graph B = ((V0 V1 ), E) mit dem Grad ≤ 3

V0, V1є V

x1

x2

x3

y1

y2

y3

V0 V1

Page 7: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 8: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

8

Überblick

• Definitionen

• Teilprobleme

• Das Hamilton-Pfad Problem ist NP-vollständig

Page 9: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 10: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 11: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

11

Teilprobleme 1

x1

x2

x3

y1

y2

y3

Funktion

x2 y2

y3

x1 y1 x3

Page 12: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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.

Page 13: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 14: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 15: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 16: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

16

Teilprobleme 3

• Die Tentakel können entweder mit einem Rückkehrpfad durchlaufen werden

oder

• mit einem Zickzackpfad

Page 17: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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)

Page 18: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

18

Teilprobleme 3

(0,6)

(1,6)

(0,6)

(0,6)

Page 19: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

19

Überblick

• Definitionen

• Teilprobleme

• Das Hamilton-Pfad Problem ist NP-vollständig

Page 20: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 21: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

21

NP–vollständig

• Theorem:Das Hamilton-Kreis Problem ist für Gittergraphen NP-vollständig.

Page 22: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 23: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 24: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 25: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

25

Umwandlung mit Teilproblem 3

• Und die Kanten von B werden durch Tentakel simuliert

x1

y1x3

x2 y2

y3

Page 26: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 27: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 28: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 29: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

29

Beweis „=>“

y1

y2

y3

x1

x2

x3

s

s

Page 30: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 31: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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.

Page 32: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

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

Page 33: 1 Hamilton-Pfad in Gittergraphen ist NP-vollständig Seminar über Algorithmen bei Prof. Rote Von Stephanie Wilke Am 31.10.07.

33

Danke!