Einführung in Approximationsalgorithmen

Größe: px
Ab Seite anzeigen:

Download "Einführung in Approximationsalgorithmen"

Transkript

1 Einführung in Approximationsalgorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 1. Juni 2007 Hilfreiche Literatur Vazirani: Approximation Algorithms, Springer Verlag, Wanka: Approximationsalgorithmen Eine Einführung, Teubner Verlag, Hochbaum: Approximation Algorithms for NP-Hard Problems, Thomson Publishing, Ausiello, Crescenzi, Gambosi, Kann, Marchetti-Spaccamela, Protasi: Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties, Springer Verlag, Garey, Johnson: Computers and Intractability, Freeman and Company,

2 Inhaltsverzeichnis 1 Einleitung Konstante Approximationsfaktoren Eine 2-Approximation für das Vertex-Cover-Problem Approximationsfaktor als Funktion Eine logarithmische Approximation für das Set-Cover-Problem Optimierungsprobleme auf Graphen und Metriken Approximierbarkeit von TSP Christofides Algorithmus für Metrisches TSP Approximation des Steinerbaumproblems Makespan-Scheduling auf identischen Maschinen Analyse von zwei einfachen Heuristiken Ein polynomielles Approximationsschema Makespan-Scheduling auf allgemeinen Maschinen 20 2

3 1 Einleitung 1.1 Konstante Approximationsfaktoren Ein Approximationsalgorithmus für ein Optimierungsproblem berechnet eine zulässige Lösung, die den optimalen Zielfunktionswert nur annähernd erreicht. Die Güte der Lösung wird typischerweise durch einen Approximationsfaktor beschrieben. Sei A ein Approximationsalgorithmus für ein Optimierungsproblem Π. Sei I die Menge der möglichen Eingabeinstanzen für Π. Für I I bezeichne w A (I) den Wert der von A für die Instanz I berechneten Lösung, und opt(i) den optimalen Lösungswert. Der Approximationsfaktor von Algorithmus A auf einer Eingabeinstanz I I ist definiert durch r A (I) = w A(I) opt(i). Ein Algorithmus für ein Minimierungsproblem garantiert einen (konstanten) Approximationsfaktor α 1, falls gilt I I : r A (I) α. Ein Algorithmus für ein Maximierungsproblem garantiert einen (konstanten) Approximationsfaktor α 1, falls gilt I I : r A (I) α. 1.2 Eine 2-Approximation für das Vertex-Cover-Problem Sei G = (V, E) ein Graph. Eine Teilmenge der Knoten U V wird als Vertex-Cover (Knotenüberdeckung) bezeichnet, falls jede Kante aus E inzident zu einem Knoten aus U ist. Problem 1.1 (Vertex Cover) Gegeben sei ein Graph G = (V, E). Gesucht ist ein Vertex-Cover kleinster Kardinalität. Das Vertex-Cover-Problem ist NP-hart und kann somit nicht in polynomieller Zeit optimal gelöst werden; es sei denn P=NP. Der folgende Algorithmus berechnet jedoch in Zeit O( E ) eine 2-Approximation. 3

4 Algorithmus Approx-Vertex-Cover Berechne ein inklusions-maximales Matching M E. Gib V (M), die Menge aller Endpunkte der Kanten in M, aus. Frage am Rande: Wie berechnet man ein inklusions-maximales Matching? Satz 1.2 Algorithmus Approx-Vertex-Cover berechnet eine 2-Approximation des optimalen Vertex Covers. Beweis: Korrektheit: Zu zeigen ist, V (M) deckt alle Kanten ab. Widerspruchsbeweis: Sei e eine nicht abgedeckte Kante. Dann ist e E \ M und M {e} ein Matching. Also ist M nicht inklusions-maximal. Ein Widerspruch! Approximationsfaktor: Sei opt die Kardinalität eines Vertex-Covers kleinster Kardinalität. Es gilt opt M, weil jedes Vertex-Cover mindestens einen Endpunkt jeder Kante in M abdecken muß. Somit gilt V (M) = 2 M 2 opt. 1.3 Approximationsfaktor als Funktion Im Allgemeinen wird der Approximationsfaktor als Funktion R : N R in einem geeigneten Parameter n N beschrieben. Beispielsweise könnte n die Anzahl der Knoten eines Eingabegraphen bezeichnen. Für n N bezeichne I n die Menge der Eingaben mit Parameter n. Ein Algorithmus für ein Minimierungsproblem garantiert einen Approximationsfaktor R(n), z.b. R(n) = 2 oder R(n) = ln n, falls gilt n N : I I n : r α (I) R(n). Ein Algorithmus für ein Maximierungsproblem garantiert einen Approximationsfaktor R(n), z.b. R(n) = 1 1 oder R(n) =, falls gilt 2 ln n n N : I I n : r α (I) R(n). 4

5 1.4 Eine logarithmische Approximation für das Set-Cover-Problem Problem 1.3 (Set Cover) Gegeben sei eine Grundmenge X mit n Elementen, m Teilmengen S 1,...,S m der Grundmenge X mit i {1,...,m} S i = X, und für jede Teilmenge i {1,..., m} ein Kostenwert c i N. Gesucht ist eine Auswahl der Teilmengen A {1,...,m} mit minimalen Kosten cost(a) = i A c i unter der Nebenbedingung i A S i = X. In Worten: Alle Elemente der Grundmenge sollen zu möglichst geringen Kosten abgedeckt werden. Anwendungsbeispiel. Sei X eine Menge von Fähigkeiten. Es gebe m Personen, von denen jede über einige der Fähigkeiten in X verfügt. Person i verfüge über die Fähigkeiten S i X und verlange die Bezahlung c i. Wir möchten ein möglichst günstiges Arbeitsteam A {1,...,m} zusammenstellen, so dass alle Fähigkeiten aus X abgedeckt sind. Auch das Set-Cover-Problem ist NP-hart, da es eine Verallgemeinerung des Vertex- Cover-Problems ist. Warum? Ein Graph, in dem Kanten nicht nur aus zwei Knoten bestehen, sondern aus Teilmengen von beliebig vielen Knoten, heißt Hypergraph. Diese Teilmengen der Knoten heißen Hyperkanten. Beim Vertex-Cover-Problem für einen Hypergraphen H = (V, E) muss eine Knotenmenge U V minimaler Kardinalität gewählt werden, so dass jede der Hyperkanten zu mindestens einem Knoten in U inzident ist. Beim gewichteten Vertex-Cover-Problem haben die Knoten Gewichte und die Summe der Gewichte in U soll minimiert werden. Das gewichtete Vertex-Cover-Problem für Hypergraphen ist auch unter dem Namen Hitting-Set-Problem bekannt. Das Set-Cover-Problem entspricht dem Hitting-Set-Problem, wenn man die Mengen S 1,...,S m mit den Knoten des Hypergraphen indentifiziert und die Grundmenge X mit den Kanten, wobei ein Knoten S i genau dann in einer Kante x X enthalten ist, wenn x S i gilt. 5

