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

Post on 05-Apr-2015

105 views 1 download

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

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!