3. Kreis- und Wegeprobleme Das K ¨onigsberger Br ¨uckenproblem

Werbung
3. Kreis- und Wegeprobleme
Kapitelübersicht
3. Kreis- und Wegeprobleme
3. Kreis- und Wegeprobleme
Eulersche Graphen
Eulerweg, Eulerkreis
Definition 3.1. Es sei G = (V, E) ein Graph.
• Charakterisierung von eulerschen Graphen
• Ein Weg, der jede Kante von G genau einmal
enthält, heißt eulerscher Weg von G.
• Bestimmung von eulerschen Wegen und Kreisen
• Ein Kreis, der jede Kante von G genau einmal
enthält, heißt eulerscher Kreis von G.
• Hamiltonsche Graphen
• Abstände in Graphen
• G heißt eulersch gdw. G einen eulerschen Kreis
enthält.
• Berechnung kürzester Wege
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
58
3. Kreis- und Wegeprobleme
Leonard Euler
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
Eulersche Graphen
60
3. Kreis- und Wegeprobleme
Eulersche Graphen
Beispiel 3.1. Der Graph des Königsberger Brückenproblems scheint
nicht eulersch zu sein, er scheint auch keinen eulerschen Weg zu enthalten.
Das Königsberger Brückenproblem
Das “Haus des Nikolaus” enthält einen eulerschen Weg.
c
Norden
Insel
Osten
b
d
a
e
f
g
Das “Haus des Nikolaus mit Keller” ist eulersch:
Süden
Weitere Graphen: ✎.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
59
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
61
3. Kreis- und Wegeprobleme
Eulersche Graphen
3. Kreis- und Wegeprobleme
Eulersche Graphen
Induktionsschritt: Sei G = (V, E) ein zusammenhängender Graph mit
n + 1 Knoten und und alle Knoten haben geraden Grad.
Charakterisierung von eulerschen Graphen
Wähle einen beliebigen Knoten
v0 ∈ V.
Satz 3.1. [Euler 1736] Es sei G = (V, E) ein Graph.
G hat einen eulerschen Weg gdw.
v0
v1
• G bis auf isolierte Knoten zusammenhängend ist und
Wähle solange dies möglich
ist Knoten v1, v2, . . ., so daß
(v0, . . . , vi) jeweils ein Weg in G
ist.
• die Zahl u der Knoten mit ungeradem Grad 0 oder 2 ist.
Die Existenz eines Eulerkreises ist äquivalent mit u = 0.
v2
v0
v3
Unter den gegebenen Voraussetzungen entsteht so automatisch ein
Kreis K. Sei Ek die Menge der Kanten in K.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
62
Eulersche Graphen
Beweis. 1. “=⇒”: G habe einen eulerschen Kreis K = (v0, v1, . . . , vm−1 , v0).
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
64
3. Kreis- und Wegeprobleme
Eulersche Graphen
Wenn K alle Kanten aus E enthält, so ist K ein Eulerkreis.
• Dann ist G bis auf isolierte Knoten zusammenhängend und
• tritt der Knoten v in der Folge v0, v1, . . . , vm−1 genau t-mal auf, so gilt
deg(v) = 2t, d.h. v hat geraden Grad.
Ansonsten bildet man den Restgraphen G 0 = (V, E \ EK).
2. “⇐=”: Beweis durch vollständige Induktion über die Zahl der Knoten.
Induktionsanfang: Der Graph G = ({v0}, {}) ist eulersch, denn (v0) ist
ein eulerscher Kreis.
Induktionsannahme: Für Graphen mit höchsten n Knoten gelte die
Behauptung.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
63
v1 v5
v0
Für die Komponenten des Restgraphen gilt die Induktionsannahme.
v4
v7
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
v2
v3
v6
65
3. Kreis- und Wegeprobleme
Eulersche Graphen
3. Kreis- und Wegeprobleme
Eulersche Graphen
0
3. Setze K := K.
Nun fügt man die Kreise an Knoten zusammen, die in K und einer Komponente des Restgraphen
enthalten sind.
Laufe ab w 0 entlang K 0 und wähle einen in K 0 enthaltenen Knoten w,
der mit einer nicht in K 0 enthaltenen Kante inzident ist.
Konstruiere wie unter 1. ausgehend von w einen Kreis K 00, der keine
Kanten von K 0 enthält.
Man läuft entlang K bis zu solch
einem Knoten, dann entlang des
Kreises des Restgraphen und anschließend wieder entlang K.
v3
v10 v5
v0
Füge K 00 in den Kreis K 0 an der Stelle w ein. Setze w 0 := w.
v2 v6
v1 v9
v8 v11
Gehe zu 2.
v4 v7
2
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
66
Eulersche Graphen
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
68
3. Kreis- und Wegeprobleme
Eulersche Graphen
Berechnung eines Eulerweges
Bemerkung 3.1. Übungsaufgabe: Algorithmus von Hierholzer in
Pseudo-Code.
Algorithmus 3.1. [Hierholzer 1873] Es sei G = (V, E) ein bis auf isolierte Knoten zusammenhängender Graph, der nur Knoten mit geradem
Grad aufweist.
Beispiel 3.2. Wir demonstrieren den Algorithmus von Hierholzer an
dem folgenden Graphen:
b
c
d
1. Wähle einen beliebigen Knoten v0 ∈ V.
a
Wähle solange dies möglich ist Knoten v1, v2, . . ., so daß (v0, . . . , vi)
jeweils ein Weg in G ist.
Unter den gegebenen Voraussetzungen entsteht so automatisch ein
Kreis K. Setze w 0 := v0.
e
h
g
2. Prüfe, ob K ein eulerscher Kreis ist. Wenn ja, dann STOP, ansonsten
gehe zu 3.
Tafel ✎.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
67
f
69
3. Kreis- und Wegeprobleme
Eulersche Graphen
Eigenschaften des Algorithmus von Hierholzer
3. Kreis- und Wegeprobleme
Eulersche Graphen
Beispiel 3.3. Gegeben ist die folgende Menge an Spielsteinen:
[A : B]
[D : D]
Satz 3.2. Algorithmus 3.1 ist korrekt, d.h. bei erfüllten Voraussetzungen wird ein eulerscher Kreis konstruiert.
[A : D]
[B : C]
[B : C]
[A : C]
[C : D]
[B : D]
[A : A]
Zugehöriger Graph:
B
Beweis. Tafel ✎. 2
C
• Jede Kante entspricht einem
Spielstein.
Satz 3.3. Die Zeitkomplexität von Algorithmus 3.1 beträgt O(|E|).
• Eulerweg entspricht einer
ununterbrochenen Dominokette.
Beweis. Siehe Übungen. 2
A
D
Anwendungen in der Praxis: Berechnung von Prozessketten mit
möglichst wenigen Unterbrechungen.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
70
Eulersche Graphen
Anwendung von Eulerwegen
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
72
Hamiltonsche Graphen
Hamiltonsche Graphen
• Dominospiel: Gegeben sind eine Menge S von Spielsteinen, die auf
jeder Seite mit einem Symbol markiert sind.
• Einen Spielstein [A : B] kann man sowohl in dieser Form als auch als
[B : A] verwenden.
• Man darf zwei Spielsteine aneinander legen, wenn die sich berührenden Hälften das gleiche Symbol aufweisen.
Definition 3.2. Es sei G = (V, E) ein Graph.
• Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg.
• Ein Kreis, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Kreis.
• G heißt hamiltonsch gdw. G einen hamiltonschen Kreis enthält.
• Kann man die Steine der Menge S zu einer ununterbrochenen Kette
zusammenlegen?
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
71
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
73
3. Kreis- und Wegeprobleme
Hamiltonsche Graphen
Beispiel 3.4.
3. Kreis- und Wegeprobleme
Hamiltonsche Graphen
Charakterisierung von hamiltonschen Graphen
• Die Bezeichnung “hamiltonsch” geht auf
Sir William Rowan Hamilton (1805 –
1865) zurück, der 1859 das Spiel “around
the world” erfand.
Satz 3.4. Es sei G = (V, E) ein Graph mit n := |V| ≥ 3. Gilt:
• Die Punkte eines Dodekaeders stellten
Städte dar.
dann ist G hamiltonsch.
∀v ∈ V : deg(v) ≥ n/2,
Beweis. Tafel ✎. 2
• Die Aufgabe des Spiels bestand darin,
entlang der Kanten des Dodekaeders eine Rundreise zu unternehmen, bei der
man jede Stadt genau einmal besucht.
Bemerkung 3.2. Das Entscheidungsproblem, ob ein Gaph G hamiltonsch ist (HC), ist N P-vollständig.
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
74
Hamiltonsche Graphen
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
3. Kreis- und Wegeprobleme
76
Hamiltonsche Graphen
Traveling Salesman Problem
Definition 3.3. Gegeben sei ein vollständiger Graph G = (V, E) mit
einer Kostenfunktion c : E −→ IN auf den Kanten.
Die Enscheidungsvariante des Traveling Salesman Problems (TSP) lautet: Existiert ein hamiltonscher Kreis K in G, für den die Summe der
Kantengewichte c(K) ≤ k ist.
Bemerkung 3.3. Die Entscheidungsvariante des TSP ist N Pvollständig.
Dies kann durch HC ∝ TSP bewiesen werden.
Sir William Rowan Hamilton
Around the World
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
75
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
77
3. Kreis- und Wegeprobleme
Hamiltonsche Graphen
TSP als Optimierungsproblem
• Die Optimierungsvariante des TSP lautet: Finde einen hamiltonschen Kreis mit minimalem Gewicht.
• Durch die N P-Vollständigkeit des zugehörigen Entscheidungsproblems kann es optimal nur für “kleine” n gelöst werden.
• Für “große” n müssen Heuristiken zur Berechnung einer möglichst
guten Lösung angewendet werden.
• Theoretisch interessant sind Heuristiken mit Gütegarantie (siehe folgendes Kapitel).
Einführung in die Graphentheorie — FH Bonn-Rhein-Sieg, WS 04/05
78
Herunterladen