Übungsblatt 8

Werbung
Lineare und Netzwerk Optimierung / SS 2014
Übungsblatt 8
Optimizaton
Research Group
OPT
Abgabe bis 20. Juni 2014, 10:00 Uhr
Vorlesung: Prof. Dr. Horst W. Hamacher, Dr. Marc Goerigk
Übungen: Corinna Kaufmann
Dieses
Übungsblatt
sowie
weitere
Informationen
zur
Übung
http://www.mathematik.uni-kl.de/opt/lehre/ss140/prama/ erhältlich.
sind
unter
Präsenzübungen
(Zur Bearbeitung in den Übungen vom 16. bis 18.Juni 2014)
Aufgabe 8.1
Betrachten Sie den folgenden gerichteten Graphen G = (V, E) mit Knotenmenge V =
(v1 , . . . , v6 ) und Kantenmenge E = (e1 , . . . , e10 ):
e4
v2
v4
e1
e8
v1
e5
e3
e7
e2
v6
e9
v3
e6
v5
(a) Geben Sie jeweils ein Beispiel an für
1. einen einfachen Weg P in G von v1 nach v6 .
2. einen Weg P in G von v1 nach v6 , der nicht einfach ist.
3. einen einfachen Kreis C in G.
4. einen Kreis C in G, der nicht einfach ist.
5. einen spannenden Baum T von G.
6. einen spannenden Wald F von G, der kein spannender Baum ist.
PraMa
Übungsblatt 8
Seite 1/3
(b) Bestimmen Sie die Adjazenzmatrix AD (G), die Inzidenzmatrix A (G) und die Adjazenzlisten ADL (G) von G.
Aufgabe 8.2
Beweisen Sie die folgenden Aussagen:
(a) Ein gerichteter oder ungerichteter Graph G enthält für zwei Knoten u und v genau dann
einen u-v-Weg, wenn er einen einfachen u-v-Weg enthält.
(b) Ein gerichteter oder ungerichteter Graph G enthält genau dann einen Kreis, wenn er
einen einfachen Kreis enthält.
Hausübungen
(Bitte bis 20. Juni 2014, 10:00 Uhr abgeben.)
Aufgabe 8.3 (6 Punkte)
Beweisen Sie Satz 1.10 aus der Vorlesung:
Sei G = (V, E) ein ungerichteter Graph. Folgende Aussagen sind äquivalent:
(a) G ist ein Baum.
(b) G enthält keinen einfachen Kreis, aber jeder echte Obergraph G = (V, E ′ ) schon.
(c) Für alle a, b ∈ V existiert genau ein einfacher a − b Weg in G.
(d) G ist zusammenhängend und für alle e ∈ E ist G − e nicht zusammenhängend.
(e) G ist zusammenhängend und enthält |E| = |V| − 1 Kanten.
(f) G ist kreisfrei und enthält |E| = |V| − 1 Kanten.
Hinweis: (a) ⇒ (b) und (b) ⇒ (c) wurden bereits in der Vorlesung bewiesen und müssen nicht
nochmal bearbeitet werden.
Aufgabe 8.4 (4 Punkte)
Der folgende Algorithmus beschreibt die nützliche Suchstrategie der Breitensuche (breadth-first
search), kurz BFS. Wie der Name schon sagt, wird ein Graph dabei ausgehend vom Startknoten
in die Breite durchsucht. Ist die Suche bei einem Knoten u ∈ V angelangt, so wird zuerst jede
von dort ausgehende Kante (u, v) betrachtet, bevor bei einem Nachfolger von u weitergesucht
wird. Neu entdeckte Knoten werden dabei nach dem FIFO (First In, First Out) Prinzip in einer
Liste gespeichert, d.h. diejenigen Knoten, die zuerst gespeichert werden, werden auch zuerst
wieder aus der Liste entnommen.
PraMa
Übungsblatt 8
Seite 2/3
Algorithmus 1 Breitensuche
Bfs(G, s)
Ein ungerichteter Graph G = (V, E) in Adjazenzlistendarstellung; ein Knoten s ∈
V.
for all v ∈ V do
Setze d[v] := 0
end for
d[s] := 1
Q := (s)
// Q ist eine Liste mit Berücksichtigung der Reihenfolge
while Q 6= ∅ do
Entferne das erste Element u aus Q
for all v ∈ ADL[u] do
if d[v] = 0 then
d[v] := 1
Füge v an das Ende von Q an
end if
end for
end while
Input:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(a) Was genau macht der vorgegebene Algorithmus 1?
(b) Modifizieren Sie Algorithmus 1, so dass er für einen gegebenen Graphen die Zusammenhangskomponenten ausgibt.
(c) Analysieren Sie die Laufzeit Ihres Algorithmus.
PraMa
Übungsblatt 8
Seite 3/3
Herunterladen