Komplexitätstheorie

Werbung
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
Herunterladen