10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte...

Preview:

Citation preview

11.04.23 Kapitel 1 1

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

11.04.23 Kapitel 1 2

Notation

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

(a)A hat bei Eingabe I eine absolute Güte von A(I) = |A(I) – OPT(I)|

(b) Die absolute worst-case Güte von A ist die Funktion A

wc(n) = max { A(I) | ID, |I| n}

(c)Sei A:IN IN eine Funktion. A garantiert eine absolute Güte von A(n) falls für alle n gilt: A

wc(n) A(n).11.04.23 Kapitel 1 3

Notation

2.1 Definition (Forsetzung):

(d) Sei ´A:IN IN eine Funktion. A hat eine absolute Abweichung von ´A(n), falls für unendlich viele n gilt ´A(n) A

wc(n).Eine unendlich große Menge D´, D´D, heißt ´A(n)-Zeugenmenge gegen A, wenn für alle ID´ gilt: A(I) ´A(|I|). Eine solche Eingabe nennen wir dann einen ´A(n)-Zeugen.

11.04.23 Kapitel 1 4

Notation

Ziele:

• Finde Approximationsalgorithmen mit möglichst kleiner absoluter Güte.

• Zeige (asymptotisch) übereinstimmende Werte für die absolute Güte und absolute Abweichung.

11.04.23 Kapitel 1 5

Graphfärbbarkeit

• G=(V,E): ungerichteter Graph

• Für uV ist G(u) = { v | {u,v}E} die Menge der Nachbarn von u und degG(u) = |G(u)| der Grad von u.

• Der Grad von G ist (G) = max {degG(u) | uV}

11.04.23 Kapitel 1 6

u

Graphfärbbarkeit

• G heißt r-regulär, wenn degG(v)=r für alle Knoten vV.

• Wenn aus dem Zusammenhang klar wird, welcher Graph gemeint ist, lassen wir den Index G weg.

11.04.23 Kapitel 1 7

Graphfärbung

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

(a)Eine Abbildung cV:VIN heißt Knotenfärbung von G, falls für alle {u,v}E gilt: cV(u)cV(v).

11.04.23 Kapitel 1 8

Graphfärbung

2.2 Definition (Fortsetzung):

(b) Eine Abbildung cE:EIN 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}).

11.04.23 Kapitel 1 9

u

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:VIN bzw. cE:EIN als Färbung bezeich-net. Die beiden Begriffe aus Definition 2.2 werden dann als korrekte Färbungen bezeichnet.

Es ergeben sich folgende Optimierungsprobleme:

11.04.23 Kapitel 1 10

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 | cE ist Kantenfärbung von G}

• f(cV) = |cV(V)| bzw. f(cE) = |cE(E)| • min11.04.23 Kapitel 1 11

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 k3.)• Ist der Graph G mit (G) Farben kantenfärb-

bar?

11.04.23 Kapitel 1 12

Graphfärbung

2.4 Bemerkung:(a)Es gibt Graphen G, die mindestens (G)

+1 Farben zur Knotenfärbung benötigen.(b)Es gibt Graphen G, die mindestens (G)

+1 Farben zur Kantenfärbung benötigen.(c)Es sind nie mehr als (G)+1 Farben

nötig.

11.04.23 Kapitel 1 13

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 do cV(ui) := min(IN \ {cV((ui))})gib cV aus

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

11.04.23 Kapitel 1 14

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.

11.04.23 Kapitel 1 15

Knotenfärbung

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

Beweis:• Da wir annehmen, dass G mindestens

eine Kante enthält, ist OPT(G) 2.• Also ist

GreedyCol(G) = GreedyCol(G) – OPT(G) (G)+1-2 = (G)-1

11.04.23 Kapitel 1 16

Knotenfärbung

Ist die Schranke in Satz 2.6 bestmöglich?Betrachte folgenden Graph G:

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

11.04.23 Kapitel 1 17

u1

u2

u3

u4

u5

u6

u7

u8

Knotenfärbung

Worin liegt das Scheitern von GreedyCol?Reihenfolge der Knoten war ungünstig.

Dann GreedyCol(G) = 2

11.04.23 Kapitel 1 18

u1 u2 u3 u4

u5 u6 u7 u8

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!

11.04.23 Kapitel 1 19

Knotenfärbung

• Algorithmenklasse zu GreedyCol:

Algorithmus GreedyCol_Var:for (alle Knoten u) do cV(u):=while (es gibt Knoten u mit cV(u):=) do cV(u) := min(IN \ {cV((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.

11.04.23 Kapitel 1 20

Knotenfärbung

• Ein Graph G=(V,E) heißt planar, wenn man ihn kreuzungsfrei in die Ebene (bzw. Kugel) einbetten kann.

• Beispiel:

11.04.23 Kapitel 1 21

Facette

Knotenfärbung

• Graphen, die nicht kreuzungsfrei in die Ebene eingebettet werden können:

11.04.23 Kapitel 1 22

K5 K3,3

Knotenfärbung

2.7 Fakt:(a)Jeder planare Graph kann in Polynomialzeit

mit 5 Farben knotengefärbt werden.(b)[4-Farben-Satz] Jeder planare Graph kann

mit 4 Farben knotengefärbt werden.(c)Das Entscheidungsproblem „Ist der planare

Graph G knoten-3-färbbar?“ ist NP-hart.(d)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.

11.04.23 Kapitel 1 23

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.

11.04.23 Kapitel 1 24

Knotenfärbung

2.8 Satz: ColPlan garantiert eine absolute Güte von ColPlan(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.

11.04.23 Kapitel 1 25

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.

11.04.23 Kapitel 1 26

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.

11.04.23 Kapitel 1 27

Knotenfärbung

2.10 Lemma: Sei G=(V,E) ein planarer und zusammenhängender Graph mit n3 Knoten und e Kanten. Dann gilt:(a) e 3n-6 und(b) vV (6-deg(v)) 12

Beweis von (a):• Sei F die Menge der Facetten.• Für jedes gF 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 gF d(g) 3f• Einsetzen in die Eulersche Formel liefert die Behauptung.

11.04.23 Kapitel 1 28

Knotenfärbung

Beweis von (b):

• Beachte, dass vV deg(v) = 2e ist.

• Also gilt wegen (a):vV (6-deg(v)) = 6n-2e 6n-2(3n-6) = 12

Lemma 2.10 hat zwei wichtige Konsequenzen.

11.04.23 Kapitel 1 29

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>35-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 vV (6-deg(v)) 0 ist, ein Widerspruch zu Lemma 2.10 (b).

11.04.23 Kapitel 1 30

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}

11.04.23 Kapitel 1 31

Knotenfärbung

• Fall 2: v hat Grad 5. Seien x1,..., x5 seine Nachbarn.

• Da G keinen K5 enthält, gibt es zwei Nachbarn xi und xj, die nicht über eine Kante verbunden sind.

11.04.23 Kapitel 1 32

x1 x2 x3 x4 x5

v

Knotenfärbung

• Betrachte nun den Graphen G´=(V´,E´) mitV´= V \ {v,xi} undE´= (E \ {e | ve oder xie}) { {t, xj} | t(xi)}

11.04.23 Kapitel 1 33

x1 x2 x3 x4 x5

v

xjxi

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 xj gleich gefärbt sind, da xi und xj nicht 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.11.04.23 Kapitel 1 34

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.11.04.23 Kapitel 1 35

x1 x2 x3 x4 x5

v

xi xj

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 vV: deg(v)4 then G´:=G-v c:=PlanarCol(G´) c(v):=min({1,...,5} \ {c(w) : w(v)}) return celse // kein Knoten mit Grad 4

11.04.23 Kapitel 1 36

Knotenfärbung

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

Die Laufzeit von PlanarCol ist polynomiell.

11.04.23 Kapitel 1 37

Kantenfärbung

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

Beweis:• Mindestens (G) Farben: klar • Höchstens (G)+1 Farben: Beweis über

Algorithmus, der höchstens (G)+1 Farben benötigt

• Farbe c fehlt 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 (G)+1 Farben

11.04.23 Kapitel 1 38

Kantenfärbung

2.15 Lemma: Sei G kantengefärbt mit Farben 1,...,(G)+1 und seien u und v Knoten mit {u,v}E und deg(u),deg(v) < (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

11.04.23 Kapitel 1 39

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}E mit vi{v1,..., vi-1} do ci+1:=eine an vi fehlende Farbe i:=i+1

11.04.23 Kapitel 1 40

Kantenfärbung

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

11.04.23 Kapitel 1 41

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1s

Kantenfärbung

(a)Es gibt keine zu u inzidente Kante mit Farbe ch+1.

(b)Es gibt eine Kante {u,vj} mit cj=ch+1. 11.04.23 Kapitel 1 42

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

Kantenfärbung

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

11.04.23 Kapitel 1 43

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

c2

c3

c4c5

ch+1

c1

Kantenfärbung

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

11.04.23 Kapitel 1 44

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

Kantenfärbung

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

11.04.23 Kapitel 1 45

u

v1

v2

v3vj

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1=cj

vc1

c2

c3

c4

c1

Kantenfärbung

• 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

11.04.23 Kapitel 1 46

u

v1

v2

v3

vh

c2

c3

c4

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

Kantenfärbung

• 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)

11.04.23 Kapitel 1 47

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Kantenfärbung

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

11.04.23 Kapitel 1 48

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Kantenfärbung

(b1) u und vj liegen in verschiedenen ZHKs

(b2) u und vh liegen in verschiedenen ZHKs

11.04.23 Kapitel 1 49

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Kantenfärbung

(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.

11.04.23 Kapitel 1 50

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

c4

c4

s

c1

s

Kantenfärbung

(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.

11.04.23 Kapitel 1 51

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4c5c4

s

c1

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}E G´:=G\{u,v} FärbeKanten(G´) if (G´)<(G) then färbe {u,v} mit verfügbarer Farbe in {1,...,(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

11.04.23 Kapitel 1 52

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.

11.04.23 Kapitel 1 53

Übersicht

• Notation

• Graphfärbbarkeit

• Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique

11.04.23 Kapitel 1 54

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 PNP ist, gibt es keine Konstante kIN, so dass es einen polyno-miellen Approximationsalgorithmus A für das Rucksackproblem gibt mit

|A(I)-OPT(I)| k.11.04.23 Kapitel 1 55

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.

11.04.23 Kapitel 1 56

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(I) sind:

fI() = w p(w)fI´() = w (k+1)p(w) = (k+1)fI()

• Also ist OPT für I auch OPT für I´11.04.23 Kapitel 1 57

Rucksackproblem

• Wir stellen uns die Lösungen ansteigend nach ihren Werten angeordnet vor

• D.h. S(I)={1,...,|S(I)|} mit fI(i) fI(i+1) für alle i

• Sei j der Index mit fI(j-1)<OPT(I) und fI(j)=OPT(I). Dann ist

fI(j)-fI(j-1) 1d.h. fI´(j)-fI´(j-1) = (k+1) (fI(j)-fI(j-1)) > k

11.04.23 Kapitel 1 58

Rucksackproblem

• Verwende nun den folgenden Algo A´:1. berechne die Instanz I´2. bestimme mittels A eine Lösung für I´3. gib A´ = aus

• A´ läuft offensichtlich in polynomieller Zeit• Nach Annahme über A gilt OPT(I´)-fI´() k• Da es für I´ keine Lösungen mit OPT(I´)-fI

´() k außer einem OPT gibt, gibt A´ immer die optimale Lösung aus Widerspruch! (zur Annahme, dass Rucksack NP-hart ist)

11.04.23 Kapitel 1 59

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?

11.04.23 Kapitel 1 60

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

11.04.23 Kapitel 1 61

Maximale Clique

2.18 Satz: Falls PNP ist, gibt es keine Konstante kIN, 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 mIN.

11.04.23 Kapitel 1 62

Maximale Clique

• Seien G1=(V1,E1),...,Gm=(Vm,Em) Kopien von G• Wir bauen daraus den Graph Gm=(Vm,Em) mit

Vm := i=1 m Vi undEm := i=1 m Ei {{v,w} | vVi und wVj für ein ij}

• Beispiel für G2:

11.04.23 Kapitel 1 63

Maximale Clique

• Ist nun C eine Clique in Gm mit n=|C| Knoten, dann ist für jedes im die Menge Ci:=CVi eine 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 mn Knoten hat

• D.h. mOPT(G) = OPT(Gm)11.04.23 Kapitel 1 64

Maximale Clique

• Angenommen, es existiert ein kIN und ein Approximationsalgorithmus A mit

|A(G)-OPT(G)| k• Betrachte dann den folgenden Algo A´:

1. Konstruiere Gk+1

2. Finde eine Clique C in Gk+1 mit A3. Partitioniere C in C1,...,Cm

4. t:=argmax{|C1|,...,|Cm|} 5. Gib Ct aus

11.04.23 Kapitel 1 65

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)-k

d.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)

11.04.23 Kapitel 1 66

Traveling Salesperson

Zur Erinnerung: Im Traveling Salesperson Problem (TSP) haben wir Instanzen der Form (Kn,c), wobei Kn der vollständige Graph auf n Knoten ist und c:EIN 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?

11.04.23 Kapitel 1 67

Färbungsprobleme

Warum erlaubt das Kantenfärbungsproblem keine Amplifikation?

11.04.23 Kapitel 1 68

11.04.23 Kapitel 1 69

Fragen?

Recommended