Approximationsalgorithmen. 19. Dezember / 28

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

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

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Approximationsalgorithmen

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

NP-vollständig - Was nun?

Approximation im Sinne der Analysis:

Approximationsalgorithmen

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

Approximations-Algorithmen

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

Das Multi Traveling Salesman Problem

Approximation in Batch and Multiprocessor Scheduling

4 Greedy-Algorithmen (gierige Algorithmen)

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

Graphen: Datenstrukturen und Algorithmen

5.4 Das Rucksackproblem

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

Informatik II Greedy-Algorithmen

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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Datenstrukturen & Algorithmen

Einführung in Algorithmen und Komplexität

Der Approximationsalgorithmus von Christofides

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Streaming Data: Das Modell

Wiederholung zu Flüssen

Flüsse, Schnitte, Bipartite Graphen II

Dynamisches Programmieren - Problemstruktur

Traveling Salesman Problem (TSP)

Datenstrukturen und Algorithmen SS07

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten

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

Algorithmen und Datenstrukturen 2

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Lineare Programmierung

2. Optimierungsprobleme 6

Durchschnitt von Matroiden

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

Heuristiken im Kontext von Scheduling

Approximationsalgorithmen am Beispiel des Traveling Salesman Problem

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

6. Übungsblatt zu Algorithmen II im WS 2011/2012

Diskrete Optimierung (Einführung zur Vorlesung)

Effiziente Algorithmen I

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

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

ADS: Algorithmen und Datenstrukturen 2

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmische Graphentheorie

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Probabilistische Analyse von Algorithmen

Online-Algorithmen. Proseminar von Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans im Wintersemester 00/01

Algorithmen II Vorlesung am

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Gemischt-ganzzahlige und Kombinatorische Optimierung

ADS: Algorithmen und Datenstrukturen 2

Die Komplexitätsklassen P und NP

abgeschlossen unter,,,, R,

Daniel Borchmann. Sommerakademie Görlitz September 2007

Alles zu seiner Zeit Projektplanung heute

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

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung

Formale Grundlagen der Informatik

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

3. Musterlösung. Problem 1: Boruvka MST

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen 2

Übung zur Vorlesung Berechenbarkeit und Komplexität

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

Ausarbeitung über den Satz von Menger und den Satz von König

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

Algorithmische Graphentheorie

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

Die Verbindung von Linearer Programmierung und Graphentheorie

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Inhaltsübersicht für heute:

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

16. All Pairs Shortest Path (ASPS)

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

Kombinatorische Optimierung

Stackelberg Scheduling Strategien

Algorithmen und Datenstrukturen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Algorithmen II Vorlesung am

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

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

Approximations- und Online-Algorithmen

Maximizing the Spread of Influence through a Social Network

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

WS 2009/10. Diskrete Strukturen

6. Übung zur Linearen Optimierung SS08

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Transkript:

Approximationsalgorithmen 19. Dezember 2017 1 / 28

Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren oder zu maximieren: Wir nehmen stets opt {min, max} an. x ist die Eingabe, oder die Beschreibung des Problems. y heißt eine Lösung für Eingabe x, wenn das Lösungsprädikat L erfüllt ist. Eine Lösung y mit optimalem Wert f (x, y) ist zu bestimmen. Wir spezifizieren das Optimierungsproblem durch das Tripel (opt, f, L) (Web) 19. Dezember 2017 2 / 28

Beispiele Das Clique Problem besitzt Graphen G = (V, E) als Eingaben. Genau die Cliquen C V sind Lösungen. Also ist L(G, C) C V und je zwei Knoten in C sind durch eine Kante in G verbunden f (G, C) = C ist die zu maximierende Zielfunktion. Im Rucksackproblem sind n Objekte mit Gewichten g 1,..., g n R und Werten w 1,..., w n N gegeben. Das Ziel: Bepacke den Rucksack, so dass einerseits eine Gewichtsschranke G R nicht überschritten wird und andererseits der Gesamtwert der eingepackten Objekte maximal ist. Die Eingabe x besteht aus den Gewichten, den Werten und der Gewichtsschranke. Lösungen werden durch die Teilmengen I {1,..., n} eingepackter Objekte beschrieben, wobei L(x, I) i I g i G. f (x, I) = i I w i ist die zu maximierende Zielfunktion. 19. Dezember 2017 3 / 28

