methoden des algorithmenentwurfs kapitel 1 2 approximation mit absoluter g te n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte PowerPoint Presentation
Download Presentation
Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte

Loading in 2 Seconds...

play fullscreen
1 / 69

Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte - PowerPoint PPT Presentation


  • 115 Views
  • Uploaded on

Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte . Christian Scheideler SS 2009. Übersicht. Notation Graphfärbbarkeit Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique. Notation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte' - gomer


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
methoden des algorithmenentwurfs kapitel 1 2 approximation mit absoluter g te

Methoden des AlgorithmenentwurfsKapitel 1.2: Approximation mit absoluter Güte

Christian Scheideler

SS 2009

Kapitel 1

bersicht
Übersicht
  • Notation
  • Graphfärbbarkeit
  • Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique

Kapitel 1

notation
Notation

2.1 Definition: Sei P ein Optimierungsproblem und A ein Approximationsalgorithmus für P.

  • A hat bei Eingabe I eine absolute Güte vonkA(I) = |A(I) – OPT(I)|
  • Die absolute worst-case Güte von A ist die FunktionkAwc(n) = max { kA(I) | ID, |I|  n}
  • Sei kA:IN  IN eine Funktion. Agarantiert eine absolute Güte von kA(n) falls für alle n gilt: kAwc(n)  kA(n).

Kapitel 1

notation1
Notation

2.1 Definition (Forsetzung):

(d) Sei k´A:IN  IN eine Funktion. A hat eine absolute Abweichung von k´A(n), falls für unendlich viele n giltk´A(n) kAwc(n).Eine unendlich große Menge D´, D´D, heißt k´A(n)-Zeugenmenge gegen A, wenn für alle ID´ gilt: kA(I)  k´A(|I|). Eine solche Eingabe nennen wir dann einen k´A(n)-Zeugen.

Kapitel 1

notation2
Notation

Ziele:

  • Finde Approximationsalgorithmen mit möglichst kleiner absoluter Güte.
  • Zeige (asymptotisch) übereinstimmende Werte für die absolute Güte und absolute Abweichung.

Kapitel 1

graphf rbbarkeit
Graphfärbbarkeit
  • G=(V,E): ungerichteter Graph
  • Für uV ist GG(u) = { v | {u,v}E} die Menge der Nachbarn von u und degG(u) = |GG(u)| der Grad von u.
  • Der Grad von G ist D(G) = max {degG(u) | uV}

u

Kapitel 1

graphf rbbarkeit1
Graphfärbbarkeit
  • G heißt r-regulär, wenn degG(v)=r für alle Knoten vV.
  • Wenn aus dem Zusammenhang klar wird, welcher Graph gemeint ist, lassen wir den Index G weg.

Kapitel 1

graphf rbung
Graphfärbung

2.2 Definition: Gegeben sei ein Graph G=(V,E).

  • Eine Abbildung cV:VIN heißt Knotenfärbung von G, falls für alle {u,v}E gilt: cV(u)cV(v).

Kapitel 1

graphf rbung1
Graphfärbung

2.2 Definition (Fortsetzung):

(b) Eine Abbildung cE:EIN heißt Kantenfärbung von G, falls für alle an einem Knoten u aufein- andertreffenden Kanten {u,v},{u,w}E gilt: cE({u,v})cE({u,w}).

u

Kapitel 1

graphf rbung2
Graphfärbung
  • cV(u) und cE({u,v}) werden in diesem Zusam-menhang auch Farben genannt. |cV(V)| bzw. |cE(E)| ist die Anzahl der benutzten Farben.
  • Oft wird auch eine beliebige Abbildung cV:VIN bzw. cE:EIN als Färbung bezeich-net. Die beiden Begriffe aus Definition 2.2 werden dann als korrekte Färbungen bezeichnet.

Es ergeben sich folgende Optimierungsprobleme:

Kapitel 1

graphf rbung3
Graphfärbung

2.3 Definition: Das Knoten- bzw. Kantenfär-bungsproblem ist charakterisiert durch

  • D = { G | G=(V,E) ist ein ungerichteter Graph mit nichtleerem V und E }.
  • S(G) = {cV | cV ist Knotenfärbung von G} bzw. S(G) = {cE | cEist Kantenfärbung von G}
  • f(cV) = |cV(V)| bzw. f(cE) = |cE(E)|
  • min