6 Algorithmus Greedy-Set-Cover Startend mit A =, solange A nicht alle Elemente aus X abdeckt, füge jeweils denjenigen Mengenindex i {1,..., m} zu A hinzu, der die niedrigsten relativen Kosten r(i A) hat, wobei r(i A) = c i S i \ j A S j. Wie gut ist diese Heuristik? Zum Zwecke der Analyse verteilen wir die Kosten des Algorithmus auf die Elemente der Grundmenge: Die Kosten, die ein zu A hinzugefügter Index i verursacht, werden gleichmäßig auf diejenigen Elemente aus S i verteilt, die bisher noch nicht abgedeckt waren. Jedes dieser Elemente erhält somit einen Kostenanteil in Höhe von c i S i \ j A S j = r(i A). Sei nun x k X das k-te Element, das durch den Algorithmus abgedeckt wird, wobei wir in derselben Iteration abgedeckte Elemente beliebig anordnen. Bezeichne c(x k ) die dem Element x k zugeteilten Kosten. Lemma 1.4 Für k {1,...,n} gilt c(x k ) opt/(n k + 1), wobei opt die Kosten eines optimalen Set-Covers bezeichnet. Beweis: Bezeichne i {1,..., m} den Index derjenigen Menge durch deren Hinzunahme Algorithmus Greedy-Set-Cover das Element x k erstmalig abdeckt. Betrachte den Zeitpunkt vor der Hinzunahme von i zu A. Wir leiten eine untere Schranke für opt her: Jeder Mengenindex j {1,...,m} \ A hat relative Kosten von mindestens r(i A), da i der Index mit den geringsten relativen Kosten ist. Um die n k + 1 nicht durch A abgedeckten Elemente abzudecken, benötigt jeder Algorithmus somit mindestens Kosten (n k + 1) r(i A). Es folgt opt (n k + 1) r(i A) = (n k + 1) c(x k ). Aus dieser unteren Schranke für opt folgt das Lemma nun unmittelbar. Die k-te Harmonische Zahl ist definiert durch H k = k i=1 ln(n + 1) H n ln n Es gilt i

7 ε 1/n 1/(n 1) 1/(n 2) 1/3 1/2 1 Abbildung 1: Beispiel einer Set-Cover-Instanz. Wie lautet die optimale Lösung für dieses Set-Cover-Instanz? Was sind die Kosten des Greedy-Algorithmus? Satz 1.5 Algorithmus Greedy-Set-Cover hat einen Approximationsfaktor von höchstens H n. Beweis: Die Summe der Kosten über alle Elemente ergibt die Gesamtkosten des Algorithmus. Lemma 1.4 zeigt, diese Kosten sind höchstens n opt n n i + 1 = opt = opt H n. i i=1 i=1 Es gibt eine Set-Cover-Instanz, für die die Greedy-Heuristik den Faktor (1 ǫ)h(n) für beliebig kleines ǫ > 0 erreicht, siehe Abbildung 1. Also war unsere Analyse exakt. Dieselbe untere Schranke lässt sich sogar für den Spezialfall nachweisen, in dem alle Mengen dieselben Kosten haben. Feige hat 1995 gezeigt, dass es keinen Polynomialzeit-Algorithmus mit Approximationsfaktor (1 ǫ)h(n) gibt, es sei denn NP = TIME(n O(log log n) ). Auch dieses Ergebnis gilt sogar dann, wenn alle Mengen dieselben Kosten haben. Unter den üblichen komplexitätstheoretischen Annahmen bedeutet dies, dass der einfache Greedy- Algorithmus den bestmöglichen Approximationsfaktor für Set-Cover liefert. Ein wirklich erstaunliches Ergebnis. 2 Optimierungsprobleme auf Graphen und Metriken 2.1 Approximierbarkeit von TSP Es stellt sich die Frage, ob jedes NP-harte Problem in polynomieller Zeit bis auf einen relativ kleinen Faktor approximiert werden kann? Die Antwort ist Nein. Beispielsweise kann das folgende Problem nicht sinnvoll approximiert werden. 7

8 Problem 2.1 (Traveling Salesperson Problem - TSP) Gegeben sei ein vollständiger Graph G = (V, E) mit Kantenlängen aus N. Gesucht ist ein Hamilton-Kreis (auch TSP-Tour genannt) minimaler Länge. Satz 2.2 Sei α(n) eine beliebige polynomialzeit-berechenbare Funktion. Unter der Annahme P NP gilt, TSP hat keinen Polynomialzeit-Algorithmus mit Approximationsfaktor α(n), wobei n die Anzahl der Knoten im Graphen ist. Der Beweis dieses Satzes wird in der Vorlesung Berechenbarkeit und Komplexität präsentiert. Die Beweisidee ist einfach: Mit Hilfe eines polynomiellen α(n)-approximationsalgorithmus kann man das NP-harte Hamiltonkreisproblem in polynomieller Zeit lösen. Daraus würde P=NP folgen. Beachte, der Satz schließt selbst eine 2 n -Approximation aus, da die Funktion 2 n in polynomieller Zeit berechnet werden kann. (Wie?) 2.2 Christofides Algorithmus für Metrisches TSP Die Nichtapproximierbarkeit von TSP basiert darauf, dass die TSP-Tour jeden Knoten nur einmal besuchen darf. Das ist keine besonders praktische Annahme, insbesondere dann nicht, wenn die direkte Verbindung von einem Knoten u zu einem Knoten v länger ist als der Weg von u zu v über einen oder mehrere Zwischenknoten. Zu jedem Graphen mit nicht-negativen Kantenlängen können wir eine Distanzmatrix angeben, die jeweils die Länge der kürzesten Verbindungen zwischen den Knoten beschreibt. Eine solche Distanzmatrix ist eine Metrik. Definition 2.3 (Metrik) Eine Metrik entspricht einem vollständigen ungerichteten Graphen mit nicht-negativen Kantenlängen, die die Dreiecksungleichung erfüllen, d.h. für jeweils drei Knoten u, v, w ist die Länge der Kante {u, v} nicht länger als die Summe der Längen der Kanten {u, w} und {w, v}. Problem 2.4 (metrisches TSP) Gegeben sei eine Metrik G = (V, E) mit n Knoten und Kantenlängen aus N. Gesucht ist eine TSP-Tour minimaler Länge. Das metrische TSP ist ebenfalls NP-hart, aber es gibt effiziente Algorithmen mit einem konstanten Approximationsfaktor für dieses Problem. Als Warm-Up starten wir mit einer 2-Approximation. 8

9 Algorithmus Metric-TSP-via-MST 1 Finde einen MST T von G. 2 Verdopple die Kanten von T und erhalte einen Euler-Graphen T. 3 Berechne eine Euler-Tour auf T. 4 Bereinige die Euler-Tour um wiederholt vorkommende Knoten. MST steht für Minimum Spanning Tree (minimaler Spannbaum). Ein MST kann in polynomiell beschränkter Zeit mit einem Greedy-Algorithmus berechnet werden. (Wie?) Ein Euler-Graph ist ein Graph, in dem jeder Knoten einen geraden Grad hat. Eine Euler-Tour durch einen Graphen ist ein Kreis, der jede Kante genau einmal enthält. Eine Euler-Tour existiert genau dann, wenn der Graph ein Euler-Graph ist. Auch eine Euler-Tour kann in polynomiell beschränkter Zeit berechnet werden. (Wie?) Man kann die Euler-Tour um wiederholt vorkommende Knoten bereinigen, indem man an einem beliebigen Knoten startet, der Euler-Tour folgt und die Knoten in der Reihenfolge ihres ersten Auftretens ausgibt. Satz 2.5 Algorithmus Metric-TSP-via-MST berechnet eine 2-Approximation für das metrische TSP. Beweis: Aus einer TSP-Tour können wir einen Spannbaum erzeugen, indem wir eine Kante löschen. Also ist ein minimaler Spannbaum nicht teurer als die Länge einer minimalen TSP-Tour. Die Länge der berechneten Euler-Tour entspricht den doppelten Kosten des minimalen Spannbaums, ist also höchstens zweimal so lang wie die minimale TSP- Tour. Das Überspringen von mehrfach besuchten Knoten in Schritt 3 macht wegen der Dreiecksungleichung die Tour nicht teurer. Der folgende Algorithmus ist ein echter Klassiker unter den Approximationsalgorithmen und wurde von Christofides im Jahr 1976 vorgestellt. 9