Approximationsalgorithmen Sei P = (opt, f, L) ein Optimierungsproblem. y heißt eine optimale Lösung für Eingabe x, falls f (x, y ) = opt {f (x, y) y ist eine Lösung, d.h. es gilt L(x, y) }. Wir setzen opt P (x) := f (x, y ). Ein Approximationsalgorithmus A für P berechnet auf jeder Eingabe x eine Lösung A(x). Wir möchten schnelle Approximationsalgorithmen entwerfen, die gute Lösungen berechnen. 19. Dezember 2017 4 / 28

Wie gut ist eine Approximation? Approximationsfaktoren Eine Lösung y von P für Eingabe x heißt δ-approximativ, wenn f (x, y) max P(x) δ für ein Maximierungsproblem beziehungsweise wenn f (x, y) δ min P (x) für ein Minimierungsproblem. Der Approximationsfaktor ist stets mindestens 1. Wenn wir den Approximationsfaktor δ = 1 erreichen, dann haben wir das Optimierungsproblem exakt gelöst. Je kleiner der Approximationsfaktor, umso besser ist die gefundene Lösung. 19. Dezember 2017 5 / 28

Ein Beispiel: Das metrische Traveling Salesman Problem Wir haben die Spannbaum Heuristik für M-TSP entworfen. Wenn L die Länge der von uns berechneten Tour ist und wenn opt die minimale Länge einer Rundreise ist, dann haben wir nachgewiesen. L 2 opt Die Spannbaum Heuristik ist ein 2-approximativer Approximationsalgorithmus für M-TSP. 19. Dezember 2017 6 / 28

Wie gut können schwierige Optimierungsprobleme approximiert werden? Optimierungsprobleme mit NP-vollständigen Entscheidungsproblemen zeigen starke Variationen. Einige Probleme, wie zum Beispiel das Rucksackproblem, sind sehr scharf durch effiziente Algorithmen approximierbar. Andere, wie zum Beispiel das Problem der Last-Verteilung sind schon etwas schwieriger. Dann folgt das Vertex Cover Problem und das noch schwierigere Clique Problem. Zu den ganz harten Brocken gehören die 0-1 Programmierung und die ganzzahlige Programmierung. Was weiss man über die Approximationskomplexität schwieriger Probleme? (Web) 19. Dezember 2017 7 / 28

Last-Verteilung Wir haben bereits die folgenden Scheduling Probleme untersucht. Im (gewichteten) Intervall Scheduling haben wir eine wertvollste Auswahl von Aufgaben bei vorgeschriebenen Start- und Terminierungszeiten auf einem Prozessor ausgeführt. Für das Scheduling mit minimaler Verspätung haben wir die maximale Verspätung bei gegebenen Fristen und Laufzeiten mit einem Greedy Algorithmus minimiert. Das Lastverteilungsproblem: Nur die Rechenzeiten der Aufgaben sind bekannt. Alle Aufgaben können sofort abgearbeitet werden. Das Ziel: Verteile die Aufgaben so auf m identische Prozessoren, dass der Makespan, also der Zeitraum in dem alle Aufgaben abgearbeitet werden, minimal ist. 19. Dezember 2017 8 / 28

Das On-line Lastverteilungsproblem In einem realistischen Szenario muss die Last verteilt werden, wenn sie anfällt. Insbesondere kann die Zuweisung weiterer Aufgaben nicht abgewartet werden: Ein On-line Algorithmus muss Entscheidungen treffen ohne die Zukunft zu kennen. (Web) Ein On-line Scheduling Algorithmus: Aufgaben 1,..., n mit Rechenzeiten t 1,..., t n sind gegeben. Die Aufgaben werden der Reihe nach abgearbeitet. Wenn Aufgabe i dran ist, dann weise Aufgabe i dem Prozessor mit der bisher geringsten Last zu 19. Dezember 2017 9 / 28

Greedy-Online Scheduling multiple choice Aufgaben für zwei Prozessoren entstehen in der Reihenfolge 1, 2,.... Welche ist die erste Aufgabe, die nicht gemäß Greedy-Online Scheduling zugewiesen wurde? Auflösung: (3) 19. Dezember 2017 10 / 28

