Lehrstuhl für Informatik 1 WS 2017/18
PD Dr. Walter Unger November 23, 2017
Janosch Fuchs
Übung zur Vorlesung Effiziente Algorithmen
Blatt 6
• Schreibt den Namen, die Gruppennummer und die Matrikelnummer jedes Gruppenmit- glieds auf jedes Blatt, dass ihr abgebt.
• Um die Zulassung zur mündlichen Prüfung zu erhalten, benötigt man 50% aller Punkte und muss mindestens einmal eine Lösung präsentiert haben.
• Man kann in jeder Aufgabe50%Bonuspunkte erhalten indem man sich bereit erklärt die Aufgabe vorzustellen. Zu Beginn eines Tutoriums erhält man seine Korrigierte Abgabe zurück und erfährt welche Aufgaben vorgestellt werden dürften.
• Wenn ein(e) Student(in) sich bereit erklärt hat eine Aufgabe zu präsentieren und diese nicht korrekt oder unvollständig präsentiert, werden alle Punkte auf dem Übungsblatt für diese(n) Student(in) gestrichen.
Aufgabe 6.1 (4 Punkte)
(a) Gib eine Familie von Instanzen für das metrische Traveling-Salesperson-Problem an, bei welcher der Christofides-Algorithmus eine TSP-Tour zurück liefert, dessen Länge asymptotsich gegen 32 ·OP T geht, wobei OP T der Länge einer optimalen TSP-Tour entspricht.
(b) Gib eine Familie von Instanzen für das Steiner-Baum-Problem an, bei welcher der Algorithmus aus der Vorlesung asymptotisch gegen den Approximationsfaktor 2 geht, wenn die Anzahl n der Knoten im Graph groß wird.
Aufgabe 6.2 (4 Punkte)
Gib einen2-Approximationsalgorithmus mit LaufzeitO(n+m)für das folgende Problem an und beweise den Approximationsfaktor:
Gegeben ein zusammenhängender ungerichteter Graph G = (V, E), wie groß ist der Durchmesser von G?
(Der Durchmesser vonGist definiert als diam(G) := maxv,w∈V dist(v, w), wobei dist(v, w) die Länge eines kürzesten v-w-Pfades (hier bezüglich Kantenanzahl) ist.)
Aufgabe 6.3 (4 Punkte)
Wir betrachten die Heuristik Least-Loaded-ex-post für das Scheduling-Problem auf all- gemeinen Maschinen. Least-Loaded-ex-post platziert einen Job so, dass nachdem dieser Job platziert wurde, die Last der gewählten Maschine minimal ist.
Formal: Ein Job i wird auf der Maschine j platziert, bei welcher der Ausdruck lj +pi,j minimiert wird, wobei lj die Last auf Maschine j und pi,j die Laufzeit von Job i auf Maschinej darstellen soll. Ist diese nicht eindeutig, wird die Maschine mit dem größeren Index gewählt.
(a) Finde ein Beispiel, das zeigt, dass die Heuristik Least-Loaded-ex-post auf allge- meinen Maschinen eine Lösung berechnen kann, die um den FaktorΘ(n)schlechter ist als die optimale Lösung.
(b) Beweise, dass Least-Loaded-ex-post ein m-Approximationsalgorithmus ist (m ist die Anzahl der Maschinen).
Aufgabe 6.4 (4 Punkte)
Betrachte das folgende Scheduling Problem: Gegeben sind m Maschinen und n Jobs.
Job j hat auf Maschine i Laufzeit pij. Wenn Job j Maschine i zugewiesen wird, beze- ichnet Rij die Menge der Jobs, die auf Maschine i vor Job j bearbeitet werden. Job j wird somit zum Zeitpunktcj =pij+P
k∈Rijpik fertiggestellt. Ziel ist es, die Jobs derart auf die Maschinen zu verteilen, dass die Summe der Fertigstellungszeitpunkte aller Jobs gegeben durch Pn
j=1cj minimiert wird.
Modelliere dieses Problem als ein Max-Weight Matching Problem.
Tipp: Betrachte zunächst den Fall, in dem nur eine Maschine existiert. Sei π eine Permutation der Jobs. π(j) bezeichne die Position von Job j im Schedule. Dann gilt
n
X
j=1
cj =
n
X
j=1
(n−π(j) + 1)·p1j .
Bonus Präsentationsaufgaben: Bitte schreibt eurem/eurer Tutor/Tutorin eine Mail um anzukündi- gen, dass Ihr eine der folgenden Themen vorstellen möchtet. Es kann leider nur ein Student pro Tutorium ein Thema vorstellen. Man darf die Vorlesungsfolien und/oder die Tafel zur Präsentation verwenden.
Aufgabe 6.5 (4* Punkte)
Algorithmus von Dinitz mit Forward und Backward-Propagation.
Folien: 1:30 bis 1:55
Aufgabe 6.6 (4* Punkte)
Spezielle Flüsse (Mindestfluss und Alternativen).
Folien: 2:1 bis 2:18
Deadline: Donnerstag, November 30, 2017, 14:15 a.m.,
in der Vorlesung oder in den Kasten vor dem i1.