4 - THI

Werbung
Approximierbarkeit
Definition
Ein Optimierungsproblem P ist gegeben durch ein Quadrupel
P = (I , Sol, m, goal),
wobei:
I ist die Menge der Instanzen von P.
Sol ist eine Funktion, die ein x ∈ I abbildet
auf die Menge der
S
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}.
Definition
Sei P ein Optimierungsproblem. y ∗ ∈ SolP (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).
Definition
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|).
{ hx, y i | y ∈ Sol(x) } ∈ P.
Funktion m ist in Polynomialzeit berechenbar.
Definition
Ein Optimierungsproblem P gehört zur Klasse PO, falls P ∈ NPO
und falls es einen deterministischen Polynomialzeit–Algorithmus
gibt, der bei Eingabe von x ∈ IP eine (beliebige) Lösung
y ∗ ∈ Sol∗P (x) ausgibt.
Bemerkung
PO ist also die Klasse der effizient lösbaren Optimierungsprobleme.
Definition
Sei P ein Optimierungsproblem. Das Entscheidungsproblem zu P
ist
PD = { hx, K i | x ∈ IP , K ∈ N und m∗ (x) ≤ K , falls goalP = min
m∗ (x) ≥ K , falls goalP = max}
Lemma
Sei P ∈ NPO. Dann ist PD ∈ NP.
Lemma
Sei P ∈ PO. Dann ist PD ∈ P. (sog. “P-Optimierungsprobleme”)
Satz 16
P = NP gdw. PO = NPO.
Definition
Sei P ein Optimierungsproblem. Ein Polynomialzeit- Algorithmus A
heißt Approximationsalgorithmus für P, falls A bei Eingabe x ∈ IP
eine mögliche Lösung y ∈ SolP (x) berechnet. In Zeichen:
A(x) ∈ SolP (x).
Schreibweise: mA (x) = mP (x, A(x)).
Definition
Sei P ein Optimierungsproblem, x ∈ IP und y ∈ SolP (x). Die
Performanz (-rate) von y (bzgl. x) ist definiert als
(
)
m(x,y )
n m(x, y ) m∗ (x) o
,
falls
goal
=
min
∗
m (x)
∗
,
RP (x, y ) =
=
max
m (x)
m∗ (x) m(x, y )
m(x,y ) , falls goal = max
Definition
Sei P ein Optimierungsproblem und A ein
Approximationsalgorithmus für P. Die Performanz (-rate) von A
(bzgl. P) ist
RA (x) = RP (x, A(x)).
Sei r : N → Q. A ist ein r -Approximationsalgorithmus für P, falls
max RA (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 6= NP, so gibt es kein c ≥ 1, sodass MinTSP einen
c-Approximationsalgorithmus besitzt.
MinMTSP
Problem:
Instanz:
MinMTSP (metric TSP)
(di,j )1≤i,j≤n mit n, di,j ∈ N und für alle i, j, k ∈
{1, . . . , k} gilt:
di,j = dj,i
(Symmetrie)
di,j + dj,k ≥ di,k (Dreiecksungleichung)
Lösung:
Maß:
π ∈ Sn (= Rundreise)
P
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 {v1 , v2 , . . . , vm } mit {vi , vi+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
Definition
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 = (du,v )(u,v )∈E , du,v ∈ N ist das Gewicht der Kante (u, v ) ∈ E .
Ein Spannbaum in einem Graphen G = (V , E ) ist ein Teilgraph
G 0 = (V , E 0 ), E 0 ⊆ E , der ein Baum ist.
Ein minimaler Spannbaum in einem gewichteten Graphen
G = (V , E , D) ist ein Spannbaum G 0 = (V , E 0 ) im Graphen (V , E )
0
mit
P minimalen Gewicht. Dabei ist das Gewicht von G definiert als
(u,v )∈E 0 du,v .
Amsterdam
Hannover
Berlin
Warschau
Luxemburg
Prag
München
Wien
Graz
Satz 18
TreeTSP ist ein 2-Approximationsalgorithmus für MinMTSP.
Definition
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 0 , v 0 ) ∈ M ⇒ {u, v } ∩ {u 0 , v 0 } = ∅.
M heißt vollständig (oder perfekt), falls |M| = 12 |V | (jeder Knoten
kommt als Endpunkt einer Kante in M vor).
Algorithmus von Christofides
Amsterdam
Hannover
Berlin
Warschau
Luxemburg
Prag
München
Wien
Graz
Satz 19
Der Algorithmus von Christofides ist ein
3
2 -Approximationsalgorithmus für MinMTSP.
MinPART
Problem:
Instanz:
Lösung:
Maß:
Ziel:
Minimum Partition (MinPART)
ha1 , . . . , an i, ai ∈ N+
Mengen
mit Y1 ∪ Y2 = {1, . . . , n}, Y1 ∩ Y2 = ∅
P Y 1 , Y2 P
max{ i∈Y1 ai , i∈Y2 ai }
min
Satz 20
Bei Eingabe einer Instanz x ∈ IMinPART , x = ha1 , . . . , an i, und
einer Zahl r > 1 liefert der Algorithmus PartAS eine Lösung mit
Performanzrate ≤ r .
Definition
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 6= NP ergibt sich folgende Situation
NPO
MinTSP
MinMTSP
APX
MinBinPacking
MaxSAT
PTAS
MinPart
MaxKnapsack
PO
Minimaler Spannbaum
MinPath
MaxSAT
Problem:
Instanz:
Lösung:
Maß:
Maximum Satisfiability (MaxSAT)
aussagenlogische Formel F in KNF über Variablen V
Belegung f : V → {0, 1}
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 : Σ∗ → IP , c : Σ∗ → N und g > 0 eine
Konstante, sodass:
∗ (f (x)) ≤ c(x)
mP
, falls x ∈ L
∗ (f (.x)) ≥ (1 + g ) · c(x) , falls x ∈
mP
/L
Dann existiert kein r -Approximationsalgorithmus für P für alle
r < 1 + g , es sei denn P = NP.
Herunterladen