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

Ähnliche Dokumente
3 Klassifikation wichtiger Optimierungsprobleme

Theoretische Informatik 1

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

Algorithmische Methoden für schwere Optimierungsprobleme

Theoretische Informatik 1

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

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

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

Betriebswirtschaftliche Optimierung

Betriebliche Optimierung

Informatik III - WS07/08

Theoretische Informatik Mitschrift

NP-vollständig - Was nun?

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

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

Einführung in Algorithmen und Komplexität

Probleme aus NP und die polynomielle Reduktion

Kapitel 9: Lineare Programmierung Gliederung

Approximationsalgorithmen

Betriebswirtschaftliche Optimierung

Betriebliche Optimierung

Approximierbarkeit von NP Problemen

Übung 2 Algorithmen II

Approximationsalgorithmen

Approximationsklassen für Optimierungsprobleme

Rundreiseproblem und Stabilität von Approximationsalg.

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Polynomialzeit- Approximationsschema

Theoretische Grundlagen der Informatik

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

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

Kochrezept für NP-Vollständigkeitsbeweise

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Theoretische Grundlagen der Informatik

Algorithmen II Vorlesung am

Die Klasse NP und die polynomielle Reduktion

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

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

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

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

Zusammenfassung Approx algorithmen

2.6 Asymptotische Approximation: Min Binpacking

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

Weitere NP-vollständige Probleme

Theoretische Grundlagen der Informatik

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

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

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

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

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Das Rundreiseproblem und Stabilität von Approximationsalgorithmen

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Hans Ulrich Simon. A Entscheidungs- versus Optimierungsprobleme

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Willkommen zur Vorlesung Komplexitätstheorie

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

Hamiltonsche Graphen

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

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Algorithmische Graphentheorie

Wie komme ich von hier zum Hauptbahnhof?

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

Theoretische Grundlagen der Informatik

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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Das Heiratsproblem. Definition Matching

Algorithmische Graphentheorie

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

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

Einführung in das Seminar Algorithmentechnik

Grundlagen der Theoretischen Informatik

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

15. Elementare Graphalgorithmen

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

abgeschlossen unter,,,, R,

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

NP-Vollständigkeit einiger Zahlprobleme

7: Graphentheorie. Definition 110

Approximationsalgorithmen. 19. Dezember / 28

Wie man das Poissonsche Problem löst

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

Kapitel L:II. II. Aussagenlogik

Theoretische Grundlagen der Informatik

Berechenbarkeits- und Komplexitätstheorie

Teil III. Komplexitätstheorie

ADS: Algorithmen und Datenstrukturen 2

Einführung in die Informatik 2

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Algorithmische Graphentheorie

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Bemerkung: Der vollständige Graph K n hat n(n 1)

Einige Grundlagen der Komplexitätstheorie

Transkript:

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 der möglichen Lösungen von x. Sei S = x I Sol(x) die Menge aller möglichen Lösungen. m: I S N ist die Maßfunktion. Dabei ist m(x, y) der Wert (das Maß, die Kosten) der Lösung y zur Instanz x I, wobei y Sol(x). Es soll m(x, y) immer definiert sein, falls y Sol(x). goal {min, max}.

Sei P ein Optimierungsproblem. y Sol P (x) heißt optimale Lösung zu x, falls m(x, y ) = goal { m(x, y) y Sol(x) }. Weiterhin definieren wir Sol (x) = { y Sol(x) y ist die optimale Lösung zu x } und m (x) = m(x, y ) für ein y Sol (x). Ein Optimierungsproblem P gehört zur Klasse NPO, falls gilt: I P, d. h. es ist in Polynomialzeit entscheidbar, ob eine Eingabe eine gültige Instanz des Problems darstellt. Es gibt ein Polynom p, sodass für alle x I und für alle y Sol(x) gilt: y p( x ). { x, y y Sol(x) } P. Funktion m ist in Polynomialzeit berechenbar.

Ein Optimierungsproblem P gehört zur Klasse PO, falls P NPO und falls es einen deterministischen Polynomialzeit Algorithmus gibt, der bei Eingabe von x I P eine (beliebige) Lösung y Sol P(x) ausgibt. Bemerkung PO ist also die Klasse der effizient lösbaren Optimierungsprobleme. Sei P ein Optimierungsproblem. Das Entscheidungsproblem zu P ist P D = { x,k x I P,K N und m (x) K, falls goal P = min m (x) K, falls goal P = max}

Lemma Sei P NPO. Dann ist P D NP. Lemma Sei P PO. Dann ist P D P. (sog. P-Optimierungsprobleme )

Satz 16 P = NP gdw. PO = NPO. Sei P ein Optimierungsproblem. Ein Polynomialzeit- Algorithmus A heißt Approximationsalgorithmus für P, falls A bei Eingabe x I P eine mögliche Lösung y Sol P (x) berechnet. In Zeichen: A(x) Sol P (x). Schreibweise: m A (x) = m P (x, A(x)).