Der Approximationsfaktor für das On-line Scheduling Die On-line Strategie ist 2-approximativ. Angenommen, Prozessor i trägt die größte Last. Der Makespan T ist dann die Gesamtlaufzeit von Prozessor i. Prozessor i möge die Aufgabe j als letzte Aufgabe ausführen. Zum Zeitpunkt T tj sind alle Prozessoren busy : Ansonsten hätte eine freie Maschine die Aufgabe j früher übernommen. Also ist n t k (m 1) (T t j ) + T = mt (m 1) t j mt m t j. k=1 Dividiere durch m und T t j 1 m n k=1 t k folgt. Sei opt der optimale Makespan. Dann ist T t j 1 m n k=1 t k opt und t j opt. Also ist T = (T tj ) + t j 2 opt. 19. Dezember 2017 11 / 28

Wie gut war unsere Analyse? Ein worst-case Beispiel: Insgesamt (m 1) m + 1 Aufgaben liegen vor. Alle Aufgaben bis auf die letzte sind kurze Aufgaben der Länge 1. Die letzte Aufgabe ist lang und hat die Ausführungszeit m. Der optimale Makespan ist m: Ein Prozessor führt die lange Aufgabe aus. Die verbleibenden m 1 Prozessoren teilen die (m 1) m kurzen Aufgaben unter sich auf. Unsere On-line Heuristik führt zuerst alle kurzen Aufgaben in der Zeit m 1 aus. Die lange Aufgabe wird zuletzt ausgeführt und kostet m zusätzliche Schritte. Unsere Heuristik hat Schwierigkeiten, wenn lange Aufgaben zuletzt abgearbeitet werden. 19. Dezember 2017 12 / 28

Eine Off-line Heuristik (1) Aufgaben 1,..., n mit Rechenzeiten t 1 t 2 t n sind gegeben. (2) Die Aufgaben werden der Reihe nach abgearbeitet. Wenn Aufgabe i dran ist, dann weise Aufgabe i dem Prozessor mit der bisher geringsten Last zu. Die zentrale Beobachtung Sei opt der minimale Makespan für m Prozessoren. Dann ist 2 t m+1 opt. Es ist t 1 t m t m+1. Um die ersten m + 1 Aufgaben abzuarbeiten, muss ein Prozessor zwei Aufgaben ausführen. Seine Bearbeitungszeit ist mindestens 2 t m+1. 19. Dezember 2017 13 / 28

Der Approximationsfaktor der Off-line Heuristik Der Approximationsfaktor sinkt auf höchstens 3 2, wenn Aufgaben gemäß fallender Bearbeitungszeit präsentiert werden. Wir betrachten wieder den Prozessor i mit größter Last. Prozessor i möge die Aufgabe j als Letzte ausführen. Es ist t j t m+1, denn wir arbeiten die Aufgaben nach fallender Bearbeitungszeit ab. Also 2 t j 2 t m+1 opt Wir haben t j opt/2 gerade nachgewiesen und wissen, dass T t j 1 m n k=1 t k opt gilt. Also folgt T = (T t j ) + t j opt + opt/2 = 3 opt/2. (Der tatsächliche Approximationsfaktor ist 4/3.) 19. Dezember 2017 14 / 28

Das Rucksackproblem n Objekte mit Gewichten g 1,..., g n R und Werten w 1,..., w n N sind in einen Rucksack mit Kapazität höchstens G zu packen. Der Gesamtwert der Bepackung ist zu maximieren. (Web) Das Rucksackproblem ist NP-vollständig. Wir lösen ein anderes Problem, nämlich: Bestimme Gewicht i (w) = das minimale Gewicht einer Bepackung aus den ersten i Objekten mit Gesamtwert w. Wir lösen das Rucksackproblem, wenn wir nach dem größten Wert w mit Gewicht n (w) G suchen. Wir wenden dynamisches Programmieren an, um Gewicht n (w) für alle möglichen Werte w n i=1 w i zu bestimmen. 19. Dezember 2017 15 / 28

