Approximations-Algorithmen



Ähnliche Dokumente
Approximation im Sinne der Analysis:

Approximationsalgorithmen. Approximation im Sinne der Analysis:

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

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

Approximationsalgorithmen

Das Briefträgerproblem

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

Alles zu seiner Zeit Projektplanung heute

Algorithmen und Datenstrukturen 2

Anmerkungen zur Übergangsprüfung

Algorithmen II Vorlesung am

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

Approximationsalgorithmen

Algorithmische Mathematik

Die Verbindung von Linearer Programmierung und Graphentheorie

1 topologisches Sortieren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Datenstrukturen und Algorithmen SS07

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/ / 206

Das Lastverteilungsproblem

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Approximationsalgorithmen

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

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

Kombinatorische Optimierung

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau

Statistische Untersuchungen zu endlichen Funktionsgraphen

Abschnitt: Algorithmendesign und Laufzeitanalyse

Erfahrungen mit Hartz IV- Empfängern

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Stackelberg Scheduling Strategien

Algorithmentheorie Maximale Flüsse

Approximationsalgorithmen für NP-harte Optimierungsprobleme

WS 2013/14. Diskrete Strukturen

Mathematik 1 für Wirtschaftsinformatik

Ressourceneinsatzplanung in der Fertigung

8 Diskrete Optimierung

Approximationsalgorithmen für NP-harte Optimierungsprobleme

( ) als den Punkt mit der gleichen x-koordinate wie A und der

Heuristiken im Kontext von Scheduling

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

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

Polynomialzeit- Approximationsschema

6.2 Scan-Konvertierung (Scan Conversion)

Approximationsalgorithmen. 19. Dezember / 28

Wasserfall-Ansätze zur Bildsegmentierung

4. Dynamische Optimierung

Approximationsalgorithmen

Konzepte der Informatik

Kapitel 6: Graphalgorithmen Gliederung

Mathematischer Vorbereitungskurs für Ökonomen

Approximationsklassen für Optimierungsprobleme

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

Theoretische Grundlagen der Informatik

Maximizing the Spread of Influence through a Social Network

Datenstrukturen & Algorithmen

Algorithmen und Datenstrukturen

Rechnerische Komplexität

Ergänzung zum Modulhandbuch

7 Rechnen mit Polynomen

Grundlagen der Theoretischen Informatik, SoSe 2008

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Kap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP)

4 Greedy-Algorithmen (gierige Algorithmen)

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

Grundbegriffe der Informatik

Algorithmen und Berechnungskomplexität I

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

Rundreiseproblem und Stabilität von Approximationsalg.

Lineare Gleichungssysteme

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Optimierung für Nichtmathematiker

Approximation durch Taylorpolynome

Expander Graphen und Ihre Anwendungen

Einführung in Scheduling

Einführung in die Programmierung

Mining High-Speed Data Streams

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Klausur Mathematik 2

Künstliche Intelligenz Maschinelles Lernen

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

Lineare Programmierung

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Anleitung über den Umgang mit Schildern

W-Rechnung und Statistik für Ingenieure Übung 11

Bestimmung einer ersten

Numerische Verfahren und Grundlagen der Analysis

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Erwin Grüner

PROSEMINAR ONLINE ALGORITHMEN

Zeichen bei Zahlen entschlüsseln

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Transkript:

Approximations-Algorithmen Institut für Computergraphik und Algorithmen Abteilung für Algorithmen und Datenstrukturen 186.102 Sommersemester 2004, 2h VU Motivation: Bereits viele einfache Optimierungsprobleme wie z.b. Routenplanung, Zeiteinteilung und Packungsprobleme können nicht effizient exakt gelöst werden. Gute Näherungsmethoden, das heißt Approximations-Algorithmen, werden gesucht. Aber was ist gut? Beispiel: Bin Packing gegeben: n Pakete mit unterschiedl. Gewichten und Container (bins) mit fester Kapazität. gesucht: Zuordnung der Pakete in möglichst wenige Container. Analyse: Wie gut oder wie schlecht sind einfache und kompliziertere Näherungsverfahren?

Zeit: drei Blöcke zu je drei Tagen: 10.3.-12.3., 24.3.-26.3., 21.4.-23.4. Mittwoch, Donnerstag 15:00-18:00 Freitag 13:00-16:00 Ort: Seminarraum 186, Favoritenstr. 9, 5.Stock Sprechstunde: Während der drei Blöcke bin ich am Institut erreichbar. Kontakt in Graz: Tel.: 0316-380-3496 pferschy@uni-graz.at Ablauf: Die VU besteht aus Vorlesung und Übungen, die aber zeitlich flexibel integriert abgehalten werden. Zur Vorlesung gibt es teilweise ein Folienskriptum im WWW: www.ads.tuwien.ac.at/teaching/ss04/186102.html Voraussetzungen: Algorithmen und Datenstrukturen 1 Freude an der Analyse von Algorithmen Beurteilung: aktive Mitarbeit Bearbeitung von Übungsbeispielen (Übungsblätter) Mündliche Abschlußprüfung (vorgesehener Termin: 23.4., weitere Termin nach Vereinbarung) Vortragender: a.o.univ.-prof. Dr. Ulrich Pferschy Universität Graz Institut für Statistik und Operations Research

Inhalt: Welche Probleme? kombinatorische Optimierung TSP, scheduling, bin-packing, vertex covering, Wie mißt man die Qualität der Approximation? Definitionen der Approximationsgüte Wie gut sind einfache Heuristiken? Worst-case Analyse von intuitiven Algorithmen Vorgabe der Abweichung vom Optimum? ε - Approximationsschemata Literatur: D.S. Hochbaum, Approximation algorithms for NP-hard problems, PWS Publishing Company, 1997. V.V. Vazirani, Approximation Algorithms, Springer, 2001. G. Ausiello et al., Complexity & Approximation, Springer, 1999. J. Hromkovic, Algorithmics for hard problems, Springer, 2001. Lecture Notes aus dem Internet von R. Motwani (Standford University) D.P. Williamson (IBM Almaden Research Center) M.X. Goemans (MIT)

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 Maximum Cut Problem (Max Cut): Graph (V, E) mit Kantengewichten w ij für jede Kante (i, j) E. Finde eine Knotenmenge S V mit maximalem i S,j S w ij (Kanten zwischen S und V \ S). Minimal spannender Baum / Minimum Spanning Tree (MST): Graph (V, E) mit Kantengewichten d ij = d ji für jede Kante (i, j) E. Finde einen Baum, der alle Knoten enthält mit minimalem Gesamtgewicht.

Approximationsalgorithmen Einleitung 6 (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 7 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 8 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 9 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 IP-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

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

Approximationsalgorithmen Bewertung 11 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 12 Graph Colouring (Knoten): Von besonderem Interesse ist die Färbung von planaren Graphen. Satz: (Four Colour Theorem: Appel, Haken, Koch 1977) Jeder planare Graph ist 4-färbbar. 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. Auch die 4-Färbung ist in O(n 2 ) möglich (Robertson et al. 1996), aber sehr aufwendig. = Färbung von planaren Graphen kann mit einer absoluten Gütegarantie 2 approximiert werden.

Approximationsalgorithmen Bewertung 13 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 14 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 15 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. 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 16 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)

Approximationsalgorithmen Einfache Algorithmen 17 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 18 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 19 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 20 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 21 -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 22 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 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.

Approximationsalgorithmen Einfache Algorithmen 24 Rucksackproblem/Knapsack Problem (KP): n items, jedes mit Profit p i und Gewicht w i, ein Rucksack/bin mit Kapazität c Wähle eine Teilmenge von items mit maximalem Profit und Gewicht c. Algorithmus einfacher Greedy: Sortiere die items nach Effizienz: p 1 w 1 p 2 w 2... p n w n for i := 1 to n do if item i paßt in den Rucksack pack es ein end for Einfacher Greedy kann unbeschränkt schlecht werden. Verbesserter Algorithmus Greedy: Sei z E... der Wert des Rucksacks nach einfacher Greedy. z G := max{z E, max{p i i = 1,..., n}} Greedy hat eine scharfe Gütegarantie von 1/2.

Approximationsalgorithmen Einfache Algorithmen 25 Beachte: ein einziges großes item hat Haupteinfluß. Verbesserung: Rate das item mit größtem Profit in der Optimallösung. = alle items durchprobieren. Algorithmus G 2/3 : for i := 1 to n do packe item i in den leeren Rucksack wende Greedy auf das Restproblem mit Kapazität c w i an end for z A := Maximum der n Rucksack-Lösungen G 2/3 hat eine scharfe Gütegarantie von 2/3. Verallgemeinerung: Rate die 2 items mit größtem Profit in der Optimallösung. = alle Paare von items durchprobieren. = scharfe Gütegarantie von 3/4.

Approximationsalgorithmen Einfache Algorithmen 26 Weitere Verallgemeinerung: Rate die l items mit größtem Profit in der Optimallösung. = alle l-tupel von items durchprobieren. = scharfe Gütegarantie von l+1 l+2. Laufzeit: ) Tupel = O(n l ) viele Greedy Iterationen = O(n l+1 ) ( n l Verbesserung auf O(n l ) möglich.