Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2)...

82
Strikte lokale Suche Strikte lokale Suche 1 / 82

Transcript of Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2)...

Page 1: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Strikte lokale Suche

Strikte lokale Suche 1 / 82

Page 2: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche

Wir betrachten das allgemeine Minimierungsproblem

miny

f (x , y) so dass L(x , y).

Wir nehmen an, dass zu jeder Lösung y auch eine NachbarschaftN (y) „benachbarter“ Lösungen gegeben ist.

Die strikte lokale Suche:

(1) Sei y (0) eine Lösung für die Eingabe x . Setze i = 0.(2) Wiederhole solange, bis eine lokal optimale Lösung gefunden ist:

(2a) Bestimme einen Nachbarn y ∈ N (y (i)), so dass f (x , y) < f (x , y (i))und y eine Lösung ist.

(2b) Setze y (i+1) = y und i = i + 1.

Strikte lokale Suche 2 / 82

Page 3: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die k -Flip Nachbarschaft

Strikte lokale Suche 3 / 82

Page 4: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Implementierung der lokalen Suche (1/2)

Wie sind die Nachbarschaften N (y) zu definieren?I Wenn nur Elemente aus {0,1}n Lösungen sind, dann ist

Nk (y) = {y ′ ∈ {0,1}n | y und y ′ unterscheiden sich inin höchstens k Positionen}

die k-Flip Nachbarschaft der Lösung y .I Die k -Flip Nachbarschaft besteht aus

(nk

)Elementen und ist für

große k zu groß. Deshalb wird häufig k = 1 oder k = 2 gewählt.

Mit welcher Anfangslösung y (0) soll begonnen werden?I Neben der zufälligen Wahl einer StartlösungI werden auch Heuristiken eingesetzt, um mit einer guten Lösung

y (0) zu beginnen.Achtung: y (0) darf nicht in der Nähe eines lokalen Minimums sein!

Strikte lokale Suche 4 / 82

Page 5: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Implementierung der lokalen Suche (2/2)

Mit welcher Nachbarlösung soll die Suche fortgesetzt werden?I Wenn die Nachbarschaft genügend klein ist, dann liegt die Wahl

eines Nachbarn mit kleinstem Zielfunktionswert nahe.I Bei zu großen Nachbarschaften wählt man häufig benachbarte

Lösungen mit Hilfe einer Heuristik, bzw. man wählt zufällig einekleine Menge von Nachbarn.

Die große Schwäche der lokalen Suche:Nur Abwärtsbewegungen sind erlaubt.

Kurz über lang fällt eine Lösung in ein lokales Minimum mit großerSogwirkung.Auswege:

I Im Metropolis Algorithmus und in Simulated Annealing werdenauch Aufwärtsbewegungen erlaubt.

I Die lokale Suche in variabler Tiefe erlaubt ebenfallsVerschlechterungen.

Strikte lokale Suche 5 / 82

Page 6: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Erfolgreiche lokale Suchalgorithmen

Strikte lokale Suche Beispiele 6 / 82

Page 7: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Matroide

Der Greedy-Algorithmus für Matroide ist ein lokaler Suchalgorithmus,der aber stets einen besten Nachbarn bestimmt.

Strikte lokale Suche Beispiele 7 / 82

Page 8: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Beispiel: Der Simplex Algorithmus

Der Lösungsraum des linearen Programmierproblems

min cT · y , so dass A · y > b und y > 0

ist ein Durchschnitt von Halbräumen der Form {y | αT · y > β }.Deshalb wird das Optimum an einer „Ecke“ des Lösungsraumsangenommen.

Der Simplex-Algorithmus wandert solange von einer Ecke zueiner besseren, benachbarten Ecke, bis keine Verbesserungerreichbar ist.

Der Simplex-Algorithmus führt eine lokale Suche auf der Mengeder Ecken durch.

Strikte lokale Suche Beispiele 8 / 82

Page 9: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Beispiel: Minimierung reellwertiger Funktionen

Die Zielfunktion f : Rn → R des MinimierungsproblemsP = (min, f ,L) sei differenzierbar.Der Lösungsraum sei eine kompakte Teilmenge des Rn.Wenn wir uns gegenwärtig in der Lösung a ∈ Rn befinden:

I In welcher Richtung sollten wir nach besseren Lösungen suchen?I In der Richtung des negativen Gradienten! Ersetze a durch

a− η · ∇f (a)

für ein hinreichend kleines η.

Die Methode des GradientenabstiegsSei f : Rn → R eine zweimal im Punkt a ∈ Rn stetig differenzierbareFunktion mit ∇f (a) 6= 0. Dann gibt es ein η > 0 mit

f (a− η · ∇f (a)) < f (a),

wobei ∇f (a) der Gradient von f an der Stelle a ist.

Strikte lokale Suche Beispiele 9 / 82

Page 10: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Warum funktioniert der Gradientenabstieg?

Approximiere die Funktion f durch ihr lineares Taylor-Polynom:

f (a + z) = f (a) +∇f (a)T · z + O(zT · z).

gilt für hinreichend kleines z.Für z = −η · ∇f (a) bei hinreichend kleinem η > 0 ist

f (a− η · ∇f (a)) = f (a)− η · ||∇f (a)||2 + η2 ·O(||∇f (a)||2).

Für hinreichend kleines η < 1 wird somit f (a− η · ∇f (a)) kleinerals f (a) sein.

Strikte lokale Suche Beispiele 10 / 82

Page 11: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Gefahr schlechter lokaler Optima

Wir betrachten das Vertex Cover Problem für einen GraphenG = (V ,E).

I Die Nachbarschaft N (U) einer Teilmenge U ⊆ V besteht aus allenÜberdeckungen, die durch Hinzufügen oder Entfernen einesElementes aus der Überdeckung U entstehen.

Wir beginnen die lokale Suche mit der Lösung U = V undbetrachten einige Beispiele.

I Der Graph ohne Kanten: Die lokale Suche entfernt in jedemSchritt einen Knoten und findet die leere Menge.

I Der Sterngraph:F Wird im ersten Schritt das Sternzentrum entfernt, dann wird das

schlechte lokale Minimum der „Satelliten“ gefunden.F Ansonsten führt lokale Suche zwangsläufig auf das Sternzentrum.

I Der Weg 0→ 1→ 2→ · · · → n− 2→ n− 1: Für gerades n ist{0,2,4, . . . ,n − 2} optimal. Wie sehen die lokalen Minima aus?

Strikte lokale Suche Beispiele 11 / 82

Page 12: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Klasse PLS:Wann lassen sich lokale Minima effizient bestimmen?

Strikte lokale Suche PLS: Polynomielle Suchprobleme 12 / 82

Page 13: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Klasse PLS

Die Klasse PLS aller polynomiellen Suchprobleme besteht aus allenNP-Optimierungsproblemen (opt, f ,L) mit:

- Die Funktion f nimmt nur ganzzahlige Werte an.- Es gibt einen effizienten Algorithmus A, der für jede Instanz x0

eine Anfangslösung y0 berechnet.- Es gibt einen effizienten Algorithmus B, der für jede Instanz x0

und jede Lösung y mit L(x0, y) entscheidet, ob y ein lokalesMinimum ist.

Ist dies nicht der Fall, dann bestimmt B einen besseren Nachbarn.

Wir beschreiben das Suchproblem durch (opt, f ,L,A,B).