10 Der Algorithmus von Cristofides 1 Berechne einen MST T von G. 2 V := {v V v hat ungeraden Grad in T }. 3 Finde ein min-cost Matching M auf V. 4 Finde eine Euler-Tour auf den Kanten aus T und M. 5 Bereinige die Euler-Tour um wiederholt vorkommende Knoten. Ein min-cost Matching auf V ist eine Kantenmenge M E, die jeden Knoten aus V genau einmal abdeckt und dabei die kleinstmöglichen Kosten hat, d.h. die Summe der Kantenlängen in M ist so klein wie möglich. Als Matchingkanten sind nicht nur die Baumkanten von T, sondern alle Kanten aus E zwischen den Knoten in V erlaubt. Beachte, jedes Knotenpaar in V ist durch eine Kante aus E miteinander verbunden, weil G eine Metrik und somit ein vollständiger Graph ist. Die Laufzeit des Algorithmus wird durch die Berechnung dieses Matchings dominiert. Das Matching kann in Zeit O(n 3 ) berechnet werden. Die Existenz eines perfekten Matchings ist gesichert, weil die Knoten in V vollständig miteinander verbunden sind und V eine gerade Anzahl von Knoten enthält. Letztere Eigenschaft folgt aus dem folgenden Lemma. Lemma 2.6 Gegeben sei ein beliebiger Graph H = (V, E). Sei V V die Teilmenge der Knoten, die einen ungeraden Grad haben. Dann ist V eine gerade Zahl. Beweis: Zum Zwecke des Widerspruchs nehmen wir an, dass V ungerade ist. Jede Kante in E ist inzident zu zwei Knoten, hat also zwei Endpunkte. Bezeichne q die Anzahl dieser Kantenendpunkte. Einerseits ist q = 2 E, und somit ist q eine gerade Zahl. Andererseits entspricht q der Summe der Knotengrade aller Knoten in V. Da wir annehmen, dass V ungerade ist, ist auch die Summe der Knotengrade in V ungerade. Somit ist auch die Summe der Knotengrade aller Knoten, also q, eine ungerade Zahl. Ein Widerspruch. Es folgt, V ist eine gerade Zahl. Für eine Menge von Kanten X E (z.b. beschrieben in Form eines Matchings oder einer TSP-Tour) bezeichne cost(x) die Kosten von X, also die Summe der Kantenlängen in X. Bezeichne opt die minimalen Kosten einer TSP-Tour. 10

11 Lemma 2.7 Es gilt cost(m) 1 2 opt. Beweis: Sei τ eine optimale TSP-Tour, also cost(τ) = opt. Aus τ erhalten wir einen Kreis τ, der die Knoten in V verbindet, wenn wir alle nicht in V enthaltenen Knoten streichen. Wegen der Dreiecksungleichung gilt cost(τ ) cost(τ). τ ist die Summe von zwei perfekten Matchings, die jeweils aus jeder zweiten Kante auf dem Kreis τ gebildet werden. Das günstigere der beiden Matchings hat höchstens die Kosten 1 2 cost(τ ) 1 2 cost(τ) = 1 2 opt. Also hat das günstigste perfekte Matching auf V höchstens die Kosten 1 2 opt. Satz 2.8 Der Algorithmus von Christofides berechnet eine 3 -Approximation für das 2 metrische TSP. Beweis: Die in Schritt 4 berechnete Euler-Tour hat die Kosten cost(t) + cost(m) opt opt = 3 2 opt. In Schritt 5 erhöhen sich die Kosten aufgrund der Dreiecksungleichung nicht. 2.3 Approximation des Steinerbaumproblems Problem 2.9 (Steinerbaum) Gegeben sei ein Graph G = (V, E) mit Kantenlängen bzw. Kosten c : E N und eine Knotenmenge T V. Die Knoten in T heißen Terminals. Gesucht ist ein Steinernetzwerk, das alle Terminals mit möglichst geringen Kosten verbindet, d.h. ein Teilgraph G = (V, E ) von G mit T V, der die Summe der Kosten e E c(e) minimiert. Das kostenminimale Steinernetzwerk ist natürlich ein Baum. Man spricht deshalb vom Steinerbaum- statt vom Steinernetzwerkproblem. Im Spezialfall T = V entspricht das Steinerbaumproblem dem Problem des Minimalen Spannbaums (MST) und ist somit in polynomieller Zeit lösbar. Im Allgemeinen ist das Steinerbaumproblem allerdings NP-hart. 11

12 Algorithmus Approx-Steiner 1 Berechne die Distanzmatrix M für alle Paare von Terminals bzgl. G. 2 Berechne einen MST für die durch M definierte Metrik G M mit Knotenmenge T. 3 Für jede Kante {u, v} in diesem MST bestimme einen kürzesten Weg von u nach v in G. 4 Gib den Graphen G mit allen Kanten und Knoten auf diesen Wegen aus. Der Algorithmus Approx-Steiner berechnet einen Teilgraphen G = (V, E ) von G, der alle Terminals miteinander verbindet. Wir behaupten, die Kosten von G sind höchstens zweimal so groß wie die des optimalen Steinerbaums. G kann allerdings Kreise enthalten. Wenn man wirklich einen Steinerbaum möchte, kann man auf G natürlich nochmals einen MST-Algorithmus anwenden, und man erhält einen Steinerbaum, dessen Kosten nicht größer als die Kosten von G sind. Satz 2.10 Algorithmus Approx-Steiner berechnet eine 2-Approximation für das Steinerbaumproblem. Beweis: Die minimalen Kosten eines Steinerbaums bezeichnen wir mit opt. Die Kosten des Graphen G entsprechen den Kosten des MST für G M, die wir mit cost(mst) bezeichnen. Wir müssen somit zeigen, dass cost(mst) 2 opt gilt. Eine T -Tour sei eine Rundreise in G, die alle Knoten aus T besucht. Sei nun τ eine kürzeste T -Tour und bezeichne cost(τ) die Länge dieser Tour. Wir können eine T - Tour erzeugen, indem wir einen minimalem Steinerbaum umrunden, wobei wir jede Kante aus diesem Baum zweimal entlanglaufen. Somit gilt cost(τ) 2 opt. Eine kürzeste T -Tour in G benutzt nur kürzeste Wege zwischen den Terminals und entspricht somit einer (kürzesten) TSP-Tour in G M. Es folgt cost(mst) cost(τ), da wir durch Streichen einer Kante aus einer TSP-Tour einen Spannbaum erzeugen können. Zusammenfügen dieser beiden Abschätzungen vervollständigt den Beweis. 3 Makespan-Scheduling auf identischen Maschinen Wir untersuchen ein fundamentales Problem aus der Schedulingtheorie. 12

13 Problem 3.1 (Makespan Scheduling auf identischen Maschinen) Gegeben sei eine Menge von Jobs [n] = {1,..., n} mit Größen p 1,..., p n N und eine natürliche Zahl m. Gesucht ist eine Zuteilung f : [n] [m] der n Jobs auf m identische Maschinen, so dass der Makespan, also max minimiert wird. p i j [m] i [n]:f(i)=j Diese Zuteilung wird als Schedule (Ablaufplan) bezeichnet. Zu einem Schedule gehört normalerweise auch eine Beschreibung, in welcher Reihenfolge die Jobs auf den einzelnen Maschinen abgearbeitet werden. Diese Reihenfolge spielt jedoch bei der Minimierung des Makespans offensichtlich keine Rolle, deshalb gehen wir nicht weiter auf sie ein. 3.1 Analyse von zwei einfachen Heuristiken Algorithmus Least-Loaded (LL) Für i = 1 bis n: Weise Job i derjenigen Maschine zu, die bisher die geringste Last hat. Wie gut ist diese Heuristik? Ein Beispiel: Sei n = m(m 1) + 1. Jobs 1 bis m(m 1) haben Größe 1. Job m(m 1) + 1 habe Größe m. Die LL-Heuristik erreicht den Makespan 2m 1. Der optimale Makespan ist m. Damit ist der Approximationsfaktor bestenfalls (2m 1)/m = 2 1/m. Der folgende Satz zeigt, dass dieses Beispiel tatsächlich den schlimmsten Fall beschreibt. Satz 3.2 LL garantiert eine (2 1/m)-Approximation. 13

