Algorithmische Graphentheorie

Werbung
Algorithmische Graphentheorie
Sommersemester 2014
1. Vorlesung
Graphen: Eine Einführung
Prof. Dr. Alexander Wolff
1
Termine & das Kleingedruckte
Vorlesung:
– dienstags, 10–12, HS2
Übungen:
– Martin Fink, Wadim Reimche, Anna Weitzel, Florian Wisheckel
– freitags, 8:30–10, 10–12, 12–14 Uhr, SE III
Übungsaufgaben:
– Bearbeitung von max. je zwei TeilnehmerInnen
– Ausgabe dienstags via WueCampus2
– Abgabe dienstags 10:00 Uhr im Briefkasten LS I (Infobau)
Klausuren:
(Teilnahmevoraussetzung: 50% der Übungspunkte)
– 1. Termin: Mi, 16. Juli, 10–12 Uhr, Zuse-HS
– 2. Termin: Do, 02. Okt., 10–12 Uhr, ÜR I
2
Bitte melden Sie sich bei WueCampus2 (moodle) und
sb@home an:
https://wuecampus2.uni-wuerzburg.de/moodle/course/view.php?id=7330
Sonst können wir Sie nicht per Email erreichen, z.B. falls eine
Übungsaufgabe fehlerhaft oder missverständlich ist.
3
Bücher zur Vorlesung
[KN]
[CLRS]
[G]
Hauptreferenz; elektronische Kopie über die Unibib erhältlich
4
Voraussetzungen
Wissen aus der Vorlesung Algorithmen und Datenstrukturen:
Graphdurchlauf-Strategien
– Breitensuche
– Tiefensuche
(
(Anwendung:
Zusammenhangskomp.))
((Anwendung: topologisches Sortieren))
Berechnung kürzester Wege
– Breitensuche
– Algorithmus von Dijkstra
Minimale Spannbäume
– Algorithmus von Kruskal
– Algorithmus von Jarnı́k–Prim
5
Vorlesungsankündigung LS I – AG Eff. Alg.
Master-Vorlesung Exakte Algorithmen
Vorlesung: Di 14–16 Uhr, SE III
Übung:
Mi 12–14 Uhr, SE III
Dozent: Joachim Spoerhase
Master-Vorlesung Alg. für geographische Informationssyst.
Vorlesung: Do 10–12 Uhr, SE III
Übung:
Mo 12–14 Uhr, SE III
Dozenten: Thomas van Dijk & Alexander Wolff
Master-Vorlesung Visualisierung von Graphen
Vorlesung: Mi 10–12 Uhr, SE I
Übung:
Do 16–18 Uhr, SE I
Dozent: Philipp Kindermann
6
Was ist das?
Ein (und derselbe) Graph.; der dreidimensionale Hyperwürfel.
7
F: Was ist ein Graph?
A1 : Ein (ungerichteter) Graph ist ein Paar (V , E ) , wobei
– V Knotenmenge
und
V
– E ⊆ 2 = {u , v } ⊆ V | u 6= v Kantenmenge.
000
Charlie
001
101
V = {000, 001, . . . , 111}
{u , v } ∈ E ⇔ ?
100
110
111
010
011
Alice
Bob
A2 : Ein gerichteter Graph ist ein Paar (V , E ), wobei
– V Knotenmenge und
– E ⊆ V × V = {(u , v ) ∈ V 2 | u 6= v } Kantenmenge.
8
F: Wie repräsentiere ich einen Graphen?
Wir sagen: Knoten 3 und 5 sind adjazent.
5
4
3
1
2
ungerichteter
Graph
5
4
3
1
2
gerichteter
Graph
5
4
3
2
1
3
1
2
3
2
4
3
4
1
4
Adjazenzlisten
5
4
3
2
1
3
5
2
1
4
5
5
1
2
3
4
5
1
0
1
0
1
0
2
1
0
1
0
0
3
0
1
0
1
1
4
1
0
1
0
1
5
0
0
1
1
0
Adjazenzmatrix
3
Adj[i ] = {j ∈ V | (i , j ) ∈ E }
1
2
3
4
5
1
0
1
0
0
0
2
0
0
1
0
0
3
0
0
0
1
1
4
1
0
0
0
0
5
0
0
0
1
0
aij = 1 ⇔ (i , j ) ∈ E
9
Grad eines Knotens
Def.
u
v
Beob.
deg u = |Adj[u ]|
outdeg v = |Adj[v ]|
indeg v = |{u ∈ V : (u , v ) ∈ E }|
Sei G = (V , E ) ein ungerichteter Graph.
Dann ist die Summe aller Knotengrade = 2 · |E | .
Beweis. Technik des zweifachen Abzählens:
Zähle alle Knoten-Kanten-Inzidenzen.
Eine Kante ist inzident
zu ihren Endknoten.
Ein Knoten ist inzident
zu allen Kanten, deren
Endknoten er ist.
10-12
Grad eines Knotens
Def.
u
v
Beob.
deg u = |Adj[u ]|
outdeg v = |Adj[v ]|
indeg v = |{u ∈ V : (u , v ) ∈ E }|
Sei G = (V , E ) ein ungerichteter Graph.
Dann ist die Summe aller Knotengrade = 2 · |E | .
Beweis. Technik des zweifachen Abzählens:
Zähle alle Knoten-Kanten-Inzidenzen.
P
Aus Sicht der Knoten: v ∈V deg v
Aus Sicht der Kanten: 2 · |E |
also gleich!
10-16
Grad eines Knotens
Def.
deg u = |Adj[u ]|
u
outdeg v = |Adj[v ]|
indeg v = |{u ∈ V : (u , v ) ∈ E }|
v
Beob.
Sei G = (V , E ) ein ungerichteter Graph.
Dann ist die Summe aller Knotengrade = 2 · |E | .
Sätzle. Die Anzahl der Knoten ungeraden Grades ist gerade.
Beweis. 2 · |E | =
gerade!
P
v ∈Vung
P
v ∈V
deg v =
gerade!
P
v ∈Vger
deg v +
gerade!
P
v ∈Vung
deg v
⇒ gerade!
deg v gerade ⇒ |Vung | ist gerade!
10-27
Rundlaufstrategien für ungerichtete Graphen
1. Durchlaufe einen Graphen auf einem Kreis,
so dass jede Kante genau einmal durchlaufen wird.
P
NP-schwer
Charakterisierung: Bei welchen Graphen geht das (nicht)?
Konstruktion:
Wie (und in welcher Zeit) finde ich
einen solchen Rundlauf, falls er existiert?
2. Durchlaufe einen Graphen auf einem Kreis,
so dass jeder Knoten genau einmal durchlaufen wird.
Charakterisierung: Bei welchen Graphen geht das (nicht)?
Konstruktion:
Wie (und in welcher Zeit) finde ich
einen solchen Rundlauf, falls er existiert?
11
Herunterladen