Strikte lokale Suche PLS: Polynomielle Suchprobleme 13 / 82

Page 14: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Minima lassen sich doch schnell bestimmen?!

Für jedes polynomielle Suchproblem (opt, f ,L,A,B) führe denfolgenden Standardalgorithmus aus:(1) Berechne y = A(x0).(2) Solange y kein lokales Optimum ist, setze y = B(x0, y).

Wenn f nur polynomiell w viele Werte annimmt, dann terminiertdas Suchverfahren nach höchstens w Schritten.Aber was passiert, wenn f extrem viele Werte annehmen kann?

Ist es in diesem Fall überhaupt möglich, irgendein lokalesOptimum effizient zu bestimmen?

Strikte lokale Suche PLS: Polynomielle Suchprobleme 14 / 82

Page 15: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Berechne ein bestimmtes oderirgendein lokales Optimum?

In den Übungen:

Wenn der Standardalgorithmus für alle Probleme in PLS effizientsimulierbar ist, dann ist das Erfüllbarkeitsproblem effizient lösbar.

I Die Bestimmung des vom Standardalgorithmus berechnetenlokalen Optimums ist im Allgemeinen „NP-hart“.

I Der Standard Algorithmus lässt sich nicht effizient simulieren.Angenommen, wir dürfen einen Algorithmus kostenfrei anwenden,der irgendein lokales Optimum bestimmt. Wenn dasErfüllbarkeitsproblem effizient lösbar ist, dann gilt NP = coNP.

I Die Bestimmung irgendeines lokalen Optimums isthochwahrscheinlich nicht „NP-hart“.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 15 / 82

Page 16: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Und nun?

Wie schwierig ist die Bestimmung irgendeines lokalen Optimums?- Gibt es schwierigste polynomielle Suchprobleme?- Wir führen einen Reduktionsbegriff ein.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 16 / 82

Page 17: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

PLS-vollständige Probleme

Strikte lokale Suche PLS: Polynomielle Suchprobleme 17 / 82

Page 18: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Schwierigste polynomielle Suchprobleme

- P1 = (opt1, f1,L1,A1,B1) und P2 = (opt2, f2, L2,A2,B2) sindpolynomielle Suchprobleme.

- P1 ist auf P2 PLS-reduzierbar (P1 6PLS P2), wenn es effizienteTransformationen Φ und Ψ gibt mit:(a) Wenn x eine Instanz von P1 ist, dann ist Φ(x) eine Instanz von P2.(b) Wenn y ein lokales Optimum für P2 und Instanz Φ(x) ist, dann ist

Ψ(x , y) ein lokales Optimum für P1 und Instanz x .

- P heißt PLS-vollständig, wenn P ein polynomielles Suchproblemist und wenn Q 6PLS P für jedes polynomielle Suchproblem Q gilt.

P sei PLS-vollständig.Wenn irgendein lokales Optimum für jede Instanz von P effizientberechnet werden kann, dann lassen sich (irgendwelche) lokaleOptima für alle polynomiellen Suchprobleme effizient bestimmen.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 18 / 82

Page 19: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MINIMUM BALANCED CUT

Für einen ungerichteten Graphen G = (V ,E) mit gewichteten Kantenbestimme eine Knotenmenge W ⊆ V mit |W | = 1

2 · |V |, so dass dasGewicht

f (W ) =∑

e∈E ,|{e}∩W |=1

gewicht(e)

kreuzender Kanten minimal ist.

Eine Anwendung: Der Entwurf von VLSI-Layouts.I Bestimme rekursiv Layouts für

(W , {e ∈ E | e ⊆W }) und (V \W , {e ∈ E | e ⊆ V \W }) .I Wenige kreuzende Kanten erlauben eine platz-sparende

Kombination der beiden Layouts.

Wähle die 2-Flip Nachbarschaft: Die Nachbarschaft N(W ) ist also

N(W ) = { U ⊆ V | |U| =|V |2

und |U ⊕W | = 2}.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 19 / 82

Page 20: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

PLS-vollständige Probleme (ohne Beweis)

Die folgenden polynomiellen Suchprobleme sind PLS-vollständig:(a) Die Bestimmung eines lokalen Minimums für TSP, wenn eine

Rundreise mit allen Rundreisen benachbart ist, die sich durcheinen Austausch von höchstens k Kanten ergeben. (DieKonstante k muss hinreichend groß gewählt werden.)

(b) Die Bestimmung eines lokalen Minimums für MINIMUMBALANCED CUT, wenn zwei Knotenmengen hälftiger Größegenau dann benachbart sind, wenn sie durch die Ersetzung einesKnotens auseinander hervorgehen.

(c) Die Bestimmung eines Nash-Gleichgewichts für CongestionSpiele.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 20 / 82

Page 21: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Approximative lokale Optima

Strikte lokale Suche PLS: Polynomielle Suchprobleme 21 / 82

Page 22: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Was bedeutet PLS-Vollständigkeit für uns?

- Nichts, wenn wir wissen, dass das vorliegende Problem nurpolynomiell viele verschiedene Werte annimmt.

- Bei vielen verschiedenen Werten müssen wir vorsichtig sein: Wirsollten möglicherweise approximative lokale Optima berechnen!

- (min, f ,L,A,B) sei ein polynomielles Suchproblem und y sei eineLösung für die Instanz x .

- Dann ist y ein ε-approximatives lokales Minimum, wenn

f (x , y) 6 (1 + ε) · f (x , y ′)

für alle benachbarten Lösungen y ′ ∈ Nx (y) gilt.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 22 / 82

Page 23: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Berechnung approximativer lokaler Minima (1/2)

Gibt es stets ein volles polynomielles Approximationsschema für dieBerechnung eines ε-approximativen lokalen Optimums?

Betrachte lineare kombinatorische Optimierungsprobleme:I Ein Universum U und eine Gewichtung wu ∈ N für alle Elemente

u ∈ U des Universums ist gegeben ebenso wie eine Klasse Q vonTeilmengen von U.

I Bestimme eine leichteste Teilmenge T ∈ Q, wobei

gewicht(T ) =∑u∈T

wu

das Gewicht von T ist.

Fast alle bisher betrachteten Optimierungsprobleme lassen sichals lineare, kombinatorische Optimierungsprobleme auffassen.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 23 / 82

Page 24: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Berechnung approximativer lokaler Minima (2/2)

Ein erster Ansatz(1) Wenn wir gerade die Lösung T erreicht haben:

I Skaliere die Gewichte: Ersetze wu durch dwuq e mit

q = ε1+ε· gewicht(T )

2|U| .

I wuq 6 1+ε

ε ·2|U|·wu

gewicht(T ) 6 1+εε · 2|U|.

I Es werden nur „wenige“ Funktionswerte angenommen.

(2) Bestimme ein lokales Optimum T ′ für die neuen Gewichte.

Wenn T ′′ ein beliebiger Nachbar von T ′ ist:

gewicht(T ′) =∑u∈T ′

wu 6∑u∈T ′dwu

qe · q 6

∑u∈T ′′dwu

qe · q

6∑

u∈T ′′(wu

q+ 1) · q 6 gewicht(T ′′) + |U| · q.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 24 / 82

Page 25: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Klappt das?

Wenn das Gewicht der Mengen während der lokalen Suche zustark sinkt, dann adjustiere den Skalierungsfaktor!Also, wenn

gewicht(T ′) < gewicht(T )/2