14 Beweis: Es gelten die folgenden zwei trivialen unteren Schranken für einen optimalen Schedule: (1) opt 1 m i [n] p i (2) opt max(p i ). i [n] Wir gehen davon aus, jede Maschine arbeitet ihre Jobs nacheinander in der Reihenfolge ihrer Zuweisung ab. Sei i der Index desjenigen Jobs, der als letztes fertig wird. Sei j = f(i ), d.h. Maschine j wird als letztes fertig und bestimmt damit den Makespan. Zum Zeitpunkt als Job i Maschine j zugewiesen wurde, hatte diese Maschine die geringste Last. Die Last von Maschine j zu diesem Zeitpunkt war also höchstens 1 m i<i p i. Damit ist die Last von Maschine j höchstens ( ) ( ) 1 1 ( p i + p i = p i ) p i m m m i<i i i ( (1) & (2) opt ) opt. m Algorithmus Longest-Processing-Time (LPT) 1. Sortiere die Jobs, so dass p 1 p 2 p n. 2. Für i = 1 bis n: Weise Job i derjenigen Maschine zu, die bisher die geringste Last hat. Graham hat 1969 gezeigt, dass LPT einen Approximationsfaktor von höchstens 4 3 hat. Auch diese Schranke ist scharf. Satz 3.3 LPT garantiert eine 4 3 -Approximation. Beweis: Zum Zwecke des Widerspruchs nehmen wir an, es gibt eine Eingabeinstanz, für die LPT einen Makespan von τ > 4 3 opt auf m Maschinen erzeugt. Sei p 1, p 2,..., p n eine Eingabeinstanz minimaler Länge mit τ > 4 3 opt. Es gelte p 1 p 2 p n. Sei i der Index desjenigen Jobs, der als letztes fertig wird. Es gilt i = n, sonst wäre ja p 1,..., p i, i < n, eine kürzere Eingabesequenz mit τ > 4 opt, aber wir haben 3 angenommen p 1, p 2,...,p n ist die kürzeste Eingabe mit dieser Eigenschaft. Job n wird auf der am wenigsten belasteten Maschine platziert. Zum Zeitpunkt der Zuweisung von 14

15 n m m 1 m Abbildung 2: Optimaler Schedule, falls jeder Maschine nur zwei Jobs zugeordnet werden. Job n hat diese Maschine höchstens Last 1 n 1 m i=1 p i opt. Damit τ > 4 opt gilt, muss 3 also gelten p n > 1 opt. Aus p 3 n > 1 opt und p 3 1 p 2 p n folgt nun, dass jeder Job größer als 1 opt ist. 3 Falls jeder Job größer als 1 opt, so kann ein optimaler Schedule nicht mehr als zwei 3 Jobs an eine Maschine zuweisen. Insbesondere gilt n 2m. Wenn jedoch nicht mehr als zwei Jobs pro Maschine zugewiesen werden dürfen, so ist es optimal Job i für i m auf Maschine i zu platzieren, und Job i für i > m auf Maschine m i + 1 zu platzieren, wie in Abbildung 2 dargestellt. Dies Aussage gilt offensichtlich für n m und folgt für jedes n {m + 1,...,2m} per Induktion von n 1 nach n. Dieser optimale Schedule entspricht nun aber genau dem LPT-Schedule. Dies ist jedoch ein Widerspruch zu unserer Annahme, dass LPT für die betrachtete Instanz einen Makespan von mehr als 4 opt erzielt. Somit folgt der Satz. 3 Wir haben jetzt einen Algorithmus mit Approximationsfaktor 2 und einen mit Approximationsfaktor 4 für das Makespan-Scheduling-Problem gesehen. Es gibt tatsächlich 3 noch einige ausgefuchstere Heuristiken, die auf der einen Seite etwas bessere Approximationsfaktoren garantieren, aber auf der anderen Seite auch eine längere, obgleich ebenfalls polynomiell beschränkte Laufzeit benötigen. Dies führt zu der Frage: Wie gut kann man das Makespan-Scheduling-Problem in polynomieller Zeit approximieren? Gibt es eine untere Schranke für den bestmöglichen Approximationsfaktor, den man in polynomieller Zeit erreichen kann? Die Antwort ist Nein. Wir werden zeigen, dass es keine derartige untere Schranke geben kann, da das Problem beliebig gut in polynomieller Zeit approximiert werden kann. 15

16 3.2 Ein polynomielles Approximationsschema Wir sagen ein Optimierungsproblem Π hat ein polynomielles Approximationsschema, ein sogenanntes PTAS (Polynomial Time Approximation Scheme), falls für jede Konstante ǫ > 0 eine (1 + ǫ)- bzw. (1 ǫ)-approximation in polynomieller Zeit berechnet werden kann. Es gibt noch eine bessere, strengere Form eines Approximationsschemas: Π hat ein voll polynomielles Approximationsschema, ein sogenanntes FPTAS (Fully Polynomial Time Approximation Scheme), falls die Laufzeit für eine (1 ± ǫ)-approximation nicht nur polynomiell in der Eingabelänge beschränkt ist, sondern auch polynomiell in 1 ǫ. Das Problem des Makespan-Scheduling ist stark NP-hart, d.h. es ist selbst dann NPhart, wenn man die Eingabezahlen unär kodiert. Daraus folgt (vgl. Vorlesung Berechenbarkeit und Komplexität), dass das Problem kein FPTAS haben kann; es sei denn P=NP. Wir zeigen, dass das Problem jedoch ein PTAS hat. Bei der Beschreibung des PTAS setzen wir zunächst voraus, dass wir ein Orakel haben, das uns den optimalen Makespan verrät, so dass wir nur eine Zuordnung der Jobs finden müssen, die diesen Makespan bis auf einen Faktor 1 + ǫ erreicht. Um eine geeignete Realisierung des Orakels kümmern wir uns anschließend. PTAS für Makespan-Scheduling 1. Ein Orakel verrät uns den Wert des optimalen Makespans, den wir Z nennen. 2. Wir weisen zunächst die großen Jobs zu, d.h. die Jobs {i [n] p i > ǫz}. a) Wir skalieren und runden die Größen dieser Jobs d.h. wir setzen p pi i =. ǫ 2 Z b) Wir berechnen einen Schedule bzgl. der Jobgrößen p i mit Makespan höchstens Z = (1 + ǫ) 1ǫ Jetzt weisen wir die kleinen Jobs zu, d.h. die Jobs {i [n] p i ǫz}. Wir verteilen diese Jobs mittels der LL-Heuristik auf das durch die großen Jobs entstandene Lastgebirge. Das Skalieren und Runden der Jobgrößen in Schritt 2a) läßt sich am Besten durch ein Beispiel illustrieren. Sei Z = 1000 und ǫ = 10%. Die großen Jobs haben dann Größe 16

