Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15)

Ähnliche Dokumente
Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

Informatik III - WS07/08

Probleme aus 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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Weitere NP-vollständige Probleme

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Dank. Theoretische Informatik II. Teil VI. Vorlesung

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

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

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

Einführung in die Informatik 2

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

Algorithmische Spieltheorie

Übung Theoretische Grundlagen

NP Vollständigkeit. Patryk Mazur

Einführung in die Informatik 2

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

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

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

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

Kapitel 9: Lineare Programmierung Gliederung

Hamiltonsche Graphen

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Theoretische Grundlagen der Informatik

Gliederung. 1. Einführung. 2. Polynominal Reduktion und NP-Vollständigkeit. 3. Geschichte. 4. Reale Probleme und Lösungsansetze 5.

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

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

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

Theoretische Grundlagen der Informatik

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Teil III. Komplexitätstheorie

Das Rucksackproblem: schwache NP-Härte und Approximation

NP-Vollständigkeit des Erfüllbarkeitsproblems

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

Grundlagen der Theoretischen Informatik

Theoretische Informatik II

Einige Grundlagen der Komplexitätstheorie

Vorlesung Lineare Optimierung (Sommersemester 2007)

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

Approximationsalgorithmen

Approximationsalgorithmen für NP-harte Optimierungsprobleme

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

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

Theoretische Grundlagen der Informatik

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

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Theoretische Grundlagen der Informatik

Theoretische Informatik Mitschrift

2. Optimierungsprobleme 6

Zusammenfassung Info3. Lydia Pintscher 20. März 2005

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013

abgeschlossen unter,,,, R,

Komplexitätstheorie P versus NP

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 16. November INSTITUT FÜR THEORETISCHE INFORMATIK

Grundlagen der Theoretischen Informatik

1 Raumwechsel: Gr. 19 (Fr 12-14, F-334) diese Woche in D Studie zum Arbeitsverhalten von Studierenden unter Leitung

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

Die Komplexitätsklassen P und NP

Algorithmische Methoden für schwere Optimierungsprobleme

2 Komplexitätstheorie

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

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

Theoretische Grundlagen der Informatik

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

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Einführung Erfüllbarkeitsproblem NP-Vollständigkeit Definition von NP Was wäre, wenn Was tun? Ideen und Konzepte der Informatik.

Kapitel 4: Komplexitätstheorie Gliederung

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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Grundlagen der Informatik

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

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

THEORETISCHE INFORMATIK UND LOGIK

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Effiziente Algorithmen II

Einführung in das Seminar Algorithmentechnik

Klausur zum Modul Einführung in die Diskrete Mathematik

Das P versus N P - Problem

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

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

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

Rucksackproblem und Verifizierbarkeit

Willkommen zur Vorlesung Komplexitätstheorie

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

Ü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

Transkript:

1 Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15) Kapitel 5: NP-schwierige Probleme Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 13. April 2015)

Rucksack Problem 2 Problem 5.1 (0/1-Knapsack Problem) Instanz: Gewichte g Q n +, Gewichtsschranke G Q +, Werte w Q n + Aufgabe: Finde I [n] mit g(i ) G, so dass ist. w(i ) = max{w(i ) I [n], g(i ) G}

Problem des Handlungsreisenden 3 Problem 5.2 (Traveling Salesman Problem (TSP)) Instanz: Kantenlängen c Q En des vollständigen Graphen K n = (V n, E n ) auf n Knoten Aufgabe: Finde Hamilton-Kreis H E n mit c(h ) = min{c(h) H E n Hamilton-Kreis}.

Maximale Schnitte 4 Problem 5.3 (Maximum Cut Problem) Instanz: Graph G = (V, E) mit Kantengewichten c Q E Aufgabe: Finde S V mit c(δ(s )) = max{c(δ(s)) S V }.

Quadratische 0/1-Optimierung 5 Problem 5.4 (Quadratische 0/1-Optimierung) Instanz: Kostenmatrix (c ij ) Q n n Aufgabe: Finde 0/1-Vektor x {0, 1} n mit n c ij xi xj i,j=1 n = min{ c ij x i x j x {0, 1} n }. i,j=1

Quadratisches Zuordnungsproblem 6 Problem 5.5 (Quadratic Assignment Problem (QAP)) Instanz: Zielfunktionskoeffizienten d ijkl Q (i, j, k, l [n]) Aufgabe: Finde n n Permutationsmatrix (x ij ) {0, 1}n n mit n d ijkl xij xkl i,j,k,l=1 = min { n d ijkl x ij x kl (x ij ) n n Permut.-Matrix }. i,j,k,l=1