während der lokalen Suche, dannsetze T = T ′, gehe zu Schritt (1) und adjustiere q.

- Es ist gewicht(T ′) 6 gewicht(T ′′) + |U| · q- und am Ende der Berechnung gilt gewicht(T ′) > gewicht(T )/2.

gewicht(T ′)− gewicht(T ′′)gewicht(T ′′)

6|U| · q

gewicht(T ′′)6

|U| · qgewicht(T ′)− |U| · q

6|U| · q

gewicht(T )/2− |U| · q= ε

und alles in Butter.Strikte lokale Suche PLS: Polynomielle Suchprobleme 25 / 82

Page 26: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Fazit

Für jedes lineare kombinatorische Optimierungsproblem kann einε-approximatives lokales Optimum in |U|ε · log2(gewicht(T0)) Schrittenbestimmt werden, wenn T0 die Anfangslösung ist.

Warum ist die Schranke für die Schrittzahl richtig?I Höchstens log2(gewicht(T0))-mal kann das Lösungsgewicht halbiert

werden.I Zwischen zwei Halbierungen liegen höchstens O(n · |U|ε ) Schritte

der lokalen Suche.Die Berechnung lokaler Optima ist möglicherweise schwierig, aber

wir haben ein volles polynomielles Apprximationsschema erhalten,wenn wir ε-approximative lokale Optima berechnen wollen.

Strikte lokale Suche PLS: Polynomielle Suchprobleme 26 / 82

Page 27: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

FACILITY LOCATION

Strikte lokale Suche FACILITY LOCATION 27 / 82

Page 28: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

FACILITY LOCATION

- Eine Menge K von Kunden, eine Menge S möglicher ServiceStationen sowie eine Metrik d auf K ∪ S ist gegeben:

I d(k,s) ist die Distanz des Kunden k ∈ K von Service Station s ∈ S.

- Die Betriebskosten der Service Station s ∈ S betragen fs.- Definiere die Anschlusskosten von Kunde k für eine Menge

X ⊆ S von Service Stationen durch distanzX (k) = mins∈X d(k , s).- Wir suchen eine Teilmenge X ⊆ S, so dass

C(X ) =∑k∈K

distanzX (k) +∑s∈X

fs,

die Summe aller Betriebs- und Anschlusskosten, minimal ist.

Strikte lokale Suche FACILITY LOCATION 28 / 82

Page 29: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche für FACILITY LOCATION

(1) Wir beginnen mit einer beliebigen Menge X ⊆ S von ServiceStationen.

(2) Wenn das Entfernen, Hinzufügen oder die Ersetzung vonService Stationen zu einer Verbesserung führt, dann wird einebeliebige solche Operation ausgeführt.

(3) Wiederhole Schritt (2) solange möglich.

Wann sollten wir terminieren? Das Erreichen eineslokalen Minimums dauert vielleicht zu lange.Halte, wenn der erzielte Fortschritt zu gering ist.

Strikte lokale Suche FACILITY LOCATION 29 / 82

Page 30: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Der Approximationsfaktor ist 3 oder schlechter

Betrachte die Mengen K = {k1, . . . , kn} von n Kunden undS = {s0, . . . , sn} von n + 1 Service Stationen.

s0 hat Betriebskosten 2n − 2, si+1 hat keine Betriebskosten.Die Metrik d ist die Länge kürzester Wege in dem folgendenungerichteten Graphen G mit Knotenmenge K ∪ S.

I G besitzt nur Kanten der Länge 1, nämlich zuerst die Kanten{ki , si} und schließlich die Kanten {ki , s0} für 1 6 i 6 n.

I Kunde ki hat Distanz 1 von den Service Stationen s0 und siund damit Distanz 3 zu jeder anderen Service Station.

- X ∗ = {s1, . . . , sn} ist ein globales Minimum mit C(X ∗) = n.- X = {s0} ist ein lokales Minimum mit C(X ) = 2n−2 + n = 3n−2.

I Wir dürfen s0 aus X nicht entfernen.I Die Hinzunahme einer weiteren Service Station senkt die

Gesamtkosten nicht.I Ersetze s0 durch si : Betriebskosten sinken von 2n − 2 auf Null,

Anschlusskosten steigen von n auf 1 + 3(n − 1) = 3n − 2.

Strikte lokale Suche FACILITY LOCATION 30 / 82

Page 31: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Das Ergebnis

Sei X ∗ ein globales Minimum und X ein lokales Minimum.Dann gilt

C(X ) 6 3 · C(X ∗).

Wir zeigen nur C(X ) 6 5 · C(X ∗).I Das Argument schätzt Anschluß- und Betriebskosten des lokalen

Optimums X gegen die Kosten des globalen Minimums X ∗ ab:F∑

k∈K distanzX (k) 6 C(X∗),F und

∑s∈X fx 6 2 ·

[C(X∗) +

∑k∈K distanzX (k)

]6 4 · C(X∗).

Wir beginnen mit der Abschätzung der Anschlusskosten.Wenn distanzX (k) = d(k , s), dann ist naechsteX (k) = s diegünstigste Service Station für den Kunden k .

Strikte lokale Suche FACILITY LOCATION 31 / 82

Page 32: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Eine Abschätzung der Anschlusskosten

Sei s ∈ X ∗ \ X .I Wenn wir s zu X hinzufügen, dann ist C(X ) 6 C(X ∪ {s}), denn X

ist ein lokales Minimum.I Also folgt

fs +∑

k,naechsteX∗ (k)=s

distanzX∗(k) >∑

k,naechsteX∗ (k)=s

distanzX (k).

Nach Summation über alle Service Stationen s ∈ X ∗ \ X , wenngemeinsame Kosten berücksichtigt werden

C(X ∗) >∑

s∈X∗\X

fs +∑k∈K

distanzX∗(k) >∑k∈K

distanzX (k)

und das war zu zeigen.

Strikte lokale Suche FACILITY LOCATION 32 / 82

Page 33: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Abschätzung der Betriebskosten (1/3)

Ersetze eine Service Station s ∈ X durch eine nächstliegendeService Station s∗ ∈ X ∗. Da X ein lokales Minimum ist, gilt

fs 6 fs∗ +∑

k ,naechsteX (k)=s

[ d(k , s∗)− d(k , s) ] .

Wie groß ist der Unterschied d(k , s∗)− d(k , s)?I Mit der Dreiecksungleichung folgt d(k , s∗)− d(k , s) 6 d(s, s∗).I Service Station s∗ ist die zu s nächstliegende Service Station in X ∗.

Also ist d(s, s∗) 6 d(s, naechsteX∗(k)).I Schiebe k zwischen s und naechsteX∗(k): d(k , s∗)− d(k , s)

6 d(s, naechsteX∗(k)) 6 d(s, k) + d(k , naechsteX∗(k))

= distanzX (k) + distanzX∗(k).

Also

fs 6 fs∗ +∑

k ,naechsteX (k)=s

[ distanzX (k) + distanzX∗(k) ]

Strikte lokale Suche FACILITY LOCATION 33 / 82

Page 34: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Abschätzung der Betriebskosten (2/3)

Wir wissen: fs 6 fs∗ +∑

k ,naechsteX (k)=s [ distanzX (k) + distanzX∗(k) ].

Wenn jede Service Station in X ∗ höchstens einmal als einenächstliegende Service Station auftritt:∑

s∈X

fs 6∑k∈K

