Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1: Einführung
Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Knapsack & Bin Packing Sebastian Stober
Christian Schindelhauer
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Verifizieren versus Berechnen
Algorithmen und Komplexität
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmentheorie 7 – Bin Packing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Christian Schindelhauer
Minimum Spanning Tree: MST
Approximationsalgorithmen Facility Location K-Median Cheng, Wei 12. Juli.
Christian Scheideler Institut für Informatik Universität Paderborn
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Chromatische Zahl.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren

Danksagung Die nachfolgenden Präsentationen wurden mit ausdrücklicher Erlaubnis des Autors mit nur kleinen Änderungen übernommen aus: „Effiziente Algorithmen und Datenstrukturen“ (Kapitel 12 Approximation) gehalten von Christian Scheideler an der TUM 2

3 Approximationsalgorithmen Frage: Ich will ein NP-hartes Problem lösen. Was muss ich tun? Antwort: Polynomialzeitalgorithmus dafür wohl nicht möglich. Annahme: Entwurfsmuster zur Aufwandsreduktion (siehe SAT) bzw. Reduktion auf SAT (o.ä.) nicht offensichtlich, Eine der drei Eigenschaften muss aufgegeben werden: Löse das Problem optimal. Löse das Problem in polynomieller Zeit Löse beliebige Instanzen des Problems  -Approximationsalgorithmus: Läuft in polynomieller Zeit. Löst beliebige Instanzen des Problems. Findet eine Lösung, die höchstens Faktor  weg von Optimum ist. Herausforderung: Lösung sollte möglichst nah an Optimum sein.

4 Lastbalancierung Eingabe: m identische Maschinen, n Jobs. Job i hat Laufzeit t i. Einschränkungen: Ein einmal ausgeführter Job muss bis zum Ende auf derselben Maschine ausgeführt werden. Jede Maschine kann höchstens einen Job gleichzeitig bearbeiten. Definition: Sei J(i) die Teilmenge der Jobs, die Maschine i zugewiesen werden. Dann ist L i =  j ∈ J(i) t j die Last der Maschine i. Definition: Der Makespan L ist die maximale Last einer Maschine, d.h. L = max i L i Lastbalancierung: finde Zuweisung, die Makespan minimiert

5 Lastbalancierung: List Scheduling List-Scheduling Algorithmus: Betrachte n Jobs in einer festen Reihenfolge Weise Job j der Maschine mit z.Zt. geringster Last zu List-Scheduling(m, n, (t 1,…,t n )): for i:=1 to m do L i := 0; J(i):=Ø for j:=1 to n do i:=argmin k ∈ [1..m] L k J(i):=J(i) ⋃ {j} L i :=L i + t j return (J(1),…,J(m)) Laufzeit: O(n log m) mit Priority Queue

6 Lastbalancierung: List Scheduling Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Makespan = 19

7 Lastbalancierung: List Scheduling Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Optimaler Makespan = 10

8 Lastbalancierung: List Scheduling Theorem (Graham): Der Greedy Algorithmus ist 2- approximativ. Vergleiche Güte des Algorithmus mit optimalem Makespan L * Lemma 1: L * ≥ max j t j Beweis: Eine Maschine muss den zeitintensivsten Job bearbeiten. Lemma 2: L * ≥ (1/m)  j t j Beweis: Die Gesamtlast ist  j t j Eine der m Maschinen muss mindestens 1/m der Gesamtlast bekommen.

9 Lastbalancierung: List Scheduling Theorem: Der Greedy Algorithmus ist 2-approximativ. Beweis: Betrache Maschine i mit höchster Last L i. Sei j der letzte Job in Maschine i. Da Job j Maschine i zugeordnet wurde, hatte i vorher die kleinste Last. Es gilt also L i – t j ≤ L k für alle k. vor j j nach j L i - t j LiLi

10 Lastbalancierung: List Scheduling Beweis (Forsetzung): Es gilt: L i -t j ≤ L k für alle k Daraus folgt: L i – t j ≤ (1/m)  k L k = (1/m)  k t k ≤ L * wegen Lemma 1 ( L * ≥ max j t j ) Also gilt wegen Lemma 2 ( L * ≥ (1/m)  j t j ): L i = (L i -t j ) + t j ≤ L * + L * = 2∙L *

11 Lastbalancierung: List Scheduling Ist die Analyse scharf? Ja! Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Makespan = 19

12 Lastbalancierung: List Scheduling Ist die Analyse scharf? Ja! Beispiel: m Maschinen, m(m-1) Jobs der Länge 1, ein Job der Länge m m=10 Optimaler Makespan = 10

13 Übersicht P und NP Approximationsalgorithmen Güte der Approximation Lastbalancierungsproblem