• Keine Ergebnisse gefunden

Komplexit¨ at von Problemen

N/A
N/A
Protected

Academic year: 2022

Aktie "Komplexit¨ at von Problemen"

Copied!
76
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Approximationsalgorithmen

Jan Johannsen

Vorlesung im Sommersemester 2007

(2)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Einordnung

Algorithmik

I Entwurf und

I Analyse vonAlgorithmen

Komplexit¨atstheorie

I Analyse der Komplexit¨at vonProblemen

I Einteilung inKlassen¨ahnlicher Komplexit¨at

I Untersuchung der Struktur der Klassen

(3)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Analyse von Algorithmen

Analyse des Verbrauchs an Ressourcen

I Zeit

I Speicher

I . . .

Abh¨angig von der Gr¨oße des Input

I Komplexit¨at imworst case

Asymptotische Analyse – vernachl¨assigt

I konstante Faktoren

I endliche Anfangsst¨ucke

(4)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Komplexit¨ at von Problemen

Obere Schranken

I durch Angabe eines Algorithmus

I und dessen Analyse

Untere Schranken

I durch Analyse des Problems

I Beweis, dass jeder effizientere Algorithmus versagt

Beispiel:Sortieren

I HeapSort, MergeSort brauchenO(nlogn)Vergleiche

I untere Schranke:Ω(nlogn)Vergleiche

I Komplexit¨at:Θ(nlogn)

(5)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Problemtypen

Problem: Erreichbarkeit

Instanz: GraphG, Eckens,t. L¨osung: Weg vons nach t.

Entscheidung: Gibt es einen Weg von snach t ? Suche: Finde einen Weg von s nacht.

Optimierung: Finde einen k¨urzesten Weg vonsnach t.

Z¨ahlen: Bestimme dieAnzahlder Wege vons nacht.

(6)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Optimierungsprobleme

Eigenschaften:

I mehrere potentielle L¨osungen zu jedem Input

I mit Kosten- / Nutzenmaß versehen

I gesucht: L¨osung mit minimalen Kosten / maximalem Nutzen

Beispiele:

I k¨urzeste Wege

I Travelling Salesperson

I Scheduling

I . . .

(7)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Approximation

Viele Optimierungsprobleme sind NP-schwer

I effizienter Algorithmus nur, wenn P=NP

I nur exponentielle Algorithmen zuroptimalenL¨osung

Deshalb:Approximationsalgorithmen

I effizient

I liefern eine nicht notwendig optimale L¨osung

I Abweichung vom Optimum a priori abzusch¨atzen

(8)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Approximierbarkeit

NP-schwere Optimierungsprobleme unterscheiden sich bzgl. ihrerApproximierbarkeit:

I es gibt beliebig gute Approximationsalgorithmen

I es gibt Approximationsalgorithmen einer gewissen G¨ute, aber keine besseren.

I es gibt ¨uberhaupt keine guten Approximationsalgorithmen

Ziele:

I Methoden zum Entwurf

I Grundlagen zur Untersuchung dieser Unterschiede

(9)

Approximations- algorithmen

Einf¨uhrung

Grundlagen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Ubersicht ¨

Einf¨uhrung Grundlagen

Methoden zum Entwurf von Approximationsalgorithmen Approximationsklassen

Reduktion und Vollst¨andigkeit

(10)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Ubersicht ¨

Einf¨uhrung Grundlagen

Komplexit¨at von Entscheidungsproblemen Optimierungsprobleme

Komplexit¨at von Optimierungsproblemen

Methoden zum Entwurf von Approximationsalgorithmen Approximationsklassen

Reduktion und Vollst¨andigkeit

(11)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Komplexit¨ atsklassen

Entscheidungsproblem ist gegeben durch:

I Menge von InstanzenI

I Teilmenge der positiven InstanzenY ⊆I Beispiel:SAT

I ISAT = Formeln in KNF

I YSAT = erf¨ullbare Formeln Formel in KNF F =C1. . .Cm

Klausel C=a1. . .ak Literal a=x odera=¬x. Komplexit¨atsklassen

P⊆NP⊆PSPACE⊆EXP

(12)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

NP als Verifikation von L¨ osungen

ProblemP ist in NP gdw.

