Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt ∈ {max, min} Optimierungsproblem Menge von Instanzen meist implizit definiert B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Optimierungsprobleme Beispiel (Kürzeste Wege) Input: Digraph G = (V , E ) Kantengewichte ` : E → R≥0 zwei Knoten s, t ∈ V Definition „Weg“ Aufgabe: Finde einen bzgl. ` kürzesten s-t-Weg in G oder stelle fest, dass es keinen solchen Weg gibt. Ausgabe: ein kürzester s-t-Weg Länge eines kürzesten s-t-Wegs „Es gibt keinen s-t-Weg in G.“ B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Optimierungs- und Entscheidungsprobleme optimale Lösung function problem optimaler Zielfunktionswert evaluation problem Lösung mit Mindestwert L? recognition problem zulässige Lösung? Antwort „Ja“ oder „Nein“ feasibility problem Ja/Nein Entscheidungsproblem B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Algorithmen Algorithmus gewünschte Ausgabe (Lösung) endliche Laufzeit, endliche Ressourcen Laufzeit Anzahl elementarer Operationen Funktion der Codierungslänge abhängig von Instanz meist worst case-Abschätzung B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Codierungslänge Darstellung im Rechner Binärcodierung Codierungslänge = benötigte Bitanzahl Beispiel (ganze Zahl) Zahl η ∈ Z Vorzeichen + Binärdarstellung Codierungslänge size(η) = 1 + dlog(|η| + 1)e Größenordnung O log(|η|) B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Codierungslänge Darstellung im Rechner Codierungslänge Binärcodierung benötigte Bitanzahl Beispiel (LP) LP max c T x , Ax ≤ b mit c ∈ Zn , A ∈ Zm×n Richtung + Zahl n + Zahl m + (n + m + mn) Zahlen Codierungslänge 1 + size(n) + size(m) + (n + m + mn) size max {|ci |, |bj |, |aij |} Größenordnung O mn B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Polynomiell vs. exponentiell Was ist eine gute Laufzeit? (Operation = Nanosekunde) n 100n log(n) 10n2 nlog(n) 2n 10 20 50 100 500 1000 106 3 µs 9 µs 28 µs 66 µs 448 µs 1 ms 2s 1 µs 4 µs 25 µs 100 µs 2.5 ms 10 ms 3h 2 µs 420 µs 4s 5h 500 000 a 3 · 1013 a 1 · 10103 a 1 µs 1 ms 13 d 4 · 1013 a 1 · 10134 a 3 · 10284 a 3 · 10301 013 a Erdalter: 4, 6 · 109 a Alter Universum: 13, 7 · 109 a Atome im Universum: 1078 B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Die Klasse P Definition (Polynomieller Algorithmus) Entscheidungsproblem Π mit Algorithmus A A heißt polynomiell, wenn es ein Polynom p gibt, so dass für jede Instanz I gilt: Laufzeit A(I) ≤ p size(I) Polynomialität ist transitiv! Definition (Klasse P) P = {Problem Π : ∃ polynomieller Algorithmus für Π} B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Polynomielle Reduktionen Definition (Orakel) Entscheidungsproblem Π Funktion ω heißt Orakel für Π, wenn: I Instanz von Π ω(I) Lösung es gibt Polynom p, so dass für alle Instanzen I gilt: size ω(I) ≤ p size(I) Definition (Polynomielle Reduktion) Entscheidungsprobleme Π1 und Π2 , Orakel ω2 für Π2 Π1 heißt polynomiell reduzierbar auf Π2 (Π1 ≺p Π2 ), wenn Algorithmus für Π1 existiert mit: polynomiell viele elementare Operationen vorkommende Zahlen polynomiell beschränkt polynomiell viele Aufrufe von ω2 B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Polynomielle Reduktion Beispiel (Reduktion Clique auf Stable Set) Input: Graph G = (V , E ), K ∈ N Frage: Gibt es Clique mit ≥ K Knoten? 2 3 1 4 6 5 B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Polynomielle Äquivalenz Satz „Π1 ist polynomiell reduzierbar auf Π2 (Π1 ≺p Π2 )“ bedeutet: Π2 ∈ P Π1 ∈ P Π1 ist nicht schwerer als Π2 Ist außerdem Π2 ≺p Π1 Π1 und Π2 sind „gleich schwer“ Definition Entscheidungsprobleme Π1 und Π2 heißen polynomiell äquivalent, wenn Π1 ≺p Π2 und Π2 ≺p Π1 . B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Zertifikate Definition I Instanz eines Entscheidungsproblems Z Sequenz rationaler Zahlen size(Z ) polynomiell beschränkt in size(I) Z heißt Zertifikat für I Sinn: Zertifikat „beweist“ Richtigkeit der Antwort (Ja/Nein) häufig: polynomielle Codierung einer Lösung B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Zertifikate Beispiel (Stable Set) Input: Graph G = (V , E ), K ∈ N Frage: Gibt es stabile Menge mit ≥ K Knoten? Zertifikat: stabile Menge S mit |S| ≥ K 2 3 1 4 B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Die Klasse N P Definition (N P-Problem) Entscheidungsproblem Π heißt N P-Problem, wenn es einen Algorithmus A mit folgenden Eigenschaften gibt: Input für A: Instanz I von Π und Zertifikat Z für I Laufzeit von A polynomiell in size(I) für jede Instanz I I NEIN-Instanz I JA-Instanz A(I, Z ) = „NEIN“ für jedes Zertifikat ∃ Zertifikat Z mit A(I, Z ) = „JA“ Definition (Klasse N P) N P := {Π : Π ist N P-Problem} B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Die Klasse co-N P Definition (co-N P-Problem) Entscheidungsproblem Π heißt co-N P-Problem, wenn es einen Algorithmus A mit folgenden Eigenschaften gibt: Input für A: Instanz I von Π und Zertifikat Z für I Laufzeit von A polynomiell in size(I) für jede Instanz I I JA-Instanz A(I, Z ) = „JA“ für jedes Zertifikat I NEIN-Instanz ∃ Zertifikat Z mit A(I, Z ) = „NEIN“ Definition (Klasse co-N P) co-N P := {Π : Π ist co-N P-Problem} B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis N P-Vollständigkeit Definition (N P-schwer, N P-vollständig) Entscheidungsproblem Π heißt N P-schwer: jedes Problem aus N P polynomiell auf Π reduzierbar N P-vollständig: Π ∈ NP Π ist N P-schwer (analog für co-N P) B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis Einige N P-vollständige Probleme Satisfiability und 3-Sat Knapsack und Partition Stable Set und Clique Hamilton-Kreis und Hamilton-Pfad 3D-Matching B. Langfeld, M. Ritter, B. Wilhelm | Diskrete Optimierung: Fallstudien aus der Praxis