17 mehr als ǫz = 100. Wir gehen schrittweise vor, skalieren zunächst ohne zu runden, d.h. wir setzen p i = p i ǫ 2 Z = p i 10. Nach dem Runden setzen wir dann p i = p i. Aus p i = 101 ergibt sich also beispielsweise p i = 10.1 und p i = 11. Der relative Rundungsfehler in diesem Beispiel ist somit p i p i p i Dies gilt auch im Allgemeinen. = % = ǫ. Lemma 3.4 Der relative Rundungsfehler (p i p i)/p i ist höchstens ǫ. Beweis: Es folgt Für jeden großen Job i [n] gilt p i > ǫz und somit p i ǫz/(ǫ 2 Z) = 1/ǫ. p i p i p i 1 1/ǫ = ǫ. Das Aufrunden der skalierten Größen der großen Jobs verzerrt diese Größen also höchstens um den Faktor 1 + ǫ. Bezüglich der eigentlichen Jobgrößen p i gibt es einen Schedule mit Makespan höchstens Z. Für die skalierten (ungerundeten) Jobgrößen p i gibt es also einen Schedule mit Makespan Z ǫ 2 Z = 1 ǫ 2. Durch die Rundung erhöht sich dieser Wert maximal um den Faktor 1 + ǫ. Also gibt es für die großen Jobs bezüglich der skalierten und gerundeten Jobgrößen p i einen Schedule mit Makespan höchstens (1 + ǫ) 1 ǫ 2. Wegen des Aufrundens der Jobgrößen ist der Makespan ganzzahlig. Also kann er tatsächlich höchstens den Wert (1 + ǫ) 1ǫ 2 = Z annehmen. Somit existiert der in Schritt 2b) beschriebene Schedule. Wie aber können wir diesen Schedule effizient berechnen? Bevor wir diese Frage klären, analysieren wir zunächst den Approximationsfaktor. Lemma 3.5 Der skizzierte Algorithmus berechnet eine (1 + ǫ)-approximation für den minimalen Makespan. 17

18 Beweis: Zunächst nehmen wir an, es gibt nur große Jobs. Für diese Jobs berechnet der Algorithmus einen Schedule mit Makespan Z bezüglich der skalierten und gerundeten Jobgrößen. Bezüglich der eigentlichen Jobgrößen kann der Makespan höchstens um den Skalierungsfaktor ǫ 2 Z größer sein. Damit ist der Makespan für die großen Jobs höchstens Z (ǫ 2 Z) = (1 + ǫ) 1ǫ (ǫ 2 Z) (1 + ǫ)z. 2 Dies ist eine (1 + ǫ)-approximation des optimalen Schedules. Nun untersuchen wir den Einfluss der kleinen Jobs auf den Makespan. Falls die Zuteilung der kleinen Jobs den Makespan nicht erhöhen sollte, so ist der Schedule eine (1 + ǫ)-approximation aufgrund obiger Überlegungen für die großen Jobs. Nehmen wir also nun an, dass die Zuteilung der kleinen Jobs den Makespan erhöht. Sei L der Makespan nach der Platzierung der kleinen Jobs und sei i derjenige kleine Job, dessen Platzierung den Makespan auf L erhöht hat. Dann haben aufgrund der LL-Heuristik alle Maschinen nach der Platzierung der kleinen Jobs mindestens Last L p i. Für den optimalen Makespan gilt somit Z L p i. Folglich gilt L Z + p i (1 + ǫ)z. Jetzt erläutern wir, wie wir die großen Jobs in Schritt 2b) platzieren. Zur Vereinfachung der Notation nehmen wir an, dass wir n große Jobs haben. In Schritt 2b) müssen wir die folgende Variante des sogenannten Bin-Packing-Problems lösen. Problem 3.6 (Bin Packing mit eingeschränkten Gewichten) Gegeben sei eine Menge von Objekten [n] = {1,..., n} mit Gewichten w 1,..., w n [k] = {1,..., k}, k 1, sowie zwei natürliche Zahlen m 1 und b k. Gesucht ist eine Verteilung der Objekte auf m Kisten (Bins), die jeweils ein Gewicht von höchstens b tragen können. Die Objekte des Bin-Packing-Problems repräsentieren dabei die großen Jobs des Schedulingproblems. Die Gewichte entsprechen den Jobgrößen p 1,...,p n, und die Gewichtsschranke b entspricht der oberen Schranke für den Makespan Z. Eine geeignete Abschätzung für k werden wir später bestimmen. Die Lösung für das Bin-Packing-Problem spezifiziert eine Einteilung in m Teilmengen mit Gewicht höchstens b, aus der sich dann ein Schedule für die großen Jobs bezüglich der Jobgrößen p 1,...,p n mit Makespan höchstens Z ergibt. Lemma 3.7 Das Bin-Packing-Problem mit eingeschränkten Gewichten kann in Zeit O((n + 1) k (b + 1) k /k!) gelöst werden. Beweis: Sei f(n 1, n 2,...,n k ) die minimale Anzahl von Kisten mit Gewichtsschranke b, in die wir eine Menge von Objekten bestehend aus n i vielen Objekten mit Ge- 18

19 wicht i [k] packen können. Wir zeigen, wie man die Funktion f durch dynamische Programmierung in einer Tabelle berechnen kann. Diese Tabelle wird dann so ergänzt, dass man nicht nur den Wert der Funktion f, sondern auch die zugehörige Bepackung ablesen kann. Die Funktion f erfüllt die folgende Rekursionsgleichung. f(n 1, n 2,...,n k ) = 1 + min q Q f(n 1 q 1, n 2 q 2,...,n k q k ), wobei Q = {(q 1,...,q k ) f(q 1, q 2,...,q k ) = 1}, d.h. Q beschreibt alle Gewichtskombinationen, die in eine Kiste passen. Wir berechnen die Lösung dieser Gleichung für alle k-tupel aus {0,..., n} k in einer k-dimensionalen Tabelle der Größe (n + 1) k. Falls f(n 1, n 2,...,n k ) den Wert mindestens m hat, so existiert eine zulässige Platzierung der Objekte in die m Kisten, und diese Platzierung kann aus der Tabelle extrahiert werden, indem man für jeden Tabelleneintrag a einen Zeiger auf denjenigen Eintrag b angibt, aus dem a durch Hinzufügen eines weiteren Objektes hervorgegangen ist. Laufzeitanalyse: Es müssen (n + 1) k Tabelleneinträge berechnet werden. Die Berechnung eines Tabelleneintrages kostet Zeit O( Q ). Beachte, (q 1,...,q k ) Q impliziert q i {0,..., b/i } für jedes i [k], da nicht mehr als b/i Objekte der Größe i in dieselbe Kiste passen. Es folgt Q (b + 1) k /k!. Damit ist die Laufzeit O((n + 1) k (b + 1) k /k!). Was sind die Werte von b und k bezogen auf unser Schedulingproblem? Die maximale Größe eines Jobs vor der Skalierung ist durch Z beschränkt, weil es ja einen Schedule mit Makespan Z gibt. Nach der Skalierung und Rundung ist die maximale Größe also höchstens Z/(ǫ 2 Z) = 1. Also können wir ǫ 2 1 k = = O(1) und b = Z = ǫ 2 (1 + ǫ) 1ǫ 2 = O(1) setzen. Damit ist die Laufzeit von Schritt 2 beschränkt durch O ( (n + 1) k (b + 1) k /k! ) ( ) = O n 1/ǫ2. Zum Schluss müssen wir noch erklären, wie das Orakel in Schritt 1, das uns den optimalen Makespan opt verrät, realisiert werden kann. Tatsächlich werden wir nicht den exakten Wert für opt bestimmen, sondern möglicherweise einen Wert, der etwas kleiner als opt ist, aber dennoch sicherstellt, dass alle Schritte wie beschrieben durchgeführt werden können. 19

