• Keine Ergebnisse gefunden

Approximationsalgorithmus für Knotenüberdeckung (VC)

N/A
N/A
Protected

Academic year: 2022

Aktie "Approximationsalgorithmus für Knotenüberdeckung (VC)"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Martin Ziegler 46

Complexity Theory

Approximationsalgorithmen

liefern in polynomieller Zeit Lösungen für Optimierungs- probleme, die vom Optimum nur um einen festen

Faktor (die Güte des Appr. Algo) entfernt sind.

TSP: Falls in (G,w) die kürzeste Rundreise Länge k hat, muss ein Appr. Alg. mit Güte c eine

Rundreise der Länge

c·k

liefern.

[Minimierungsproblem, c > 1]

Knapsack: Falls (g,w) eine Lösung mit Wert w erlaubt, muss ein

Approx. Algo mit Güte

c

eine Lösung mit Wert

c·w

liefern.

[Maximierungsproblem, c < 1]

TSP := { 〈G,w,k〉 | (G,w) enth. einen Hamiltonkreis mit Gewicht k }

(2)

Martin Ziegler

Complexity Theory

Approximationsalgorithmus für Knotenüberdeckung (VC)

Lemma: (i) Die Knoten eines nicht erweiterbaren Matchings M bilden eine Knotenüberdeckung.

(ii) Diese ist höchstens doppelt so groß wie eine minimale.

Eine Knotenüberdeckung in G ist eine Menge AV, so

dass jede Kante in E mindestens einen Endpunkt in A hat.

VC := { 〈G,k〉 | G hat Knotenüberdeckung der Größe k }

Ein Matching in G=(V,E) ist eine Teilmenge M von E, in der keine zwei Kanten einen gemeinsamen Knoten enthalten.

Beispiele für Matchings:

a) nicht erweiterbar (Gr. 2) b) maximal (Größe 4)

Greedy Algorithmus für nicht erweiterbares Matching approximiert VertexCover in Laufzeit O(|E|) mit Güte 2.

Insbes. die Kanten des Matchings müssen überdeckt sein

(3)

Martin Ziegler 48

Complexity Theory

Eingabe: w : V×V→ symmetr. Kantengewichtsfunktion Gesucht: Rundreise (Permut. π von V) mit min. Gewicht MTSP Einschränkung: w erfülle Dreiecksungleichung:

w(a,c) w(a,b) + w(b,c) für alle a,b,cV.

Entscheidungsproblem MTSP bleibt NP-vollständig!

Polynom. Approximationsalgorithmus mit Güte 2:

• Berechne Minimalen Spannbaum T in (G,w).

2. Starte bei bel. Knoten, durchlaufe T in Tiefensuche

Approximationsalgorithmus für das metrische TSP

TSP := { 〈G,w,k〉 | (G,w) enth. einen Hamiltonkreis mit Gewicht k }

ETSP zusätzl. Einschränkung: V2 , w(a,b) := ||a-b||2 ist NP-schwer. Liegt in NP? → Dissertation Prof. Blömer

Wurzel links rechts

(4)

Martin Ziegler

Complexity Theory

Beispielinstanz

MTSP

1. Berechne Minimalen Spannbaum T

2. Zähle Knoten von T in Tiefensuche (W, L, R) auf

H*

H

(5)

Martin Ziegler

Complexity Theory

Beweis des Approximationsfaktors 2

Sei F die Folge der in Tiefensuche durchlaufenen Kanten, H die ausgegebene Tour, H* eine optimale Tour.

Für Kanten e1,…,ek schreibe L(e1,…,ek) := w(e1)+…+w(ek).

(i) L(T) L(H*), da wir aus H* durch Entfernen irgendeiner

Kante einen Spannbaum mit Kosten L(H*) erzeugen können.

Weil in der Folge F jede Kante von T genau zwei Mal auftaucht:

(ii) L(F) = 2·L(T)

Wegen Dreiecksungl.:

(iii) L(H) L(F)

w erfülle 3ecksungleichung, T sei Minimaler Spannbaum.

Algorithmus zählt die Knoten von T in Tiefensuche auf.

L(H) L(F) =

2·L(T) 2·L(H*) T, F H*H

(6)

Martin Ziegler 51

Complexity Theory

Grenzen der Approximierbarkeit

Satz: Falls P NP gilt,

gibt es kein polynom. Approx.Algo für TSP mit konstanter Güte.

Beweis: Wir nehmen an, es gäbe einen polynomiellen Approxi- mationsalgorithmus A für TSP mit konstanter Güte c und

entwickeln daraus einen polynomiellen Algorithmus B für HC.

Da letzteres NP-vollständig ist, folgt P=NP: Widerspruch.

Algorithmus B, Eingabe Graph G=(V,E), n:=|V|.

Definiere w(u,v) := 1falls {u,v}E;

w(u,v) := n·c falls {u,v}E.

〈G〉HC w enthält Hamiltonkreis mit Gewicht n

Algo A findet einen mit Gewicht n·c

〈G〉HC Jeder Hamiltonkreis von w hat Gewicht n·c+n-1>n·c HC := { 〈G〉 | G enthält einen Hamiltonkreis }

TSP := { 〈G,w,k〉 | (G,w) enth. einen Hamiltonkreis mit Gewicht k } keine 3ecks-

Ungleichung!

(7)

Martin Ziegler

Complexity Theory

Knapsack als

Maximierungsproblem

Gegeben: Werte und Gewichte w1,…,wn,g1,…,gnsowie Gewichtsschranke g.

