Vortrag Graphentheorie Prof. Sonntag

Werbung
Ein Streifzug durch die
Graphentheorie
1. Grundbegriffe
2. Bäume und Gerüste
3. Färbung
4. Planare Graphen
5. Paare Graphen und Matchings
2
Inhalt.
1. Grundbegriffe
Definitionen:

Unter einem Graphen G = (V, E) verstehen wir ein Gebilde, das aus
Knoten v und Kanten e besteht. Jede Kante verbindet zwei Knoten.

Die Anzahl der Kanten, die in einem Knoten v zusammentreffen,
heißt Knotengrad d(v) dieses Knotens.
v2
v3
v1
Kante
Knotengrade:
Knoten
d(v1) = 2, d(v2) = 4
d(v3) = 4, d(v4) = 2
d(v5) = 4, d(v6) = 4
v4
v5
v6
3

Wenn die Knoten v0, v1,…, vk der Knoten-Kanten-Folge
W = (v0, e1, v1, e2, v2,…, ek, vk) alle verschieden sind, dann heißt
W ein Weg (der Länge k).

Wenn die Knoten v0, v1,…, vk–1 der geschlossenen KnotenKanten-Folge W = (v0, e1, v1, e2,v2,…, ek, vk = v0) alle verschieden
sind, dann heißt W ein Kreis (der Länge k).
v5 = v0
e1
v0
e2
v1
e3
v2
v3
Weg mit Länge 4

v4
e4
v4
v1
v3
v2
Kreis mit Länge 5
Zwei Knoten, die durch eine Kante verbunden sind, werden als
adjazent oder benachbart bezeichnet.
4

Ein Graph G = (V, E) ist zusammenhängend, wenn zwischen zwei
Knoten von G immer ein Weg existiert.
zusammenhängend

nicht zusammenhängend
Man nennt einen Graphen G = (V1 ∪ V2, E) paar, wenn die Menge
seiner Knoten in zwei Teilmengen V1 und V2 aufgeteilt werden kann,
so dass es nur Kanten zwischen Knoten aus V1 und Knoten aus V2
gibt.
5

Ein Graph mit n Knoten, in dem von jedem Knoten zu jedem
anderen Knoten eine Kante führt, heißt vollständiger Graph Kn.
K3

K4
K5
Ein Graph, in dem alle Knoten denselben Grad r haben, heißt
r–regulär.
2–regulär
3–regulär
4–regulär
6

Ein Graph H heißt Teilgraph oder Untergraph eines Graphen G,
wenn alle Knoten von H auch Knoten von G und alle Kanten von H
auch Kanten von G sind.