20 Wir beobachten, es gibt einen Wert Z opt mit der Eigenschaft, dass das Bin- Packing-Problem in Schritt 2b genau dann eine zulässige Lösung hat, wenn in Schritt 1, der Parameter Z so gewählt ist, dass gilt Z Z. Wir modifizieren unseren Algorithmus derart, dass wir für Z < Z in Schritt 2b die Antwort erhalten, dass Z zu klein ist. Falls wir Z Z setzen, so können alle Schritte wie beschrieben durchgeführt werden. Allerdings ist für zu groß gewähltes Z der Approximationsfaktor nicht garantiert. Wir erhalten nur dann eine (1 + ǫ)-approximation, wenn gilt Z Z opt. Z kann wie folgt mit einer Binärsuche bestimmt werden: Der Wert S = i p i ist eine obere Schranke für den Makespan. Der Wertebereich für Z ist somit die Menge {1,..., S}. Wir können deshalb Z durch eine Binärsuche mit O(log S) vielen Aufrufen unseres Algorithmus mit jeweils verschiedenen Werten für den Parameter Z ermitteln. Sei N die Länge der Eingabe in Bits. Dann gilt log S N. Die Anzahl der Aufrufe unseres Algorithmus in der Binärsuche ist somit durch O(N) beschränkt. Jeder Aufruf hat eine Laufzeit von O(n 1/ǫ2 ). Die Laufzeit des Algorithmus ist somit O(Nn 1/ǫ2 ). Für konstantes ǫ > 0 ist die Laufzeit also polynomiell in der Eingabelänge. Es ergibt sich der folgende Satz. Satz 3.8 Es gibt ein PTAS für das Makespan-Scheduling-Problem auf identischen Maschinen. Wegen des dramatischen Einflusses von ǫ auf die Laufzeit kann dieses PTAS nicht als praktisch angesehen werden. Wenn wir beispielsweise mit der LPT-Heuristik konkurrieren wollen, so müssen wir ǫ = 1 setzen und erhalten eine Laufzeitschranke von 3 O(Nn 9 ). Das PTAS ist somit zwar nicht praktikabel, aber dennoch ist der obige Satz signifikant, weil er zeigt, dass es keine untere Schranke für den besten in polynomieller Zeit erreichbaren Approximationsfaktor geben kann. 4 Makespan-Scheduling auf allgemeinen Maschinen Es gibt verschiedene Varianten des Makespan-Scheduling-Problems. Scheduling auf identischen Maschinen: Job i [n] hat Laufzeit p i auf jeder Maschine. Scheduling auf Maschinen mit Geschwindigkeiten s 1,..., s m : Job i [n] hat Laufzeit p i s j auf Maschine j [m]. 20

21 Scheduling auf allgemeinen Maschinen: Die Eingabe besteht aus einer Matrix (p ij ) i [n],j [m]. Dabei bezeichnet p ij die Laufzeit von Job i [n] auf Maschine j [m]. Die ersten beiden Probleme haben ein PTAS. Das Approximationsschema für das erste Problem haben wir vorgestellt. Das Schema für das zweite Problem ist ähnlich. Für das dritte Problem, Makespan-Scheduling auf allgemeinen Maschinen, ist kein PTAS bekannt. Der beste bekannte Algorithmus hat den Approximationsfaktor 2. Diesen Algorithmus von Lenstra, Shmoys und Tardos (1990) werden wir uns im Folgenden näher anschauen. Wir verwenden Indika- ILP-Formulierung des allgemeinen Schedulingproblems. torvariablen x ij {0, 1}, i [n], j [m] sowie eine Variable t, die dem Makespan entspricht. Die Zielfunktion lautet minimiere t Die Nebenbedingungen sind i [n] : x ij 1 j [m] : j [m] x ij p ij t i [n] i [n], j [m] x ij {0, 1} Wir können dieses ILP relaxieren, indem wir die Ganzzahligkeit aufgeben. Das so erhaltene LP kann in polynomiell beschränkter Zeit gelöst werden. Anschließend könnte man versuchen, aus der LP-Lösung eine ganzzahlige Lösung abzuleiten, die annähernd denselben Makespan liefert. Das folgende Beispiel zeigt jedoch, dass diese Idee so nicht aufgehen kann. Beispiel. Wir nehmen an, es gibt nur einen Job und dieser Job hat Laufzeit 1 auf jeder Maschine. Dann hat die optimale ILP-Lösung den Wert 1. Die optimale Lösung des durch Relaxierung entstandenen LPs hingegen hat den Wert 1. Damit ist der Faktor m zwischen ILP- und LP-Optimum, das sogenannte Integrality-Gap, gleich m. 21

22 Ein derartig großes Integrality-Gap bedeutet, dass man aus der Lösung für das LP wohl keine gute Lösung für das ILP ableiten kann. Um ein kleines Integrality-Gap zu erzwingen, entwickeln wir eine alternative ILP-Formulierung. Wir nehmen an, ein Orakel verrät uns den optimalen Makespan T. Das Orakel können wir, wie schon im Fall der identischen Maschinen gesehen, durch eine Binärsuche in polynomiell beschränkter Laufzeit simulieren. Wenn der Makespan bekannt ist, haben wir die folgende Zusatzinformation, die wir in unser ILP einfließen lassen: Ein Job i kann nur dann auf einer Maschine j platziert werden, falls gilt p ij < T, denn sonst würde die Laufzeit dieses einzelnen Jobs bereits den vorgegebenen Makespan überschreiten. Alternative ILP-Formulierung. Wir definieren das gannzzahlige lineare Programm ILP(T ) folgendermaßen. Definiere S T = {(i, j) [n] [m] p ij T }. ILP(T ) hat die Variablen x ij nur für Paare (i, j) S T. Eine Zuteilung von Job i auf Maschine j für (i, j) S T ist damit, wie erwünscht, nicht möglich. Der Lösungsraum von ILP(T ) wird beschrieben durch die Nebenbedingungen: i [n] : x ij 1 j:(i,j) S T j [m] : x ij p ij T i:(i,j) S T (i, j) S T x ij 0 Wir spezifizieren keine Zielfunktion. Es ist ausreichend, eine beliebige zulässige Lösung zu berechnen, weil jede zulässige Lösung den Makespan (höchstens) T hat. Überblick über den Algorithmus. Wir beschreiben jetzt einen Algorithmus, der zunächst eine nicht-ganzzahlige Lösung für ILP(T ) berechnet und dann daraus eine ganzzahlige Lösung ableitet, die höchstens den Makespan 2T hat. Der Algorithmus verwendet die folgenden zwei Schritte. Relaxierungsschritt: Wir lassen die Ganzzahligkeitsbedingung fallen und erhalten aus ILP(T ) das lineare Programm LP(T ). Wir berechnen eine zulässige Basislösung für LP(T ). Rundungsschritt: Aus der Basislösung für LP(T ) konstruieren wir durch geeignete Auf- oder Abrundung der nicht-ganzzahligen Variablen eine zulässige ganzzahlige Lösung mit Approximationsfaktor 2. 22

23 Der Relaxierungsschritt kann mit der Ellipsoidmethode in polynomiell beschränkter Laufzeit durchgeführt werden. Im Folgenden beschreiben wir den Rundungsschritt genauer. In die Analyse dieses Schrittes gehen Eigenschaften von Basislösungen ein. Lemma 4.1 In einer Basislösung für LP(T ) haben alle bis auf höchstens n + m der Variablen den Wert 0. Beweis: Die Anzahl der Variablen in LP(T ) bezeichnen wir mit D und die Anzahl der Nebenbedingungen mit C. Es gilt D = S T nm und C = D + n + m. In einer Basislösung sind mindestens D der Nebenbedingungen exakt (also mit Gleichheit) erfüllt, d.h. es gibt höchstens C D = n+m viele Nebenbedingungen, die nicht exakt erfüllt sind. Somit sind auch höchstens n + m der Nichtnegativitätsbedingungen (also der Bedingungen x ij 0) nicht exakt erfüllt. Es folgt, alle bis auf höchstens n + m Variablen haben den Wert 0. Der Allokationsgraph. Zu einer Basislösung x von LP(T ) definieren wir den Allokationsgraphen G = ([n] [m], E). G ist ein bipartiter Graph, dessen Knoten den Jobs und Maschinen entsprechen. Job i [n] ist mit Maschine j [m] genau dann durch eine Kante verbunden, wenn x ij > 0. Ein Pseudobaum mit Knotenmenge V ist ein zusammenhängender Graph mit höchstens V Kanten. Jeder Spannbaum enthält V 1 Kanten. Ein Pseudobaum ist also entweder ein Spannbaum oder ein Spannbaum mit Zusatzkante, d.h. ein Graph, der höchstens einen Kreis enthält. Ein Graph ist ein Pseudowald, wenn jede Zusammenhangskomponente jeweils einem Pseudobaum entspricht. Lemma 4.2 Falls G zusammenhängend ist, so ist G ein Pseudobaum. Beweis: G ist ein zusammenhängender Graph mit n + m Knoten. Aus Lemma 4.1 folgt, G hat höchstens n + m Kanten. Damit ist G ein Pseudobaum. 23