Sei P ein Optimierungsproblem, x I P und y Sol P (x). Die Performanz (-rate) von y (bzgl. x) ist definiert als { } m(x,y) m R P (x, y) = (x),falls goal = min,falls goal = max m (x) m(x,y) { m(x, y) = max m (x), m (x) } m(x, y) Sei P ein Optimierungsproblem und A ein Approximationsalgorithmus für P. Die Performanz (-rate) von A (bzgl. P) ist R A (x) = R P (x, A(x)). Sei r : N Q. A ist ein r-approximationsalgorithmus für P, falls max R A(x) r(n). x =n

Spezialfall Falls r konstant ist, also r(n) = c, c Q, so sprechen wir auch von einem c-approximationsalgorithmus. Satz 17 Falls P NP, so gibt es kein c 1, sodass MinTSP einen c-approximationsalgorithmus besitzt.

MinMTSP Problem: MinMTSP (metric TSP) Instanz: (d i,j ) 1 i,j n mit n, d i,j N und für alle i, j, k {1,...,k} gilt: d i,j = d j,i (Symmetrie) d i,j + d j,k d i,k (Dreiecksungleichung) Lösung: Maß: π S n (= Rundreise) Länge von π, also n 1 i=1 d π(i),π(i+1) + d π(n),π(1) Begriffe und Notationen Ein Multigraph ist ein Paar G = (V,F), wobei V eine Knotenmenge und F eine Kanten-Multimenge ist, d. h. es gibt eventuell mehrere Kanten zwischen Knotenpaaren. Ein Eulerpfad in G ist ein Pfad {v 1, v 2,...,v m } mit {v i, v i+1 } F für 1 i < m, der jede Kante genau einmal besucht. (Knoten dürfen beliebig oft besucht werden.) Ein Eulerkreis ist ein Eulerpfad, der ein Kreis ist.

Beispiel: Königsberger Brückenproblem Pregel Ein gewichteter Graph ist ein Graph mit Gewichten auf den Kanten, also ein Tripel G = (V,E, D) wobei (V,E) ein Graph ist und D = (d u,v ) (u,v) E, d u,v N ist das Gewicht der Kante (u, v) E. Ein Spannbaum in einem Graphen G = (V,E) ist ein Teilgraph G = (V,E ), E E, der ein Baum ist. Ein minimaler Spannbaum in einem gewichteten Graphen G = (V,E, D) ist ein Spannbaum G = (V,E ) im Graphen (V,E) mit minimalen Gewicht. Dabei ist das Gewicht von G definiert als (u,v) E d u,v.

Amsterdam Hannover Berlin Warschau Luxemburg Prag München Wien Graz Satz 18 TreeTSP ist ein 2-Approximationsalgorithmus für MinMTSP.

Sei G = (V,E) ein Graph. Ein Matching von G ist eine Kantenmenge M E, so dass keine zwei Kanten in M einen gemeinsamen Endpunkt haben, d. h. (u, v), (u, v ) M {u, v} {u, v } =. M heißt vollständig (oder perfekt), falls M = 1 2 V (jeder Knoten kommt als Endpunkt einer Kante in M vor). Algorithmus von Christofides Amsterdam Hannover Berlin Luxemburg Prag Warschau München Wien Graz

Satz 19 Der Algorithmus von Christofides ist ein -Approximationsalgorithmus für MinMTSP. 3 2 MinPART Problem: Minimum Partition (MinPART) Instanz: a 1,...,a n, a i N + Lösung: Mengen Y 1, Y 2 mit Y 1 Y 2 = {1,...,n}, Y 1 Y 2 = Maß: max{ i Y 1 a i, i Y 2 a i } Ziel: min

Satz 20 Bei Eingabe einer Instanz x I MinPART, x = a 1,...,a n, und einer Zahl r > 1 liefert der Algorithmus PartAS eine Lösung mit Performanzrate r. PTAS ist die Klasse der Problemen P mit folgender Eigenschaft: (r > 1) : (Polynomialzeit-) Approximationsalgorithmus für P mit Performanzrate r. APX bezeichnet die Klasse der Probleme mit einem c-approximationsalgorithmus für ein c 1, c Q.

Unter der Annahme P NP ergibt sich folgende Situation NPO MinTSP APX MinMTSP MinBinPacking MaxSAT PTAS MinPart MaxKnapsack PO Minimaler Spannbaum MinPath MaxSAT Problem: Maximum Satisfiability (MaxSAT) Instanz: aussagenlogische Formel F in KNF über Variablen V Lösung: Belegung f : V {0, 1} Maß: Anzahl der Klauseln von F, die von f erfüllt werden

Satz 21 GSAT ist ein 2-Approximationsalgorithmus für MaxSAT. Korollar MaxSAT APX. Satz 22 : Methode zum Nachweis P / APX Sei P ein Minimierungsproblem aus NPO. Sei L eine NP-harte Sprache, L Σ. Seien f, c in Polynomialzeit berechenbare Funktionen, wobei f : Σ I P, c : Σ N und g > 0 eine Konstante, sodass: mp mp (f (x)) c(x), falls x L (f (.x)) (1 + g) c(x), falls x / L Dann existiert kein r-approximationsalgorithmus für P für alle r < 1 + g, es sei denn P = NP.