Ein Teilgraph von G entsteht also dadurch, dass wir aus dem
gegebenen Graphen G Kanten entfernen oder dass wir aus ihm
Knoten entfernen und zugleich alle Kanten, die mit diesen Knoten
verbunden sind.
„Nikolaushaus“
3 Teilgraphen vom „Nikolaushaus“
7
Inhalt.
2. Bäume und Gerüste
Arthur Cayley beschäftigte sich 1857 mit der Aufzählung von Isomeren
gesättigter Kohlenwasserstoffe CnH2n+2 mit gegebener Zahl n von
Kohlenstoffatomen.
H
C
H
H
Methan
Definition:
H
Ethan
Propan
Butan
Isobutan
Isomere C4H10
Ein Baum ist ein zusammenhängender, kreisfreier Graph.
Satz:
Ein Graph ist genau dann ein Baum, wenn es zwischen zwei
Knoten jeweils genau einen Weg gibt.
8
Beispiel 1:
n=1
n=2
Bäume mit bis zu 5 Knoten.
n=3
n=4
n=5
Satz:
Jeder Baum mit n Knoten hat genau n – 1 Kanten.
Satz:
Ein zusammenhängender Graph ist genau dann ein Baum, wenn er nach
Entfernen einer beliebigen Kante nicht mehr zusammenhängend ist.
9
Aufgabe 1:
Gerade haben wir alle Bäume mit bis zu 5 Knoten gesehen. Jetzt
versuchen Sie, sämtliche Bäume mit 6 Knoten zu zeichnen.
Lösung:
10
Beispiel 2:
Im Gebäude x wohnen 6 Personen, die in verschiedenen Firmen a, b,
c, d, e, f arbeiten. Die Längen sämtlicher direkter Wege zwischen x, a,
b, c, d, e, f sind im folgenden Graphen an den Kanten angegeben (als
so genannte Kantenlängen).
1
a
9
9
c
2
3
8
b
5
Problem:
4
3
5
2
x
d
f
6
e
^ Straße / direkter Weg
Kante =
^ Gebäude / Firma
Knoten =
Suchen Sie je einen kürzesten Weg von x zu den Firmen.
Äquivalente Formulierung:
Suchen Sie nach einem Baum in G, der kürzeste Wege vom Gebäude x
zu allen Firmen enthält.
11
Sei G = (V, E) ein kantenbewerteter Graph und l(e) die Länge der Kante
e. Mit a(v) bezeichnen wir den Abstand des Knotens v vom Startknoten
v0, also die Länge eines kürzesten Weges von v0 zu v.
Algorithmus von Dijkstra (1959):
1.
Lege den Startknoten v0 fest;
a(v0):= 0, B:= ({v0}, Ø).
2.
Ist B = (V´, E´) der aktuelle Baum, so
bestimme einen Knoten v  V \ V´ und
eine Kante e  E, so dass v mit einem
Knoten v´ V´ durch die Kante e
verbunden ist und a(v):= a(v´) + l(e)
minimal ist.
3.
Füge v und e zum Baum B hinzu und
wiederhole 2. und 3. solange wie
möglich.
Edsger Wybe Dijkstra
niederländischer Informatiker
(19302002)
12
Wir suchen also nach einem „Kürzeste–Wege–Baum“ im folgenden
Graphen:
d
a
1
5/
9
7
6
9
x
5
2
0
9
2
c
2
3
4
3
8
6
3
10
8/
e
5
b
Schritt
a
b
c
d
e
f
0
9
3
2
/
/
/
1
7
3
2
5
2
7
3
2
3
6
3
4
6
5
6
11
9/ f
neuer Knoten
c
^ besuchter Knoten
n =
10 11
b
^ neu gefundener Weg
n =
5
8
11
d
2
5
8
9
a
^ Kandidaten für nächsten
n =
hinzuzunehmenden Knoten
3
2
5
8
9
e
3
2
5
8
9
f
13
Definition:
Ein Gerüst (oder aufspannender Baum) T eines Graphen G ist ein
Teilgraph von G, der alle Knoten von G enthält und ein Baum ist.
G
T
Ein zusammenhängender Graph G und ein Gerüst T
Bemerkung:
Ein Graph G ist dann und nur dann zusammenhängend, wenn er ein
Gerüst enthält.
14
Anwendung von Bäumen und Gerüsten:



Minimalgerüste: Bau kostenminimaler Kommunikationsnetze,
Energieverbundsysteme, Bewässerungssysteme, Verkehrsnetze
Kürzeste–Wege–Probleme: Routenplanung
Abzählprobleme: Anzahl von Gerüsten, Anzahl chemischer Isomere
mit Baumstruktur
15
Inhalt.
3. Färbung
Beispiel 1: Ampelschaltung
An verkehrsreichen Straßenkreuzungen und Einmündungen sollen
Ampelanlagen verhindern, dass Fußgänger oder Fahrzeuge
gleichzeitig unterwegs sind, wenn es zu Kollisionen kommen kann. In
unserem Beispiel sollten etwa A und C nicht gleichzeitig grün haben,
während sich A und D nicht stören. Wir beschreiben die Situation
zunächst mit folgendem Bild.
A
C
F
B
Problem:
Gesucht sind mögliche
Ampelschaltungen, die
Kollisionen vermeiden.
D
E
16
A
C
F
B
D
E
Darstellung als Graph:
F
A
B
E
^ mögliche gegenseitige
Kante =
Störung des Verkehrsstroms
^ Verkehrsstrom
Knoten =
D
C
17
Definitionen:

Eine Knotenfärbung ist eine Färbung der Knoten von G, so dass
keine zwei benachbarten Knoten gleich gefärbt sind.

Ein vollständiger Untergraph eines beliebigen Graphen G wird als
Clique von G bezeichnet. Die Anzahl der Knoten in einer größten
Clique von G heißt Cliquenzahl von G und wird mit cl(G) bezeichnet.
Bemerkungen:

Eine untere Schranke für die benötigten Farben ist die Cliquenzahl
cl(G), also die größte Zahl von Knoten, die alle zu einander
benachbart sind. Im Beispiel ist cl(G) = 3. Wir versuchen nun, eine
Färbung mit minimaler Farbenzahl zu finden.

Es sind zur Zeit keine effektiven Algorithmen zur optimalen
Knotenfärbung bekannt. Ein approximativer Färbungsalgorithmus ist
der sequentielle Algorithmus nach minimalem Knotengrad.
Als mögliche Farben verwenden wir die Zahlen 1,…, n.
18
Der sequentielle Algorithmus nach minimalem Knotengrad:
1.
a) Man wähle einen Knoten mit minimalem Knotengrad in G als xn.
b) Für i = n – 1, n – 2,…, 1 wähle man einen Knoten mit minimalem
Knotengrad in dem Untergraphen G – { xn, xn – 1,…, xi+1 } als xi.
2.
Für jedes i = 1,…, n sei Ci = { 1, 2,…, i }.
3.
Man setze i = 1.
4.
Es sei ci die erste Farbe in Ci. Man ordne diese Farbe dem Knoten
xi zu.
5.
Für jedes j, für das i < j gilt und xi benachbart zu xj in G ist, setze
man Cj = Cj – {ci}. (Dies bedeutet, dass xj nicht dieselbe Farbe
gegeben werden kann wie xi.)
Wenn i ≤ n – 1, so erhöhe i um 1 und kehre zu 4. zurück.
19
Äquivalente Formulierung für Beispiel 1:
Gesucht sind Färbungen des Graphen (mit möglichst wenigen Farben).
Lösung:
X4
X2
F2
F3
F
A
X6
Knotennummerierung
Färbung
B
E
F2
D
C
X1 F1
F1 X5
X3
F3
Fi =
^ Farbe i
Bemerkung:
Da die Cliquenzahl cl(G) = 3 ist, ist diese Färbung optimal.
20
Beispiel 2: Landkartenfärbung
Wenn im Atlas die einzelnen Länder deutlich zu erkennen sein sollen,
müssen sie sich farblich von einander abheben. Wir betrachten nun
das Färben einer Landkarte derart, dass benachbarte Länder stets
verschieden gefärbt sind.
Frage:
Wie viele Farben benötigt man mindestens, um die deutsche
Landkarte zu färben, wenn aneinander grenzende Bundesländer
verschiedene Farben haben sollen?
21
Bemerkung:
Das Problem kann als
graphentheoretisches Problem
modelliert werden. Dazu ordnet
man jedem Land einen Knoten zu
und zwei Knoten werden genau
dann durch eine Kante
miteinander verbunden, wenn die
zugehörigen Länder eine
gemeinsame Grenze (nicht nur
einen gemeinsamen Punkt)
haben.
^ Bundesland
Knoten =
^ Nachbarschaft
Kante =
22
Lösung:
Man findet in dem
„Deutschlandgraphen“ diesen
Untergraphen.
Der Untergraph enthält einen
ungeraden Kreis, der 3 Farben
benötigt, weil er nicht paar ist.
Der Knoten im Zentrum des
Kreises benötigt eine vierte Farbe.
Daher sind also für den
„Deutschlandgraphen“ mindestens
4 Farben nötig.
23
Zur Färbung der Deutschlandkarte braucht man 4 Farben.
24
Satz 4–Farben–Satz (Appel / Haken, 1976):
Jede Landkarte kann mit vier Farben gefärbt werden.
Folgerung:
Alle planaren Graphen können mit 4 Farben gefärbt werden.
Zur Historie des Vierfarbensatzes:
Der Satz wurde erstmals 1852 von Francis Guthrie als Vermutung
aufgestellt, als er eine Landkarte der Counties von England färben
wollte. Es war offensichtlich, dass drei Farben nicht ausreichten und
man fünf in keinem konstruierten Beispiel brauchte.
In einem Brief des Londoner Mathematikprofessors Augustus De
Morgan vom 23. Oktober 1852 an den irischen Kollegen Sir William
Rowan Hamilton wurde die Vermutung erstmals diskutiert und
veröffentlicht:
„Genügen vier oder weniger Farben, um die Länder einer Karte so zu
färben, dass benachbarte Länder verschiedene Farben tragen?“.
25
Auf die über 100–jährige Arbeit einer Vielzahl von Mathematikern
aufbauend konnten Kenneth Appel und Wolfgang Haken 1976 einen
Beweis für diese Vermutung finden. Der Beweis reduzierte die Anzahl
der problematischen Fälle auf 1.936 (heute auf etwa 400), die jedoch
jeder durch einen Computer einzeln geprüft werden mussten.
Kenneth Appel
amerikanischer Mathematiker
(geb. 1932)
Wolfgang Haken
deutsch–amerikanischer Mathematiker
(geb. 1928)
26
Anwendungen von Graphenfärbungen:




Sitzordnung bei Klausuren oder in Gesellschaften
Stundenplanung
Landkartenfärbungen
Frequenzzuweisungen im Mobilfunk
Mobilfunknetz
Mobilfunknetz als gefärbter Graph
27
Inhalt.
4. Planare Graphen
Definitionen:

Eine (zeichnerische) Darstellung eines Graphen heißt ebener Graph,
wenn die Kanten keine Punkte gemeinsam haben außer den Knoten.

Ein Graph, der als ebener Graph gezeichnet werden kann, d.h. welcher
zu einem ebenen Graphen isomorph ist, heißt planar oder plättbar.
Beispiel 1:
Sind die folgenden Graphen planar?

nicht eben, aber planar

eben
nicht eben, aber planar
eben
28
Beispiel 2:
Ist ein vollständiges Fünfeck K5 planar?
Lösung:
Ein Fünfeck hat fünf Seiten und fünf Diagonalen. Davon können wir
maximal zwei seiner Diagonalen im Innern unterbringen. Im Äußeren
des Fünfecks können wir auch maximal zwei weitere Diagonalen
unterbringen, ohne eine der beiden anderen zu überqueren. Also ist ein
vollständiges Fünfeck K5 nicht planar.
29
Aufgabe: Problem der zänkischen Nachbarn
Drei Nachbarn bauten gemeinsam 3 Brunnen. Sie zerstritten sich.
Ist es möglich, sämtliche Häuser mit allen Brunnen so mit Wegen zu
verbinden, dass sich die Wege nicht kreuzen?
(Dabei sind nur Wege zwischen Haus und Brunnen erlaubt, d.h. nicht
zwischen verschiedenen Brunnen oder Häusern.)
A
1
B
2
C
3
^ Weg
Kante =
^ Haus / Brunnen
Knoten =
Äquivalente Formulierung: Ist dieser Graph planar?
30
Darstellung als Graph:
1
A
1
B
2
B
2
C
3
C
3
A
Lösung:
Dieser Graph kann nicht in die Ebene gezeichnet werden, so dass sich
die Kanten nicht überkreuzen, also ist er nicht planar.
31
Definition:
G´ ist eine Unterteilung von G, wenn G´ aus G durch Einfügen neuer
Knoten ins Innere von Kanten entsteht.
K3,3
eine Unterteilung von K3,3
K5
eine Unterteilung von K5
32
Satz (Kuratowski, 1930):
Ein Graph ist genau dann nicht planar, wenn er ein vollständiges
Fünfeck K5 oder den Zänkische–Nachbarn–Graphen K3,3 oder eine
Unterteilung davon als Teilgraph enthält.
K5
Bemerkung:
K3,3
Kazimierz Kuratowski
polnischer Mathematiker
(1896−1980)
Die Bedingungen des Satzes sind in großen Graphen im allgemeinen
schwer zu überprüfen.
33
Anwendung planarer Graphen:

Kreuzungsfreie Straßen / Schienen

Leiterplattenherstellung

Architektur
Leiterplatte
Die fünf Platonischen Körper als Würfelspiel.
34
Richard Buckminster Fuller (1895–1983) war ein US–amerikanischer
Architekt, Konstrukteur, Designer und Schriftsteller. Bekannt geworden ist
Buckminster Fuller durch seine geodätischen Kuppeln. Sie basieren auf
einer Weiterentwicklung von einfachsten geometrischen Grundkörpern
(Tetraeder, Oktaeder und dichte Kugelpackungen) und sind extrem stabil
und mit geringstem Materialaufwand realisierbar.
35
Inhalt.
5. Paare Graphen und Matchings
Aufgabe 1:
Um ein Haus zu bauen, hat der Bauherr 4 Freunde als Helfer gefunden,
jeder kann einige bestimmte Arbeiten verrichten. Dazu wird eine Liste
angelegt:
Helfer Arbeiten
Frage:
A
Sägen
B
Schleifen
C
Bohren, Sägen
D
Schleifen, Fräsen
Kann jeder eine passende Arbeit finden?
36
Darstellung als Graph:
A
Bohren
B
Sägen
C
Schleifen
D
Fräsen
^ Fähigkeit, die ein Helfer hat
Kante =
Lösung:
^ Helfer / Arbeit
Knoten =
Ja.
37
Definition:
Man nennt einen Graphen G = (V1 ∪ V2, E) paar oder bipartit, wenn die
Menge seiner Knoten in zwei Teilmengen V1 und V2 aufgeteilt werden
kann, so dass es nur Kanten zwischen Knoten aus V1 und Knoten aus
V2 gibt.
Satz:
Ein Graph ist genau dann ein paarer Graph, wenn er keinen Kreis mit
ungerader Knotenzahl enthält.
Im folgenden zeichnen wir paare Graphen so, dass die Knoten der einen
Teilmenge V1 links und die der anderen Teilmenge V2 rechts dargestellt
werden.
38
Beispiel 1:
8
1
7
2
6
3

1
2
3
4
5
6
7
8
4
5
Ein Kreis mit 8 Knoten ist ein paarer Graph.
1
1
5
2

3
2
4
4
5
3
Ein Kreis mit 5 Knoten ist kein paarer Graph.
39
Aufgabe 2:
Zeichnen Sie folgenden Baum als paaren Graphen.
B
A
A
C
B

D
E
D
C
F
E
G
F
G
H
H
Konstruktion:
Man nimmt zunächst einen beliebigen Knoten in
die Teilmenge V1 auf, bildet dann aus seinen Nachbarn die Menge V2.
Anschließend fügt man deren Nachbarn zu V1 hinzu, die Nachbarn
dieser Knoten wieder zu V2 usw.
Bemerkung:
Alle Bäume sind paare Graphen.
40
Definitionen:

Ein Matching in einem Graph ist eine Menge unabhängiger Kanten,
d.h. von Kanten, die paarweise nicht benachbart sind.

Ein gesättigtes Matching ist ein Matching, zu dem man keine
weitere Kante hinzunehmen kann, ohne die Unabhängigkeit der
Kanten zu zerstören.

