Algorithmen und Datenstrukturen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

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)
LS 2 / Informatik 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.
Christian Schindelhauer
Algorithmentheorie 6 – Greedy-Verfahren
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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
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
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität
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
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
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
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
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.
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
Vorlesung AVL-Bäume/Algorithmen-
Algorithmen und Datenstrukturen
Vorlesung AVL-Bäume/Algorithmen-
Christian Scheideler WS 2008
Wiederholung TexPoint fonts used in EMF.
Christian Scheideler WS 2008
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 Tanya Braun (Übungen) sowie viele Tutoren

Hm... NP-schwere Probleme sind trickreich Was machen wir, wenn Heuristiken nicht greifen und unserer Algorithmus sich im Backtracking verirrt? Approximation der Lösung? Vielleicht in nebenläufiger Berechnung? Wenn die Bestimmung der optimalen Lösung zu lange dauert, nimm approximative Lösung, sofern sie bereitsteht Wir haben allerdings gesehen, dass Approximation manchmal beliebig schlecht sein kann (unbegrenztes Rucksackproblem) Können wir bei Approximation Garantien für die Güte geben?

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 http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Approximationsalgorithmen Frage: Ich will ein NP-schweres 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.

Lastbalancierung Eingabe: m identische Maschinen, n Jobs. Job i hat Laufzeit ti. 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 Li = j ∈ J(i) tj die Last der Maschine i. Definition: Der Makespan L ist die maximale Last einer Maschine, d.h. L = maxi Li Lastbalancierung: finde Zuweisung, die Makespan minimiert

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, (t1,…,tn)): for i:=1 to m do Li := 0; J(i):=Ø for j:=1 to n do i:=argmin k ∈ [1..m] Lk J(i):=J(i) ⋃ {j} Li:=Li + tj return (J(1),…,J(m)) Laufzeit: O(n log m) mit Priority Queue

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

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

Lastbalancierung: List Scheduling Theorem (Graham): Der Greedy Algorithmus ist 2-approximativ.

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

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

Lastbalancierung: List Scheduling Beweis (Forsetzung): Es gilt: Li-tj ≤ Lk für alle k Daraus folgt: Li – tj ≤ (1/m) k Lk = (1/m) k tk ≤ L* wegen Lemma 1 (L* ≥ maxj tj) Also gilt wegen Lemma 2 (L* ≥ (1/m) j tj): Li = (Li-tj) + tj ≤ L*+ L* = 2∙L*

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

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

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