[ distanzX (k) + distanzX∗(k)] +∑

s∗∈X∗fs∗

=∑k∈K

distanzX (k) + C(X ∗) 6 2C(X ∗),

und sogar C(X ) 6 3C(X ∗) folgt.Wenn aber Service Station s∗ ∈ X ∗ nächstliegend zu mehrerenStationen s ∈ X ist?

Strikte lokale Suche FACILITY LOCATION 34 / 82

Page 35: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Primäre und sekundäre Service Stationen

Für s in X sei s∗ ∈ X ∗ die nächstliegende Service Station in X ∗.s ist eine primäre Service Station, wenn s die nächstliegendeService Station von s∗ in X ist und sonst ist s sekundär.

Strikte lokale Suche FACILITY LOCATION 35 / 82

Page 36: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Sekundäre Service Stationen

s ∈ X sei eine sekundäre Service Station und s∗ ∈ X ∗ sei die zu snächstliegende Service Station in X ∗.

Eine Station s′ ∈ X (s 6= s′) hat einen kleineren Abstand von s∗.Entferne s und weise alle, bisher s zugewiesenen Kunden derService Station s′ zu.

I Wir sparen die Betriebskosten von s.I Um wieviel steigen die Anschlusskosten, wenn k vorher s

zugewiesen wurde?

d(k , s′)− d(k , s) 6 d(s, s∗) + d(s∗, s′) 6 2 · d(s, s∗)6 2 · d(s, naechsteX∗(k))

6 2 · [d(s, k) + d(k , naechsteX∗(k))]

= 2 · [distanzX (k) + distanzX∗(k)] .

Strikte lokale Suche FACILITY LOCATION 36 / 82

Page 37: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Abschätzung der Betriebskosten (3/3)

Wenn Kunde k vorher der Station s zugewiesen wurde:d(k , s′)− d(k , s) 6 2 · [distanzX (k) + distanzX∗(k)].

X ist ein lokales Minimum:

fs 6∑

k ,naechsteX (k)=s

2 · [distanzX (k) + distanzX∗(k)] .

Nach Unterscheidung primärer und sekundärer Stationen:∑s∈X

fs 6∑

s∗∈X∗fs∗ + 2

∑k∈K

[distanzX (k) + distanzX∗(k)]

6 2

[C(X ∗) +

∑k∈K

distanzX (k)

]6 4C(X ∗)

und das war zu zeigen.Strikte lokale Suche FACILITY LOCATION 37 / 82

Page 38: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Und die Laufzeit?

Die schlechten Nachrichten: Die Laufzeit kann superpolynomiellwerden.Die guten Nachrichten: Brich ab, wenn nur noch eine kleineVerbesserung erzielt werden kann.

- Akzeptiere nur Verbesserungen, die den Wert der aktuellen Lösung ummindestens ∆ = 1− ε

|S| reduzieren.

- Wir erhalten eine (3 + ε)-approximative Lösung und es werdenhöchstens log1/∆ Q Verbesserungsschritte durchgeführt.

F Q ist der Quotient zwischen dem Wert einer schlechtesten und bestenLösung.

F Benutze unsere obige Analyse.

Strikte lokale Suche FACILITY LOCATION 38 / 82

Page 39: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

k -Median

Strikte lokale Suche k -Median 39 / 82

Page 40: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

k -MEDIAN

- Eine Menge K von n Punkten ist gegeben sowie eine Metrik d .- Wir suchen eine Menge M von höchstens k Punkten aus K , so

dass ∑x∈K

miny∈M

d(x , y)

minimal ist.

k -MEDIAN ist fast ein Spezialfall von FACILITY LOCATION:Erlaube höchstens k Service Stationen und nimm an, dass keineBetriebskosten entstehen.

Auch diesmal funktioniert die lokale Suche.

Strikte lokale Suche k -Median 40 / 82

Page 41: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche für k -MEDIAN

(1) Beginne mit einer beliebigen Auswahl von k Punkten.(2) Wiederhole solange möglich:

Ersetze einen Punkt der gegenwärtigen Auswahl durch einenunbenutzten Punkt, wenn dies zu einer Verbesserung führt.

Ohne Beweis:Der Wert eines lokalen Optimums übertrifft den Wert eines globalenOptimums um höchstens den Faktor fünf.

Strikte lokale Suche k -Median 41 / 82

Page 42: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

k -Center

Strikte lokale Suche k -Center 42 / 82

Page 43: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

k -CENTER

- Eine Menge V von Punkten ist gegeben.- Auf der Punktmenge V ist eine Metrik d : V × V → R gegeben.- Gesucht ist eine Teilmenge C ⊆ V von k „Zentren“, so dass

D = maxv∈V

minc∈C

d(c, v)

kleinstmöglich ist.

Übungsaufgabe:k -CENTER hat effiziente 2-approximative Algorithmen.(1) Zu Anfang sind alle Punkte in V unmarkiert.(2) Wiederhole, solange es unmarkierte Punkte in C gibt:

Füge einen beliebigen unmarkierten Punkt v ∈ V zu C hinzu undmarkiere alle Punkte w ∈ V mit Abstand d(v ,w) 6 2D.

Kommentar: Wenn D > opt, dann ist |C| 6 k .

Strikte lokale Suche k -Center 43 / 82

Page 44: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Der Approximationsfaktor 2 ist optimal

Wenn P 6= NP,dann gibt es keinen δ-Approximationsalgorithmus für δ < 2.

DOMINATING SET: Für einen ungerichteten Graphen G = (V ,E)und Knotengewichte wu > u bestimme eine leichteste(„dominierende“) Teilmenge V ′ ⊆ V , so dass

jeder Knoten v 6∈ V ′ mindestens einen Nachbarn in V ′ hat.DOMINATING SET ist NP-vollständig.Reduziere DOMINATING SET auf k -CENTER:

I Sei G = (V ,E) und k eine Instanz von DOMINATING SET.I Für k -CENTER wähle V als Punktemenge mit der Distanz

d(u, v) =