Ein perfektes Matching ist ein Matching, das alle Knoten des
Graphen überdeckt.
Bemerkung:
Offenbar ist jedes perfekte Matching auch gesättigt.
41
Beispiel 2:
ein gesättigtes Matching,
welches nicht perfekt ist
ein perfektes Matching
Bemerkung:
Ein Graph kann nur dann ein perfektes Matching besitzen, wenn er
gerade Knotenzahl hat.
42
Beispiel 3:
Wir haben 6 heiratswillige Frauen F1,…, F6 und 6 Männer M1,…, M6,
die als Ehepartner in Frage kommen. Jede Frau hat eine Liste an
potentiellen Heiratskandidaten aufgestellt:
F1
M1 , M2 , M3 , M5
F2
M1 , M4 , M 6
F3
M2 , M4
F4
M2 , M4 , M 6
F5
M2 , M4
F6
M4 , M5 , M 6
Frage:
Ist es unter diesen Bedingungen möglich, alle Frauen zu verheiraten,
ohne Bigamie zu betreiben?
43
Äquivalente Formulierung:
Besitzt der folgende Graph ein perfektes Matching?
F1
F2
F3
F4
F5
F6
M1
M2
M3
M4
M5
M6
^ Möglichkeit einer Heirat
Kante =
^ Frau / Mann
Knoten =
44
Definitionen:

Ist M ein Matching, so heißt der Weg W M–erweiternd, wenn die
Kanten von W abwechselnd zu M und nicht zu M gehören sowie
die Endknoten von W nicht von M überdeckt werden.
W
Matchingkanten

Man erweitert das Matching M mit dem M–erweiternden Weg W,
indem man zunächst die Kanten von W in M löscht und dann die
anderen Kanten von W hinzufügt:
M´:= (M \ E(W)) ∪ (E(W) \ M).
6
5 Matchingkanten
45
Bemerkung:
Die Konstruktion gesättigter Matchings ist leicht; schwieriger ist
hingegen die Konstruktion perfekter bzw. maximaler Matchings, d.h.
von Matchings mit maximaler Kantenzahl.
Wir geben für paare Graphen einen praktikablen Algorithmus an:
Konstruktion maximaler Matchings:
Sei M gesättigtes, nicht maximales Matching.
1.
2.
3.
4.
Sei a  V – V(M).
Man sucht, bei a beginnend, systematisch einen M–erweiternden
Weg.
Wenn ein solcher Weg W existiert, erweitere M mit W,
anderenfalls setze G:= G – a.
Gehe zu 1.
46
Lösung des Heiratsproblems:
F1
F2
F3
F4
F5
F6
M1
M2
M3
M4
M5
M6
M–erweiternder
erweitere
maximales
M(hier
mit W
Weg
sogar
Wperfektes) Matching
neues
gesättigtes
gesättigtes
Matching
Matching
M
F53 – M24 – F42 – M6 – F26 – M15 → F53 – M24 – F42 – M6 – F26 – M15
47
Satz (Heiratssatz von Hall, 1935):
In einem paaren Graphen mit den beiden Knotenmengen V1 und V2
gibt es genau dann ein Matching, in dem alle Elemente von V1
berücksichtigt werden, wenn für jede beliebige Teilmenge T von V1 gilt:
Die Kanten, die in T beginnen, haben in der Menge V2 mindestens so
viele Enden wie T Elemente hat.
Folgerung:
In einem regulären paaren Graphen gibt es stets ein perfektes Matching.
Folgerung:
Wenn jeder Mann k Freundinnen und jede Frau k Freunde hat, dann
kann jeder Mann eine seiner Freundinnen und jede Frau einen ihrer
Freunde heiraten.
48
Anwendung von paaren Graphen bzw. Matchings
bei Zuordnungsproblemen:




Arbeitsvermittlung
Bedienung von Maschinen
Stundenplanung in Schulen
Heiratsvermittlung
49
50
Herunterladen