I es gibt MengeWP, ProblemQ∈P und Polynomq()mit

I IQ sind Paare(x,w)mitx∈IP,w ∈WP und|w|≤q(|x|)

I ∀x ∈IP : x ∈YP ↔ ∃w ∈WP : (x,w)∈YQ

Beispiel:SAT

I WSAT = Bewertung der Variablen

I (F, α)∈YR gdw.αerf¨ullt F

(13)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Reduktion

Funktionf reduziertP auf Q, wenn

I f :IP→IQ in polynomieller Zeit berechenbar

I f¨ur allex ∈IP istx ∈YP ↔f(x)∈YQ

P≤mQ falls es eine Reduktionf vonP auf Q gibt.

Eigenschaft:

Ist Q∈P undP≤mQ, dann auchP∈P.

(14)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Vollst¨ andigkeit

Definition:

I ProblemP ist NP-schwer, fallsQ≤mP f¨ur alleQ∈NP.

I P ist NP-vollst¨andig, falls Q∈NP und NP-schwer.

Q NP-vollst¨andig ⇒ Q ∈P gdw. P=NP

Satz (Cook)

SAT ist NP-vollst¨andig.

Problem 3-SAT: Jede KlauselC=a1a2a3

Satz (Cook)

3-SAT ist NP-vollst¨andig.

(15)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Lineare Programmierung

ProblemILP (Integer Linear Programming)

Instanz: MengeI von linearen Ungleichungen ¨uberZ in Variablenz1, . . . ,zn

Frage: Gibt es eine L¨osung vonI inZ

d.h., Zuweisung von Wertenz1, . . . ,zn∈Z so dass UngleichungenI gelten.

Satz

ILP ist NP-vollst¨andig.

ProblemLP:

Wie ILP, aber gesucht sind L¨osungen inQ. Im Gegensatz zum obigen Satz istLP in P.

(16)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Graphenprobleme in NP

ProblemVC

Instanz: GraphG = (V,E), k∈N

Frage: Gibt es vertex coverU mit|U|≤k ? Vertex cover:U ⊆V mite∩U 6=∅ f¨ur allee∈E. ProblemClique

Instanz: GraphG = (V,E), k∈N Frage: Gibt es CliqueU mit|U|≥k ? Clique:U ⊆V mit{x,y}∈E f¨ur allex,y ∈U.

ProblemHC

Instanz: GraphG = (V,E)

Frage: Gibt es einen Hamilton-Kreis inG ?

Hamilton-Kreis: Kreis, der jedesv ∈V genau einmal besucht.

(17)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

NP-vollst¨ andige Graphenprobleme

Offensichtlich: VC,Clique,HC sind in NP.

Reduktionen (Karp)

I 3-SAT ≤mVC

I VC ≤mClique

I VC ≤mHC

Also: VC,Clique,HC sind NP-vollst¨andig.

(18)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Optimierungsprobleme

EinOptimierungsproblem ist gegeben durch:

I MengeI vonInstanzen.

I F¨ur jedesx ∈I eine MengeS(x)von potentiellenL¨osungen.

I Funktionm, die jedem(x,y)mitx∈I undy∈S(x) einMaßm(x,y)zuordnet.

I Ziel goal∈{min,max}.

Eine L¨osungy∈S(x)heißtoptimal, wenn

m(x,y) =m(x) :=goal{m(x,y) ; y ∈S(x)} S(x) :={y∈S(x) ; m(x,y) =m(x)}

(19)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Beispiele

Minimum Path

Instanz: ungerichteter GraphG = (V,E), Eckens,t L¨osung: Weg vons nacht

Maß: L¨ange des Weges Minimum Vertex Cover

Instanz: ungerichteter GraphG = (V,E) L¨osung: vertex coverU ⊆V

Maß: |U| Maximum Clique

Instanz: ungerichteter GraphG = (V,E) L¨osung: CliqueU⊆V

Maß: |U|

(20)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Problemvarianten

Zu einem Optimierungsproblem Psind definiert:

konstruktives Problem PC: Gegeben x∈I, finde y∈S(x).

Auswertungsproblem PE: Gegeben x∈I, berechne m(x).

Entscheidungsproblem PD: Gegeben x∈I undk ∈N, ist goal(m(x),k) =m(x)?

