Approximations- und Online-Algorithmen

Ähnliche Dokumente
Approximations- und Online-Algorithmen

Übung 2 Algorithmen II

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II.

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Willkommen zur Vorlesung Komplexitätstheorie

Approximationsalgorithmen

Algorithmische Methoden für schwere Optimierungsprobleme

A Classification of Partial Boolean Clones

Data Structures and Algorithm Design

Algorithm Theory 3 Fast Fourier Transformation Christian Schindelhauer

Bayesian Networks. Syntax Semantics Parametrized Distributions Inference in Bayesian Networks. Exact Inference. Approximate Inference

Algorithmische Geometrie

Unit 4. The Extension Principle. Fuzzy Logic I 123

Data Structures and Algorithm Design

Approximationsalgorithmen

v+s Output Quelle: Schotter, Microeconomics, , S. 412f

Number of Maximal Partial Clones

Englisch-Grundwortschatz

Priorities (time independent and time dependent) Different service times of different classes at Type-1 nodes -

Finite Difference Method (FDM)

Wie man heute die Liebe fürs Leben findet

Algorithms for graph visualization

Introduction FEM, 1D-Example

Übungsblatt 6. Analysis 1, HS14

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

On the List Update Problem

Martin Luther. Click here if your download doesn"t start automatically

Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically

Zu + Infinitiv Constructions

Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition)

Integer Convex Minimization in Low Dimensions

Algorithmische Methoden zur Netzwerkanalyse

Level 1 German, 2014

LEBEN OHNE REUE: 52 IMPULSE, DIE UNS DARAN ERINNERN, WAS WIRKLICH WICHTIG IST (GERMAN EDITION) BY BRONNIE WARE

ETHISCHES ARGUMENTIEREN IN DER SCHULE: GESELLSCHAFTLICHE, PSYCHOLOGISCHE UND PHILOSOPHISCHE GRUNDLAGEN UND DIDAKTISCHE ANSTZE (GERMAN

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume

Algorithms & Datastructures Midterm Test 1

Funktion der Mindestreserve im Bezug auf die Schlüsselzinssätze der EZB (German Edition)

Introduction FEM, 1D-Example

Effiziente Algorithmen (SS2015)

Kombinatorische Optimierung

Algorithmische Methoden für schwere Optimierungsprobleme

Level 2 German, 2015

Dienstleistungsmanagement Übung 5

Handbuch der therapeutischen Seelsorge: Die Seelsorge-Praxis / Gesprächsführung in der Seelsorge (German Edition)

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Die UN-Kinderrechtskonvention. Darstellung der Bedeutung (German Edition)

Produktdifferenzierung und Markteintritte?

Where are we now? The administration building M 3. Voransicht

Automatentheorie und formale Sprachen reguläre Ausdrücke

Approximationsalgorithmen. 19. Dezember / 28

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG DOWNLOAD EBOOK : FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG PDF

Nießbrauch- und Wohnrechtsverträge richtig abschließen (German Edition)

Tube Analyzer LogViewer 2.3

Mixed tenses revision: German

Logik für Informatiker Logic for computer scientists

CALCULATING KPI QUANTITY-INDEPENDENT ROUTE TIME

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

CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Musterlösung 3. D-MATH Algebra I HS 2015 Prof. Richard Pink. Faktorielle Ringe, Grösster gemeinsamer Teiler, Ideale, Faktorringe

Rev. Proc Information

Einführung in die Finite Element Methode Projekt 2

Konkret - der Ratgeber: Die besten Tipps zu Internet, Handy und Co. (German Edition)

KTdCW Artificial Intelligence 2016/17 Practical Exercises - PART A

DYNAMISCHE GEOMETRIE

25 teams will compete in the ECSG Ghent 2017 Senior Class Badminton.

DIBELS TM. German Translations of Administration Directions

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Übungsblatt 2 Lösungen

Sporadischer Neustart von WPC-Geräten FINALE LÖSUNG

Power-Efficient Server Utilization in Compute Clouds

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Informatik für Mathematiker und Physiker Woche 2. David Sommer

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

Final Exam. Friday June 4, 2008, 12:30, Magnus-HS

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Weather forecast in Accra

Ausführliche Unterrichtsvorbereitung: Der tropische Regenwald und seine Bedeutung als wichtiger Natur- und Lebensraum (German Edition)

Transkript:

Approximations- und Online-Algorithmen Wie komme ich mit Unfähigkeit und Unwissen zurecht? Rob van Stee 14. April 2010 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Unfähigkeit Beobachtung Fast alle interessanten Optimierungsprobleme sind NP-schwer Was sollte man mit solchen Problemen machen? Es gibt verschiedene Möglichkeiten: Trotzdem optimale Lösungen suchen und riskieren, dass der Algorithmus nicht fertig wird. Ad-hoc Heuristiken. Man kriegt eine Lösung aber wie gut ist die? Problem so umdefinieren, dass es polynomial lösbar wird. Approximationsalgorithmen: Algorithmen, die in Polynomialzeit Lösungen bestimmen, die garantiert nah an der optimalen Lösung liegen. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 2/32

Unfähigkeit Beobachtung Fast alle interessanten Optimierungsprobleme sind NP-schwer Was sollte man mit solchen Problemen machen? Es gibt verschiedene Möglichkeiten: Trotzdem optimale Lösungen suchen und riskieren, dass der Algorithmus nicht fertig wird. Ad-hoc Heuristiken. Man kriegt eine Lösung aber wie gut ist die? Problem so umdefinieren, dass es polynomial lösbar wird. Approximationsalgorithmen: Algorithmen, die in Polynomialzeit Lösungen bestimmen, die garantiert nah an der optimalen Lösung liegen. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 2/32

Unwissen Ob eine Entscheidung gut oder schlecht ist hängt von zukünftigen und damit unbekannten Ereignissen ab. Wie geht man damit um? Beispiel: Ski rental Online-Algorithmen Online-Algorithmen sollten zu robusten Lösungen kommen, die was auch passiert nicht zu weit weg von der Lösungsqualität eines allwissenden Algorithmus sind. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 3/32

Unwissen Ob eine Entscheidung gut oder schlecht ist hängt von zukünftigen und damit unbekannten Ereignissen ab. Wie geht man damit um? Beispiel: Ski rental Online-Algorithmen Online-Algorithmen sollten zu robusten Lösungen kommen, die was auch passiert nicht zu weit weg von der Lösungsqualität eines allwissenden Algorithmus sind. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 3/32

Nützliche Vorkenntnisse Informatik I/II Informatik III inbesondere NP-Vollständigkeit Algorithmentechnik Vertiefungsgebiete: Algorithmik, Theoretische Grundlagen Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 4/32

Material Folien wissenschaftliche Aufsätze. Siehe Vorlesungshomepage V.V. Vazirani, Approximation Algorithms, Springer Rolf Wanka, Approximationsalgorithmen, Springer A. Borodin und R. El-Yaniv, Online Computation and Competitive Analysis, Cambridge University Press vor allem für Paging. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 5/32

Überblick Approximationsalgorithmen VL Probleme Techniken Begriffe 2 TSP, Steinerbäume Relaxation Nichtapproximierbarkeit 3 Rucksackproblem dynamische FPTAS Programmierung 4 vertex cover lineare scheduling Programmierung 5 routing, vertex cover Randomisierung 6 max cut lokale aympt. approx. edge coloring Suche 7 scheduling duale PTAS Optimierung Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 6/32

Grundbegriffe (Wiederholung?) Entscheidungsproblem Entscheide ob die Eingabe in einer vorgegebenen Menge M liegt. Beispiel: Hamiltonkreisproblem Eingabe: Graph M := {G = (V, E) : C E : C = V, C ist ein Kreis} P: Menge der (Entscheidungs)probleme, die in Zeit O ( n d) gelöst werden können. d: eine Konstante n: Anzahl Bits, die zur Codierung der Eingabe benötigt werden NP: Menge der (Entscheidungs)probleme, bei denen für die Antwort JA Beweise gegeben werden können, die sich in polynomieller Zeit überprüfen lassen. Beispiel: Ein Hamiltonkreis. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 7/32

Grundbegriffe (Wiederholung?) Entscheidungsproblem Entscheide ob die Eingabe in einer vorgegebenen Menge M liegt. Beispiel: Hamiltonkreisproblem Eingabe: Graph M := {G = (V, E) : C E : C = V, C ist ein Kreis} P: Menge der (Entscheidungs)probleme, die in Zeit O ( n d) gelöst werden können. d: eine Konstante n: Anzahl Bits, die zur Codierung der Eingabe benötigt werden NP: Menge der (Entscheidungs)probleme, bei denen für die Antwort JA Beweise gegeben werden können, die sich in polynomieller Zeit überprüfen lassen. Beispiel: Ein Hamiltonkreis. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 7/32

Grundbegriffe (Wiederholung?) Entscheidungsproblem Entscheide ob die Eingabe in einer vorgegebenen Menge M liegt. Beispiel: Hamiltonkreisproblem Eingabe: Graph M := {G = (V, E) : C E : C = V, C ist ein Kreis} P: Menge der (Entscheidungs)probleme, die in Zeit O ( n d) gelöst werden können. d: eine Konstante n: Anzahl Bits, die zur Codierung der Eingabe benötigt werden NP: Menge der (Entscheidungs)probleme, bei denen für die Antwort JA Beweise gegeben werden können, die sich in polynomieller Zeit überprüfen lassen. Beispiel: Ein Hamiltonkreis. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 7/32

Optimierungsprobleme Definition (Minimierungsproblem) Ein Minimierungsproblem wird durch ein Paar (L, f ) definiert. Dabei ist L eine Menge zulässiger (feasible) Lösungen und f : L R is die Kostenfunktion. x L ist eine optimale Lösung wenn f (x ) f (x) für alle x L. Manchmal betrachten wir (natürlich) auch Maximierungsprobleme. Durch binäre Suche lassen sich Optimierungsprobleme auf Entscheidungsprobleme reduzieren. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 8/32

NP-Vollständigkeit Ein Entscheidungsproblem ist NP-vollständig, falls ein Polynomialzeit Algorithmus für dieses Problem implizieren würde, dass P = NP. Sind also alle NP-vollständigen Probleme gleich schwer? Nur wenn Wir auf exakten Lösungen bestehen Wir uns nur für den schlechtesten Fall interessieren Schlussfolgerung: Wenn es um exakte Lösungen und worst case Eingaben geht, sind alle NP-vollständigen Probleme gleich Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 9/32

NP-Vollständigkeit Ein Entscheidungsproblem ist NP-vollständig, falls ein Polynomialzeit Algorithmus für dieses Problem implizieren würde, dass P = NP. Sind also alle NP-vollständigen Probleme gleich schwer? Nur wenn Wir auf exakten Lösungen bestehen Wir uns nur für den schlechtesten Fall interessieren Schlussfolgerung: Wenn es um exakte Lösungen und worst case Eingaben geht, sind alle NP-vollständigen Probleme gleich Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 9/32

Scheduling Independent Weighted Jobs on Parallel Machines 1 2 3 4 5 n x(j): Machine where job j is executed L i : x(j)=i t j, load of machine i Objective: Minimize Makespan L max = max i L i...??.........? t i 1 2 m Details: Identical machines, independent jobs, known processing times, offline NP-hard Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 10/32

List Scheduling ListScheduling(n, m, t) J := {1,..., n} array L[1..m] = [0,..., 0] while J do pick any j J J := J \ {j} // Shortest Queue: pick i such that L[i] is minimized x(j) := i L[i] := L[i] + t j return x Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 11/32

Many Small Jobs Lemma 1 If l is the index of the job finishing last then L max j t j m + m 1 m t l Proof t l t := L max t l L max = t + t l j l t j m + t l = j t j m + m 1 m t l t = t * m <= all t l Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 12/32

Lower Bounds Lemma 2 L max j t j m The maximum load is at least the total load divided by the number of machines (the average load per machine). Lemma 3 L max max t j j The largest job has to be placed on some machine. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 13/32

The Approximation Ratio Definition (Approximation Ratio) A minimization algorithm achieves approximation ratio ρ if for all inputs I, it produces a solution x(i) such that f (x(i)) f (x (I)) ρ where x (I) denotes the optimum solution for input I. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 14/32

Theorem 4 ListScheduling achieves approximation ratio 2 1 m. Proof. f (x) f (x (upper bound Lemma 1) ) j t j/m f (x + m 1 ) m t l f (x (lower bound Lemma 2) ) 1 + m 1 m t l f (x (lower bound Lemma 3) ) 1 + m 1 m = 2 1 m Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 15/32

This bound is tight Input: m(m 1) jobs of size 1 and one job of size m. List Scheduling: 2m 1 OPT: m This shows the approximation ratio is not better than 2 1/m. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 16/32

Online Scheduling Jobs arrive one by one Each job needs to be placed without information about future jobs Each job that arrives might be the last one Resulting makespan is compared to optimal offline makespan Note: the optimal makespan can only be achieved by an algorithm which receives the entire input in advance and which uses exponential time (unless P = NP) Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 17/32

The Competitive Ratio Definition: An online (minimization) algorithm achieves competitive ratio ρ if for all inputs I, it produces a solution x(i) such that f (x(i)) f (x (I)) ρ where x (I) denotes the optimum solution for input I. Note: this definition is identical to the definition of the approximation ratio, except that an online algorithm is differently restricted. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 18/32

Connection to Approximation Algorithms An online algorithm can be used as an approximation algorithm if it runs in polynomial time The approximation ratio is then equal to its competitive ratio In particular, List Scheduling can be seen as an online algorithm! The previous analysis still holds Conclusion: competitive ratio of List Scheduling is 2 1/m Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 19/32

List Scheduling as an online algorithm ListScheduling(n, m, t) J := {1,..., n} array L[1..m] = [0,..., 0] while J do pick the first j J J := J \ {j} // Shortest Queue: pick i such that L[i] is minimized x(j) := i L[i] := L[i] + t j return x Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 20/32

A Lower Bound For Online Algorithms Lemma 5 No online algorithm can have a competitive ratio below 3/2. Proof. Consider an online algorithm ALG. Input: m jobs of size 1. Two cases: ALG leaves at least one machine empty competitive ratio of ALG is at least 2 (optimal load is 1) ALG puts each job on a separate machine one extra job of size 2 arrives. Now ALG = 3, OPT = 2. Note: ALG does not know how many jobs will arrive! Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 21/32

Improving on List Scheduling Online: we need to place jobs one by one, but not all jobs need to be placed on the least loaded machine We can improve somewhat by avoiding completely flat schedules The best known algorithm has a competitive ratio of 1.9201 Offline / approximation algorithm: we can do much better by considering the entire input set of jobs, instead of assigning jobs one by one Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 22/32

Largest Processing Time First Scheduling LPT(n, m, t) J := {1,..., n} array L[1..m] = [0,..., 0] while J do pick j J such that t j is maximized J := J \ {j} // Shortest Queue: pick i such that L[i] is minimized x(j) := i L[i] := L[i] + t j return x 1 2 3 4 5 n......??...?... 1 2 m t i Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 23/32

LPT Scheduling is Not Optimal 8 4 5 3 3 3 8 3 5 3 3 4 optimal LPT Weil der Job der Größe 4 nicht an Maschine 2 zugewiesen wird, findet LPT nicht die optimale Lösung. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 24/32

At Most Two Jobs Per Machine Lemma 6 When an optimal schedule assigns at most two jobs to each machine, LPT scheduling computes an optimal schedule. Wlog i < j t i t j, LPT puts job n i + 1 on machine i for 1 i m. Transform optimal schedule into organ pipe form: s(i) s(j) s(i) s(j) s(i) s(j) p(i) i j p(j) p(i) p(j) p(i) p(j) i < Move jobs further right to finalize transformation to LPT schedule j i < j x* Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 25/32

Theorem 7 LPT Scheduling achieves an approximation ratio of 4 3 1 3m Exercise: Explain how to implement LPT Scheduling to run in time O(n log n + m) Proof. Assume instance such that 4 3 1 3m < f (x) f (x ). Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 26/32

4 3 1 3m < f (x) f (x ) j t j/m f (x + m 1 ) m t l f (x by Lemma 1 ) Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 27/32

4 3 1 3m < f (x) f (x ) j t j/m f (x + m 1 ) 1 + m 1 m t l m t l f (x ) f (x ) using f (x ) j t j /m. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 27/32

4 3 1 3m < f (x) f (x ) j t j/m f (x + m 1 ) 1 + m 1 m t l f (x ) m t l f (x ) 1 3 1 3m < m 1 m t l f (x ) Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 27/32

4 3 1 3m < f (x) f (x ) j t j/m f (x + m 1 ) 1 + m 1 m t l f (x ) m t l f (x ) 1 3 1 3m < m 1 m t l f (x ) f (x )(1 1 m ) < 3(1 1 m ) t l Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 27/32

4 3 1 3m < f (x) f (x ) j t j/m f (x + m 1 ) 1 + m 1 m t l f (x ) m t l f (x ) 1 3 1 3m < m 1 m t l f (x ) f (x )(1 1 m ) < 3(1 1 m ) t l f (x ) < 3t l Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 27/32

Putting things together We find f (x ) < 3t l. We can even arrange that t l is the last job (drop later jobs) t l is the smallest job, OPT has less than 3t l on all machines at most two jobs per machine LPT is optimal by Lemma 6. Contradiction. Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 28/32

Fast Implementation of LPT LPT(n, m, t) sort J := 1,..., n by decreasing processing time t j PriorityQueue: L = (1, 0),..., (m, 0) foreach j J do (i, l):= deletemin(l) x(j) := i L.insert((i, l + t j )) return x Time O(n log n + n log m) Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 29/32

More about scheduling Fast 7/6 approximation: guess makespan (binary search). Then use Best Fit Decreasing. Exercise: time O(n log n)? PTAS... later... Uniform machines: Machine i has speed s i job j needs time t j /s i on machine j. relatively simple extension Unrelated Machines job j needs time t ji on machine j... later other goal functions, precedence constraints, splittable jobs,... Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 30/32

More Less Easy Problems Traveling Salesman Given G = (V, E), find simple cycle C = (v 1, v 2,..., v n, v 1 ) such that n = V and (u,v) C d(u, v) is minimized. Find the shortest path visiting all nodes. The problem is NP-hard, even if G is complete, undirected and obeys the triangle inequality: u, v, w V : d(u, w) d(u, v) + d(v, w) Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 31/32

The Knapsack Problem 20 10 15 20 W n items with weight w i and profit p i Choose a subset x of items Capacity constraint i x w i W Maximize profit i x p i Rob van Stee Approximations- und Online-Algorithmen 14. April 2010 32/32