Algorithmentheorie 7 – Bin Packing

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Knapsack & Bin Packing Sebastian Stober
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
5. Sortier-Algorithmen Vorbemerkungen:
Verifizieren versus Berechnen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
1 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bewegungsplanung bei unvollständiger Information Ausweg aus einem Labyrinth Finden eines.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Online Competitive Algorithms
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Union-Find-Strukturen
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
Geometrisches Divide and Conquer
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
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
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
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.
Analyse der Laufzeit von Algorithmen
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
 Präsentation transkript:

Algorithmentheorie 7 – Bin Packing Tobias Lauer WS 06/07

Bin Packing 1. Problembeschreibung und einfache Beobachtungen 2. Approximative Lösung des Online Bin-Packing-Problems 3. Approximative Lösung des Offline Bin-Packing-Problems WS 06/07

Problembeschreibung Gegeben: n Objekte der Größen s1, ... , sn mit 0 < si  1, für 1  i  n. Gesucht: Die kleinstmögliche Anzahl von Kisten (Bins) der Größe 1, mit der alle Objekte verpackt werden können. Beispiel: 7 Objekte mit Größen 0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8 WS 06/07

Problembeschreibung Online Bin-Packing: Jedes (ankommende) Objekt muss verpackt sein, bevor das nächste Objekt betrachtet wird. Ein Objekt verbleibt in derjenigen Kiste, in die es zuerst gepackt wird. Offline Bin-Packing: Zunächst wird die Anzahl n und alle n Objekte vorgegeben. Dann beginnt die Verpackung. WS 06/07

Beobachtung Bin-Packing ist beweisbar schwer. (Offline Version ist NP-hart. Entscheidungsproblem ist NP-vollständig.) Kein Online Bin-Packing Verfahren kann stets eine optimale Lösung liefern. WS 06/07

Online Verfahren Satz 1 Es gibt Eingaben, die jeden Online Bin-Packing-Algorithmus zwingen, wenigstens 4/3 OPT Bins zu verwenden, wobei OPT die minimal mögliche Binzahl ist. Beweis: Annahme: Es gibt einen Online Bin-Packing-Algorithmus A, der stets weniger als 4/3 OPT Bins benötigt. 1 1/2 ..... .... 1 2 m m + 1 m + 2 2m WS 06/07 Zeit

Online Verfahren Zeitpunkt 1: OPT = m/2 und #Bins(A) = b Es gilt nach Annahme: b < 4/3  m/2 = 2/3 m Sei b = b1 + b2 , wobei b1 = #Bins mit einem Objekt b2 = #Bins mit zwei Objekten Es gilt: b1 + 2 b2 = m , d.h. b1 = m – 2b2 und damit b = b1 + b2 = m – b2 () WS 06/07

Online Verfahren Zeitpunkt 2: OPT = m #Bins(A)  b + m – b1 = m + b2 Annahme: m + b2  #Bins( A ) < 4/3 m b2 < m/3 mit (): b = m – b2 > 2/3 m WS 06/07

Online Verfahren Next-Fit (NF), First-Fit (FF), Best-Fit (BF) Verpacke das nächste Objekt in dieselbe Kiste wie das vorherige, wenn es dort noch hineinpasst, sonst öffne eine neue Kiste und verpacke es dort. Satz 2 (a) Für alle Inputfolgen I gilt: NF(I)  2 OPT(I). (b) Es gibt Inputfolgen I mit: NF(I)  2 OPT(I) – 2. WS 06/07

Next Fit Beweis: (a) Betrachte zwei Kisten B2k-1, B2k, 2k  NF( I ). 1 B1 B2 B2k-1 B2k WS 06/07

Next Fit Beweis: (b) Betrachte Inputfolge I mit Länge n (n  0 ( mod 4)): 0.5, 2/n, 0.5, 2/n, 0.5, ... , 0.5, 2/n Optimale Packung: 1 2/n 0.5 0.5 0.5 .......... ..... 0.5 0.5 0.5 2/n 2/n B1 B2 Bn/4 Bn/4 + 1 WS 06/07