Beispiele:

P =Minimum Vertex Cover PD = VC.

P =Maximum Clique PD =Clique

(21)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Die Klassen NPO und PO

Ein Optimierungsproblem ist in der Klasse NPO, falls 1. I ist in P.

2. f¨urx∈I undy ∈S(x)ist|y|≤q(|x|)

3. f¨urx,y mit|y|≤q(|x|)ist die Frage “y∈S(x)?” in P 4. mist in polynomieller Zeit berechenbar.

Eigenschaft: P in NPO =⇒ PD in NP

P∈NPO ist in der Klasse PO, falls

das konstruktive Problem PC in polynomieller Zeit l¨osbar ist.

Analog: Pin PO =⇒ PD in P

(22)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Turing-Reduktion

Eine Turing-Reduktion vonP aufQ ist

I Algorithmus, derP l¨ost

I benutzt Subroutine zur L¨osung vonQ

I Laufzeit des Algorithmusohne Subroutine ist polynomiell P≤T Q falls eine Turing-Reduktion vonPauf Q gibt.

Eigenschaft:

Ist Q∈P undP≤T Q, dann auchP∈P.

(23)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Relationen zwischen Problemvarianten

Offensichtlich: PDT PET PC

Fakt

F¨ur alle Optimierungsprobleme P∈NPO ist PET PD. Beweis:

Da|m(x,y)|≤p(|x|)f¨ur alley∈S(x), istm(x)<2p(|x|) bin¨are Suche findet m(x)in ZeitO(p(|x|).

(24)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Relationen zwischen Problemvarianten

Beispiel

F¨urP=Maximum CliqueistPCT PE. F¨urG= (V,E)definiere

I N(v) :={u∈V; {u,v}∈E}

I G(v): induzierter Teilgraph auf{v}∪N(v)

I G(v): induzierter Teilgraph aufN(v) Algorithmus:

MaxClique(G)

k:=Maximum CliqueE(G) if k =1 then return any v ∈V

finde v∈V mitMaximum CliqueE(G(v)) =k return{v}∪MaxClique(G(v))

(25)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Relationen zwischen Problemvarianten

ObPCT PD allgemein gilt, ist unbekannt.

Satz

PCT PD gilt, falls PD NP-vollst¨andig ist.

(26)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

NP-schwere Optimierungsprobleme

Definition

ProblemP in NPO ist NP-schwer, fallsQ≤T PC f¨ur alleQ ∈NP.

Eigenschaft:

PD NP-vollst¨andig =⇒ P ist NP-schwer.

P6=NP =⇒ PO6=NPO

(27)

Approximations- algorithmen

Einf¨uhrung Grundlagen Komplexit¨at Optimierung Komplexit¨at von Op- timierungsproblemen Methoden zum Entwurf Approximationsklassen Reduktion und Vollst¨andigkeit

Ein NP-schweres Problem

Minimum Traveling Salesperson Instanz: nSt¨adtec1, . . . ,cn,

DistanzmatrixD∈Nn×n

L¨osung: Tour: Permutation ci1, . . . ,cin der St¨adte

Maß: Kosten

Xn−1 k=1

D(ik,ik+1) +D(in,i1)

Satz: Minimum Traveling Salespersonist NP-schwer.

(28)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Ubersicht ¨

Einf¨uhrung Grundlagen

Methoden zum Entwurf von Approximationsalgorithmen Greedy-Algorithmen

Sequentielle Algorithmen Lokale Suche

Lineare Programmierung Dynamische Programmierung Approximationsklassen

Reduktion und Vollst¨andigkeit

(29)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Greedy-Algorithmen

Geeignet, wenn L¨osungMengevon Objekten

I L¨osung wird schrittweise aufgebaut

I in jedem Schritt wird ein Element aufgenommen

I Greedy-Strategie: w¨ahle in jedem Schritt so, dass Profit maximiert wird.

Liefert optimale L¨osung, wennMatroid-struktur

In anderen F¨allen: approximative L¨osung.

(30)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Das Spannbaum-Problem

F¨urG= (V,E)istT ⊆E einSpannbaum, wenn (V,T)zusammenh¨angendund azyklischist.

Minimum Spanning Tree

Instanz: zusammenh¨angender GraphG = (V,E), Kantengewichtew :E→N

L¨osung: SpannbaumT ⊆E Maß: Gesamtgewicht X

e∈T

w(e)

(31)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Ein klassischer Greedy-Algorithmus

Satz

Minimum Spanning Tree ist in PO.

Dies zeigt beispielsweise der Greedy-Algorithmus vonKruskal:

sortiereE ={e1, . . . ,em}so dassw(e1)≤w(e2)≤. . .≤w(en) T :=∅

for i=1 to n do let ei={xi,yi}

ifxi inT nicht mityi verbunden thenT :=T ∪{ei}

(32)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Das Rucksackproblem

Maximum Knapsack

Instanz: MengeX ={x1, . . . ,xn},

f¨ur jedesxi∈X: Gewichtai∈N Wert pi ∈N Kapazit¨atb∈N

L¨osung: TeilmengeY ⊆X mit X

xi∈Y

ai≤b Maß: Gesamtwert X

xi∈Y

pi

(33)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Greedy Algorithmus f¨ ur Maximum Knapsack

AlgorithmusGreedy Knapsack:

input X,~p,~a,b sortiereX so dass p1

a1

≥p2 a2

≥ · · · ≥ pn an

Y :=∅

for i:=1 to n do if ai ≤b then

Y :=Y ∪{xi} b:=b−ai return Y

(34)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Analyse von Greedy Knapsack

Satz

F¨ur jedes k∈Ngibt es Instanzen vonMaximum Knapsackmit:

ist mGreedyder Wert der L¨osung, die Greedy Knapsack findet, und mder optimale Wert, so gilt: m≥k·mGreedy.

Beweis: Betrachte die Instanz mit

I X ={x1, . . . ,xn+1}

I pi=ai =1 f¨uri≤n

I an+1=b=kn+1

I pn+1=b−1

Dann istm=b−1=kn, abermGreedy=n.

(35)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Verbesserter Algorithmus f¨ ur Maximum Knapsack

Seiµdasjenigei mitpi =max{pj,j≤n}. Algorithmus:

Berechne L¨osungY mitGreedy Knapsack ifm(Y)<pµ

thenY :={xµ} returnY

Satz

Sei mA(x)der Wert der vom Algorithmus berechneten L¨osung.

Dann gilt: m(x)<2mA(x).

(36)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Greedy Algorithmus f¨ ur Handlungsreisende

AlgorithmusNearest Neighbor: W¨ahle ci1 beliebig

F¨ur1≤k ≤n−1:

w¨ahle als cik+1 ein cj ∈/{ci1, . . . ,cik} mit D(cik,cj)minimal.

Minimum Metric Traveling Salesperson:

Spezialfall vonMinimum Traveling Salesperson, wo gilt:

Symmetrie: D(i,j) =D(j,i)

Dreiecksungleichung: D(i,j)≤D(i,k) +D(k,j)

(37)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Performance von Nearest Neighbor

Lemma: Seix eine Instanz vonMinimum Metric Traveling Salesperson, und`:{c1, . . . ,cn}→Qmit

D(i,j)≥min(`(ci), `(cj)) f¨ur alleci6=cj

`(ci)≤1

2m(x) f¨ur alleci Dann gilt:

Xn i=1

`(ci)≤ 1

2(dlogne+1)m(x).

Satz

Sei mNN(x)die L¨ange der vom Algorithmus Nearest Neighbor gefundenen Tour. Dann gilt:

mNN(x)≤1

2(dlogne+1)·m(x).

(38)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Sequentielle Algorithmen

Geeignet f¨ur Partitionierungsprobleme:

I L¨osung ist Partition einer gegebenen Menge.

Sequentieller Algorithmus:

I sortiert MengeX ={x1, . . . ,xn}

I baut PartitionP sequentiell auf:

P:=

{x1} fori:=2 ton

fallsxi zu einemp∈Pzugef¨ugt werden kann P:=P\

p ∪ p∪{xi} sonst

P:=P∪ {xi}

(39)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Ein Scheduling-Problem

Minimum Scheduling on Identical Machines Instanz: MengeT ={t1, . . . ,tn}von Auftr¨agen,

f¨ur jedesti ∈T: Dauer `i∈N Anzahlp∈Nvon Prozessoren

L¨osung: schedule: Funktionf :T →{1, . . . ,p} Maß: makespan: max

1≤i≤p

X

f(tj)=i

`j

(40)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

List Scheduling

Finish time: Ai(j) := X

k≤j f(tk)=i

`k

AlgorithmusList Scheduling: for j:=1 to n do

assign tj to processor i with Ai(j−1) minimal

Satz

F¨ur jede Instanz x findet List Scheduling eine L¨osung mit makespan mLS(x), so dass

mLS(x)≤(2− 1

p)·m(x).

(41)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Verbesserter Algorithmus

RegelLPT (largest processing time):

Sortiere T so dass `1≥`2≥. . .≥`n, dann List Scheduling.

Satz

F¨ur jede Instanz x liefert LPT eine L¨osung mit makespan mLPT(x)so dass

mLPT(x)≤(4 3− 1

3p)·m(x).

(42)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Ein Packungsproblem

Minimum Bin Packing

Instanz: Multimenge{a1, . . . ,an}⊂Qmit 0<ai ≤1.

L¨osung: PartitionB1, . . . ,Bk vonA mit X

ai∈Bj

ai ≤1 f¨ur allej.

Maß: Anzahl der Bl¨ockek

(43)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Einfacher sequentieller Algorithmus f¨ ur Bin Packing

AlgorithmusNext Fit k :=1; B1:=∅ for i:=1 to n do

if ΣBk +ai ≤1

then Bk :=Bk ∪{ai} else k :=k+1; Bk :={ai}

Satz

F¨ur alle Instanzen x ist

mNext Fit(x)≤2m(x)

(44)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Etwas besserer Algorithmus

AlgorithmusFirst Fit k :=1; B1:=∅ for i:=1 to n do

flag := true for j :=1 to k do

if ΣBj+ai≤1 and flag

then Bj :=Bj∪{ai}; flag := false if flag then k :=k+1; Bk :={ai}

Satz

F¨ur alle Instanzen x ist

mFirst Fit(x)≤1.7m(x) +2

(45)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Verbesserung durch Sortieren

AlgorithmusFirst Fit Decreasing

SortiereAso dassa1≥a2≥. . .≥an, dann wendeFirst Fit an.

Satz

F¨ur alle Instanzen x ist mFFD(x)≤ 3

2m(x) +1.

OptimaleSchranke: mFFD(x)≤11

9 m(x) +4.

Nachteil: Algorithmus istoffline,

d.h. arbeitet erst, wenn gesamter Input gelesen.

(46)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

F¨ arbungen von Graphen

Definition: EineF¨arbungeines Graphen G = (V,E)ist χ:V →{1, . . . ,k}mit

{u,v}∈E ⇒ χ(u)6=χ(v).

Minimum Coloring

Instanz: ungerichteter GraphG = (V,E) L¨osung: F¨arbungχ:V →{1, . . . ,k}

Maß: k

(47)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Sequentielles F¨ arben von Graphen

for i:=1 to n χ(vi) :=mink ∈/

χ(u) ;u∈N(vi)∩{v1, . . . ,vi−1}

Satz

Sei k die Anzahl der Farben, die der sequentielle Algorithmus bei Reihenfolge v1,v2, . . . ,vn verwendet. Dann ist

k ≤ max

1≤i≤nmin(degvi,i−1).

Reihenfolge, die dies minimiert:

Decreasing Degree: degv1≥degv2≥. . .≥degvn.

(48)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Bessere Reihenfolge

Smallest Last: vi hat minimalen Grad im induzierten Subgraphen auf{v1. . .vi}.

Satz

Smallest Last f¨arbt jeden planarenGraphen mit≤6Farben.

Beweis benutzt denSatz von Euler:

In planaren Graphen G = (V,E)ist|E|≤3|V|−6.

(49)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Lokale Suche

Anfangsl¨osung F¨ur jedesx ∈I: y0(x)∈S(x) Nachbarschaftsstruktur F¨ur jedesy ∈S(x) N(x,y)⊆S(x)

AlgorithmusLocal Search y :=y0(x)

solange esy0∈N(x,y)mitm(x,y0)besser alsm(x,y)gibt setzey :=y0

Probleme:

I Wie findet man bessere Nachbarl¨osungen effizient?

I Wie gut ist ein lokales Optimum?

(50)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Beispiel f¨ ur Lokale Suche

ProblemMaximum Cut

Instanz: GraphG = (V,E)

L¨osung: PartitionV =V0∪V1mitV0∩V1=∅

Maß: Anzahl der Kanten{x,y}mitx∈V0 undy∈V1.

Anfangsl¨osung: (∅,V)

Nachbarn von(V0,V1): (V00,V10)mit

|V0|−|V00| =1

Satz

F¨ur ein lokales Maximum(V0,V1)in dieser Nachbarschafts- struktur mit Maß mN gilt mN12m.

(51)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Lineare Programmierung

Einlineares Programm ist Instanz des Optimierungsproblems:

Linear Programming

Instanz: A∈Rm×n, b∈Rm, c∈Rn L¨osung: x∈Rn mitAx ≥b undx≥~0 Maß: cTx

Notation:

minimize cTx subject to Ax≥b

x≥0

(52)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

LP-Algorithmen

Satz

Linear Programmingist in PO.

Algorithmen:

I Simplex (Dantzig, 1947)

in der Praxis gut, aber im worst case exponentiell

I Ellipsoid-Methoide (Khachiyan, 1979)

polynomiell, aber nicht praktisch anwendbar

I Interior-Point-Methode (Karmarkar, 1984) polynomiell, auch praktisch effizient

(53)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Aquivalente Varianten des Problems ¨

I Gleichungen und unbeschr¨ankte Variablen minimize cTx

subject to Ax≥b Ax=b

x1≥0, . . . ,xr ≥0

I nur Gleichungen minimize cTx subject to Ax=b

x≥0

I Maximierung

maximize cTx subject to Ax≤b

x≥0

(54)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Runden der L¨ osung eines linearen Programms

Integer Linear Programmingist NP-schwer viele Probleme in NPO darauf reduzierbar.

Idee:

I Lockern der Anforderung “ganzzahlig”

I lineares Programm — effizient l¨osbar

I optimale rationale L¨osung

I Runden liefert ganzzahlige L¨osung

I nicht otwendig optimal, aber oft gute Approximation

(55)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Vertex Cover mittels LP

Minimum Weighted Vertex Cover

Instanz: ungerichteter GraphG = (V,E), Gewichtci f¨urvi ∈V.

L¨osung: vertex coverU ⊆V

Maß: P

vi∈Uci Lineares ProgrammPVC:

minimize Pn i=1cixi

subject to xi+xj ≥1 f¨ur alle{vi,vj}∈E xi≥0

Optimale L¨osungx1, . . . ,xn vertex coverU :={vi;xi12}.

Satz

F¨ur das Maß mLP dieses vertex cover U gilt mLP ≤2m.

(56)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Dualit¨ at

m≤t wird durch L¨osungx mitcTx≤t bezeugt.

Frage:Wie kannm≥t bezeugt werden ? Beispiel:

minimize 7x1+x2+5x3

subject to x1−x2+3x3≥10 5x1+2x2−x3≥6 x1,x2,x3≥0 Koeffizientenvergleich zeigt:m≥10

7x1+x2+5x3≥x1−x2+3x3≥10 Besser:m≥16

7x1+x2+5x3≥x1−x2+3x3+5x1+2x2−x3≥16

duales Programm

(57)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Duales Programm

ProgrammP Duales PogrammD

UngleichungP

jai,jxj ≥bi Variableyi mityi≥0 GleichungP

jai,jxj=bi Variableyi Variablexj mitxj≥0 UngleichungP

iai,jyi ≤cj

Variablexj GleichungP

iai,jyi≤cj

minimizecTx maximizebTy

Dualit¨ atstheorem

F¨ur ProgrammP und dualesD gilt

I P hat optimale L¨osung gdw.D hat optimale L¨osung.

I Istx optimal f¨urPund y f¨urD, so istcTx=bTy.

(58)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Complementary Slackness Condition

Schwaches Dualit¨ atstheorem

F¨ur L¨osungenx f¨urP undy f¨urDgilt:

cTx ≥bTy

L¨osungen x f¨urP undy f¨urD sind optimal gdw. die folgenden Bedingungen gelten:

Primary complementary slackness condition (CSC) xj =0 oder X

i

ai,jyi =cj f¨ur allej Dual complementary slackness condition (CSC):

yi =0 oder X

j

ai,jxj=bi f¨ur allei

(59)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Primal-Dual-Schema

GegebenI ganzzahliges LP, seiD das duale Programm.

Halte zwei Vektoren:

I x potentielle L¨osung f¨urI

I y L¨osung f¨urD, nicht notwendig optimal.

x,y werden iterativ verbessert, bisx L¨osung vonI ist.

Dabei gilt stets die Primal CSC xj =0 oder P

iai,jyi=cj f¨ur allej und eine abgeschw¨achte Dual CSC

yi =0 oder P

jai,jxj≤α·bi f¨ur allei Algorithmus terminiert, wen x L¨osung vonI ist. Dann gilt:

P

jcjxj =P

j

P

iai,jyi xj =P

i

P

jai,jxj

yi ≤α·P

ibiyi≤αm

(60)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Primal-Dual Algorithmus f¨ ur Vertex Cover

Duales ProgrammDVC: maximize X

{vi,vj}∈E

yi,j

subject to X

j:{vi,vj}∈E

yi,j ≤ci (Ci) yi,j ≥0

Algorithmus:

~y:=0; U :=∅

whileU not a vertex cover find {vi,vj}not covered increaseyi,j

until (Ci) or (Cj) tight if (Ci) is tight then

U:=U∪{vi} else

U:=U∪{vj}

Satz

Der obige Algorithmus findet ein vertex cover mit Maß mPD derart dass mPD ≤2m.

(61)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Das Multicut-Problem

Minimum Multicut

Instanz: ungerichteter GraphG = (V,E), Kapazit¨atce f¨ure∈E,

Menge{(s1,t1), . . . ,(sk,tk)}⊆V×V mitsi 6=ti. L¨osung: SchnittC⊆E mit:

si undti in(V,E\C)nicht verbunden

Maß: P

e∈Cce

Satz

Minimum Multicutist NP-schwer. f¨ur B¨aume der H¨ohe 1.

Beweis: Reduktion vonVertex Cover.

(62)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Multicut in B¨ aumen

Seipi der eindeutige Pfad vonsi nachti inG

Lineares Programm:

minimize P

e∈Ecexe

subject to P

e∈pixe ≥1 f¨uri =1. . .k xe≥0

Bemerke: Es gibt L¨osungen, die besser sind als jeder Multicut.

(63)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Primal-Dual Algorithmus f¨ ur Minimum Multicut

Duales Programm:

maximize P

i≤kyi subject to P

i:pi3eyi ≤ci f¨ure∈E yi≥0

Interpretation: yi ist Fluss vonsi nachti.

Fall k=1: Dualit¨atstheorem =^ Max Flow - Min Cut

(64)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Complementary slackness conditions

Prim¨are CSC:

xe6=0 ⇒ X

i:pi3e

yi =ce f¨ur allee∈E d.h. nur Kanten ausgew¨ahlt, durch die maximaler Fluss geht.

Abgeschw¨achte duale CSC:

yi6=0 ⇒ X

e∈pi

xe≤2

d.h. auf Pfad mit Fluss>0 h¨ochstens zwei Kanten ausgew¨ahlt.

(65)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Der Algorithmus

W¨ahle einv ∈V als Wurzel

sortiereV ={v1, . . . ,vn}absteigend nach Tiefe y :=~0

C :=∅

f¨uri:=1, . . . ,n:

f¨ur jedesj mitlca(sj,tj) =vi

findee∈pj mitce−P

`y` minimal yj :=ce−P

`<iy`

f¨uge alle Kantene zuC hinzu, f¨ur die jetztP

`y`=ce seiC ={e1, . . . ,em}geordnet wie zugef¨ugt

f¨uri:=m, . . . ,1

fallsC\ {ej}Multicut ist C :=C\ {ej}

(66)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Analyse des Algorithmus

Lemma:Sei(si,ti)mityi >0, und seilca(sj,tj) =v.

Dann ist auf jedem der Pfade

I vonsi zu v

I vonv zuti

h¨ochstens eine Kante inC.

Satz

F¨ur den Wert mPD des gefundenen Multicut gilt mPD≤2m.

(67)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Dynamische Programmierung

I Zerlegungdes Problems in kleinere, gleichartige Teilprobleme.

I L¨osung ist zusammengesetzt aus den L¨osungen der Teilprobleme.

I Aber: Teilprobleme sind nicht unabh¨angig, sondern haben ihrerseitsgemeinsame Teilprobleme.

rekursives Divide-and-Conquer-Verfahren l¨ost dieselben Teilprobleme immer wieder.

L¨osung: Rekursion mitMemoisierung, oder besser:

Dynamische Programmierung:

Bottom-Up-Berechnung der L¨osungen gr¨oßerer Probleme aus denen kleinerer, die dabei in einerTabelle

gespeichert werden.

(68)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Beispiel: Matrizen-Kettenmultiplikation

Problem: nMatrizenM1, . . . ,Mn sollen multipliziert werden, wobeiMi∈Rni×ni+1

Aufwand h¨angt von der Klammerung ab.

BezeichneMi..j das ProduktMi·Mi+1·. . .·Mj,

undm[i,j]die minimale Zahl von Multiplikationen f¨urMi..j.

I Optimale Klammerung vonM1..n istM1..k·Mk+1..n, f¨ur optimale Klammerungen vonM1..k und Mk+1..n.

I Deshalb gilt:

m[i,j] =



0 fallsi=j

min

i≤k<jm[i,k] +m[k+1,j] +nink+1nj+1 sonst.

(69)

Approximations- algorithmen

Einf¨uhrung Grundlagen Methoden zum Entwurf

Greedy Sequentielle Algorithmen Lokale Suche Lineare Programmierung Dynamische Programmierung Approximationsklassen Reduktion und Vollst¨andigkeit

Teilproblemstruktur von Knapsack

Sei P:=Pn

i=1pi und A:=Pn i=1ai

Teilproblem Π(k,p)f¨urk ≤nundp≤P:

L¨osung: M⊆{x1, . . .xk}mitP

xi∈Mai≤b und P

xi∈Mpi =p Ziel: minimiereP

xi∈Mai

Definition

M(k,p)optimale L¨ousung vonΠ(k,p) S(k,p) :=P

xi∈M(k,p)ai

Referenzen

ÄHNLICHE DOKUMENTE

Beweis. i) Wenn es eine Boolesche Funktion f aus B gibt, die nicht durch einen Schaltkreis ¨ uber S berechnet werden kann, so ist S nach Definition nicht vollst¨ andig... ii) Es

ohne Vorgabe guter Startwerte, sind nichtlineare Probleme viel schwerer, da schon die Suche nach einem auch nur ann¨aherungsweise zul¨assigen Vektor einen in der Zahl seiner

ohne Vorgabe guter Startwerte, sind nichtlineare Probleme viel schwerer, da schon die Suche nach einem auch nur ann¨aherungsweise zul¨assigen Vektor einen in der Zahl seiner

3 z.B.. Im Beispiel 1.44 zeigte es sich, dass nach 3 Schritten keine neuen Resolventen mehr gebil- det werden k¨ onnen. Das n¨ achste Lemma zeigt, dass f¨ ur jede KNF-Formel

• Unter der Annahme, dass alle zu sortierenden Elemente eine feste L¨ ange haben, ist die Eingabel¨ ange proportional zur Anzahl der zu sortierenden Elemente.. • Eine Permutation

Wegen Lemma 6.3 gilt auf endlichen Transitionssystemen wieder, dass ϕ 3 folgendes ausdr¨uckt: Es gibt ein k ∈ N, so dass es einen Pfad der L¨ange k zu einem Zustand gibt, der

6+1P Bestimmen die die Komplexit¨ at (O-Notation) des (hypothetischen) Perfect-Quicksort-Algorithmus, der im folgenden Punkt vom Standard-Quicksort Algorithmus abweicht: Perfect

Sortieren Sie die Folge S mit dem in der Vorlesung bespriebenen LL-Quicksort-Algorithmus.. c) Bestimmen Sie eine m¨ oglichst kleine Anzahl von Rotationen, durch die B die Bedingung