Kapitel 1

graphf rbung4
Graphfärbung

Kleinstmögliche Farbanzahl:

  • Knotenfärbung: chromatische Zahl (G)
  • Kantenfärbung: chromatischer Index ´(G)

Die folgenden Probleme sind NP-hart:

  • Ist der Graph G mit k Farben knotenfärbbar? (Sofern k3.)
  • Ist der Graph G mit D(G) Farben kantenfärb-bar?

Kapitel 1

graphf rbung5
Graphfärbung

2.4 Bemerkung:

  • Es gibt Graphen G, die mindestens D(G)+1 Farben zur Knotenfärbung benötigen.
  • Es gibt Graphen G, die mindestens D(G)+1 Farben zur Kantenfärbung benötigen.
  • Es sind nie mehr als D(G)+1 Farben nötig.

Kapitel 1

knotenf rbung
Knotenfärbung
  • Gegeben: Graph G=(V,E) mit V={u1,...,un}
  • Betrachte folgenden Algorithmus:Algorithmus GreedyCol:for i:=1 to n do cV(ui):=for i:=1 to n docV(ui) := min(IN \ {cV(G(ui))})gib cV aus

2.5 Satz: GreedyCol berechnet in Zeit O(|V|+|E|) eine Knotenfärbung aus höchstens D(G)+1 Farben.

Kapitel 1

knotenf rbung1
Knotenfärbung

Beweis:

Laufzeit: 

Obere Schranke für Anzahl der Farben:

  • Für jedes ui können höchstens deg(ui) der Farben verbraucht sein.
  • ui kann also Farbe aus der Menge {1,...,deg(ui)+1} wählen.

Kapitel 1

knotenf rbung2
Knotenfärbung

2.6 Satz: Algorithmus GreedyCol garantiert eine absolute Güte vonkGreedyCol(G) = D(G)-1

Beweis:

  • Da wir annehmen, dass G mindestens eine Kante enthält, ist OPT(G)  2.
  • Also istkGreedyCol(G) = GreedyCol(G) – OPT(G)  D(G)+1-2 = D(G)-1

Kapitel 1

knotenf rbung3
Knotenfärbung

Ist die Schranke in Satz 2.6 bestmöglich?

Betrachte folgenden Graph G:

GreedyCol(G) = D(G)+1, aber OPT(G)=2

u1

u3

u5

u7

u2

u4

u6

u8

Kapitel 1

knotenf rbung4
Knotenfärbung

Worin liegt das Scheitern von GreedyCol?

Reihenfolge der Knoten war ungünstig.

Dann GreedyCol(G) = 2

u1

u2

u3

u4

u5

u6

u7

u8

Kapitel 1

knotenf rbung5
Knotenfärbung
  • Tatsächlich gibt es für jeden Graphen eine Reihenfolge der Knoten, so dass GreedyCol optimal ist.Beweis: Übung
  • Diese Reihenfolge zu finden ist leider hart!

Kapitel 1

knotenf rbung6
Knotenfärbung
  • Algorithmenklasse zu GreedyCol:Algorithmus GreedyCol_Var:for (alle Knoten u) do cV(u):=while (es gibt Knoten u mit cV(u):=) docV(u) := min(IN \ {cV(G(u))})gib cV aus
  • Absolute Güte von GreedyCol_Var ist dieselbe wie GreedyCol, da der Nachweis reicht, dass ein schlechter Graph und eine schlechte Reihenfolge der Knoten im Algorithmus existiert.

Kapitel 1

knotenf rbung7
Knotenfärbung
  • Ein Graph G=(V,E) heißt planar, wenn man ihn kreuzungsfrei in die Ebene (bzw. Kugel) einbetten kann.
  • Beispiel:

Facette

Kapitel 1

knotenf rbung8
Knotenfärbung
  • Graphen, die nicht kreuzungsfrei in die Ebene eingebettet werden können:

K5

K3,3

Kapitel 1

knotenf rbung9
Knotenfärbung

