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

Ähnliche Dokumente
Einführung in Algorithmen und Komplexität

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen. 19. Dezember / 28

Algorithmische Methoden für schwere Optimierungsprobleme

Approximationsalgorithmen

Theoretische Grundlagen der Informatik

NP-vollständig - Was nun?

Einführung in das Seminar Algorithmentechnik

Das Rucksackproblem: schwache NP-Härte und Approximation

Rundreiseproblem und Stabilität von Approximationsalg.

Informatik III - WS07/08

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

Kombinatorische Optimierung

Probleme aus NP und die polynomielle Reduktion

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

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

Algorithmische Graphentheorie

Kapitel 9: Lineare Programmierung Gliederung

Theoretische Informatik 1

Polynomialzeit- Approximationsschema

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

Theoretische Informatik 1

Vorlesung Theoretische Informatik (Info III)

Übung 2 Algorithmen II

Approximierbarkeit von NP Problemen

Die Klasse NP und die polynomielle Reduktion

Theoretische Grundlagen der Informatik

Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

VL-13: Polynomielle Reduktionen. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Grundlagen Theoretischer Informatik 3 SoSe 2010 in Trier. Henning Fernau Universität Trier

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

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

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

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

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

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

Willkommen zur Vorlesung Komplexitätstheorie

Hamiltonsche Graphen

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Algorithmische Graphentheorie

Theoretische Grundlagen der Informatik

Betriebswirtschaftliche Optimierung

Approximationsklassen für Optimierungsprobleme

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

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

Algorithmische Methoden für schwere Optimierungsprobleme

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Approximationsalgorithmen

Betriebliche Optimierung

Das Rundreiseproblem und Stabilität von Approximationsalgorithmen

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Der Branching-Operator B

Wiederholung. Divide & Conquer Strategie

lineare Programmierung

Rechenzeit für A. Sei t B die Rechenzeit eines Algo für B. Seien p,q,r monotone Polynome ( +).

Approximationskomplexität 1 / 53

Die Komplexitätsklassen P und NP

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

Effiziente Algorithmen (SS2015)

Algorithmentheorie 1. Vorlesung

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

Optimierung. Vorlesung 12

Theoretische Grundlagen der Informatik

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

VL-17: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Informatik III. 4.3 Weitere NP-Vollständige Probleme und Approximation. Christian Schindelhauer

Theoretische Grundlagen der Informatik

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

a b r a c a d a b r a

Approximationsalgorithmen. Approximation im Sinne der Analysis:

Kombinatorische Optimierung

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

3 Klassifikation wichtiger Optimierungsprobleme

Hans Ulrich Simon. A Entscheidungs- versus Optimierungsprobleme

Organisatorisches. VL-18: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-18: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Klausur Algorithmentheorie

Einführung in Approximationsalgorithmen

Das Problem des minimalen Steiner-Baumes

Approximationsalgorithmen

Dynamische Programmierung II

Einführung in Approximationsalgorithmen

20. Dynamic Programming II

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

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

Theoretische Informatik II

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Teil III. Komplexitätstheorie

Effiziente Algorithmen II

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

Transkript:

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: NP-vollständige Probleme SAT 3-SAT BINPROG HAMILTONKREIS SUBSETSUM CLIQUE INTPROG TSP RUCKSACK VC IS Heute ist eine kaum überschaubare Anzahl an (natürlichen) NP-vollständigen Problem bekannt. z.b.: Garey, Johnson, Computers and Intractability listet mehr als 300 NP-vollständige Problem auf. Friedhelm Meyer auf der Heide 2

Rückblick: NP-vollständig Was nun? Spezialfälle Ist wirklich die Lösung des allgemeinen Problems verlangt? Beispiel : 2-SAT Heuristiken Im worst-case: exponentielle Laufzeit Für viele Eingaben: polynomielle Laufzeit Beispiel: Backtracking, Branch&Bound, Simulated Annealing, genetische Algorithmen, Friedhelm Meyer auf der Heide 3

Rückblick: NP-vollständig Was nun? Approximationsalgorithmen Ziel: für jede Eingabe polynomielle Laufzeit Lösung ist nicht optimal, aber wir können etwas über die Qualität sagen (z.b. Wert der Ausgabe ist höchstens doppelt so schlecht wie der Wert einer opt. Lösung ) Wir behandeln hier Optimierungsversionen von Entscheidungsproblemen. Friedhelm Meyer auf der Heide 4

