Approximationsalgorithmen. Approximation im Sinne der Analysis:

Ähnliche Dokumente
Approximations-Algorithmen

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Approximationsalgorithmen

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Approximationsalgorithmen

Heuristiken im Kontext von Scheduling

Alles zu seiner Zeit Projektplanung heute

Effiziente Algorithmen I

4 Greedy-Algorithmen (gierige Algorithmen)

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents

1 Einführung Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT) Notationen und Definitionen Übungsaufgaben...

Wiederholung zu Flüssen

Diskrete Optimierung (Einführung zur Vorlesung)

Algorithmen und Datenstrukturen 2

Rechnerische Komplexität

Gemischt-ganzzahlige und Kombinatorische Optimierung

Lineare Programmierung

Das Lastverteilungsproblem

Planare Graphen, Traveling Salesman Problem, Transportnetze. Formale Methoden der Informatik WiSe 2012/2013 teil 4, folie 1 (von 61)

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Das Briefträgerproblem

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Einführung in die Informatik

Übung zur Vorlesung Berechenbarkeit und Komplexität

Approximations- und Online-Algorithmen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

abgeschlossen unter,,,, R,

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17)

Algorithmen II Vorlesung am

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Inhaltsübersicht für heute:

1. Einleitung wichtige Begriffe

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Approximationsalgorithmen

Stackelberg Scheduling Strategien

Optimierung. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Vorgehen: Dynamische Programmierung

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Approximationsalgorithmen am Beispiel des Traveling Salesman Problem

Abschnitt: Algorithmendesign und Laufzeitanalyse

Längen-beschränkte Schnitte und Flüsse

Informatik II Greedy-Algorithmen

Die Verbindung von Linearer Programmierung und Graphentheorie

Approximations- und Online-Algorithmen

Graphen: Datenstrukturen und Algorithmen

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Datenstrukturen und Algorithmen SS07

Algorithmische Graphentheorie

Algorithmen und Datenstrukturen 2

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Dynamisches Programmieren - Problemstruktur

3. Musterlösung. Problem 1: Boruvka MST

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Flüsse, Schnitte, Bipartite Graphen II

4.7 Der Algorithmus von Dinic für maximalen Fluss

Statistische Untersuchungen zu endlichen Funktionsgraphen

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Einführung in Heuristische Suche

Overview. Testen von Planarität. Planare Graphen. Beliebige Knotenpositionen. Gerade Linien. Faces

ADS: Algorithmen und Datenstrukturen 2

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Stetigkeit von Funktionen

Inhalt. Vorwort Mittelwertsatz der Integralrechnung... 31

Die Komplexitätsklassen P und NP

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Parametrisierte Algorithmen

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

Anmerkungen zur Übergangsprüfung

Dissertation zur Erlangung des Doktorgrades der Technischen Fakultät der Albert-Ludwigs-Universität Freiburg im Breisgau.

PROSEMINAR ONLINE ALGORITHMEN

Schwierige Probleme in der Informatik Informationen für die Lehrperson

ε δ Definition der Stetigkeit.

Algorithmische Mathematik

14. Rot-Schwarz-Bäume

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

6. Flüsse und Zuordnungen

Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Algorithmen und Datenstrukturen 2

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Algorithmen und Datenstrukturen Kapitel 10

Spiele in der Informatik

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex

Optimierungsalgorithmen

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Transkript:

Approximationsalgorithmen Ulrich Pferschy 1 Approximationsalgorithmen Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem ε > 0 ein Polynom P ε mit: max f(x) P ε(x) < ε x [a,b] Numerische Mathematik: Numerical Recipes in C++ www.nr.com

Approximationsalgorithmen Ulrich Pferschy 2 Approximation von diskreten, kombinatorischen Problemen: Betrachtung einzelner Objekte, Identitäten oder abstrakter Elemente mit ganzzahligen Daten Motiviert aus praktischen Problemstellungen Klassische Probleme der diskreten Optimierung: Scheduling Graph-Probleme (Überdeckung, Färbung, Partition) Netzwerkprobleme Routen- und Tourenplanung TSP Packungs- und Zuschnittprobleme...

Approximationsalgorithmen Einleitung 3 Multi-Prozessor Scheduling: n jobs/aufträge, jeder mit Bearbeitungszeit p i, m Maschinen Ordne jeden job einer Maschine zu, sodaß der Gesamt-Fertigstellungszeitpunkt minimal ist. Bin Packing Problem (BP): n Objekte, jedes mit Gewicht a i (0, 1], beliebig viele Container/bins mit Kapazität 1 Packe alle Objekte in minimale Anzahl von bins