24 Lemma 4.3 Der Allokationsgraph G ist ein Pseudowald. Beweis: Betrachte eine beliebige Zusammenhangskomponente G = (V, E ). Die Knotenmenge V besteht aus Teilmengen der Jobs und Maschinen, d.h. V = J M mit J [n] und M [m]. Wir müssen zeigen, dass G ein Pseudobaum ist. Das Tupel (J, M ) definiert ein eingeschränktes Schedulingproblem, bei dem die Jobs aus J auf die Maschinen in M verteilt werden sollen. Sei LP (T ) die Relaxierung zum Schedulingproblem (J, M ) mit vorgegebenem Makespan T. Wenn wir die Basislösung x für LP(T ) auf die Variablen x ij mit i J und j M einschränken, dann erhalten wir eine Basislösung x für LP (T ). Damit ist G also ein zusammenhängender Allokationsgraph zur Basislösung x von LP (T ). Jetzt folgt aus Lemma 4.2, dass G ein Pseudobaum ist. Da diese Eigenschaft für jede Zusammenhangskomponente von G gilt, ist G somit ein Pseudowald. LP-Rundung mit Hilfe des Allokationsgraphen: Als Nächstes zeigen wir, wie man aus dem Allokationsgraphen G eine ganzzahlige Lösung für ILP(T ) mit Makespan höchstens 2T erzeugt. Ungeteilte Jobs: Falls die Basislösung x für einen Job i [n] eine ganzahlige Zuteilung berechnet hat, d.h. es eine Maschine j [n] mit x ij = 1 gibt, so wird diese Zuteilung direkt übernommen. Wir entfernen die entsprechenden Jobknoten und die inzidenten Kanten aus dem Graphen G und erhalten dadurch einen Allokationsgraphen, den wir H nennen. Geteilte Jobs: Wir berechnen ein einseitig perfektes Matching M für H, d.h eine Teilmenge der Kanten, so dass jeder Jobknoten zu genau einer Kante in M inzident ist und jeder Maschinenknoten zu höchstens einer Kante. M ordnet jedem geteilten Job i also genau eine Maschine j zu, und wir setzen x ij = 1 und x ij = 0 für j j. Beachte, jede Maschine erhält bei diesem Rundungsschritt höchstens einen zusätzlichen Job. Abbildung 3 erläutert die Konstruktion des Matchings M anhand eines Beispiels. Wir müssen noch die Existenz des einseitig perfekten Matchings M auf H nachweisen und zeigen, wie dieses Matching effizient berechnet werden kann. Wir beobachten, dass der Graph H ein bipartiter Pseudowald ist, in dem alle Blätter Maschinenknoten sind, weil alle Jobknoten mit Grad 1 durch Streichung der ungeteilten Jobs entfernt wurden. Diese Eigenschaft werden wir ausnutzen. Lemma 4.4 Der Allokationsgraph H hat ein einseitig perfektes Matching, und dieses Matching kann in polynomiell beschränkter Laufzeit berechnet werden. 24

25 Abbildung 3: Darstellung des einseitig perfekten Matchings M (= rote, gestrichelte Kanten) für den Allokationsgraph H. Jeder Jobknoten (rot, viereckig) wird genau einem Maschinenknoten (blau, rund) zugeordnet. Jedem Maschinenknoten wird höchstens ein Jobknoten zugeordnet. Beweis: Wir beschreiben einen einfachen Algorithmus, der das Matching berechnet. Wir nutzen aus, dass alle Blätter im Pseudowald H Maschinenknoten sind. Zunächst entfernen wir alle isolierten Maschinenknoten, d.h. alle Zusammenhangskomponenten, die nur aus einem Maschinenknoten bestehen. Den folgenden Schritt wenden wir solange an, bis kein Blatt mehr verfügbar ist. Wähle ein beliebiges Blatt j [m], und füge die inzidente Kante {j, i} (i [n]) zu M hinzu. Dann entferne die Knoten j und i mit allen inzidenten Kanten aus H und lösche die dadurch möglicherweise neu entstandenen isolierten Maschinenknoten. Da der Graph H ein bipartiter Pseudowald ist, verbleiben nach dem iterierten Entfernen aller Blätter nur ein paar Kreise gerader Länge. Von diesen Kreisen nehmen wir jede zweite Kante zum Matching M hinzu. Auf diese Art wird jeder Jobknoten durch genau eine Kante aus M abgedeckt, und wir haben ein einseitig perfektes Matching konstruiert. Satz 4.5 Das Makespan-Scheduling-Problem für allgemeine Maschinen hat einen Polynomialzeitalgorithmus mit Approximationsfaktor 2. Beweis: Wir müssen nur noch den Approximationsfaktor nachweisen. Auf jeder Maschine verursachen die durch die Basislösung ungeteilt zugewiesenen Jobs eine Last von höchstens T. 25

26 Beim Runden der geteilten Jobs wird jeder Maschine maximal ein Job zugeordnet, weil wir ein Matching verwenden. Eine Matchingkante {i, j} existiert nur dann, wenn in der Basislösung x ij > 0 gilt. Notwendige Bedingung dafür ist, dass (i, j) S T ist. Aus (i, j) S T folgt p ij T. Deshalb erzeugt die Zuteilung entlang der Matchingkanten einen Lastzuwachs von höchstens T je Maschine. Somit ist der berechnete Makespan höchstens zweimal so groß wie der optimale Makespan T. 26

Einführung in Approximationsalgorithmen

Einführung in Approximationsalgorithmen Einführung in Approximationsalgorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 30. Juli 2008 Hilfreiche Literatur Vazirani: Approximation Algorithms, Springer Verlag,

Mehr

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Das Rucksackproblem: schwache NP-Härte und Approximation

Das Rucksackproblem: schwache NP-Härte und Approximation Das Rucksackproblem: schwache NP-Härte und Approximation Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1. Februar 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen

Mehr

Approximationsalgorithmen. 19. Dezember / 28

Approximationsalgorithmen. 19. Dezember / 28 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

Mehr

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

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:

Mehr

Übung 2 Algorithmen II

Übung 2 Algorithmen II Yaroslav Akhremtsev, Demian Hespe yaroslav.akhremtsev@kit.edu, hespe@kit.edu Mit Folien von Michael Axtmann (teilweise) http://algo2.iti.kit.edu/algorithmenii_ws17.php - 0 Akhremtsev, Hespe: KIT Universität

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Randomisierte und Approximative Algorithmen. Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn

Randomisierte und Approximative Algorithmen. Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn Randomisierte und Approximative Algorithmen Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn 22. Januar 2018 Inhaltsverzeichnis 1 Einleitung 4 2 Greedy-Algorithmen 6 2.1 Vertex Cover................................

Mehr

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 20. Dezember 2017 Abgabe 16. Januar 2018, 11:00 Uhr

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Approximationsschemata

Approximationsschemata Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Algorithmen 2. Kapitel: Approximationsalgorithmen. Thomas Worsch. Fakultät für Informatik Karlsruher Institut für Technologie

Algorithmen 2. Kapitel: Approximationsalgorithmen. Thomas Worsch. Fakultät für Informatik Karlsruher Institut für Technologie Algorithmen 2 Algorithmen 2 Kapitel: Approximationsalgorithmen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2017/2018 1 / 40 Einleitung Überblick Einleitung

Mehr

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

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

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

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Approximierbarkeit. Definition. Ein Optimierungsproblem P ist gegeben durch ein Quadrupel. P = (I, Sol, m, goal), wobei:

Approximierbarkeit. Definition. Ein Optimierungsproblem P ist gegeben durch ein Quadrupel. P = (I, Sol, m, goal), wobei: Approximierbarkeit Ein Optimierungsproblem P ist gegeben durch ein Quadrupel wobei: P = (I, Sol, m, goal), I ist die Menge der Instanzen von P. Sol ist eine Funktion, die ein x I abbildet auf die Menge

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

Mehr

Effiziente Algorithmen II

Effiziente Algorithmen II 10. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 19.01.2015 Aufgabe Q Betrachten Sie das Knapsackpolytop P = conv(v ) mit V = {x n i=1 a ix i α} {0, 1} n für gegebenes α und a i 0 (insbesondere ist

Mehr

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

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau

Mehr

Approximation mit relativer Gütegarantie Überblick und einführende Beispiele

Approximation mit relativer Gütegarantie Überblick und einführende Beispiele Approximation mit relativer Gütegarantie Überblick und einführende Beispiele Marvin Schiller 4. Oktober 2007. Einführung In diesem Essay geben wir einen Überblick über eine Auswahl von algorithmischen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016 Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie

Mehr

Approximationsklassen für Optimierungsprobleme

Approximationsklassen für Optimierungsprobleme Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................

Mehr

Rundreiseproblem und Stabilität von Approximationsalg.

Rundreiseproblem und Stabilität von Approximationsalg. Das Rundreiseproblem und Stabilität von Approximationsalgorithmen Friedrich Alexander Universität Erlangen-Nürnberg Seminar Perlen der theoretischen Informatik, 2008-01-19 http://verplant.org/uni/perlen/

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Wiederholung TSP: Kurz:

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 4 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 4 : Komplexitätsklassen Informatik III - WS07/08 Kapitel 4 2 Sprachen, Probleme, Zeitkomplexität

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 5. Februar 2010 Berthold Vöcking, Informatik

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie 1 Algorithmische Graphentheorie Sommersemester 2014 5. Vorlesung Matchings / Paarungen II Kombinatorischer Algorithmus, Anwendung für Handlungsreisende, LP-Runden Dr. Joachim Spoerhase Prof. Dr. Alexander

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 2016 2. Vorlesung Rundreiseprobleme Teil II Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Übersicht I) Eulerkreise III) Handlungsreisende II) Hamiltonkreise

Mehr

Das Problem des minimalen Steiner-Baumes

Das Problem des minimalen Steiner-Baumes Das Problem des minimalen Steiner-Baumes Ein polynomieller Approximationsalgorithmus Benedikt Wagner 4.05.208 INSTITUT FU R THEORETISCHE INFORMATIK, LEHRSTUHL ALGORITHMIK KIT Die Forschungsuniversita t

Mehr

Einführung in das Seminar Algorithmentechnik

Einführung in das Seminar Algorithmentechnik Einführung in das Seminar Algorithmentechnik 10. Mai 2012 Henning Meyerhenke, Roland Glantz 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Roland undglantz: nationales Einführung Forschungszentrum

Mehr

Literatur für diese VO. Überblick. Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Literatur für diese VO. Überblick. Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Kap. : Approximationsalgorithmen für kombinatorische Optimierungsprobleme Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Literatur für diese VO

Mehr

Optimierung. Vorlesung 08

Optimierung. Vorlesung 08 Optimierung Vorlesung 08 Heute Dualität Ganzzahligkeit Optimierung der Vorlesung durch Evaluierung 2 Das duale LP Das primale LP Maximiere c T x unter Ax b, x R d 0. wird zu dem dualen LP Minimiere b T

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Das Travelling Salesperson Problem 2 Das Travelling Salesperson Problem Zentrales Problem der Routenplanung Unzählige wissenschaftliche Artikel theoretischer sowie

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Walter Unger Lehrstuhl für Informatik I 20. April 2006 1 Einleitung Motivation Cliquenproblem 2 Vertex Cover Greedy 3 Steiner-Bäume 4 TSP Einleitung Approximation Nichtapproximierbarkeit

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

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

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18./20. VO A&D WS 08/09

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 22 1 Das Travelling Salesperson Problem

Mehr

NP-Vollständigkeit einiger Zahlprobleme

NP-Vollständigkeit einiger Zahlprobleme NP-Vollständigkeit einiger Zahlprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 22. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

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

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 29. Januar 2013 Näherungsalgorithmen, Fernau, Universität Trier, WiSe 2012/13

Mehr

1 Einführung in Lineare Programme und Dualität

1 Einführung in Lineare Programme und Dualität Gliederung Inhaltsverzeichnis 1 Einführung in Lineare Programme und Dualität 1 1.1 Lineare Programme......................... 1 1.2 Dualität............................... 2 2 Grundlegende Sätze und Definitionen

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

21. Dynamic Programming III

21. Dynamic Programming III Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit

Mehr

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

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II. Schulz, Gog, Sanders: Algorithmen II - 13. Februar 2017 Algorithmen II Peter Sanders, Christian Schulz, Simon Gog Übungen: Michael Axtmann Institut für Theoretische Informatik, Algorithmik II Web: http://algo2.iti.kit.edu/algorithmenii_ws16.php

Mehr

Komplexitatstheoretische Zwischenbetrachtungen: Klassen & eine Hierarchic

Komplexitatstheoretische Zwischenbetrachtungen: Klassen & eine Hierarchic Kapitel 5 Komplexitatstheoretische Zwischenbetrachtungen: Klassen & eine Hierarchic In den vorhergehenden Kapiteln sind wir einmal quer durch das Gebiet der Approximationsalgorithmen gelaufen. Wir haben

Mehr

Schnittebenenverfahren für das symmetrische

Schnittebenenverfahren für das symmetrische Schnittebenenverfahren für das symmetrische TSP Sebastian Peetz Mathematisches Institut Universität Bayreuth 19. Januar 2007 / Blockseminar Ganzzahlige Optimierung, Bayreuth Gliederung 1 Das symmetrische

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Vorlesung Theoretische Informatik (Info III)

Vorlesung Theoretische Informatik (Info III) 1 Vorlesung Theoretische Informatik (Info III) Prof. Dr. Dorothea Wagner Dipl.-Math. Martin Holzer 20. Dezember 2007 Einleitung Motivation 2 Thema heute Relative Approximation (Forts.) Approximationsschemata

Mehr

Polynomialzeit- Approximationsschema

Polynomialzeit- Approximationsschema Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, 01.02.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem

Mehr

Seminar. Das Steinerbaumproblem

Seminar. Das Steinerbaumproblem Seminar Das Steinerbaumproblem Philipp Gillitzer Matrikelnr.: 51829 Studiengang Informatik(IT-Sicherheit) Semester 6 Hochschule Aalen Wintersemester 16/17 1 Inhaltsverzeichnis 1 Einleitung 3 2 Grundlagen

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

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

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

NP-vollständig - Was nun?

NP-vollständig - Was nun? Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Näherungsalgorithmen Gesamtübersicht Organisatorisches Einführung / Motivation

Mehr

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

20. Dynamic Programming II

20. Dynamic Programming II 536 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen et

Mehr

Die dynamische Programmierung 1 / 51

Die dynamische Programmierung 1 / 51 Die dynamische Programmierung 1 / 51 Dynamische Programmierung - Das Ausgangsproblem P 0 wird in Teilprobleme P 1,..., P t aufgebrochen. - Die Teilprobleme werden dann, einer Schwierigkeitshierarchie entsprechend,

Mehr

Systems of Distinct Representatives

Systems of Distinct Representatives Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung

Mehr

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die

Mehr

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009 . Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem

Mehr

Algorithmen zur Berechnung von Matchings

Algorithmen zur Berechnung von Matchings Algorithmen zur Berechnung von Matchings Berthold Vöcking 10. Oktober 2006 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber

Mehr

20. Dynamic Programming II

20. Dynamic Programming II Aufgabe 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr