Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Knapsack & Bin Packing Sebastian Stober
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,
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Prof. Dr. W. Conen 15. November 2004
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
5. Sortier-Algorithmen Vorbemerkungen:
Verifizieren versus Berechnen
Der Einstieg in das Programmieren
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
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 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
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
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers 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 Halbzeit: Was haben wir bisher gelernt? Prof. 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.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Online Competitive Algorithms
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Algorithmentheorie 7 – Bin Packing
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS03/041 Binomial Queues Prof. Dr. S. Albers Prof.Dr.Th Ottmann.
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.
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Inhalte und Maßnahmen eingegeben haben,
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
...ich seh´es kommen !.
Chromatische Zahl.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Diskrete Mathematik II
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Polynome und schnelle Fourier-Transformation
Präsentation läuft auch vollautomatisch ab … wie du möchtest
Auslegung eines Vorschubantriebes
Analyseprodukte numerischer Modelle
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
Der Erotik Kalender 2005.
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
Algorithmen und Datenstrukturen
 Präsentation transkript:

Prof. Dr. S. Albers Prof. Dr. Th. Ottmann Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann WS03/04

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 WS03/04

Problembeschreibung Gegeben: n Objekte der Größen s1, ... , sn mit 0 < si  1, für 1  i  n. Gesucht: Die kleinst mö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 WS03/04

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 werden die Anzahl n und alle n Objekte vorgegeben. Dann beginnt die Verpackung. WS03/04

Beobachtung ..... .... Bin Packing ist beweisbar schwer. (Offline Version ist NP-schwer. Entscheidungsproblem ist NP-vollständig.) Kein Online Bin-Packing Verfahren kann stets eine optimale Lösung liefern 1/2 .... ..... 1 2 m m + 1 m + 2 2m Zeit 1 WS03/04

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: Online Bin Packing Algorithmus A benötigt stets weniger als 4/3 OPT Bins 1 1/2 ..... .... 1 2 m m + 1 m + 2 2m WS03/04 Zeit

Online Verfahren ..... .... Zeitpunkt 1: OPT = m/2 und #Bins(A) = b Es gilt nach Annahme: b < 4/3  m/2 = 2/3m Sei b1 = #Bins mit einem Objekt b2 = #Bins mit zwei Objekten Es gilt: b1 + 2 b2 = m 1/2 .... ..... 1 2 m m + 1 m + 2 2m Zeit 1 WS03/04

Online Verfahren ..... .... Zeitpunkt 2: OPT = m und #Bins(A)  (b1 + b2 ) + (m – b1) = m + b2 Annahme: m + b2  #Bins( A ) < 4/3 m b2 < m/3 1/2 .... ..... 1 2 m m + 1 m + 2 2m Zeit 1 WS03/04

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)  2OPT(I). (b) Es gibt Inputfolgen I mit: NF(I)  2OPT(I) – 2. WS03/04

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

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 WS03/04

Next Fit Next Fit Liefert: 1 .......... NF ( I ) = OPT ( I ) = 0.5 0.5 0.5 B1 B2 Bn/2 WS03/04

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: Zu jedem Zeitpunkt kann es höchstens eine Kiste geben, die weniger als halb voll ist.  FF( I )  2OPT( I ) WS03/04

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 ) WS03/04

First Fit Beweis (b`): Inputfolge der Länge 3  6m WS03/04

First Fit First-Fit liefert: WS03/04

First Fit ......... WS03/04

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) WS03/04

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

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 höchstens 1/3. WS03/04

First Fit Decreasing Beweis von Lemma 1: Inputfolge I, absteigend sortiert m = OPT(I) i – kleinster Index, so dass si  Bm+1 s1 s2 s3 ....................... si-1 si si+1 B1, ..... , Bm Bm+1 WS03/04

First Fit Decreasing Beobachtung: Gibt es eine Kiste mit drei Objekten in einer Verpackung von s1,..., si , dann ist si  1/3 Annahme: Alle Kisten in der FFD-Verpackung von s1,..., si enthalten höchstens zwei Objekte. WS03/04

First Fit Decreasing FFD-Verpackung s1 s2 s3 sj sj+1 si-1 Gesamtanzahl der Objekte i – 1 = j + 2(m – j) s1 s2 s3 sj ............... B1 B2 B3 Bj Bj+1 Bm ............. WS03/04

First Fit Decreasing Optimale Verpackung: 1. j Objekte s1, ... ,sj in j Kisten B1, ... ,Bj 2. i – j Objekte sj+1, ... ,si in m – j Kisten Bj + 1, ... ,Bm ............... ............. s1 s2 s3 sj B1 B2 B3 Bj Bj+1 Bm WS03/04

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. WS03/04

First Fit Decreasing Beweis von Lemma 2: 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 WS03/04

First Fit Decreasing Satz Für alle Inputfolgen I gilt: FFD( I )  (4 OPT( I ) + 1)/3. WS03/04

First Fit Decreasing Satz Für alle Inputfolgen I gilt: FFD( I )  (4 OPT( I ) + 1)/3. Satz: 1. Für alle Inputfolgen I gilt: FFD( I )  11/9 OPT( I ) + 4. 2. Es gibt Inputfolgen I mit: FFD( I ) = 11/9 OPT( I ). WS03/04

First Fit Decreasing Beweis 2: 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 WS03/04

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 WS03/04

Literaturhinweis Bin Packing Verfahren sind Beispiele für Greedy Algorithmen Werden in vielen Lehrbüchern behandelt, z.B. in: Mark Allen Weiss: Data Structures and Algorithm Analysis in C++, The Benjamin/Cummings Publishing Comp., Redwood City, 1994 Vgl. dort Chapter 10.1.3 WS03/04