Bestimmung von Gewicht i (w) Wie kann das Gewicht minimiert werden, wenn Wert w zu erbringen ist? Wenn das ite Objekt in den Rucksack gepackt wird, dann erhöht sich das Gewicht um g i und der Restwert w w i ist von den ersten i 1 Objekten zu erbringen. Oder aber das ite Objekt wird nicht in den Rucksack gepackt und der Wert w ist mit Hilfe der ersten i 1 Objekte zu erbringen. Wir erhalten die Rekursionsgleichungen Gewicht i (w) := min {Gewicht i 1 (w w i ) + g i, Gewicht i 1 (w)}. Sei W = n i=1 w i. Wir bestimmen Gewicht i (w) für alle w W. Es gibt insgesamt n W Teilprobleme Gewichti (W ). Da jedes Teilproblem in Zeit O(1) gelöst wird, erhalten wir die Laufzeit O(n W ). 19. Dezember 2017 16 / 28

Das Rucksackproblem für große Werte Schnelle Algorithmen bei kleinen Werten Das Rucksackproblem für n Objekte und Wertesumme W = n i=1 w i kann in Zeit O(n W ) gelöst werden. Problematisch sind Objekte mit sehr großen Werten. Die Idee: Skaliere die Werte herunter. Löse das neue Rucksackproblem mit den jetzt kleinen Werten exakt. Wie gut ist die Approximation? 19. Dezember 2017 17 / 28

Der Approximationsalgorithmus (1) Der Approximationsfaktor 1 + ε sei vorgegeben. Entferne alle Objekte, deren Gewicht die Gewichtsschranke G übersteigt. (2) Die Werte werden nach unten skaliert, nämlich setze w i = w i s für den Skalierungsfaktor s = ε w max. n (3) Berechne eine exakte Lösung für die neuen Werte (w 1,..., w n ). (4) Bestimme für die nach neuen Werten ausgewählten Objekte den Gesamtwert w gemäß alter Werte und gib max{ w, w max } aus. // Wir erhalten den Wert w max, wenn wir nur das Objekt mit // maximalen Wert einpacken. Der größte neue Wert ist w max = wmax s = n ε. Die Wertesumme der neuen Werte ist also höchstens O( n2 ε ). Die Laufzeit ist also durch O( n3 ε ) beschränkt. 19. Dezember 2017 18 / 28

Wie gut ist die Approximation? Der Skalierungsalgorithmus ist (1 + ε)-approximativ mit Laufzeit O( 1 ɛ n3 ). Angenommen, die optimale Bepackung für die neuen Werte packt genau die Objekte in der Menge B {1,..., n} ein. Sei B opt die optimale Bepackung für die alten Werte. i B opt w i sn + i B opt s w i s sn + i B s w i s denn B ist die beste Bepackung für die neuen Werte. Also ist w i sn + w i. i B opt i B Es ist s n = ε wmax n n = ε w max. Wenn w max i B w i, dann w i ε w max + w i (1 + ε) w i. i B opt i B i B 19. Dezember 2017 19 / 28

Und wenn der maximale Wert sehr groß ist? Wir müssen nur noch den Fall w max > i B w i betrachten. Jetzt gibt der Skalierungsalgorithmus den Wert w max aus. Wie gut ist diese Bepackung im Vergleich zur optimalen Bepackung? w i ε w max + w i ε w max + w max = (1 + ε) w max. i B opt i B Wir haben also in Zeit O( 1 ɛ n3 ) einen (1 + ε)-approximativen Algorithmus erhalten. Wir müssen also nur moderat mit Laufzeit bezahlen, um eine gute Approximation zu erhalten. Man sagt deshalb auch, dass unser Approximationsalgorithmus ein volles Approximationsschema ist. 19. Dezember 2017 20 / 28

Rucksackproblem mit Skalierung demogr. Wenn die approximative Lösung nur 10 Prozent schlechter als das Optimum sein darf, dann braucht der gerade vorgestellte Algorithmus folgende Laufzeit: (1) Θ(n 2 ) (2) Θ(n 3 ) (3) Θ(n 3+1/10 ) (4) Θ(n 10 ) Auflösung: (2) Θ( 1 ɛ n3 ) mit ɛ = 0.1 19. Dezember 2017 21 / 28

