Effiziente Algorithmen I - IWR Heidelberg

Werbung
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
9. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 13.01. & 15.01.2014
Aufgabe Q
Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) ≥ 0, Quelle s und Senke t. Kann sich der Wert des maximalen Flusses jeweils ändern, wenn die folgenden Operationen durchgeführt
werden?
a) Alle nach s eingehenden Kanten und alle von t ausgehenden Kanten werden entfernt.
b) Alle Knoten v 6= s mit Eingangsgrad 0 sowie alle Knoten v 6= t mit Ausgangsgrad 0 werden entfernt.
c) Parallele Kanten werden durch einzelne Kanten ersetzt, deren Kapazitäten der Summe der Einzelkapazitäten entsprechen.
d) Kanten mit unendlicher Kapazität erhalten die Kapazität M für ein hinreichend großes M .
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
8. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 16.12. & 18.12.2013
Aufgabe P
s
M
1
1
M
M
M
2
1
M
3
ϕ
4
M
t
√
Gegeben sei das obige Netzwerk mit Kapazitäten. Dabei sei M eine hinreichend große Zahl und ϕ =
5−1
2 .
a) Es seien die (s, t)-Wege P0 = (s, 2, 3, t), P1 = (s, 4, 3, 2, 1, t), P2 = (s, 2, 3, 4, t) und P3 = (s, 1, 2, 3, t)
gegeben. Zeigen Sie: Im Ford-Fulkerson-Algorithmus ist es möglich, die Folge
P0 , P1 , P2 , P1 , P3 , P1 , P2 , P1 , P3 , . . .
als augmentierende Wege auszuwählen; insbesondere terminiert der Algorithmus bei dieser Wahl also
nicht. Betrachten Sie hierzu die Entwicklung der Restkapazitäten der Kanten (2, 1), (2, 3) und (4, 3)
und benutzen Sie die Identität 1 − ϕ = ϕ2 , um diese als Potenzen von ϕ zu schreiben, sofern möglich.
b) Gegen welchen Wert konvergiert die Folge der Flusswerte? Welchen Wert hat ein maximaler (s, t)-Fluss?
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
7. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 09.12. & 11.12.2013
Aufgabe N
Gegeben sei ein ungewichteter bipartiter Graph G = (V, E) mit Partitionsmengen V1 und V2 . Beschreiben
Sie, wie ein Algorithmus zur Berechnung maximaler Flüsse dazu verwendet werden kann, ein kardinalitätsmaximales Matching in G zu bestimmen.
Aufgabe O
Betrachten Sie den AKP-Algorithmus in Kapitel 5.3. Geben Sie eine Methode an, mit der man möglichst
effizient die Konstruktion des neuen Superwaldes und das Berechnen der neuen Dualvariablen im Iterationsschritt bewerkstelligen kann. Dabei sollten Sie sowohl ein geeignetes Speicherformat für Superwälder als
auch ein schnelles Update-Verfahren angeben.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
6. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 02.12. & 04.12.2013
Aufgabe L
Eine Kantenmenge M ⊆ E in einem Graphen G = (V, E) heißt Matching, falls jeder Knoten in (V, M )
höchstens Grad 1 hat. Ist G bipartit mit Partitionsmengen V1 und V2 , so ist die Nachbarschaft einer Menge
S ⊆ V1 definiert durch δ(S) := {v2 ∈ V2 | es existiert ein v1 ∈ S mit v1 v2 ∈ E}.
Beweisen Sie: G enthält genau dann ein Matching der Kardinalität |V1 |, wenn |δ(S)| ≥ |S| für alle S ⊆ V1
gilt. (Tipp: Vollständige Induktion über |V1 |.)
Aufgabe M
Sei G = (V, E) ein vollständiger bipartiter Graph. Jedem Knoten i ∈ V sei ein Gewicht ai > 0 zugeordnet
und für die Kantengewichte gelte cij = ai aj für ij ∈ E. Geben Sie einen möglichst effizienten Algorithmus
an, der eine Zuordnung mit minimalem Gesamtgewicht bestimmt und beweisen Sie seine Korrektheit.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
5. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 25.11. & 27.11.2013
Aufgabe J
Eine Nahrungsmittelfirma stellt aus Nüssen, Haferflocken und Rosinen drei Sorten Müsli (A, B, C) her. Die
Anteile in Einheiten (E) und der Gewinn sind in der folgenden Tabelle enthalten.
A
B
C
Nüsse
Haferflocken
Rosinen
2
4
3
3
1
4
1
2
2
Gewinn
5
4
3
Die Firma kann maximal 5000E Nüsse, 11000E Haferflocken und 8000E Rosinen beschaffen.
a) Formulieren Sie das Problem, einen Produktionsplan mit maximalem Gewinn zu bestimmen, als lineares Programm.
b) Geben Sie möglichst gute untere und obere Schranken für den maximalen Gewinn an.
Aufgabe K
Geben Sie das duale lineare Programm zu folgendem allgemeinen linearen Programm an.
max
s.t.
cT1 x + cT2 x2 + cT3 x3
A11 x1 + A12 x2 + A13 x3
A21 x1 + A22 x2 + A23 x3
A31 x1 + A32 x2 + A33 x3
x1
x2
≤
≥
=
≤
≥
a1
a2
a3
0
0
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
4. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 18.11. & 20.11.2013
Aufgabe I
Sei D = (V, A) ein gerichteter Graph mit positiven ganzzahligen Kantengewichten und seien s, t ∈ V . Ein vital
arc ist eine Kante, deren Entfernen bewirkt, dass sich die kürzeste Distanz zwischen s und t vergrößert. Ein
most vital arc ist ein vital arc, dessen Entfernen die kürzeste Distanz zwischen s und t um den größtmöglichen
Betrag erhöht.
Geben Sie einen Algorithmus an, der einen most vital arc in einem gewichteten Digraph mit vorgegebenen
Knoten s und t bestimmt.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
3. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 11.11. & 13.11.2013
Aufgabe G
Formulieren Sie einen Algorithmus zur Bestimmung von minimalen aufspannenden Bäumen, der nur die rote
Regel verwendet. Analysieren Sie die Laufzeit einer geeigneten Implementierung.
Aufgabe H
In einem Digraph D = (V, A) ist ein Branching eine azyklische Kantenmenge B ⊆ A, so dass jeder Knoten
den Eingangsgrad 0 oder 1 bzgl. B hat. Eine Aboreszenz ist ein aufspannendes Branching.
Geben Sie einen Algorithmus an, der zu einem gewichteten Digraph eine minimale Arboreszenz mit vorgegebener Wurzel berechnet.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
2. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 04.11.2013
Aufgabe E
Beweisen Sie das Weiße-Wege-Theorem (Satz 2.3): Ein Knoten v ist Nachfolger eines Knotens u im DFSWald genau dann, wenn gilt: Zum Zeitpunkt, zu dem u grau gefärbt wird, ist v von u aus auf einem Weg
erreichbar, der nur aus weißen Knoten besteht.
Aufgabe F
Seien T1 und T2 zwei minimale aufspannende Bäume eines gewichteten Graphen G = (V, E). Begründen Sie,
weshalb das maximale Gewicht einer Kante für beide Bäume gleich groß ist.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen I
1. Präsenzaufgabenblatt, WiSe 2013/14
Übungstunden am 28.10.2013
Aufgabe A (Laufzeitanalyse, Landau-Symbole)
a) Wie sind o(f ), O(f ), Θ(f ), ω(f ) und Ω(f ) definiert?
b) Wie analysiert man die Laufzeit einer for-Schleife / einer bedingten Anweisung: if A then B else C /
der binären Suche?
c) Weshalb kann man die Laufzeitabschätzung O(E log V 3 ) stets durch O(E log V ) ersetzen?
Aufgabe B (Senke finden)
Eine Senke ist ein Knoten eines gerichteten Graphen D = (V, A) mit Eingangsgrad |V | − 1 und Ausgangsgrad 0. Sei D durch seine Adjazenzmatrix gegeben. Zeigen Sie, dass in der Zeit O(V ) festgestellt werden
kann, ob D eine Senke enthält.
Aufgabe C (Bipartite Graphen)
Ein Graph G = (V, E) heißt bipartit, wenn es eine disjunkte Aufteilung V = V1 ∪˙ V2 gibt, sodass keine
Kante uv ∈ E mit u, v ∈ V1 oder u, v ∈ V2 existiert. Zeigen Sie, dass G genau dann bipartit ist, wenn G
keinen Kreis ungerader Länge enthält.
Aufgabe D (Graphkennzahlen berechnen)
Betrachten Sie die folgenden Definitionen für einen ungerichteten, zusammenhängenden Graphen G = (V, E).
1. Die Exzentrität eines Knotens v ist die Länge des kürzesten Weges von v zum am weitesten von v
entfernten Knoten.
2. Die Taillenweite von G ist die Länge des kürzesten Kreises in G (oder ∞, falls kein Kreis existiert).
Geben Sie jeweils einen Algorithmus an, der alle Exzentritäten / die Taillenweite berechnet.
Herunterladen