Next Fit Next Fit liefert: 1 .......... NF ( I ) = OPT ( I ) = 0.5 0.5 0.5 B1 B2 Bn/2 WS 06/07

First Fit First Fit: Packe nächstes Objekt in die erste Kiste, in die es noch hineinpasst, wenn es eine solche Kiste gibt, sonst in eine neue Kiste. Beobachtung: Es kann niemals mehr als eine Kiste geben, die höchstens halb voll ist.  FF( I )  2 OPT( I ) WS 06/07

First Fit Satz 3 (a) Für alle Inputfolgen I gilt: FF( I )  17/10 OPT( I ) (b) Es gibt Inputfolgen I mit: FF( I )  17/10 (OPT( I ) – 1) (b´) Es gibt Inputfolgen I mit: FF( I ) = 10/6 OPT( I ) WS 06/07

First Fit Beweis (b`): Inputfolge der Länge 3  6m WS 06/07

First Fit First-Fit liefert: WS 06/07

First Fit ......... WS 06/07

Best Fit Best Fit: Verpacke das nächste Objekt in diejenige Kiste, in die es am besten passt (d.h. den geringsten Platz ungenutzt lässt). Verhalten von BF ähnlich zu FF Laufzeit für Inputfolgen der Länge n NF O(n) FF O(n2) O(n log n) BF O(n2) O(n log n) WS 06/07

Offline Verfahren n und s1, ..., sn sind gegeben, bevor die Verpackung beginnt Optimale Packung kann durch erschöpfende Suche bestimmt werden. Idee für offline Approximationsalgorithmus: Sortiere die Objekte zunächst nach abnehmender Größe und verpacke größere Objekte zuerst! First Fit Decreasing (FFD) bzw. FFNI Best Fit Decreasing (BFD) WS 06/07

First Fit Decreasing Lemma 1 Sei I eine Folge von n Objekten mit Größen s1  s2  .....  sn und sei m = OPT(I). Dann haben alle von FFD in den Bins Bm+1,Bm+2, ... , BFFD(I) verpackten Objekte eine Größe von jeweils höchstens 1/3. WS 06/07

First Fit Decreasing Lemma 2 Sei I eine Folge von n Objekten mit Größen s1  s2  .....  sn und sei m = OPT( I ). Dann ist die Anzahl der Objekte, die FFD in die Kisten Bm+1,Bm+2, ... , BFFD(I) verpackt, höchstens m – 1. WS 06/07

First Fit Decreasing Beweis: Annahme: Es gibt mehr als m – 1 Objekte x1,....,xm in I, die FFD in extra Kisten verpackt. W1 W2 Wm B1 B2 Bm Bm+1 WS 06/07

Anzahl der Bins von FFD Lemma 2: FFD muss ≤ m-1 Objekte in Extra-Bins verpacken Lemma 1: jedes dieser Objekte hat eine Größe ≤ 1/3  FFD( I ) = WS 06/07

First Fit Decreasing Satz Für alle Inputfolgen I gilt: FFD( I )  (4 OPT( I ) + 1)/3. a. Für alle Inputfolgen I gilt: FFD( I )  11/9 OPT( I ) + 4. b. Es gibt Inputfolgen I mit: FFD( I ) = 11/9 OPT( I ). WS 06/07

First Fit Decreasing Beweis (b): Inputfolge der Länge 3  6m + 12m Optimale Packung: 1/4 +  1/4 +  1/4 + 2 1/4 + 2 1/4 - 2 1/4 - 2 1/4 + 2 1/4 + 2 ............ ......... 1/4 - 2 1/4 - 2 1/2 +  1/2 +  1/4 - 2 1/4 - 2 WS 06/07

First Fit Decreasing First Fit Decreasing liefert: .......... 1/4 -  1/4 + 2 1/4 +  1/4 -  .......... ................... .......... 1/4 +  1/2 +  1/4 -  1/4 +  1/4 -  OPT(I) = 9m FFD(I) = 11m WS 06/07