Das (ungewichtete) Vertex Cover Problem Für einen ungerichteten Graphen G = (V, E) suchen wir eine kleinstmögliche Überdeckung, also eine Menge Ü von Knoten, so dass alle Kanten einen Endpunkt in Ü besitzen. Angenommen ein Matching M E, also eine Menge von knoten-disjunkten Kanten, ist gegeben. Dann muss jede Überdeckung Ü für jede Kante in M einen Endpunkt enthalten und Ü M folgt. Die Idee: Wir berechnen ein nicht vergrößerbares Matching M und definieren Ü als die Menge aller Endpunkte von Kanten aus M. Behauptung: Ü ist eine Überdeckung. Warum? Wenn die Kante e = {u, v} keinen Endpunkt in Ü besitzt, dann ist weder u noch v Endpunkt einer Kante aus M. Also ist M {e} ein größeres Matching. Wie berechnet man ein nicht vergrößerbares Matching? 19. Dezember 2017 22 / 28

Die Matching Heuristik (1) Die Eingabe besteht aus einem ungerichteten Graphen G = (V, E). Setze M :=. (2) while (E ) Wähle eine Kante e E und füge e zu M hinzu. Entferne alle Kanten aus E, die einen Endpunkt mit e gemeinsam haben. (3) Gib die Knotenmenge Ü = {v V v ist Endpunkt einer Kante in M } aus. // Wir wissen bereits, dass Ü eine Überdeckung ist. // Desweiteren muss jede Überdeckung mindestens M Ü /2 // Knoten besitzen. Die Matching Heuristik ist ein 2-Approximationsalgorithmus für VC. 19. Dezember 2017 23 / 28

Matching Heuristik demogr. Welche Laufzeit hat die Matching-Heuristik? (1) Θ(n + m) (2) Θ(n log n + m) (3) Θ((n + m) log n) (4) Θ((n + m) 2 ) Auflösung: (1), arbeite mit Adjazenzlisten. 19. Dezember 2017 24 / 28

Besitzt die Matching Heuristik vielleicht bessere Approximationsfaktoren als 2? Betrachte den vollständigen bipartiten Graphen mit n Knoten auf jeder Seite. Eine optimale Überdeckung wählt die n Knoten einer Seite aus. Jedes nicht vergrößerbare Matching besteht aus n Kanten, weil sonst mindestens ein Endpunkt auf jeder Seite frei bleibt. Damit wählt die Matching Heuristik alle 2n Knoten als Überdeckung. 19. Dezember 2017 25 / 28

Das gewichtete Vertex Cover Problem Jeder Knoten v des Graphen G = ({1,..., n}, E) erhält das Gewicht w v. Gesucht ist eine Überdeckung mit minimalem Gewicht. Wir benutzen die lineare Programmierung. Das gewichtete Vertex Cover Problem kann wie folgt formuliert werden: minimiere v V w v x v so dass x u + x v 1 für alle {u, v} E und x u 0 für alle u V. Wenn U {1,..., n} eine Überdeckung ist, dann ist der Inzidenzvektor x U von U eine Lösung. Aber es gibt unerwünschte fraktionale Lösungen. Jede Überdeckung für den vollständigen Graphen (mit Gewichten w v = 1) benötigt mindestens n 1 Knoten, aber das lineare Programm hat die fraktionale Lösung x = ( 1 2,..., 1 2 ) mit Zielwert n/2. 19. Dezember 2017 26 / 28

Das Runden fraktionaler Lösungen Unser Approximationsalgorithmus: (1) Bestimme eine optimale Lösung x des linearen Programms. (2) Runde die im Allgemeinen fraktionale Lösung x, nämlich setze Ü = {v V x v 1 2 }. Ü ist tatsächlich eine Überdeckung, denn für jede Kante {u, v} von G ist xu + xv 1. Also ist xu 1 2 oder x v 1 2. u Ü oder v Ü folgt. Wie gut ist die Approximation? Wenn opt = n v=1 w v xv, dann hat jede Überdeckung mindestens die Größe opt. Also folgt w v (2xv ) = 2 w v xv = 2 opt v Ü w v v V v V 19. Dezember 2017 27 / 28

Zusammenfassung Die Rundung fraktionaler Lösungen Nach Rundung erhalten wir eine 2-approximative Lösung für das gewichtete Vertex-Cover Problem. Wir haben verschiedene, für Optimierungsprobleme wichtige Entwurfsmethoden eingesetzt. In der Lastverteilung haben wir mit Greedy Algorithmen gearbeitet. Für das Rucksackproblem haben wir die dynamische Programmierung und für das gewichtete Vertex Cover Problem die lineare Programmierung eingesetzt. 19. Dezember 2017 28 / 28