2.7 Fakt:

  • Jeder planare Graph kann in Polynomialzeit mit 5 Farben knotengefärbt werden.
  • [4-Farben-Satz] Jeder planare Graph kann mit 4 Farben knotengefärbt werden.
  • Das Entscheidungsproblem „Ist der planare Graph G knoten-3-färbbar?“ ist NP-hart.
  • Es kann in Polynomialzeit entschieden werden, ob ein Graph G knoten-2-färbbar ist und, falls ja, dann kann eine solche Färbung berechnet werden.

Kapitel 1

knotenf rbung10
Knotenfärbung
  • Der Beweis des 4-Farben-Satzes kann in einen Algorithmus zur Konstruktion einer Knoten-4-Färbung mit Laufzeit O(|V|2) umgewandelt werden.
  • Wir begnügen uns mit Knoten-5-Färbung.Betrachte zunächst den folgenden Algorithmus:Algorithmus ColPlan:(1) Teste gemäß Fakt 2.7 (d), ob G knoten-2- färbbar ist. Falls ja, färbe ihn mit 2 Farben.(2) Falls nicht, dann färbe die Knoten gemäß Fakt 2.7 (a) mit 5 Farben.

Kapitel 1

knotenf rbung11
Knotenfärbung

2.8 Satz: ColPlan garantiert eine absolute Güte von kColPlan(G)  2.

  • Würden wir den Algorithmus vom 4-Farben-Satz verwenden, könnten wir eine absolute Güte von 1 erreichen.
  • Für die 5-Färbung brauchen wir zunächst einige Aussagen über planare Graphen.

Kapitel 1

knotenf rbung12
Knotenfärbung

2.9 Satz (Eulersche Polyederformel): Sei G ein planarer und zusammenhängender Graph mit n Knoten, e Kanten und f Facetten. Dann gilt n+f-e=2.

Beweis:

  • Wir beweisen den Satz per Induktion über die Anzahl der Facetten.
  • f=1: dann muss G ein Baum sein, d.h. e=n-1, und es folgt n+f-e=2.

Kapitel 1

knotenf rbung13
Knotenfärbung
  • Sei nun f  2. Dann ist G kein Baum.
  • Es gibt also Kreis entlang der Kanten {v1,v2},{v2,v3},...,{vk,v1}E in G.
  • Löschen wir eine Kante {vi,vi+1} aus diesem Kreis, so erhalten wir einen Graphen mit f-1 Facetten.
  • Nach Induktionsvoraussetzung gilt n+(f-1)-(e-1) = 2 und damit n+f-e = 2.

Kapitel 1

knotenf rbung14
Knotenfärbung

2.10 Lemma: Sei G=(V,E) ein planarer und zusammenhängender Graph mit n3 Knoten und e Kanten. Dann gilt:

    • e  3n-6 und
    • SvV (6-deg(v))  12

Beweis von (a):

  • Sei F die Menge der Facetten.
  • Für jedes gF sei d(g) die Anzahl der Kanten, aus denen g besteht.
  • Da |V|3 und G zusammenhängend ist, gilt d(g)3 für jede Facette g.
  • Da jede Kante maximal zwei Facetten begrenzt, gilt 2e SgF d(g)  3f
  • Einsetzen in die Eulersche Formel liefert die Behauptung.

Kapitel 1

knotenf rbung15
Knotenfärbung

Beweis von (b):

  • Beachte, dass SvV deg(v) = 2e ist.
  • Also gilt wegen (a):SvV (6-deg(v)) = 6n-2e 6n-2(3n-6) = 12

Lemma 2.10 hat zwei wichtige Konsequenzen.

Kapitel 1

knotenf rbung16
Knotenfärbung

2.11 Korollar: Jeder Graph, der K5 als Teilgraph enthält, ist nicht planar.

Beweis: K5 hat 5 Knoten und 10 Kanten. Da 10>35-6=9 ist, folgt die Behauptung aus Lemma 2.10 (a).

2.12 Korollar: Jeder planare zusammenhängende Graph G=(V,E) hat einen Knoten v mit deg(v)5.

Beweis:

Angenommen, alle Knoten hätten Grad 6. Dann folgt, dass SvV (6-deg(v))  0 ist, ein Widerspruch zu Lemma 2.10 (b).

Kapitel 1

knotenf rbung17
Knotenfärbung

2.13 Satz: Jeder planare Graph G=(V,E) ist 5-färbbar.