Themen heute Wiederholung: Approximationsalgorithmen für KNOTENÜBERDECKUNG und -TSP Nichtapproximierbarkeit Approximationsalgorithmus für das Rucksackproblem Friedhelm Meyer auf der Heide 5

Approximationsalgorithmen liefern in polynomieller Zeit Lösungen für Optimierungsprobleme, die nur um einen festen Faktor (die Güte des Appr. Algo) vom Optimum entfernt sind. TSP: Falls in <G, w> die kürzeste Rundreise Länge k hat, muss ein Appr. Alg. mit Güte c eine Rundreise der Länge c. k liefern. [Minimierungsproblem, c > 1] Rucksack: Falls <g 1,, g n, w 1,, w n, g> eine Lösung mit Wert k erlaubt, muss ein Appr. Algo mit Güte c eine Lösung mit Wert c. k liefern. [Maximierungsproblem, c < 1] KNOTENÜBERDECKUNG: Falls in G eine minimale Knotenüberdeckung (Vertex Cover) Größe k hat, muss ein Appr. Algo mit Güte c eine Knotenüberdeckung der Größe c. k berechnen. [Minimierungsproblem, c > 1] Friedhelm Meyer auf der Heide 6

Approx. Algo für Knotenüberdeckung Eine Knotenüberdeckung in einem Graph G = (V,E) ist eine Menge U V mit für alle e E. Erinnering: KNOTENÜBERDECKUNG := {<G, k>, G enthält Knotenüberdeckung der Größe k} ist NP-vollständig. Optimierungsproblem: Zu Eingabe <G> berechne eine Knotenüberdeckung minimaler Größe. Satz: Für KNOTENÜBERDECKUNG gibt es einen Approximationsalgorithmus mit Güte 2 und Laufzeit O( E ) (also lineare Laufzeit). Friedhelm Meyer auf der Heide 7

Approx. Algo für Knotenüberdeckung Optimierungsproblem: Zu Eingabe <G> berechne eine maximal große Knotenüberdeckung. Lemma: Die Knoten eines nicht erweiterbaren Matchings bilden eine Knotenüberdeckung, diese ist höchstens doppelt so groß wie eine optimale. Somit ist folgender Algorithmus eine 2-Approximation. - Eingabe <G> - Berechne ein nicht erweiterbares Matching M in G. - Gebe die am Matching beteiligten Knoten aus Berechnung ein nicht erweiterbares Matching M in G: Einfacher Greedy-Algorithmus: Durchlaufe die Kanten e 1,.., e m von G. Nehme jeweils e i in das Matching auf, wenn es mit den bisherigen Matchingkanten keinen gemeinsamen Knoten hat. Friedhelm Meyer auf der Heide 8

Metrisches TSP (MTSP) Eingabe: vollst. Graph G mit Kantengewichten w(e), so dass die Dreiecksungleichung gilt: w(a,c) w(a, b) + w (b,c). Ausgabe: minimale Rundreise (Permutation π ) Spezialfall: Euklidisches TSP: V R 2, w(a,b) = a-b Bem: Die Entscheidungsprobleme zum metrischen und zum Euklidischen TSP sind NP-vollständig. (ETSP ist Spezialfall von MTSP) Friedhelm Meyer auf der Heide 9

Appr. Algo für MTSP Eingabe: G = (V,E) vollständiger Graph mit Kantengewichten w: E N, die die Dreiecksungleichung erfüllen. 1. Berechne Minimalen Spannbaum T in (G, w). 2. Durchlaufe T in Preorder (Start bei beliebigen Knoten), gebe diese als Rundreise aus. Satz: Der oben skizzierte Algorithmus ist ein Approximationsalgorithmus für MTSP mit Güte 2 und Laufzeit O( V 2 ) (also linearer Laufzeit). Laufzeit: wird dominiert von der Zeit zur Berechnung eines minimalen Spannbaums in einem vollständigen gewichteten Graphen. Kruskals oder Prims Algo (DuA). Friedhelm Meyer auf der Heide 10

Beispiel (a) Vollständiger Graph G mit 8 Knoten, Kantengewicht = euklidischer Abstand (b) Minimaler Spannbaum T in G (c) Preorder-Durchlauf, startend in Knoten a a,b,c,b,h,b,a,d,e,f,e,g,e,d,a (d) Aus dem Preorder- Durchlauf resultierende Rundreise Friedhelm Meyer auf der Heide 11

Beispiel Gefundene Rundreise, Länge 19.074 Optimale Rundreise, Länge 14.715 Friedhelm Meyer auf der Heide 12