Approximationsalgorithmen Einleitung 4 Rucksackproblem / Knapsack Problem (KP): n Objekte, jedes mit Profit p i und Gewicht w i, ein Rucksack/Container/bin mit Kapazität c Wähle eine Teilmenge von Objekten mit maximalem Profit und Gewicht c. Subset Sum Problem (SSP): Spezialfall des Rucksackproblems n Objekte, jedes mit Gewicht w i, ein Rucksack/Container/bin mit Kapazität c Wähle eine Teilmenge von Objekten mit maximalem Gewicht c.

Approximationsalgorithmen Einleitung 5 (Symmetrisches) Rundreiseproblem / Traveling Salesperson Problem (TSP): n Städte mit allen (symmetrischen) Entfernungen. Finde die kürzeste Rundreise, die alle n Städte besucht. Variante: Minimaler Hamiltonscher Kreis: Graph (V, E) mit Kantengewichten d ij = d ji für jede Kante (i, j) E. Finde einen Hamiltonschen Kreis mit minimalem Gesamtgewicht.

Approximationsalgorithmen Einleitung 6 Set Covering Problem (SC): Grundmenge M, Familie von Teilmengen {S 1,..., S m }, S i M, Bewertung w i für jede Menge S i. Finde eine Auswahl der Teilmengen mit minimalem Gesamtgewicht, sodaß jedes Element aus M in einer der ausgewählten Teilmengen enthalten ist. Vertex Cover (VC): Graph (V, E) Finde eine minimale Knotenmenge C V, sodaß für jede Kante (i, j) entweder i C oder j C.

Approximationsalgorithmen Einleitung 7 Knotenfärbung von Graphen/Graph Colouring: Graph (V, E), beliebig viele Farben. Ordne jedem Knoten eine Farbe zu, sodaß Knoten, die durch eine Kante verbunden sind, verschiedene Farben haben und eine minimale Gesamtzahl von Farben verwendet werden. Kantenfärbung von Graphen: Graph (V, E), beliebig viele Farben. Ordne jeder Kante eine Farbe zu, sodaß Kanten mit gemeinsamen Endknoten verschiedene Farben haben und eine minimale Gesamtzahl von Farben verwendet werden.

Approximationsalgorithmen Einleitung 8 Erwünscht: Optimale Lösung N P-Vollständigkeit: = Bei fast allen interessanten Problemen gibt es kein effizientes optimales Lösungsverfahren, d.h. keinen Algorithmus mit polynomialer Laufzeit 1. Optimale Lösung durch intelligente Enumeration Branch & Bound ILP-Formulierung, Branch & Cut Dynamisches Programmieren... 2. Verzicht auf Optimalität = Approximation Bestimmt wird eine zulässige Lösung. Qualität der Lösung ist i.a. unbekannt. Unterscheide: Suchverfahren (local search, Metaheuristiken, etc.) konstruktive Verfahren Hybride Verfahren

Approximationsalgorithmen Bewertung 9 Bewertung von Approximationsalgorithmen 1. empirische Tests 2. average-case Analyse 3. worst-case Analyse

Approximationsalgorithmen Bewertung 10 Güte eines Algorithmus A für ein Optimierungsproblem: Unterscheide: Problem vs. Problem-Instanz I (Näherungs-)Algorithmus A liefert Lösungswert A(I) (unbekannte) Optimallösung wäre Opt(I) Definition: Algorithmus A ist ein Approximationsalgorithmus wenn A für jede Instanz I eine zulässige Lösung liefert. Definition: Ein Approximationsalgorithmus A hat eine absolute Gütegarantie k, (k > 0), wenn für jede Instanz I gilt: Opt(I) A(I) k Bemerkung: Def. gilt für Maximierungs- und Minimierungsprobleme.

Approximationsalgorithmen Bewertung 11 Graph Colouring (Knoten): Von besonderem Interesse ist die Färbung von planaren Graphen. Satz: (Four Colour Theorem): Jeder planare Graph ist 4-färbbar. Beweis von Appel, Haken, Koch 1977 mit heftigem Computereinsatz. Satz: Ein planarer Graph ist genau dann 2-färbbar, wenn er bipartit ist. Satz: Das Entscheidungsproblem Ist ein gegebener planarer Graph 3-färbbar ist N P-vollständig. Eine 5-Färbung eines planaren Graphen ist relativ einfach zu bestimmen. Satz: (Robertson, Sanders, Seymour, Thomas 1995) Die 4-Färbung eines planaren Graphen ist in O(n 2 ) möglich. (inkl. vereinfachter Beweis des Four Colour Theorems). = Färbung von planaren Graphen kann mit einer absoluten Gütegarantie von 1 approximiert werden. Beachte: Algorithmus zur 4-Färbung 4-Farben Satz