Beweis:

  • Wir beweisen den Satz durch Induktion über die Anzahl der Knoten.
  • Anfang: Für |V|5 ist Satz 2.13 trivial.
  • Induktionsschritt: Sei |V|>5.
  • Nach Korollar 2.12 besitzt G Knoten v mit Grad maximal 5.
  • Fall 1:v hat Grad <5. 5-färbe G-v (nach Induktion möglich) und dann v mit beliebiger freier Farbe in {1,...,5}

Kapitel 1

knotenf rbung18
Knotenfärbung
  • Fall 2:v hat Grad 5. Seien x1,..., x5seine Nachbarn.
  • Da G keinen K5 enthält, gibt es zwei Nachbarn xi und xj, die nicht über eine Kante verbunden sind.

x1

x2

x3

x4

x5

v

Kapitel 1

knotenf rbung19
Knotenfärbung
  • Betrachte nun den Graphen G´=(V´,E´) mitV´= V \ {v,xi} undE´= (E \ {e | ve oder xie})  { {t, xj} | tG(xi)}

xi

xj

x1

x2

x3

x4

x5

v

Kapitel 1

knotenf rbung20
Knotenfärbung
  • Nach der Induktionsvoraussetzung existiert eine 5-Färbung für G´
  • Das induziert eine Färbung für G-v, in der die Knoten xi und xjgleich gefärbt sind, da xi und xjnicht durch eine Kante verbunden sind.
  • v´s Nachbarn verwenden also höchstens 4 Farben, so dass v eine Farbe aus {1,...,5} wählen kann.
  • Es bleibt zu zeigen: G´ ist planar.

Kapitel 1

knotenf rbung21
Knotenfärbung

Behauptung: G´ ist planar.

  • Wir müssen die Kanten, die in G in xi enden, geschickt in xj enden lassen, ohne dass es zu Kantenkreuzungen kommt.
  • Da G planar ist, gibt es ein Gebiet A, das nur von den Kanten von v, xi und xj geschnitten wird.
  • Wir haben also genügend Platz, um Kanten nach xi nach xj fortzusetzen.

x1

x2

x3

x4

x5

xi

xj

v

Kapitel 1

knotenf rbung22
Knotenfärbung

Daraus ergibt sich folgender Algorithmus:

Algorithmus PlanarCol:if |V|5 then for i:=1 to |V| do c(vi):=i return celse if vV: deg(v)4 thenG´:=G-vc:=PlanarCol(G´)c(v):=min({1,...,5} \ {c(w) : wG(v)}) return celse // kein Knoten mit Grad 4

Kapitel 1

knotenf rbung23
Knotenfärbung

else // kein Knoten mit Grad 4 wähle vV mit deg(v)=5 undxi,xjG(v) mit {xi,xj}EG´:=(V \{v, xi}),(E\...(s.o.)...))c:=PlanarCol(G´)c(xi):=c(xj) c(v):=min({1,...,5} \ {c(w) : wG(v)}) return c

Die Laufzeit von PlanarCol ist polynomiell.

Kapitel 1

kantenf rbung
Kantenfärbung

2.14 Satz: Jeder Graph G braucht mindestens D(G) und höchstens D(G)+1 Farben für eine Kantenfärbung.

Beweis:

  • Mindestens D(G) Farben: klar
  • Höchstens D(G)+1 Farben: Beweis über Algorithmus, der höchstens D(G)+1 Farben benötigt
  • Farbe cfehlt an Knoten v, falls keine der Kanten von v Farbe c besitzt
  • Für jede (partielle) Kantenfärbung fehlt an jedem Knoten mindestens eine der D(G)+1 Farben

Kapitel 1

kantenf rbung1
Kantenfärbung

2.15 Lemma: Sei G kantengefärbt mit Farben 1,...,D(G)+1 und seien u und v Knoten mit {u,v}E und deg(u),deg(v) < D(G). Dann kann G so umgefärbt werden, dass an u und v dieselbe Farbe fehlt.

Beweis:

  • An u fehle Farbe s, an v Farbe c1
  • Wir sorgen dafür, dass c1 auch an u fehlt

Kapitel 1