Gesucht: eine Teilmenge S{1,…,n} mit

pS gpg, die

pS wp maximiert.

Algorithmische Idee: Dynamische Programmierung

Für S{1,…,n} sei gew(S):=∑j∈S gj , wert(S):=∑p∈S wp .

(8)

Martin Ziegler

Complexity Theory

Für S{1,…,n}: gew(S) :=

pS gp , wert(S):=

pS wp

Knapsack als

Minimierungsproblem

Lemma: i) W = max { w | Gn(w)g } ii) Gj(w) = 0 für w≤0

iii) G0(w) = für w>0

iv) Gj(w) = min

{

Gj-1(w) , gj + Gj-1(w-wj)

}

Gn(1) ≤ Gn(2) ≤ Gn(3) …

Gn(w) g < Gn(w+1) a) Suche S mit gew(S)g, das wert(S) maximiert: W b) Suche S mit wert(S)w, das gew(S) minimiert: G Sei Gj(w) := min

{

gew(S) | S⊆{1,…,j}, wert(S)w

}

kleinstmögliches Gewicht, mit dem unter den ersten j Objekten Wert mindestens w erzielt werden kann.

Falls kein solches S existiert, sei Fj(w):=∞.

(9)

Martin Ziegler 54

Complexity Theory

Exakter Algo für Knapsack

Lemma iv) G

j

(w) = min { G

j-1

(w) , g

j

+ G

j-1

(w-w

j

) }

G

n

(1) ≤ G

n

(2) ≤ G

n

(3) ≤ … ≤ G

n

(w) g < G

n

(w+1)

LET w:=0.

WHILE Gn(w)g DO BEGIN

w := w + 1

FOR j:=1…n DO

Gj(w) := min

{

Gj-1(w) , gj + Gj-1(w-wj)

}

END PRINT w-1

Laufzeit O(n· opt ·n)

Eingabegröße ≈

j

log

2

(w

j

) + log

2

(g

j

)

opt bis zu

j

w

j

Suche S mit gew(S)g, das wert(S) maximiert

polynomiell nur für

„viele kleine“ Pakete

(10)

Martin Ziegler 55

Complexity Theory

Approximationsschema

für Knapsack

Skalierungsmethode: Fixiere k und setze wj' := wj /k

Berechne

opt

' := k · MaxKnap(g,g1,…,gn,w1',…,wn') und J' mittels ExactKnapsack in Zeit

poly(n)· W/k

. Dann

MaxKnap(g,w) = max{ ∑

jJ

w

j

: J{1..n}, ∑

jJ

g

j

g }

Lemma a) Für 0vj gilt: MaxKnap(g,w) ≤ MaxKnap(g,w+v) b) und für vj≤ℓ: MaxKnap(g,w+v) ≤ MaxKnap(g,w) + n·ℓ

c) sowie MaxKnap(g,k·w)

= k · MaxKnap(g,w)

Setze nun k := ε·W/n.

opt-n·k

> MaxKnap(g,w-k)

= MaxKnap(g, w/k·k) opt ≥ opt

'

opt·(1-n·k/W) oBdA g

j

gW ≤ opt ≤ n·W

w/k·k w < w/k·k+k

max

j

w

j

=: W

(11)

Martin Ziegler 56

Complexity Theory

Nicht-/Approximierbarkeit

• VC kann in P mit Güte 2 approximiert werden,

• ebenso MTSP: mit Güte 2

• Knapsack ∈ NP kann in P mit Güte

(1- ε ) approximiert werden für beliebiges ε >0.

• Ebenso SubsetSum als Spezialfall mit w

i

=g

i

;

Reduktion 3SAT≼≼≼≼

pSubsetSum benutzte große Zahlen!

• TSP erlaubt in P keine Approx. mit konst. Güte

• Kann CLIQUE trivial mit Güte n approximieren;

• aber in P ≠ NP nicht mit Güte O(n

1-ε

)

für beliebiges ε >0 (Johan Håstad 1996)

Referenzen

ÄHNLICHE DOKUMENTE

Keywords - CFCs, H-CFCs, trichlorofluoromethane, R11, dichlorofluoromethane, R21, chlorofluoromethane, R31, difluoromethane, R32, chlorodifluoromethane, R22, vinyl chlonde,

Lemma: (i) Die Knoten eines nicht erweiterbaren Matchings M bilden eine Knotenüberdeckung.. (ii) Diese ist höchstens doppelt so groß wie

(Siehe auch Abbildung auf der nächsten Seite neben der Angabe von Aufgabe 25.) Bemerkung zu Aufgabe 22: Selbige geht auf den Zahnarzt und Hobbymathematiker Leon BANKHOFF

1b706) Nachdem Beata und Sabrina von Carola und Karina von dem alten N INTENDO -Gerät erfahren haben, eilen sie an Ort und Stelle, um dort gegeneinander im Sequel Mario Bros.

Symmetrie von Ableitungen: Beweisen oder widerlegen Sie: Die Ableitung eines gera- den (symmetrischen) Polynoms ist ein ungerades (antisymmetrisches) Polynom und um-

Ein Matching in einem Graphen ist eine Teilmenge M der Kanten, sodass jeder Knoten End- punkt höchstens einer Kante in M ist.. Die Größe eines Matchings ist die Anzahl

Lass mich eine halbe Stufe höher stehen 18.. Streiche

hLi und I enthalten dieselben Monome und sind daher gleich.. Kryptanalyse II - V11 Dicksons Lemma, Gröbnerbasis, Hilbert Basissatz 90