Effiziente Algorithmen II

Werbung
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
10. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 19.01.2015
Aufgabe Q
Betrachten Sie das Knapsackpolytop P = conv(V ) mit V = {x |
und ai ≥ 0 (insbesondere ist ai > α möglich).
Pn
i=1
ai xi ≤ α} ∩ {0, 1}n für gegebenes α
a) Welche Dimension hat P ?
b) Untersuchen Sie, in welchen Fällen die Ungleichungen xi ≥ 0 bzw. xi ≤ 1 eine Facette von P definieren.
Aufgabe R
Zu jedem ungerichten Graphen G = (V, E) ist das Stabile Mengen Polytop definiert als
STAB(G) = conv{χS | S ⊆ V ist stabile Menge in G}.
Die folgenden Ungleichungen sind offensichtlich gültig für STAB(G):
a) xu ≤ 1, xu ≥ 0,
b) xu + xv ≤ 1, für (u, v) ∈ E,
c) x(K) ≤ b |K|
2 c, für K ungerader Kreis in G,
d) x(C) ≤ 1, für C Clique in G.
Als IP-Formulierung genügen die Ungleichungen aus a) und b). Zeigen Sie, wie die Kreisungleichungen c) und
die Cliqueungleichungen d) durch elementare Abschlussoperationen aus a) und b) erhalten werden können.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
9. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 12.01. & 19.01.2015
Eine Matrix A heißt total unimodular, wenn die Determinante jeder quadratischen Untermatrix von A einen
Wert aus {−1, 0, 1} hat.
Aufgabe N
Sei A = (aij ) eine ganzzahlige (m, n)-Matrix. Ist A total unimodular, so gibt es für jedes R ⊆ {1, . . . , m}
eine disjunkte Aufteilung R = R1 ∪˙ R2 mit
X
X
aij −
aij ∈ {−1, 0, 1}
i∈R1
i∈R2
für alle j = 1, . . . , n. (Tipp: Betrachten Sie die Blockmatrix, die sich aus AT , −AT und der Einheitsmatrix I
zusammensetzt.)
Aufgabe O
Die Knoten-Kanten-Inzidenzmatrix eines ungerichteten Graphen G = (V, E) ist genau dann total unimodular, wenn G bipartit ist. (Sie dürfen sowohl den Satz aus Aufgabe N als auch dessen umgekehrte Implikationsrichtung verwenden, da diese ebenfalls wahr ist.)
Aufgabe P
Verwenden Sie den Satz aus Aufgabe O, um zu zeigen: In einem bipartiten Graphen G = (V, E) ist die
Kardinalität eines maximalen Matchings gleich der Kardinalität einer minimalen Knoten-Überdeckung.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
8. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 15.12.2014
Aufgabe M
a) Skizzieren Sie, wie das asymmetrische Traveling-Salesman-Problem (ATSP) durch dynamische Programmierung gelöst werden kann.
b) Eignet sich dieses Vorgehen auch zur Lösung des Target-Visitation-Problems (TVP) aus Aufgabe 16?
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
7. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 8.12.2014
Aufgabe L
Gegeben sei das folgende ganzzahlige lineare Programm.
max
2x1 + 5x2
4x1 + x2 ≤ 28
x1 + 4x2 ≤ 27
x1 − x2 ≤ 1
x1 , x2 ∈ Z+ .
(1)
(2)
(3)
a) Stellen Sie die folgenden drei Lagrange-Relaxierungen auf:
1. Bezüglich der Nebenbedingung (1),
2. bezüglich der Nebenbedingungen (1) und (2),
3. bezüglich der Nebenbedingungen (2) und (3).
b) In welchen dieser drei Fälle ist der Wert der Lagrange-Relaxierung besser als der Wert der LPRelaxierung?
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
6. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 1.12.2014
Aufgabe K
Betrachten Sie die LP-Relaxierung
max
cT x
aT x ≤ b
0 ≤ xi ≤ 1
des 0/1-Knapsack-Problems. Wie erhält man die Optimallösung dieser Relaxierung in O(n log n)? Beweisen
Sie die Korrektheit Ihres Algorithmus.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
5. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 24.11.2014
Aufgabe I
Das folgende lineare Gleichungssystem hat keine Lösung:
x−y =7
2x + 3y = 5
3x + y = −1.
Es soll daher ein Vektor (x, y) bestimmt werden, der den Fehlerterm d1 + d2 + d3 minimiert mit
d1 = |x − y − 7|,
d2 = |2x + 3y − 5|,
d3 = |3x + y + 1|.
Formulieren Sie dieses Problem als lineares Programm.
Aufgabe J
Betrachten Sie das System
4x − 2y ≤ 2
(1)
−5x + 5/2y ≤ −5/2
(2)
−x ≤ −1
(3)
−y ≤ −1
(4)
−2x − 3/2y ≤ −7/2
x + 4y ≤ 14
(5)
(6)
7x − 3y ≤ 5
(7)
x ≤ 3.
(8)
a) Stellen Sie den Lösungsraum graphisch dar.
b) Welche der acht Ungleichungen sind redundant?
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
4. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 17.11.2014
Aufgabe G
Beim Linear-Ordering-Problem sind n Objekte in eine Reihenfolge zu bringen. Dabei wird ein Bonus cij für
alle verschiedenen i, j ∈ {1 . . . , n} gutgeschrieben, wenn sich Objekt i weiter vorne in der Anordnung als
Objekt j befindet. Gesucht ist eine Reihenfolge, welche den Gesamtbonus maximiert.
Geben Sie eine möglichst gute Gütegarantie für die folgende Heuristik an.
Bestimme zufällig eine Anordnung L der n Objekte. Sie L die Anordnung, welche durch Invertierung
der Anordnungsreihenfolge in L entsteht. Gib die bessere der beiden Anordnungen L und L zurück
(oder L, falls sie gleich gut sind).
Aufgabe H
Das Knotenfärbungsproblem besteht darin, in einem Graphen G = (V, E) eine Färbung f : V → N der
Knoten V = {v1 , . . . , vn } mit möglichst wenigen Farben zu bestimmen, sodass zwei benachbarte Knoten
stets unterschiedliche Farben zugewiesen bekommen. Betrachten Sie die folgende Greedy-Heuristik:
1. Für i = 1, . . . , n:
1.1 Setze f (vi ) := min{k ∈ N | k 6= f (vj ) für alle j < i mit vi vj ∈ E}.
Beweisen Sie:
a) Es gibt für jedes n ∈ N+ einen bipartiten Graphen mit 2n Knoten, für den die Greedy-Heuristik
n Farben benötigt. Gibt es eine Gütegarantie für die Greedy-Heuristik?
b) Es gibt immer eine Reihenfolge der Knoten, für welche der Greedy-Algorithmus die optimale Lösung
findet.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
3. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 10.11.2014
Aufgabe E
Das in der Vorlesung vorgestellte Knapsack-Problem beschränkt sich auf den Fall, dass sowohl die Gewichte ai
als auch die Zielfunktionskoeffizienten ci nur nichtnegative ganze Zahlen annehmen können. Wie kann man
den Fall behandeln, dass auch negative ganze Zahlen zugelassen werden?
a) 0/1-Knapsack-Problem: Erlaubt sind i mit ci < 0, wenn ai ≥ 0.
b) Allgemeines Knapsack-Problem: Erlaubt sind i mit ci < 0, wenn ai ≥ 0.
c) 0/1-Knapsack-Problem: Erlaubt sind i mit ai < 0, wenn ci ≥ 0.
d) Allgemeines Knapsack-Problem: Erlaubt sind i mit ai < 0, wenn ci ≥ 0.
Aufgabe F
Betrachten Sie den folgenden Algorithmus doubleTree zur Berechnung einer Näherungslösung für das
Traveling-Salesman-Problem. Eine eulersche Tour ist ein geschlossener Pfad im Graphen, der jede Kante genau einmal durchläuft.
doubleTree(G)
(1) Berechne einen minimalen aufspannenden Baum B von G.
(2) Verdopple alle Kanten von B, um einen eulerschen Graphen GB zu erhalten.
(3) Berechne eine eulersche Tour T im Graphen GB . Die Knotenabfolge von T sei vi0 , vi1 , vi2 , . . . .
(4) Rufe obtainHamiltonTour(T ) auf, um eine hamiltonsche Tour H zu erhalten.
obtainHamiltonTour(T )
(1) Setze Q = {vi0 }, H = ∅, v = vi0 und l = 1.
(2) Solange |Q| < n
(2.1) Falls vil ∈
/ Q dann setze Q = Q ∪ {vil }, H = H ∪ {vvil } und v = vil .
(2.2) Setze l = l + 1.
(3) Setze H = H ∪ {vvi0 }
(4) H ist eine hamiltonsche Tour.
Zeigen Sie, dass diese Heuristik bei Problemen mit Dreiecksungleichung 1-approximativ ist.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
2. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 3.11.2014
Aufgabe C
Betrachten Sie das Problem, auf einer Maschine n verschiedene Jobs mit Ausführungszeiten pi und WartezeitKosten wi > 0 möglichst günstig zu bearbeiten. Die Kosten wi entstehen für jeden Zeitpunkt, zu welchem
P
der Auftrag i noch nicht begonnen wurde. Wenn ti die Startzeit von Job i bezeichnet, ist demzufolge
w i ti
zu minimieren.
Zeigen Sie, dass die Greedy-Algorithmen a) und b) keine Gütegarantien besitzen, Greedy-Algorithmus c)
jedoch stets die Optimallösung findet.
a) Starte die Jobs nichtaufsteigend nach wi .
b) Starte die Jobs nichtabsteigend nach pi .
c) Starte die Jobs nichtabsteigend nach
pi
wi .
Aufgabe D
Betrachten Sie das Parallel-Shop-Problem: n Jobs T1 , . . . , Tn mit Bearbeitungszeiten t1 , . . . , tn sind auf m
Maschinen M1 , . . . , Mm zu verteilen, sodass die späteste Fertigstellungszeit minimiert wird. Betrachten Sie
den folgenden Algorithmus: Für ein vorgegebenes natürliches k werde das Problem für die k längsten Jobs
exakt gelöst, dann die verbleibenden Jobs mit dem List-Algorithmus platziert (nächsten Job stets auf erste
frei werdende Maschine platzieren). Der Algorithmus besitzt eine Worst-Case-Schranke von
1+
m−1
.
k
a) Zeigen Sie, dass die Laufzeit des Algorithmus polynomiell in der Eingabelänge (in n und m) ist.
b) Wie muss k in Abhängigkeit von m und > 0 gesetzt werden, damit der Algorithmus ein polynomiales
Approximationsschema (PAS) für jede feste Anzahl von Maschinen ist.
Prof. Dr. Gerhard Reinelt
Dipl.-Math. Stefan Wiesberg
Institut für Informatik
Universität Heidelberg
Effiziente Algorithmen II
1. Präsenzaufgabenblatt, WiSe 2014/15
Übungstunde am 27.10.2014
Aufgabe A
Die beiden folgenden Probleme sind NP-vollständig:
a) SUBSET-SUM: Gegeben natürliche Zahlen a1 , a2 , . . . , an und eine Zahl b. Gibt es eine Teilmenge von
{a1 , . . . , an } mit Summe gleich b?
b) 3-DIMENSIONAL-MATCHING: Gegeben drei paarweise disjunkte n-elementige Mengen X, Y, Z und
eine Menge T ⊆ X × Y × Z von geordneten Tripeln. Gibt es eine Menge von n Tripeln, so dass jedes
Element von X ∪ Y ∪ Z in genau einem dieser Tripel vorkommt?
Weisen Sie durch geeignete polynomiale Transformationen nach, dass auch die folgenden Probleme NPvollständig sind:
0
zu a) PARTITION: Gegeben
P eine Menge
P n ganzer Zahlen A = {a1 , . . . , an }. Gibt es eine Teilmenge A ⊆ A
mit der Eigenschaft a∈A0 a = a∈A\A0 a ?
zu b) SET-COVER: Gegeben eine n-elementige Menge U , ein System S1 , S2 , . . . , Sm von Teilmengen von U
und eine Zahl k. Gibt es eine Auswahl von höchstens k Teilmengen Si , so dass ihre Vereinigung gleich U
ist?
Aufgabe B
Die Heuristik Next-Fit verwaltet im Unterschied zu First-Fit aus Kapitel 10.3 immer nur eine aktive Kiste.
Falls das aktuelle Objekt nicht hinein passt, wird diese Kiste dauerhaft geschlossen und eine neue geöffnet.
Leiten Sie eine asymptotische Gütegarantie von Next-Fit her und beweisen Sie mithilfe eines Beispiels, dass
diese nicht verbessert werden kann.
Herunterladen