{1 {u, v} ∈ E ,2 sonst.

I Ist V ′ eine dominierende Menge der Größe k in G, dannF wähle V ′ als Menge der Zentren und die Maximaldistanz ist eins.

I Besitzt G hingegen keine dominierende Mengen der Größe k :F Die Maximaldistanz ist zwei.

Strikte lokale Suche k -Center 44 / 82

Page 45: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MAX LEAF SPANNING TREE undMIN DEGREE SPANNING TREE

Strikte lokale Suche Spannbaum Probleme 45 / 82

Page 46: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Spannbaumprobleme und ihre Nachbarschaft

Für MAX LEAF SPANNING TREE- ist ein ungerichteter, zusammenhängender Graph G gegeben.- Gesucht ist ein Spannbaum mit der größtmöglichen Blattzahl.

Für MIN DEGREE SPANNING TREE- ist ein ungerichteter, zusammenhängender Graph G gegeben.- Gesucht ist ein Spannbaum, so dass der maximale Knotengrad

möglichst klein ist.

Die Nachbarschaft- Fügen wir eine neue Kante e zu einem Spannbaum B hinzu, dann

wird genau ein Kreis geschlossen. Entfernen wir eine Kante e′

des Kreises, dann ist auch B′ = B \ {e′} ∪ {e} ein Spannbaum.- Wir sagen, dass B′ ein Nachbar von B ist.

Strikte lokale Suche Spannbaum Probleme 46 / 82

Page 47: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MAX LEAF SPANNING TREE: Der Algorithmus

(1) Sei B ein beliebiger Spannbaum für den ungerichteten,zusammenhängenden Graphen G = (V ,E).

(2) Solange B einen Nachbarn B′ mit mehr Blättern besitzt,ersetze B durch B′.

(3) Gib B aus.

Da die Zahl der Blätter in jeder Iteration ansteigt, gibt eshöchstens |V | Iterationen.Wir zeigen, dass unser Algorithmus 10-approximativ ist.

Es kann sogar gezeigt werden, dass der Approximationsfaktordurch 5 beschränkt ist.

Strikte lokale Suche Spannbaum Probleme 47 / 82

Page 48: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Analyse (1/3)

- kd (B) ist die Anzahl der Knoten vom Grad d im Baum B.- k1(B) ist die Anzahl der Blätter von B.- Behauptung:

∑d>3 kd (B) < k1(B).

Ein Baum mit n Knoten beistzt genau n − 1 Kanten. Also ist

2 · (n − 1) =∑

d

d · kd (B) = k1(B) + 2 · k2(B) +∑d>3

d · kd (B)

> k1(B) + 2 · k2(B) + 3 ·∑d>3

kd (B).

Es ist n = k1(B) + k2(B) +∑

d>3 kd (B) und deshalb

k1(B) + 3 ·∑d>3

kd (B) 6 2 · (n − k2(B)− 1)

= 2 · (k1(B) +∑d>3

kd (B)− 1).

Strikte lokale Suche Spannbaum Probleme 48 / 82

Page 49: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Analyse (2/3)

Die Anzahl der Blätter ist größer als die Anzahl der Knoten mitmindestens drei Nachbarn.

Jeder Spannbaum ohne Knoten vom Grad zwei ist 2-approximativ.

Sei Bopt ein Baum mit größtmöglicher Blattzahl und sei B der vonAlgorithmus bestimmte Baum.Ein maximaler 2-Weg durchläuft nur Knoten vom Grad zwei alsinnere Knoten und endet in Knoten vom Grad ungleich zwei.

I Maximale 2-Wege zerlegen die Grad-2 Knoten von B in disjunkteKlassen. Wieviele Klassen gibt es?

I Maximale 2-Wege enden in Knoten vom Grad ungleich zwei: Esgibt 6 k1(B) +

∑d>3 kd (B) 6 2 · k1(B) viele maximale 2-Wege.

Behauptung: Jeder maximale 2-Weg in B durchläuft höchstens vierBlätter von Bopt als innere Knoten.

Dann hat Bopt 6 k1(B) + 8 · k1(B) + k1(B) = 10 · k1(B) Blätter.

Strikte lokale Suche Spannbaum Probleme 49 / 82

Page 50: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Analyse (3/3)

Zeige, dass jeder maximale 2-Weg in B höchstens vier Blätter von Boptals innere Knoten durchläuft.

Der maximale 2-Weg W durchlaufe die fünf Blätter v1, v2, v , v ′2, v′1

von Bopt in dieser Reihenfolge.Sei v ′ ein Knoten, der nicht von W durchlaufen wird.

I In Bopt gibt es genau einen Weg W ′ von v nach v ′.I W ′ beginnt in v , durchläuft Knoten von W und springt von einem

Knoten w zum ersten nicht von W durchlaufenen Knoten u.I W ′ durchläuft weder den Knoten v ′2 noch den Knoten v2:

Beide Knoten sind Blätter in Bopt.

Füge die Kante {u,w} zu B hinzu.I Die Hinzunahme erzeugt einen Kreis in B, der entweder die Knoten

v ′1, v′2 oder die Knoten v2, v1 durchläuft.

I Wir verlieren höchstens das Blatt u, gewinnen aber durch dasEntfernen einer mit v ′2, bzw. v2 inzidenten Kante zwei neue Blätter:

B ist kein lokales Optimum.

Strikte lokale Suche Spannbaum Probleme 50 / 82

Page 51: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN-DEGREE SPANNING TREE

Strikte lokale Suche Spannbaum Probleme 51 / 82

Page 52: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN-DEGREE SPANNING TREE

Für einen ungerichteten Graphen Gbestimme einen Spannbaum mit kleinstmöglichem Grad.

Das SprachenproblemHat G einen Spannbaum vom Grad höchstens d

ist NP-vollständig:I G hat genau dann einen Spannbaum mit maximalem Grad zwei,

wenn G einen Hamiltonpfad besitzt, also einen Weg, der alleKnoten genau einmal besucht.

I Die Frage, ob ein ungericheter Graph einen Hamiltonpfad besitzt,ist NP-vollständig.

Um wieviel unterscheiden sich lokale und globale Minima?I Es gibt Graphen mit einem Spannbaum vom Grad drei, aber

lokalen Minima mit unbeschränkt großem Grad!I Können wir diese lokalen Minima zerstören?

Strikte lokale Suche Spannbaum Probleme 52 / 82

Page 53: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Mehr Verbesserungsmöglichkeiten

Sei B′ ein Nachbar des Spannbaums B, es gelte also

B′ = B \ {u1,u2} ∪ {u3,u4}.

Wir sagen, dass B′ etwas-besser als B ist, wenn die B-Grade vonu1,u2 größer als die B′-Grade von u3,u4 sind:

max{gradB(u1), gradB(u2)} > max{gradB(u3), gradB(u4)}+ 1.

Einige der alten lokalen Minima werden zerstört, weil Nachbarn„plötzlich“ verbessernd sind.Aber es gibt jetzt etwas-bessere Nachbarn, deren maximaler Gradnicht kleiner ist.

I Läuft dann die lokale Suche möglicherweise im Kreis?I Nein, die Gradfolge von B, wenn absteigend geordnet, ist

lexikographisch größer als die Gradfolge von B′.

Strikte lokale Suche Spannbaum Probleme 53 / 82

Page 54: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche für MIN DEGREE SPANNING TREE

(1) Sei B ein beliebiger Spannbaum für den ungerichteten,zusammenhängenden Graphen G = (V ,E).

(2) Solange B einen etwas-besseren NachbarnB′ = B \ {u1,u2} ∪ {u3,u4} besitzt und

max{gradB(ui) | 1 6 i 6 4} > maxv

gradB(v)− log2 |V |

gilt, ersetze B durch B′.

Kommentar:I Wir verlangen, dass der maximale Grad aller beteiligten Knoten

groß ist.I Übungsaufgabe: Die Laufzeit ist polynomiell in |V |.

(3) Gib B aus.

Strikte lokale Suche Spannbaum Probleme 54 / 82

Page 55: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN DEGREE SPANNING TREE: Die Analyse (1/4)

(X ,Π) ist ein Zeuge, wennX ⊆ V eine Knotenmenge und Π eine Zerlegung von V istund alle Kanten, die verschiedene Klassen von Π verbinden, mitmindestens einem Knoten aus X inzident sind.

Die Anzahl der Klassen der Zerlegung Π bezeichnen wir mit rank(Π).

Sei B ein beliebiger Spannbaum. Wieviele Kanten sind in B miteinem Knoten aus X inzident?

I Entferne alle mit Knoten aus X inzidenten Kanten aus B.I Wir erhalten mindestens rank(Π) Zusammenhangskomponenten.

B hat mindestens rank(Π)− 1 mit Knoten aus X inzidente Kanten.

Für jeden Zeugen (X ,Π) gilt

kleinstmöglicher Grad >rank(Π)− 1|X |

.

Strikte lokale Suche Spannbaum Probleme 55 / 82

Page 56: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN DEGREE SPANNING TREE: Die Analyse (2/4)

Wir suchen einem Zeugen (X ,Π) für den rank(Π)−1|X | groß ist.

- X sollte möglichst klein sein und- der Grad der Knoten in X sollte möglichst groß sein, so dass die

Herausnahme viele Zusammenhangskomponenten erzeugt.

Sei B der vom Algorithmus berechnete Spannbaum.Betrachte die Mengen Xd = {v ∈ V | gradB(v) > d}.

I Es ist Xd ⊆ Xd−1 ⊆ · · · ⊆ Xd−log2 n für den maximalen Grad d von B.I Wenn stets |Xd−i−1| > 2 · |Xd−i |: |Xd−log2 n| > 2log2 n · |Xd | > n.I Dies ist unmöglich: Es gibt d∗ > d − log2 n mit |Xd∗−1| 6 2|Xd∗ |.

Π ist die Zerlegung bestehend ausI den Einermengen für alle Knoten in Xd∗ und denI Zusammenhangskomponenten von B nach Herausnahme von Xd∗ .

Behauptung: (Xd∗−1,Π) ist ein Zeuge.

Strikte lokale Suche Spannbaum Probleme 56 / 82

Page 57: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN DEGREE SPANNING TREE: Die Analyse (3/4)

Zeige: Alle Kanten {u3,u4}, die verschiedene Klassen in Π verbinden,sind mit einem Knoten in Xd∗−1 inzident.

Wenn die Kante {u3,u4} mit einer Einermenge {v} für v ∈ Xd∗

inzident ist: Kein Problem, denn Xd∗ ⊆ Xd∗−1.Ansonsten verbindet {u3,u4} Zusammenhangskomponenten, diedurch die Herausnahme von Xd∗ entstanden sind.Und wenn u3 6∈ Xd∗−1 wie auch u4 6∈ Xd∗−1?

I Dann ist max{gradB(u3), gradB(u4)} < d∗ − 1.I Betrachte alle Klassen-internen Kanten.

F Fügen wir die Klassen-verbindende Kante {u3, u4} hinzu, wird keinKreis geschlossen.

F Fügen wir jetzt die Knoten aus Xd∗ und ihre inzidenten Kanten hinzu,dann erhalten wir B und zuzüglich die Kante {u3, u4}.

F Ein Kreis mit einer Kante {u1, u2} (für u1 ∈ Xd∗ ) wird geschlossen.I B \ {u1,u2} ∪ {u3,u4} ist ein etwas-besserer Nachbar und unser

Algorithmus stoppt nicht mit B: Widerspruch.

Strikte lokale Suche Spannbaum Probleme 57 / 82

Page 58: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN DEGREE SPANNING TREE: Die Analyse (4/4)

- (Xd∗−1,Π) ist ein Zeuge und deshalb

- kleinstmöglicher Grad > rank(Π)−1|Xd∗−1|

.

Wie groß ist rank(Π)?I Sei Ad∗ die Anzahl der Kanten, die in B mit einem Knoten aus Xd∗

inzident sind.I B ist ein Baum, und deshalb ist rank(Π) = Ad∗ + 1.

Weiterhin ist Ad∗ > d∗ · |Xd∗ | − (|Xd∗ | − 1), dennI alle Knoten in Xd∗ haben mindestens d∗ inzidente Kanten undI 6 |Xd∗ | − 1 Kanten des Baums B verbinden zwei Knoten aus Xd∗ .

kleinstmöglicher Grad >rank(Π)− 1|Xd∗−1|

>d∗ · |Xd∗ | − |Xd∗ |+ 1

|Xd∗−1|

>d∗ · |Xd∗ | − |Xd∗ |+ 1

2|Xd∗ |>

d∗ − 12

.

Strikte lokale Suche Spannbaum Probleme 58 / 82

Page 59: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MIN DEGREE SPANNING TREE: Zusammenfassung

Wir wissen: d∗ > d − log2 n.Als Konsequenz:d − log2 n 6 d∗ < 2 · (kleinstmöglicher Grad ) + 1.

Unser Algorithmus bestimmt einen Spannbaum mit Grad d , wobei

d 6 2 · (kleinstmöglicher Grad) + 1 + log2 n.

Unsere Lösung ist fast 2-approximativ.

Strikte lokale Suche Spannbaum Probleme 59 / 82

Page 60: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche in variabler Tiefe

Lokale Suche in variabler Tiefe 60 / 82

Page 61: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Lokale Suche in variabler Tiefe

Die Annahme: Der Lösungsraum ist eine Teilmenge von {0,1}n.

(1) Setze EINGEFROREN = ∅, L = {y} und z = y .// EINGEFROREN ist eine Menge von Positionen und// L ist eine Menge von Lösungen.

(2) Wiederhole, solange EINGEFROREN 6= {1, . . . ,n}(2a) Bestimme eine beste Lösung z ′ 6= z in der k -Flip Nachbarschaft

von z.(2b) Friere alle im Wechsel von z nach z ′ geänderten Positionen ein,

füge z ′ zu L hinzu und setze z = z ′.// Wir erlauben Aufwärtsbewegungen, da z ′ eine schlechtere// Lösung als z sein darf. Durch das Einfrieren geänderter// Positionen wird die Schleife höchstens n Mal durchlaufen.

(3) Gib die beste Lösung in L als neue Lösung y ′ aus und wiederholedas Verfahren gegebenenfalls für y ′.

Lokale Suche in variabler Tiefe 61 / 82

Page 62: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MINIMUM BALANCED CUT

- Ein ungerichteter Graph G = (V ,E) gegeben.- Ziel: Bestimme eine Zerlegung V = V1 ∪ V2 mit|V1| = b |V |2 c, |V2| = d |V |2 e so dass die Anzahl kreuzender Kanten,

also die Anzahl aller Kanten mit einem Endpunkt in V1 und einemEndpunkt in V2,

minimal ist.

Eine Anwendung der lokalen Suche in variabler Tiefe wählt die2-Flip Nachbarschaft.

I Ein Nachbar einer Zerlegung V = V1 ∪ V2 ist von der FormV = U1 ∪ U2, wobei U1 durch das Entfernen und das nachfolgendeEinfügen eines Elementes aus V1 entsteht.

I Wir werden später eine Anwendung von Simulated Annealingkennenlernen.

Für MINIMUM BALANCED CUT werden gute experimentelleErgebnisse berichtet. Gleiches trifft auf TSP zu.

Lokale Suche in variabler Tiefe 62 / 82

Page 63: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Der Metropolis Algorithmus

Der Metropolis Algorithmus 63 / 82

Page 64: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Der Metropolis Algorithmus

(1) Sei y eine Anfangslösung und sei T die Temperatur.(2) Wiederhole hinreichend oft:

I Wähle zufällig einen Nachbarn y ′ ∈ N (y).I Wenn f (y ′) 6 f (y), dann akzeptiere y ′ und setze y = y ′.

Ansonsten setze y = y ′ mit Wahrscheinlichkeit e−f (y′)−f (y)

T .

// Je schlechter der Wert des neuen Nachbarn y ′, umso geringer// die Wahrscheinlichkeit, dass y ′ akzeptiert wird.// Schlechte Nachbarn haben nur eine Chance bei// entsprechend hoher Temperatur.

Der Metropolis Algorithmus 64 / 82

Page 65: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Grenzverteilung und Konvergenzgeschwindigkeit

Mit welcher Wahrscheinlichkeit wird die Lösung y besucht, wenn derMetroplis-Algorithmus genügend häufig wiederholt wird?

fy (t) sei die relative Häufigkeit, mit der der Metropolis-Algorithmus dieLösung y in den ersten t Schritten besucht. Dann gilt

limt→∞

fy (t) =e−f (y)/T

Z, wobei Z =

∑y ,L(y)

e−f (y)/T .

Wenn man also lange genug sucht, dann besucht man guteLösungen mit sehr viel höherer Wahrscheinlichkeit als schlechte.Wie lange ist lange? Leider häufig „sehr lange“.Die Konvergenzgeschwindigkeit ist leider i. A. sehr langsam.

Der Metropolis Algorithmus 65 / 82

Page 66: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Beispiel: Das Vertex Cover Problem (1/2)

Der leere Graph G = (V, ∅):

Anfänglich wird die Knotenmenge nur reduziert und Metropolisverhält sich wie die lokale Suche.Umso kleiner die gegenwärtige Lösung ist, umso größer ist dieAnzahl der schlechteren Nachbarn.

I Die schlechteren Nachbarn sind also wahrscheinlicher als dieguten.

I Die Akzeptanzwahrscheinlichkeit einer schlechteren Lösung istaber nur unwesentlich kleiner:

Schlechtere Lösungen werden kurz über lang gewählt:

Der Metropolis-Algorithmus bekommt Angst vor der eigenen Courage,wenn gute, aber längst nicht optimale Lösungen erreicht werden.

Der Metropolis Algorithmus 66 / 82

Page 67: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Beispiel: Das Vertex Cover Problem (2/2)

Der Sterngraph:

Der Metropolis-Algorithmus zeigt seine Stärke: Selbst wenn dasZentrum irgendwann entfernt wird, so ist die Wahrscheinlichkeithoch, dass es nach nicht zu langer Zeit wieder betrachtet wird.

I Mit beträchtlicher Wahrscheinlichkeit wird das Zentrum, wenn nichtim ersten, dann in folgenden Versuchen wieder aufgenommen.

I Danach, wenn mindestens ein Satellit nicht in der jeweiligenLösung liegt, bleibt das Zentrum erhalten, da sonst keineÜberdeckung vorliegt.

Allerdings hat Metropolis auch für den Sterngraphen Angst vor dereigenen Courage, wenn die Überdeckung genügend klein ist:

Unbenötigte Satelliten werden aufgenommen!

Wir brauchen ein Verfahren, das Aufwärtsbewegungen „mit derZeit“ erschwert.

Der Metropolis Algorithmus 67 / 82

Page 68: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Simulated Annealing

Simulated Annealing 68 / 82

Page 69: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Simulated Annealing

Wir müssen Aufwärtsbewegungen nach entsprechend langer Suchzeitsignifikant erschweren. Wie? Wir senken die Temperatur!

Eine Analogie aus der Physik:

Erhitzt man einen festen Stoff so stark, dass er flüssig wird undläßt man ihn dann wieder langsam abkühlen, so ist der Stoffbestrebt, möglichst wenig der zugeführten Energie zu behalten.Der Stoff bildet eine Kristallgitterstruktur; Eiskristalle sind einBeispiel.Je behutsamer nun das Ausglühen (engl.: Annealing)durchgeführt wird, umso reiner ist die Gitterstruktur.

Unregelmäßigkeiten in der Gitterstruktur, die durch zu raschesAbkühlen entstehen, stellen lokale Energieminima dar.

Simulated Annealing 69 / 82

Page 70: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Simulated Annealing: Der Algorithmus

(1) Sei y die Anfangslösung und sei T die Anfangstemperatur.(2) Wiederhole hinreichend oft:

I Wähle zufällig einen Nachbarn y ′ ∈ N (y).I Wenn f (y ′) 6 f (y), dann akzeptiere y ′ und setze y = y ′.

Ansonsten setze y = y ′ mit Wahrscheinlichkeit e−f(y)−f(x)

T .

(3) Wenn die Temperatur noch nicht genügend tief ist, dann wähleeine neue, niedrigere Temperatur T und führe Schritt (2) aus.Ansonsten gib die beste erhaltene Lösung aus.

Simulated Annealing 70 / 82

Page 71: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MINIMUM BALANCED CUT (1/2)

Nach der Anwendung der lokalen Suche in variabler Tiefewenden wir jetzt Simulated Annealing an.

Wir lassen beliebige Zerlegungen (W ,V \W ) zu und wählen

f (W ) := |{e ∈ E | |{e} ∩W | = 1}|+ α · (|W | − |V \W |)2︸ ︷︷ ︸Strafterm

als zu minimierende Zielfunktion. Mit dem Strafterm versuchenwir eine perfekte Aufteilung zu erzwingen.Wir wählen die 1-Flip Nachbarschaft. Die Startlösung ist einezufällig gewählte Teilmenge und ihr Komplement.Die Anfangstemperatur wird so gesetzt, dass 40% allerNachbarn akzeptiert werden.Halte die Temperatur für 16 · |V | Schritte konstant und senkedann um den Faktor 0,95 („geometrische Abkühlung“).

Simulated Annealing 71 / 82

Page 72: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

MINIMUM BALANCED CUT (2/2)

Für zufällige Graphen:I Simulated Annealing schneidet sehr gut ab und schlägt die lokale

Suche in variabler Tiefe, selbst wenn beide Verfahren gleich langelaufen.

Strukturierte Graphen: 500 (bzw. 1000) Punkte werden zufälligaus dem Quadrat [0,1]2 gewählt und zwei Punkte werdenverbunden, wenn sie nahe beieinander liegen.

I Simulated-Annealing bricht ein und die lokale Suche in variablerTiefe ist deutlich überlegen.

Die beiden Graphklassen unterscheiden sich in der Struktur ihrerlokalen Minima:

I Die strukturierten Graphen haben Minima mit weitaus größerenAnziehungsbereichen als die zufällig generierten Graphen.

I Die „Sogwirkung“ lokaler Minima ist für strukturierte Graphenschwieriger zu überwinden als für Zufallsgraphen.

Simulated Annealing 72 / 82

Page 73: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Evolutionäre Algorithmen

Evolutionäre Algorithmen 73 / 82

Page 74: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Evolutionäre Algorithmen

Die Zielfunktion f sei über einem Lösungsraum zu maximieren.

Die Evolution als Vorbild: Wie können wir das Erfolgsprinzip derEvolution, „Survival of the Fittest“, algorithmisch umsetzen?

I Die Fitness eines Individuums (oder einer Lösung) y stimmt mitdem Funktionswert f (y) überein.

I Eine gegebene Population von Lösungen ist zu verbessern, indemLösungen „mutieren“ oder zwei oder mehrere Lösungenmiteinander „gekreuzt“ werden.

F Dazu werden Mutations- und Crossover-Operatoren angewandt.

Evolutionäre Algorithmen 74 / 82

Page 75: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Grobstruktur evolutionärer Algorithmen

(1) Initialisierung: Eine Anfangspopulation P von Lösungen ist zubestimmen.

(2) Wiederhole, bis eine genügend gute Lösung gefunden wurde:

(2a) Selektion zur Reproduktion: Eine Teilmenge P ′ ⊆ P dergegenwärtigen Population P von Lösungen wird ausgewählt.

(2b) Variation: Neue Lösungen werden aus P ′ mit Hilfe der Mutation-und Crossover-Operatoren gewonnen.

(2c) Selektion zur Ersetzung: Die neue Population ist festzulegen.

Evolutionäre Algorithmen 75 / 82

Page 76: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Implementierung evolutionärer Algorithmen (1/2)

Initialisierung: Die Anfangspopulation wirdI durch eine zufällige Auswahl definiert, bzw. mit Hilfe

problem-spezifischer Heuristiken.I Diversität ist zu erzwingen, damit der gesamte Lösungsraum

„repräsentiert“ wird.Selektion zur Reproduktion: Eine Teilmenge P ′ ⊆ P vonElternlösungen ist auszuwählen. Zu den häufig benutztenAuswahlverfahren gehören:

I die zufällige Auswahl nach der Gleichverteilung: Jede Lösungin P wird mit gleicher Wahrscheinlichkeit gewählt,

I die zufällige Auswahl nach der Fitness: Falls f positiv ist, wirdy ∈ P mit Wahrscheinlichkeit f (y)

N für N =∑

z∈P f (z) oder mitWahrscheinlichkeit ef (x)/T

M für M =∑

z∈P ef (z)/T gewähltI oder die Turnier-Selektion: Wähle k Lösungen aus P nach der

Gleichverteilung und lasse die k ′ fittesten der k Lösungen zu.

Evolutionäre Algorithmen 76 / 82

Page 77: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Die Implementierung evolutionärer Algorithmen (2/2)

Variation: λ Nachkommen werden aus P ′ mit Hilfe der Mutations-und Crossover-Operatoren erzeugt.

Selektion zur Ersetzung: Die neue Generation ist festzulegen.Die Populationsgröße sei stets µ.

I In der Plus-Auswahl werden die µ Fittesten aus den µ Lösungender alten Generation und ihren λ Nachkommen bestimmt.Man spricht von der (µ+ λ)-Selektion.

I In der Komma-Auswahl wird λ > µ angenommen, und die µfittesten Nachkommen bilden die neue Generation.Man spricht von der (µ, λ)-Selektion.

Evolutionäre Algorithmen 77 / 82

Page 78: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Mutationsoperatoren (1/2)

Bitmutationen: Man nimmt an, dass der Lösungsraum dern-dimensionalen Würfel Bn = {0,1}n ist.

I Entweder flippt man jedes Bit einer Elternlösung y ∈ Bn mit einerkleinen Wahrscheinlichkeit p (mit p · n = Θ(1))

I oder man ersetzt y durch einen Nachbarn y ′ in der k -FlipNachbarschaft von y für kleine Werte von k .

Mutationen für reellwertige Vektoren: Im Rn ersetzt man eineElternlösung y durch y′ = y + m, wobei die Komponenten von mzufällig und unabhängig voneinander mit Erwartungswert 0gewählt werden.

I Entweder man wählt die Komponenten mi von m zufällig aus einemfixierten Intervall [−a,a]

I oder man erlaubt unbeschränkte Komponenten, die zum Beispielgemäß der Normalverteilung gezogen werden.

Für schlechte Lösungen erlaubt man eine hohe Standardabweichungund reduziert die Standardabweichung je besser die Lösung ist.

Evolutionäre Algorithmen 78 / 82

Page 79: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Mutationsoperatoren (2/2)

Für den Permutationsraum

Sn = {π | π ist eine Permutation von {1, . . . ,n}}

betrachtet man Austausch- und Sprungoperatoren.I In einem Austauschoperator wird ein Paar (i , j) mit 1 6 i 6= j 6 n

zufällig und gleichverteilt aus allen möglichen Paaren gezogen.Die i te und j te Komponente der Elternlösung werden vertauscht.

I Auch für einen Sprungoperator werden Paare (i , j) zufälliggezogen. Die i te Komponente yi einer Elternlösung y wird an diePosition j gesetzt und die restlichen Komponenten werden passendverschoben.

Stärker problemabhängige Mutationsoperatoren sind sinnvoll,solange die Diversität nicht zu stark eingeschränkt wird.

Wenn zum Beispiel eine Elternlösung y durch ein besseres lokalesMaximum ersetzt wird, dann ist ein zukünftiges Verlassen deslokalen Maximums schwierig.

Evolutionäre Algorithmen 79 / 82

Page 80: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Crossover Operatoren

y1, . . . , yk seien k Eltern, wobei k > 2 gelte.

Für den Würfel Bn betrachtet man nur den Fall k = 2. Im r-PunktCrossover wählt man r 6 2 Positionen 1 6 i1 < · · · < ir 6 n. DerSprößling z von y1 und y2 erbt die ersten i1 Bits von y1, die i2 − i1Bits in den Positionen [i1 + 1, i2] von y2, die i3 − i2 Bits in denPositionen [i2 + 1, i3] von y1 und so weiter.Im Rn

I verwendet man den r -Punkt Crossover ebenfalls.I Sehr verbreitet ist das arithmetische Crossover:

∑ki=1 αiyi wird

zum Nachkommen von y1, . . . , yk . Der wichtige Spezialfallα1 = · · · = αk = 1

k wird intermediäre Rekombination genannt.

Im Permutationsraum Sn wählt man meistens k = 2 Eltern y1 undy2. Zum Beispiel werden Positionen 1 6 i1 < i2 6 n zufälligausgewürfelt. Die in den Positionen i1, . . . , i2 liegendenKomponenten von y1 werden dann gemäß y2 umgeordnet.

Evolutionäre Algorithmen 80 / 82

Page 81: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Zusammenfassung (1/2)

Die strikte lokale Suche führt zu einer verbesserten Lösung, dieaber nur einem lokalen Optimum entspricht.Zu den erfolgreichen Anwendungen gehören

I der Simplex-Algorithmus für die lineare Programmierung,I die Methode des Gradientenabstiegs in der Minimierung von

Funktionen,I und die Bestimmung approximativer Lösungen für

F FACILITY LOCATIONF sowie die Spannbaumprobleme MAX LEAF SPANNING TREE und

MIN DEGREE SPANNING TREE.

Evolutionäre Algorithmen 81 / 82

Page 82: Strikte lokale Suche - Professur für Theoretische ... · Implementierung der lokalen Suche (2/2) Mit welcher Nachbarlösung soll die Suche fortgesetzt werden? I Wenn die Nachbarschaft

Zusammenfassung (2/2)

Die lokale Suche in variabler Tiefe erlaubt Aufwärtsbewegungenund führt für das TSP und das Minimum Balnced Cut Problem zuguten Lösungen.Der Metropolis Algorithmus akzeptiert Aufwärtsbewegungen miteiner durch einen Temperatur-Parameter T gesteuertenWahrscheinlichkeit. Wenn die Temperatur T langsam gesenktwird, erhält man Simulated Annealing.Evolutionäre Algorithmen verbessern eine Lösungspopulationmit Hilfe von Mutations- und Crossover-Operatoren. Die Auswahlder neuen Population wird durch die Fitness, also durch denFunktionswert der Lösungen gesteuert.

Evolutionäre Algorithmen 82 / 82