Grenzen der Approximierbarkeit Satz: Falls NP P gilt, gibt es kein polynomiellen Appr. Algo für TSP mit konstanter Güte c. Satz: (Johan Håstad, 1996) Falls NP P ist, existiert kein Approximationsalgorithmus für CLIQUE mit Güte O(n 1-ε ), für beliebiges ε>0. Das Ergebnis über Cliquen basiert auf der Theorie der probabilistically checkable proofs (PCP), einem Highlight der Komplexitätstheorie der letzten 15 Jahre. Das Resultat über TSP ist einfach. Friedhelm Meyer auf der Heide 13

Grenzen der Approximierbarkeit Satz: Falls NP P gilt, gibt es kein polynomiellen Appr. Algo für TSP mit konstanter Güte. Bew. durch Widerspruch. Annahme: Es gibt polynomiellen Appr. Algo A für TSP mit Güte r. Dann starte A mit (K n, c). Wir akzeptieren, falls eine Rundreise der Größe r. n berechnet wird. Beh.: Algo berechnet Rundreise der Länge r. n (K n, c) enthält Rundreise der Länge n G enthält einen Hamiltonkreis. Also: Falls A exisitiert, folgt Hamiltonkreis P. Friedhelm Meyer auf der Heide 14

Das Rucksackproblem Eingabe : Gewichte g 1,,g n, Maximalgewicht g, Werte w 1,,w n Berechne S {1, n} mit Σ k S g k g, so dass Σ k S w k maximal ist. (Der maximale Wert Σ k S w k heisse OPT.) Wiederholung aus DuA (Dynamische Programmierung) Definiere F j (i):= min{σ k S g k S {1, j} mit Σ k S w k i} (Falls kein solches S exisitiert, ist F j (i):=.) Lemma: Friedhelm Meyer auf der Heide 15

Exakter Algo für das Rucksackproblem F j (i):= min{σ k S g k S {1, j} mit Σ k S w k i} (Falls kein solches S existiert, ist F j (i):=.) Lemma: Algorithmus ExactKnapsack Laufzeit: O(n OPT) Friedhelm Meyer auf der Heide 16

Exakter Algo für das Rucksackproblem Satz: Das Rucksackproblem kann in Zeit =(n OPT) exakt gelöst werden. Folgt nun P=NP??? Nein, denn OPT kann die Größe etwa Σ k w k annehmen, die Eingabengröße ist aber nur O (Σ k log(w k )+ Σ k log(g k ) + log(g) + n). Somit ist die Laufzeit exponentiell, Falls die w i s exponentiell groß in n sind. Man spricht von einem pseudo-polynomiellen Algorithmus. Friedhelm Meyer auf der Heide 17

Approximationsalgo für Knapsack Algo ScaledKnapsack(ε) Beispiel: Objekte 1 2 3 4 Werte 30 13 15 3 Gewichte 3 1 1 1 zulässiges Gesamtgewicht 3 Optimale Lösung: S = {2,3,4}, Wert: opt = 13+15+3 = 31 Skalierung, k=2: skalierte Werte 15 6 7 1 (Gewichte, zul. Ges.gew. unverändert) S(k) = {1}, Wert: opt* = 30 nicht optimal Friedhelm Meyer auf der Heide 18

Approximationsalgo für Knapsack Algo ScaledKnapsack(ε) Lemma: (i) S(k) ist auch für die Originaleingabe zulässig. (ii) Laufzeit ist = O(n 3 /ε). (iii) ScaledKnapsack(ε) hat Güte (1-ε). Satz: ScaledKnapsack(ε) ist polynomieller Approximationsalgorithmus mit Güte (1-ε) für das Rucksackproblem. Friedhelm Meyer auf der Heide 19

Analyse der Güte Beh: ScaledKnapsack(ε) hat Güte (1-ε). S ist optimale Lösung für Originalproblem Für das skalierte Problem is S(k) optimal k=1: Problem wurde durch Skalierung nicht verändert, OPT* =OPT S n Opt w max k>1: Dann folgt sofort: Also: opt* opt (1-ε) Friedhelm Meyer auf der Heide 20

Bemerkungen zu Approximationsalgorithmen für NP-vollständige Probleme ExactKnapsack ist sogar ein sog. Polynomielles Approximationsschema: ε kann als weitere Eingabe eingegeben werden, der Algo liefert dann in Zeit poly(n, 1/ε) eine (1-ε)-Approximation. Polynomielle Approximierbarkeit verhält sich für verschiedene Optimierungsvarianten verschiedener NP-vollständiger Probleme sehr unterschiedlich. Friedhelm Meyer auf der Heide 21