Cliquen und stabile Mengen 7 Definition 5.6 Sei G = (V, E) ein Graph. Eine Clique in G ist eine Knotenteilmenge K V mit ( K 2) E. Eine stabile Menge in G ist eine Knotenmenge S V mit ( K 2) E =. Problem 5.7 (Maximum Clique Problem) Instanz: Graph G = (V, E) Aufgabe: Finde Clique K V in G maximaler Kardinalität. Problem 5.8 (Maximum Stable Set Problem) Instanz: Graph G = (V, E) Aufgabe: Finde stabile Menge S V maximaler Kardinalität.

8 Bin Packing Problem 5.9 (Bin-Packing Problem) Instanz: Zahlen a 1,..., a n Q + Aufgabe: Finde eine Abbildung f : [n] [k] mit i:f (i)=j so dass k minimal ist. a i 1 für alle j [k],

Färbung von Graphen 9 Problem 5.10 (Graphenfärbungsproblem) Instanz: Graph G = (V, E) Aufgabe: Finde eine Abbildung f : V [k] mit f (v) f (w) für alle {v, w} E, so dass k minimal ist.

Ausfallsichere Netzwerke 10 Problem 5.11 (Survivable Network Design Problem) Instanz: Graph G = (V, E), Kantenkosten c Q E +, Zusammenhangsforderungen r s,t N für alle s, t V Aufgabe: Finde eine Kantenteilmenge F E, für die in G[F ] für jedes Paar s, t V wenigstens r s,t paarweise kantendisjunkte s-t-wege existieren, so dass c(f ) minimal ist.

Standortplanung 11 Problem 5.12 (Facility Location Problem) Instanz: Endliche Mengen {1,..., K} von Kunden und {1,..., S} von möglichen Standorten mit Fixkosten f i Q + für das Öffnen von Standort i und Service-Kosten c ij Q + für das Bedienen von Kunde j vom eröffneten Standort i aus. Aufgabe: Teilmenge X [S] von zu öffnenden Standorten und Zuordnung σ : [K] X, so das minimal ist. i X f i + j [K] c σ(j)j

Maschinenbelegung 12 Problem 5.13 (Paralleles Maschinen-Scheduling: Makespan-Minimierung) Instanz: Dauern p Q n + von n Jobs, Anzahl m N gleichartiger Maschinen Aufgabe: Aufteilung f : [n] [m] der Jobs auf die Maschinen, so dass max{ p i j [m]} möglichst klein ist. i:f (i)=j