Approximationsalgorithmen Bewertung 12 Graph Colouring (Kanten): Sei (G) der maximale Grad eines Knoten in G. Satz von Vizing: Jeder Graph G ist kantenfärbbar mit (G) oder (G) + 1 Farben. = Kantenfärbung von beliebigen Graphen kann mit einer absoluten Gütegarantie von 1 approximiert werden. = Ist die absolute Gütegarantie das perfekte Konzept?? Negatives Resultat: Satz: Es gibt keinen polynomiellen Algorithmus für das Rucksackproblem (KP) mit einer absoluten Gütegarantie k, für irgendein k > 0 (wenn P N P).

Approximationsalgorithmen Bewertung 13 Maximierung: Definition: Ein Approximationsalgorithmus A für ein Maximierungsproblem hat eine relative Gütegarantie k, (0 < k < 1), wenn für jede Instanz I gilt: A(I) k Opt(I) kurz: A ist ein k Approximationsalgorithmus. Betrachte die relative Abweichung: Opt(I) A(I) Opt(I) ε A(I) (1 ε)opt(i) Ein Approximationsalgorithmus A mit relativer Abweichung ε ist ein (1 ε) Approximationsalgorithmus.

Approximationsalgorithmen Bewertung 14 Minimierung: Definition: Ein Approximationsalgorithmus A für ein Minimierungsproblem hat eine relative Gütegarantie k, (k > 1), wenn für jede Instanz I gilt: A(I) k Opt(I) auch hier: A ist ein k Approximationsalgorithmus. betrachte wiederum die relative Abweichung: A(I) Opt(I) Opt(I) ε A(I) (1 + ε)opt(i) Ein Approximationsalgorithmus A mit relativer Abweichung ε ist ein (1 + ε) Approximationsalgorithmus. Zusatz: Eine relative/absolute Gütegarantie eines Algorithmus A ist scharf, wenn es eine Instanz I gibt, sodaß die entsprechende Ungleichung mit Gleichheit erfüllt ist. Oder wenn es eine Folge von Instanzen gibt, sodaß die Gleichheit im Grenzwert gilt.

Approximationsalgorithmen Bewertung 15 Definition: (Minimierung) Ein Approximationsalgorithmus A für ein Minimierungsproblem hat eine asymptotische Gütegarantie k, (k > 1), wenn es eine Konstante d gibt, sodaß für jede Instanz I gilt: A(I) k Opt(I) + d oder technischer: k = lim sup Opt(I) I A(I) Opt(I) Wird benötigt, um Instanzen mit sehr kleinem, ganzzahligen Lösungswert auszuschließen. Bsp.: Lösung des N P-vollständigen Partitionsproblem kann als Instanz von Bin-Packing mit Lösungswert 2 formuliert werden.

Approximationsalgorithmen Einfache Algorithmen 16 Multi-Prozessor Scheduling: n jobs/aufträge, jeder mit Bearbeitungszeit p i, m Maschinen Ordne jeden job einer Maschine zu, sodaß der Gesamt-Fertigstellungszeitpunkt minimal ist. Algorithmus List-Scheduling (Graham): l j := 0 Arbeitszeit von Maschine j = 1,.., m for i := 1 to n do j min := arg min{l j } ordne job i auf Maschine j min an. l jmin := l jmin + p i end for Gesamtzeit := max{l j } List-Scheduling hat eine scharfe Gütegarantie von 2 1 m. Verbesserung: (LPT) Longest-Processing Time List-Scheduling Sortiere die jobs in absteigender Reihenfolge. (LPT) hat eine scharfe Gütegarantie von 4 3 1 3m.

Approximationsalgorithmen Einfache Algorithmen 17 Bin Packing Problem (BP): n Objekte, jedes mit Gewicht a i (0, 1], beliebig viele bins mit Kapazität 1 Packe alle Objekte in minimale Anzahl von bins Naive Methode: Algorithmus Next Fit (NF): öffne das erste bin for i := 1 to n do wenn Objekt i in das offene bin paßt packe es dort hinein sonst schließe das offene bin öffne ein neues bin und packe Objekt i ein end for (NF) läuft in O(n) Zeit. (NF) hat eine scharfe asymptotische Gütegarantie von 2.

Approximationsalgorithmen Einfache Algorithmen 18 Algorithmus First Fit (FF) (Johnson et al.): öffne das erste bin for i := 1 to n do betrachte die offenen bins der Reihe nach packe Objekt i in das erste bin, wo es paßt wenn es nirgends paßt öffne ein neues bin und packe Objekt i ein end for (FF) läuft in O(n log n) Zeit. (FF) hat eine scharfe asymptotische Gütegarantie von 1.7. Verbesserung: First Fit Decreasing (FFD) (Johnson) Sortiere die Objekte in absteigender Reihenfolge. (FFD) hat eine scharfe asymptotische Gütegarantie von 11 9. Varianten: Best Fit, Worst Fit, Any Fit,...

Approximationsalgorithmen Einfache Algorithmen 19 Allgemeines Rundreiseproblem (TSP): n Orte mit allen paarweisen Entfernungen. Finde die kürzeste Tour durch alle n Orte. Negatives Resultat: Satz: Es gibt keinen polynomiellen Algorithmus für das allgemeine TSP mit einer Gütegarantie k, für irgendein k > 0 (wenn P N P). Rundreiseproblem mit Dreicksungleichung ( -TSP): Zusatzbedingung: Für alle Tripel von Orten i, j, k gilt: d(i, j) + d(j, k) d(i, k) MST-Heuristik liefert Gütegarantie 2. Christofides-Heuristik liefert Gütegarantie 3/2.

Approximationsalgorithmen Einfache Algorithmen 20 -TSP Fortsetzung: Einfüge-Heuristik: (verwendbar auch ohne Dreiecksungleichung.) Algorithmus Insertion: ( ) repeat wähle einen Punkt k nicht auf der Tour suche Kante (i, j) der Tour mit minimalen Einfügekosten: d(i, k) + d(k, j) d(i, j) füge k zwischen i und j ein until alle Punkte eingefügt Auswahl von Punkt k: nearest insertion farthest insertion cheapest insertion random insertion

Approximationsalgorithmen Einfache Algorithmen 21 -TSP Approximations-Resultate für Insertion: Für jede Insertion-Regel gilt (Rosenkrantz et al. 77): A(I) (log n + 1) Opt(I) Es gibt Instanzen I und Insertion-Folgen mit A(I) log n log log n Opt(I). Nearest Insertion hat eine scharfe Gütegarantie von 2. Wenn nearest insertion mit der konvexen Hülle beginnt, verschlechtert sich die Gütegarantie auf 3 (Warburton 93). Farthest Insertion: In der Praxis besser, aber Gütegarantie 2.43 (Hurkens, 92), genaue Garantie unbekannt. Random Insertion: (Azar 94) Es gibt Instanzen I mit A(I) log log n log log log n Opt(I).

Approximationsalgorithmen Einfache Algorithmen 22 -TSP Fortsetzung: Einfache Greedy-Heuristik baut Tour sukzessive aus Wegstücken auf. (verwendbar auch ohne Dreiecksungleichung.) Algorithmus Multi-Fragment Heuristic: T = repeat nimm die kürzeste Kante (i, j) Wenn T (i, j) Teil einer Tour ist T := T (i, j) entferne (i, j) until T ist Tour durch alle Punkte ( ) ( ) ist für vollständige Graphen einfach zu entscheiden. -TSP Approximations-Resultat (Ong, Moore, 1984): A(I) log n Opt(I)

Approximationsalgorithmen Einfache Algorithmen 23 Verbesserungs-Verfahren: Algorithmus 2-Opt: starte mit irgendeiner Tour repeat wähle 2 Kanten der Tour und entferne sie füge die Teilstücke zu neuer Tour zusammen Tour := min{neue Tour, alte Tour} until keine Verbesserung möglich Viele Varianten zur systematischen Durchführung. Jede 2-optimale Tour ist kreuzungsfrei. Für jede 2-optimale Tour T gilt (Chandra et al. 94): T log n Opt Es gibt 2-optimale Touren T mit T log n log log n Opt. Euklidsches Rundreiseproblem: Orte sind Punkte im R 2 : Beliebig gute Approximation in polynomieller Zeit möglich, aber Laufzeit wächst exponentiell mit der Genauigkeit.