kantenf rbung2
Kantenfärbung
  • Betrachte den folgenden Algorithmus, der eine Folge (v1,...,vh) von Nachbarn von u und eine Farbfolge (c1,...,ch+1) generiert mit: {u,vi} ist mit ci gefärbt und an vi fehlt ci+1.i:=1while es gibt mit ci gefärbte Kante {u,vi}Emit vi{v1,..., vi-1} doci+1:=eine an vi fehlende Farbei:=i+1

Kapitel 1

kantenf rbung3
Kantenfärbung

c4

c5

c3

  • Da nur Nachbarn von u betrachtet werden, wird while-Schleife höchstens (D(G)-1)-mal durchlaufen. Zwei Fälle für ch+1.

c2

.....

ch+1

c4

c3

v

v

v

v

v

c2

h

4

3

2

1

c1

ch

c1

s

u

v

Kapitel 1

kantenf rbung4
Kantenfärbung

c4

c5

c3

  • Es gibt keine zu u inzidente Kante mit Farbe ch+1.
  • Es gibt eine Kante {u,vj} mit cj=ch+1.

c2

.....

ch+1

c4

c3

v

v

v

v

v

c2

h

4

3

2

1

c1

ch

c1

u

v

Kapitel 1

kantenf rbung5
Kantenfärbung

c4

c5

c3

  • Es gibt keine zu u inzidente Kante mit Farbe ch+1:Verschiebe Farben, damit c1 bei u fehlt

c2

.....

ch+1

c5

c4

c4

c3

v

v

v

v

v

c2

c3

1

4

h

3

2

c1

c2

ch+1

ch

c1

c1

u

v

Kapitel 1

kantenf rbung6
Kantenfärbung

c4

c5

c3

(b) Es gibt eine Kante {u,vj} mit cj=ch+1:Etwas komplizierter...

c2

.....

ch+1

c4

c3

v

v

v

v

v

c2

h

4

3

2

1

c1

ch

c1

u

v

Kapitel 1

kantenf rbung7
Kantenfärbung

c4

c5

c3

  • Zuerst führen wir Farbverschiebung wie in (a) für v1,..,vj-1durch und entfärben {u,vj}. Dadurch fehlt c1 wieder bei u.

c2

.....

ch+1=cj

c4

c3

c4

v

v

v

v

v

c3

c2

2

3

1

h

j

c2

c1

ch

c1

c1

u

v

Kapitel 1

kantenf rbung8
Kantenfärbung

s

c5

  • Wir müssen {u,vj} färben.
  • Betrachte Teilgraph H(s,ch+1) von G, der nur aus Kanten mit Farben s und ch+1 besteht

s

.....

ch+1=cj

c4

v

v

v

v

v

c3

h

3

2

j

1

s

c2

ch

c1

s, c1

u

v

Kapitel 1

kantenf rbung9
Kantenfärbung

s

c5

  • H(s,ch+1) besteht nur aus Kreisen und Pfaden, da jeder Knoten max. Grad 2 hat
  • u, vj und vh haben max. Grad 1 in H(s,ch+1)

s

.....

ch+1=cj

c4

v

v

v

v

v

c3

1

2

h

j

3

s

c2

ch

c1

s, c1

u

v

Kapitel 1

kantenf rbung10
Kantenfärbung

s

c5

  • u, vj und vh können also nicht alle in derselben Zusammenhangskomponente in H(s,ch+1) sein. Wir betrachten 2 Fälle.

s

.....

ch+1=cj

c4

v

v

v

v

v

c3

1

2

h

j

3

s

c2

ch

c1

s, c1

u

v

Kapitel 1

kantenf rbung11
Kantenfärbung

s

c5

(b1) u und vj liegen in verschiedenen ZHKs

(b2) u und vh liegen in verschiedenen ZHKs

s

.....

ch+1=cj

c4

v

v

v

v

v

c3

1

2

h

j

3

s

c2

ch

c1

s, c1

u

v

Kapitel 1

kantenf rbung12
Kantenfärbung

s

c5

(b1) u und vj liegen in verschiedenen ZHKs:Vertausche Farben s und ch+1 in ZHK von vj. Dann fehlt Farbe s bei vj und u.

s

c4

.....

ch+1=cj

c4

v

v

v

v

v

s

c3

j

1

h

3

2

s

c2

ch

c1

s, c1

c1

u

v