Effiziente Algorithmen? 13 Für diese Optimierungsprobleme gilt: Entweder es gibt für jedes von ihnen oder für keines von ihnen einen Algorithmus mit polynomial beschränkter Laufzeit. Polynomial beschränkt / polynomial : Es gibt ein Polynom p, so dass die Laufzeit bei Eingabelänge n höchstens p(n) ist. Eingabelänge bezieht sich auf die Länge einer üblichen Kodierung der Probleminstanzen über einem endlichen Alphabet (z. B. {0, 1} oder {0, 1, #}); Zahlen werden z.b. binär kodiert. Derzeit ist unbekannt, ob es polynomiale Algorithmen für diese Probleme gibt; es wird für sehr unwahrscheinlich gehalten. Für (fast) genauso unwahrscheinlich wird gehalten, dass es für eines dieser Probleme ein starkes Dualitätstheorem (MinMax-Theorem) gibt. = Andere Methoden

Optimierungs- und Entscheidungsprobleme 14 Entscheidungsproblem: Frage mit JA/NEIN Antwort Zu jedem Maximierungs- bzw. Minimierungsproblem gehört ein Entscheidungsproblem: Gibt es eine Lösung mit Zielfunktionswert mindestens bzw. höchstens α? (α ist Teil der Eingabe). Beispiel: Gegeben c Q En, α Q; hat K n = (V n, E n ) einen Hamilton-Kreis H E n mit c(h) α? Kann man ein (kombinatorisches) Optimierungsproblem mit einem Algorithmus A (in polynomialer Zeit) lösen, so kann man auch das zugehörige Entscheidungsproblem mit A (in polynomialer Zeit) lösen. Die Umkehrung gilt in der Regel auch (Binärsuche nach Optimalwert).

Entscheidungsprobleme I 15 Problem 5.14 (Perfektes Matching Problem) Instanz: Graph G = (V, E) Frage: Gibt es ein perfektes Matching in G? Problem 5.15 (Hamilton-Kreis Problem) Instanz: Graph G = (V, E) Frage: Gibt es einen Hamilton-Kreis in G? Problem 5.16 (Graphenzusammenhangsproblem) Instanz: Graph G = (V, E) Frage: Ist G zusammenhängend?

Entscheidungsprobleme II 16 Problem 5.17 (Primzahlproblem) Instanz: Zahl m N Frage: Ist m eine Primzahl? Problem 5.18 (Erfüllbarkeitsproblem (SAT)) Instanz: Boolesche Formel in konjunktiver Normalform Frage: Gibt es eine Belegung der Variablen mit Werten wahr und falsch, so dass die Formel den Wert wahr ergibt? (Beispiel: (x 1 x 7 x 4 ) (x 2 x 3 ) (x 1 x 8 ))

Entscheidungsprobleme III 17 Problem 5.19 (LP-Zulässigkeit) Instanz: A Q m n, b Q m Frage: Gibt es x Q n mit Ax b? Problem 5.20 (IP-Zulässigkeit) Instanz: A Q m n, b Q m Frage: Gibt es x Z n mit Ax b?

Die Komplexitätsklassen EXP und NP Die Entscheidungsprobleme 5.14 bis 5.20 sowie die zu den Optimierungsproblemen 5.1 bis 5.13 gehörenden Entscheidungsprobleme sind in der Klasse EXP aller Entscheidungsprobleme, für die es eine Konstante k N gibt, so dass man sie in Zeit 2 nk (bei Eingabelänge n) lösen kann. Alle hier aufgelisteten Entscheidungsprobleme haben aber eine Besonderheit: Man kann, falls die Antwort JA ist, dies in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen. Solche Entscheidungsprobleme bilden die Klasse NP ( nondeterministic polynomial time ). Beispiele: Mit Hilfe eines Hamilton-Kreises H E in G = (V, E) (als Zertifikat) kann man in polynomialer Zeit nachweisen, dass G einen Hamilton-Kreis hat. Mit Hilfe eines Hamilton-Kreises H En in K n = (V n, E n ) vom Gewicht w(h) α (als Zertifikat) kann man in polynomialer Zeit nachweisen, dass K n einen Hamilton-Kreis vom w-gewicht höchstens α hat. 18

Die Komplexitätsklasse conp 19 Die Klasse conp enthält alle Entscheidungsprobleme, für die man, falls die Antwort NEIN ist, diese in polynomialer Zeit mit Hilfe eines geeigneten Zertifikats beweisen kann. Das Primzahlproblem ist offensichtlich in conp: Ist m = pq (mit p, q N), so kann man mit Hilfe des Zertifikats (p, q) in polynomialer Zeit (in log(m)) nachweisen, dass m keine Primzahl ist. (Dass das Primzahlproblem auch in NP und sogar in P ist, ist nicht so offensichtlich.)

Die Komplexitätsklasse NP conp 20 NP conp ist die Klasse der Probleme, die gute Charakterisierungen im Sinne von Edmonds haben. Z. B. ist das Entscheidungsproblem Hat ein gegebener bipartiter Graph G = (V W, E) mit V = W ein perfektes Matching? in NP conp (es ist sogar in P): Ist die Antwort JA, so kann man das mit Hilfe eines perfekten Matchings M E als Zertifikat in polynomialer Zeit nachweisen. Ist die Antwort NEIN, so kann man das mit Hilfe einer Menge X V mit N(X ) < X als Zertifikat in polynomialer Zeit nachweisen.

Die Komplexitätsklasse P 21 Die Klasse P enthält alle Entscheidungsprobleme, die in polynomialer Zeit gelöst werden können. Es gilt: P NP conp (Wenn man die Antwort in polynomialer Zeit finden kann, braucht man nicht einmal ein Zertifikat.) Die Entscheidungsprobleme Perfektes Matching, Graphenzusammenhang, Primalzahltest, LP-Zulässigkeit sind in P.

NP-Vollständigkeit 22 Seien π 1 und π 2 zwei Entscheidungsprobleme. π 1 ist Karp-reduzierbar auf π 2, wenn es einen polynomialen Algorithmus gibt, der aus jeder Instanz I 1 für π 1 eine Instanz I 2 für π 2 berechnet, so dass die Antwort auf I 1 gleich der Antwort auf I 2 ist. Ein Entscheidungsproblem π ist NP-vollständig, wenn π NP ist und jedes Entscheidungsproblem aus NP auf π Karp-reduzierbar ist. Die Klasse der NP-vollständigen Entscheidungsprobleme sei NPC. Es gilt: NPC P P = NP NPC conp NP = conp (Beides wird für sehr unwahrscheinlich gehalten.)

Optimierungsprobleme und NP/coNP 23 Die Entscheidungsprobleme zu den Optimierungsproblemen 5.1 bis 5.13 sowie die Entscheidungsprobleme 5.15, 5.18 und 5.20 sind in NPC (Satz von Cook (1971): SAT ist in NPC) Insbesondere würde ein polynomialer Algorithmus für eines von ihnen P = NP und die polynomiale Lösbarkeit aller in diesem Kapitel angesprochenen Probleme implizieren. Außerdem: Gibt es für eins der Optimierungsprobleme 5.1 bis 5.13 für jede Instanz ein polynomial überprüfbares Optimalitätszertifikat (z.b. auf Grund eines MinMax-Theorems), so ist NP = conp.

Verhältnis von Komplexitätsklassen 24 Falls P NP ist, dann gilt NP \ NPC. Es gilt P NP PSPACE EXPTIME NEXPTIME NEXPSPACE mit P EXPTIME NP NEXPTIME PSPACE NEXPSPACE Insbesondere gibt es Entscheidungsprobleme, die man in exponenzieller Zeit, aber nicht in polynomialer Zeit lösen kann; aber kein solches Problem in NP ist bekannt.

Die Welt ohne Komplexitätstheorie 25 Aus: Garey, Johnson: Computers and Intractibility, Wiley 1979.

Die Welt im Fall P NP 26 Aus: Garey, Johnson: Computers and Intractibility, Wiley 1979.

Die heutige Welt 27 Aus: Garey, Johnson: Computers and Intractibility, Wiley 1979.

Jack Edmonds 28

Exponenziell versus polynomial 29 (aus : J. Edmonds, Paths, trees, and flowers, Canad. J. Mathematics 17 (1965), (aus : J. Edmonds, A Glimpse of Heaven )

Effiziente Algorithmen als mathematisches Problem 30 (aus : J. Edmonds, A Glimpse of Heaven )

Zertifikate / Gute Charakterisierungen 31 (aus : J. Edmonds, A Glimpse of Heaven )

Mathematischer Aufbau der Komplexitätstheorie 32 Für Σ = {0, 1} sei Σ die Menge aller endlichen Folgen (Wörter) x = (x 1,..., x l ) (l N) von Elementen aus Σ. Die Länge des Wortes x = (x 1,..., x l ) ist x := l. Ein Entscheidungsproblem (Sprache) ist eine Teilmenge Π Σ. Beispiel Hamilton-Kreis Problem: Bilde die Menge aller Graphen mit einer Abbildung (Kodierung) κ injektiv in Σ ab (z.b.: Beschränkung auf Graphen G = ([n], E), Kodierung mittels Binärdarstellung von Adjazenzlisten). Das Hamilton-Kreis Problem ist dann modelliert durch Π Hamilton := {κ(g) G = ([n], E) für ein n, G hat Hamilton-Kreis}.

33 Algorithmen I Klassisches Modell: Turing-Maschine; hier etwas anderes Modell (für Komplexitätstheorie in unserem Sinne äquivalent zur Turing-Maschine). Ein Algorithmus ist eine endliche Menge A = {(u 1, u 1),..., (u r, u r )} Σ Σ von (geordneten) Paaren von von Wörtern. Für w Σ sei i(w) := min({i [r] u i Teilwort von w} {0}). Falls i(w) 0, sei w das Wort, das aus w entsteht, wenn man das erste Teilwort u i(w) in w durch u i(w) ersetzt. Für gegebenes w 0 sei w 0, w 1,... die Folge mit w k+1 = w k, die bei w k abbricht, wenn i(w k ) = 0 ist. Der Algorithmus akzeptiert w 0, wenn w 0, w 1,... endlich ist (also irgendwann abbricht).

Algorithmen II 34 Die vom Algorithmus A akzeptierte Sprache ist L A = {w Σ A akzeptiert w}. Der Algorithmus A löst das Entscheidungsproblem Π Σ in polynomialer Zeit, wenn L A = Π ist und Konstanten C, k {1, 2,... } existieren, so dass für jedes w Π die von A mit w 0 = w erzeugte Folge höchstens C w k Glieder hat. Man kann argumentieren, dass dieses Algorithmenmodell (bis auf polynomiale Laufzeitfaktoren) genau so mächtig ist wie reale Computer (mit beliebig großem Speicher).

Komplexitätsklassen 35 Die Klasse P ist die Menge alle Π Σ, für die ein Algorithmus A existiert, der Π in polynomialer Zeit löst. Die Klasse NP ist die Menge aller Π Σ, für die ein Π P und Konstanten C, k {1, 2,... } existieren, so dass für jedes w Σ gilt: w Π z Σ : z = C w k, wz Π. Die Klasse conp ist die Menge aller Π Σ, für die ein Π P und Konstanten C, k {1, 2,... } existieren, so dass für jedes w Σ gilt: w Π z Σ : z = C w k, wz Π (d.h. Σ \ Π NP).