Algorithmik für schwere Probleme Departement Informatik Prof. Dr. Juraj Hromkovič Dr. Hans-Joachim Böckenhauer Dr. Richard Královič http://www.ita.inf.ethz.ch/alscpr17 Übungsaufgaben – Blatt 2 Zürich, 28. Februar 2017 Aufgabe 2 Finden Sie ein stark N P-schweres Problem, für das es ein FPTAS gibt. Hinweis: Als stark N P-schwere Probleme haben wir die Probleme definiert, die auch dann N P-schwer bleiben, wenn in der Eingabe nur Zahlen polynomieller Grösse vorkommen. Allerdings gibt es keine Einschränkung bezüglich der Kosten einer optimalen Lösung. Zweiter Hinweis: In der Vorlesung wurde gezeigt, dass das TSP N P-schwer bleibt, wenn die Kantenkosten auf 1 und 2 beschränkt werden. 10 Punkte Aufgabe 3 Das einfache Knapsack-Problem besteht darin, eine Menge von Gegenständen mit den Gewichten w1 , w2 , . . . , wn so in einen Rucksack mit der Kapazität b zu packen, dass er bestmöglich gefüllt ist. Formal definiert ist es wie folgt: Eingabe: x = (b, w1 , w2 , . . . , wn ) ∈ Nn+1 Zulässige Lösungen: M((b, w1 , w2 , . . . , wn )) = {T ⊆ {1, 2, . . . , n} | P i∈T Kosten: Für jedes T ∈ M sind die Kosten cost(T, (b, w1 , w2 , . . . , wn )) = wi ≤ b} P i∈T wi Ziel: Maximierung. Konstruieren Sie für das einfache Knapsack-Problem einen Greedy-Algorithmus Alg und analysieren Sie, wie gut die Lösung des Algorithmus Alg(x) im ungünstigsten Fall ist, indem Sie den Quotienten cost(Opt(x))/cost(Alg(x)) aus den Kosten der optimalen und der berechneten Lösung abschätzen. Geben sie eine Beispielinstanz an, für die Alg eine entsprechend schlechte Lösung berechnet. 10 Punkte Abgabe: Bis Dienstag, den 7. März 2017, nach der Vorlesung.