Kapitel 1

kantenf rbung13
Kantenfärbung

s

c5

(b2) u und vh liegen in verschiedenen ZHKs:Verschiebe Farben von {u,vh},...,{u,vj+1} nach {u,vh-1},...{u,vj}. Dadurch haben wir Fall (b1) für {u,vh}, da {u,vh} ungefärbt.

s

.....

ch+1=cj

c4

v

v

v

v

v

c5

c3

1

j

2

3

h

s

c4

c2

ch

s

c1

s, c1

c1

u

v

Kapitel 1

kantenf rbung14
Kantenfärbung
  • Mit Lemma 2.15 können wir nun einfach Satz 2.14 mit folgendem Algo beweisen:Algorithmus FärbeKanten(G=(V,E))if |E|=then returnelse wähle eine beliebige Kante {u,v}EG´:=G\{u,v} FärbeKanten(G´) if D(G´)<D(G) then färbe {u,v} mit verfügbarer Farbe in {1,...,D(G)+1} else färbe G´ gemäß Lemma 2.15 um, so dass an u und v dieselbe Farbe c fehlt, und färbe dann {u,v} mit c

Kapitel 1

kantenf rbung15
Kantenfärbung

2.16 Satz: Algorithmus FärbeKanten kann in Zeit O(|V||E|) ausgeführt werden und garantiert absolute Güte 1.

Eine Güte 0 ist nicht in poly Zeit erreichbar. Selbst die Frage, ob ein 3-regulärer Graph mit 3 Farben kantengefärbt werden kann, ist NP-hart.

Kapitel 1

bersicht1
Übersicht
  • Notation
  • Graphfärbbarkeit
  • Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique

Kapitel 1

rucksackproblem
Rucksackproblem

Für viele Probleme gibt es keinen Polynomial-zeit-Algorithmus, der eine konstante Güte erreichen kann. Eines davon ist das Rucksackproblem.

2.17 Satz: Falls PNP ist, gibt es keine Konstante kIN, so dass es einen polyno-miellen Approximationsalgorithmus A für das Rucksackproblem gibt mit

|A(I)-OPT(I)|  k.

Kapitel 1

rucksackproblem1
Rucksackproblem
  • Wir nehmen an, dass es ein k und Algo A gibt.
  • Damit wollen wir zeigen, dass es dann sogar einen exakten Algorithmus A´ mit polynomieller Laufzeit für das Rucksack-problem gibt.
  • Das ist aber nicht möglich (es sei denn, P=NP), da das Rucksackproblem NP-hart ist.

Kapitel 1

rucksackproblem2
Rucksackproblem
  • Sei I=<W,vol,p,B> Instanz des Rucksack-problems
  • Betrachte I´=<W´,vol´,p´,B´> mit W´=W, vol´=vol, B´=B und p´(w)=(k+1)p(w).
  • Offensichtlich ist S(I)=S(I´)
  • Die Werte von sS(I) sind:fI(s) = Sws p(w) fI´(s) = Sws (k+1)p(w) = (k+1)fI(s)
  • Also ist sOPT für I auch sOPT für I´

Kapitel 1

rucksackproblem3
Rucksackproblem
  • Wir stellen uns die Lösungen ansteigend nach ihren Werten angeordnet vor
  • D.h. S(I)={s1,...,s|S(I)|} mit fI(si)  fI(si+1) für alle i
  • Sei j der Index mit fI(sj-1)<OPT(I) und fI(sj)=OPT(I). Dann istfI(sj)-fI(sj-1)  1d.h. fI´(sj)-fI´(sj-1) = (k+1) (fI(sj)-fI(sj-1)) > k

Kapitel 1

rucksackproblem4
Rucksackproblem
  • Verwende nun den folgenden Algo A´:1. berechne die Instanz I´2. bestimme mittels A eine Lösung s für I´3. gib sA´ = saus
  • A´ läuft offensichtlich in polynomieller Zeit
  • Nach Annahme über A gilt OPT(I´)-fI´(s)  k
  • Da es für I´ keine Lösungen s mit OPT(I´)-fI´(s)  k außer einem sOPT gibt, gibt A´ immer die optimale Lösung aus  Widerspruch! (zur Annahme, dass Rucksack NP-hart ist)

Kapitel 1

rucksackproblem5
Rucksackproblem
  • Die im Beweis angewandte Technik, um die Lücke zum Optimalwert zu vergrößern, wird auch Scaling oder Gap Amplification genannt. Das ist generell immer anwendbar, wenn beliebige Zahlen in der Eingabe erlaubt sind.
  • Die Strategie, ein Problem auf sich selbst zu reduzieren, wird auch Selbstreduktion genannt.
  • Der Beweis klappt nicht nur für konstantes k.Wie hoch kann k gewählt werden?

Kapitel 1

maximale clique
Maximale Clique

Zur Erinnerung:

  • Clique = {(G,k) | G=(V,E) ist ein Graph, der einen vollständigen Teilgraphen aus mindestens k Knoten besitzt}
  • Das zugehörige Optimierungsproblem (finde Clique maximaler Größe) nennen wir MaxClique
  • MaxClique ist NP-hart. Wir beweisen nun, dass sich auch MaxClique nicht additiv approximieren lässt

Kapitel 1

maximale clique1
Maximale Clique

2.18 Satz: Falls PNP ist, gibt es keine Konstante kIN, so dass es einen polyno-miellen Approximationsalgorithmus A für MaxClique gibt mit |A(I)-OPT(I)|  k.

Beweis:

  • Wir führen wieder geeigenete Selbstreduk-tion durch
  • Sei G=(V,E) ein Graph und mIN.

Kapitel 1

maximale clique2
Maximale Clique
  • Seien G1=(V1,E1),...,Gm=(Vm,Em) Kopien von G
  • Wir bauen daraus den Graph Gm=(Vm,Em) mitVm:= i=1m ViundEm := i=1m Ei {{v,w} | vVi und wVj für ein ij}
  • Beispiel für G2:

Kapitel 1

maximale clique3
Maximale Clique
  • Ist nun C eine Clique in Gm mit n=|C| Knoten, dann ist für jedes im die Menge Ci:=CVieine Clique in Gi
  • Mit t:=argmax{|C1|,...,|Cm|} ist damit Ct eine Clique der Größe mindestens n/m
  • Aus obiger Aussage folgt, dass eine größte Clique in G genau dann n Knoten hat, wenn eine größte Clique in Gm genau mn Knoten hat
  • D.h. mOPT(G) = OPT(Gm)

Kapitel 1

maximale clique4
Maximale Clique
  • Angenommen, es existiert ein kIN und ein Approximationsalgorithmus A mit|A(G)-OPT(G)|  k
  • Betrachte dann den folgenden Algo A´:1. Konstruiere Gk+12. Finde eine Clique C in Gk+1 mit A3. Partitioniere C in C1,...,Cm4. t:=argmax{|C1|,...,|Cm|} 5. Gib Ct aus

Kapitel 1

maximale clique5
Maximale Clique
  • Nach Annahme über A giltA(Gk+1)  OPT(Gk+1)-k
  • Weiterhin ist A´(G)  A(Gk+1) / (k+1) und damit (k+1)A´(G)  OPT(Gk+1)-k
  • Da OPT(Gk+1) = (k+1)OPT(G) ist, folgt(k+1)A´(G)  (k+1)OPT(G)-kd.h. A´(G)  OPT(G) – k/(k+1)
  • Da k/(k+1)<1 ist und A´(G) nur ganzzahlige Werte annehmen kann, muss A´(G)=OPT(G) sein, ein Widerspruch! (zur Annahme, das MaxClique NP-hart ist)

Kapitel 1

traveling salesperson
Traveling Salesperson

Zur Erinnerung: Im Traveling Salesperson Problem (TSP) haben wir Instanzen der Form (Kn,c), wobeiKnder vollständige Graph auf n Knoten ist und c:EIN eine Kantengewichtsfunktion. Das Ziel ist es, einen Hamilton-Kreis in Kn mit minimalen Kosten zu finden.

Auch TSP kann nicht mit absoluter Güte k für jede Konstante k in poylnomieller Zeit approximiert werden. Wie beweist man das?

Kapitel 1

f rbungsprobleme
Färbungsprobleme

Warum erlaubt das Kantenfärbungsproblem keine Amplifikation?

Kapitel 1

fragen
Fragen?

Kapitel 1