ADS: Algorithmen und Datenstrukturen 2 - Teil 11

Werbung
ADS: Algorithmen und Datenstrukturen 2
Teil 11
Gerhard Heyer, Florian Holz
unter Verwendung der Materialien der letzten Jahre
Abteilung Automatische Sprachverarbeitung
Institut für Informatik
Universität Leipzig
03. Juli 2013
1 / 32
Stochastische Optimierungsalgorithmen
Problemstellung
Stochastische Optimierungsalgorithmen
Problemstellung
Lösungensmenge X , Bewertungsfunktion f : X → R.
Finde globales Minimum von f
Grundprinzip
Start: endliche Menge A von erlaubten Lösungen (“Population”) mit
|A| = n.
Schleife
(1) Erzeuge erweiterte Lösungsmenge B, |B| = m > n.
(2) Selektiere eine neue Population A0 ⊂ B mit |A0 | = n in der die
besseren Lösungen angereichert sind.
Abbruchbedingung
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
2 / 32
Stochastische Optimierungsalgorithmen
Problemstellung
Stochastische Optimierungsalgorithmen
Motiviation durch Prozesse in der Natur:
Evolution als Wechselspiel von Mutation (allergemeiner: Erzeugung von
Variabilität und Selektion (aus den vorhandenen Varianten)
Schrittweise Energie-Minimierung in physikalischen Systemen (z.B.
Gefrieren von Flüssigkeiten ... )
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
3 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Genetische Algorithmen
Cross-Over: “mischen” von 2 Eltern.
R(x, y ) Menge der möglichen Kinder der Eltern x und y
Konstruktion der erweiterten Population:
1
Wähle eine Menge von Eltern-Paaren
2
Für jedes Elternpaar (x, y ) ziehe einen, zwei oder mehrere
Nachkommen z ∈ R(x).
3
Wähle eine Teilemenge von A und ziehe für jedes x ∈ A einen
Mutanten y ∈ N(x).
4
Bilde die Vereinigung von A, den Cross-over Nachkommen, und den
Mutanten
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
4 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Genetische Algorithmen
Selektion:
viele Varianten:
fitness-proportional selection.
Ziehe aus B mit Wahrscheinlichkeiten proportional zu −f (z) oder
exp(−f (z)) bis genau n Lösungen gezogen sind
ziehe zwei Lösungen z und z 0 . Falls z > z 0 , akzeptiere z. Wiederhole
bis n Lösungen akzeptiert sind.
Wähle die besten n Lösungen.
...
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
5 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Die Eingeweide: Kodierung
Explizite Representation der Lösungen
Strings fixer Länge.
Moves: Ersetzen eines Zeichens
N(x) = {y |dH (x, y ) = 1}
dH . . . Hamming Distanz
Permutationen.
Moves: Transpositionen
Reell-wertige Vektoren.
Hier werden oft normalverteilte “Mutanten” gewählt:
pyx ∼ exp(−||x − y ||2 /σ 2 )
auch andere kombinatorische Objekte können benutzt werden:
Spannbäume, Partitionen, Matchings, ...
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
6 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Cross-Over
Für Strings:
1-Punkt Crossover
x1 = 0100001010100010101010101101
x2 = 1010101110101010011100110101
Bestimme einen zufälligen Bruchpunkt k und vertausche die Suffixe:
x10 = x1 [1..k]x2 [k + 1..n] und x20 = x2 [1..k]x1 [k + 1..n]
Für k = 7
x1’ = 0100001.110101010011100110101
x2’ = 1010101.010100010101010101101
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
7 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Cross-Over
Uniformer Crossover
übernimm jede Position zufällig entweder unverändert oder vertausche die
beiden Zeichen zwischen Eltern
x1 = 0110001110101010101100100101
x2 = 1000101010100010011010111101
tausch
--**-***--******---**---**-*
Beobachtung: d (x1 , x10 ) ≤ d (x1 , d2 ) und d (x1 , x20 ) ≤ d (x1 , d2 )
Übliche Forderung an Rekombination:
R(x, y ) = R(y , x)
Für z ∈ R(x, y ) gilt d (x, z), d (y , z) ≤ d (x, y )
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
8 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Crossover für Vektoren
Mittelwertbildung:
1
z = (x + y )
2
Konvexe Kombination:
z = px + (1 − p)y
p ∈ [0, 1]
Die Zufallszahl p wird typischerweise aus einer Gleichverteilung gezogen
Spezielle Verfahren für andere Typen von Objekten, wie z.B.,
Permutationen, Bäume . . .
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
9 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Crossover im Allgemeinen
Gegeben: Suchraum X eine Graphenstrukur auf X , d.h., Nachbarschaften
N(x) für jede Konfiguration so dass y ∈ N(x) =⇒ x ∈ N(y ).
Die graphische Distanz d : X × X → R+
0 auf (X , N) is definiert durch
d (x, y ) ist die Länge des kürzesten Pfades von x nach y .
Segment [x, y ] zwischen x und y is definiert durch
[x, y ] = {z ∈ X |d (x, z) + d (z, y ) = d (x, y )}
(=Menge aller Konfigurationen auf kürzesten Pfaden von x nach y )
Sogenannte topologische Crossover-Operator erfüllen
R(x, y ) ⊆ [x, y ]
D.h., jede Rekombinanten liegt auf einem kürzesten Pfad zwischen den
Eltern
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
10 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Abbruchbedingungen
Normalerweise ist nicht bekannt, ob das Ziel bereits erreicht ist, d.h.,
ob ein globales Minimum bereits gefunden ist.
Fixe Anzahl von Iterationen
Keine Verbesserung seit K Iterationen
Verbesserung in den letzten K Iterationen weniger als (im Fall von
reell-wertigen Problemstellungen)
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
11 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Erstes Beispiel
Gesucht sind 5 ganze Zahlen a, b, c, d, e, so dass die Funktion
F = |a-b|+ |b-c|+ |c-d|+ |d-e|+ |e-a|
minimiert wird. (Lösung: a = b = c = d = e).
Kodierung:
Als einfachste Möglichkeit fassen wir in den Genen die freien
Variablen zusammen: (a,b,c,d,e)
Fitness:
F → min
Rekombination: einfaches Crossover an Position co:
– wähle 1 ≤ co ≤ 4,
– kopiere die Allele 1 bis co vom ersten Elternteil und die Allele
von co+1 bis 5 vom zweiten.
Mutation an einer Position um ±1 ist möglich.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
12 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Details zu Beispiel 1
• Startpopulation aus 50 Individuen
• Fünf Gene (für jede Zahl ein Gen), Wertebereich [-50,50]
• Vermehrung mit einfachem Crossover, Mutation ±1 mit Wahrscheinlichkeit 1%
bei jedem Gen
• Durch zufällige Eltern-Paare werden 50 Kinder erzeugt.
• Von den nun insgesamt 100 Individuen überleben die 50 mit der besten Fitness.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
13 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Rang
Bsp. 1: Generationen 0 und 1
Fitness
1
2
3
4
5
6
7
8
9
10
...
49
50
24
74
78
82
90
96
112
114
118
120
...
282
346
Fitness
Generation 0
-33
-4
-21
5
-3
3
-38
-28
-5
18
...
-1
38
-29
6
-3
-8
10
-34
-32
2
4
-1
...
-33
-49
G. Heyer, F. Holz (Abt ASV, Uni LE)
-26
22
-16
-14
18
-29
8
5
-6
-22
...
34
12
-35
0
-29
-17
17
-33
-14
14
44
-7
...
-34
43
-38
-15
-42
24
41
-40
-48
-43
24
38
...
40
-43
24
74
78
82
90
94
96
102
112
114
...
166
166
Generation 1
-33
-4
-21
5
-3
-38
3
-12
-38
-28
...
10
18
ADS 2, V 11
-29
6
-3
-8
10
-32
-34
-19
-32
2
...
46
15
-26
22
-16
-14
18
8
-29
31
8
5
...
-6
11
-35
0
-29
-17
17
-14
-33
-2
-14
14
...
-2
-40
-38
-15
-42
24
41
-13
-40
-13
-48
-43
...
41
43
SS 2013
14 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Rang
Bsp. 1: Generationen 15 und 46
Fitness
1
2
3
4
5
6
7
8
9
10
...
49
50
20
20
22
22
22
22
22
22
22
22
...
24
24
Fitness
Generation 15
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-32
-33
-29
-29
-29
-29
-29
-29
-29
-28
-29
-29
...
-29
-29
G. Heyer, F. Holz (Abt ASV, Uni LE)
-28
-28
-27
-27
-27
-27
-27
-26
-27
-27
...
-26
-26
-35
-35
-35
-35
-35
-35
-35
-35
-35
-35
...
-35
-35
-38
-38
-38
-38
-38
-38
-38
-37
-38
-38
...
-38
-38
2
2
4
4
4
4
4
4
4
4
...
4
4
Generation 46
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-33
-33
ADS 2, V 11
-33
-32
-31
-31
-31
-31
-32
-31
-31
-31
...
-31
-31
-32
-32
-31
-31
-31
-31
-31
-31
-31
-31
...
-31
-31
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-33
-33
SS 2013
15 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Allgemeiner Genetischer
Algorithmus I
Vorbereitung
• Fitness-Funktion problemangepasst festlegen
• Abbruchkriterium festlegen
• Genetische Kodierung: lernrelevante Parameter des Systems durch Gene eindeutig
kodieren
• Genetische Operationen festlegen (Vermehrung, Mutation)
• Selektionskriterien festlegen
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
16 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Allgemeiner Genetischer
Algorithmus II
Durchführung
1. Initialisierung: Ausgangspopulation erzeugen
2. Rekombination: Nachkommen erzeugen mittels der genetischen Operationen
3. Fitness bestimmen
4. Selektion: Bilden der neuen Population durch Selektion (z.B. entsprechend
Qualität, Alter)
5. Abbruch? Falls Abbruchkriterium erfüllt, dann STOPP.
6. Gehe zu Schritt 2.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
17 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Selektionsmethoden
• Ein Kind wird jeweils von einem Elternteil erzeugt:
(µ+λ)-Strategie: Die Population besteht aus µ Individuen, daraus werden λ Kinder
erzeugt, die µ fittesten Individuen überleben.
(µ,λ)-Strategie: Die Population besteht aus µ Individuen, daraus werden λ>µ
Kinder erzeugt, die µ fittesten dieser Kinder überleben. [Sinnvoll
ist z.B. eine (10+100)-Srategie.]
• Ein Kind wird jeweils von k Elternteilen erzeugt:
(µ/k+λ)-Strategie: Population aus µ Individuen, daraus λ Kinder, die µ fittesten
überleben. [Im Beispiel wurde also eine (50/2+50)-Srategie
benutzt.]
(µ/k,λ)-Strategie: analog
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
18 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Fitness maximieren
• Fitness ist eine Funktion F von mehreren Variablen.
• Die Suche nach Individuen mit großer Fitness entspricht der Suche nach dem
Maximum von F.
Es gibt verschiedene Verfahren für verschiedene Typen von Aufgaben:
– Gibt es ein oder mehrere lokale Maxima?
– Wie glatt ist die Funktion (z.B. differenzierbar)?
– Wie weit darf die Lösung vom globalen Maximum entfernt sein?
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
19 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
GA für Reihenfolge-Probleme
Untersucht werden sollen Fragestellungen, bei denen die Größe des Erfolges von der
Reihenfolge der Arbeitsschritte abhängt.
Beispiele
– Traveling Salesman Problem: Zu gegebenen n Punkten in der Ebene ist eine
möglichst kurze Rundreise gesucht.
– Anordnungsprobleme unter Verwendung möglichst vieler Teile:
Rucksackproblem
– allgemeinstes Beispiel: Maximierung einer Funktion, die auf allen
Permutationen einer Menge {1, 2,..., n} definiert ist.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
20 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Probleme beim Kreuzen
Wie sollen die Nachkommen bei Reihenfolge-Problemen erzeugt werden?
Rekombination: einfaches Crossover an Position co:
– wähle 1 ≤ co < n
– kopiere die Allele 1 bis co vom ersten Elternteil und die Allele von co+1 bis n
vom zweiten
Elternteil 1:
Elternteil 2:
(1,2,3,4,5,6,7,8)
(6,5,4,3,1,2,7,8)
Crossover an co = 3:
Kind:
(1,2,3,3,1,2,7,8)
⇒ kein gültiges Individuum
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
21 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Crossover von Permutationen
1. Crossover-Bereich für die Eltern A und B festlegen
2. Für Kind 1 den nicht zu verändernden Bereich von A kopieren und
3. in den Crossover-Bereich die restlichen Elemente von A einfügen, und zwar in der
Reihenfolge, wie sie in B vorkommen.
4. Kind 2 mit vertauschten Rollen von A und B erzeugen.
Beispiel
Elternteil A
Elternteil B
1
8
2
6
3
4
4
2
5
7
6
5
7
3
8
1
Schritt 1
Kind 1
Kind 2
8
2
-
3
-
2
5
-
6
-
3
1
Schritt 2
Kind 1
Kind 2
8
8
2
4
3
5
4
2
5
6
6
7
7
3
1
1
Schritt 3
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
Crossover-Bereich
SS 2013
22 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Crossover und Mutation
• Crossover ist nicht symmetrisch zwischen den Eltern.
• Vom ersten Elternteil wird der ausgewählte Bereich (wie immer) unverändert
übernommen.
• Vom zweiten Teil wird kein Bereich übernommen, aber immerhin bleibt für die
übernommenen Elemente die relative Ordnung erhalten.
Einfachste und natürlichste Mutation:
Wähle eine Teilliste aus und permutiere diese.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
23 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Das Traveling Salesman Problem (TSP)
Vorüberlegungen:
Wege können vorwärts und rückwärts durchlaufen werden, d.h. einem Teilweg
ist zunächst (auch bei der Bestimmung der Fitness) keine Richtung zugeordnet.
⇒ Nachbarschaft in einer Permutation entscheidend, nicht die Reihenfolge
Anwendung: Mutation
Drehen eines Teilweges:
Wähle einen beliebig langen Teilweg aus und durchlaufe diesen rückwärts.
⇒ Änderung nur an zwei Elementarstücken – an den Enden des Teilweges
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
24 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
TSP Vorbereitung
• Genetische Kodierung: lernrelevante Parameter durch Gene kodieren
Permutation der n Städte
• Fitness-Funktion problemangepasst festlegen
Summe der Entfernungen von Stadt zu Stadt auf der Rundreise
• Genetische Operationen festlegen (Vermehrung, Mutation)
– Crossover für Permutationen
– Edge-2
• Selektionskriterien festlegen
– Überleben der µ besten Individuen
– Tournament set
• Abbruchkriterium festlegen
– Unterschreiten eines festgelegten Limits (Rundreise „kurz genug“)
– genau x Generationen
– x Generationen keine Änderung am fittesten Individuum
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
25 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
TSP Recombination: Edge-2
Erklärung am Beispiel:
Rekombiniert werden sollen die Wege
Elternteil 1: g
Elternteil 2: c
d
e
m
k
h
a
b
g
j
b
f
h
i
i
a
j
k
f
e
m
c
d
Dazu werden die Nachbarschaften in folgender Kantenliste dargestellt:
(Anfang – Enden, doppelt auftretende Enden mit * markiert)
a
b
c
d
-
*k,g,i
*h,g,j
*e,d,g
*m,g,c
G. Heyer, F. Holz (Abt ASV, Uni LE)
e
f
g
h
-
*k,*c
*j,m,i
a,b,c,d
*b,i,m
ADS 2, V 11
i
j
k
m
-
h,j,a,f
*f,i,b
*e,*a
*d,f,h
SS 2013
26 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Edge-2 Algorithmus
1. Der Startknoten wird zufällig gewählt.
2. Der aktuell gewählte Knoten wird aus den rechten Seiten der Kantenliste überall
entfernt.
3. Der nächste Knoten wird folgendermaßen gewählt:
– Falls die Kantenliste zum aktuellen Knoten einen mit * markierten Knoten
enthält, wird dieser gewählt. (Bei mehreren Knoten mit dieser Eigenschaft
wird zufällig daraus gewählt.)
– Sonst wird der unmarkierte Knoten mit der kürzesten verbliebenen Kantenliste
gewählt. (Bei mehreren Knoten mit dieser Eigenschaft wird zufällig daraus
gewählt.)
– Sonst wird zufällig ein Knoten ausgewählt.
– Ist kein Knoten mehr wählbar, sind wir fertig.
4. Weiter zu Schritt 2.
G. Heyer, F. Holz (Abt ASV, Uni LE)
ADS 2, V 11
SS 2013
27 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
Edge-2 im Beispiel
Elternteil 1: g
Elternteil 2: c
d
e
m
k
h
a
b
g
j
b
f
h
i
i
a
j
k
f
e
m
c
d
Kantenliste:
a - *k,g,i
b - *h,g,j
c - *e,d,g
d - *m,g,c
e - *k,*c
f - *j,m,i
g - a,b,c,d
h - *b,i,m
i - h,j,a,f
j - *f,i,b
k - *e,*a
m - *d,f,h
Zufällige Auswahl: a
In Schritt 3 wird zunächst k gewählt, dann e, dann c. Danach wird von d und g
(Länge der verbliebenen Kantenliste ist jeweils 2) zufällig d gewählt, dann m
(eindeutig), h (zufällig aus f und h), b (eindeutig), g (eindeutig).
Jetzt wird i zufällig ausgewählt, es entsteht erstmalig eine neue Kante.
Danach f und j.
Ergebnis:
a
k
e
G. Heyer, F. Holz (Abt ASV, Uni LE)
c
d
m
h
b
ADS 2, V 11
g
i
f
j
SS 2013
28 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
TSP Demo
G. Heyer,
F. Holz (Abt ASV, Uni LE)
U. Quasthoff
ADS und
2, VDatenstrukturen
11
Algorithmen
2
SS 2013
29 /27
32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
TSP als
Wettbewerb
• 1962 ausgeschrieben von
Proctor & Gamble
• 33 vorgegebene Städte in
den USA
• Mehrere Gewinner mit
optimaler Lösung
U. Quasthoff
G. Heyer, F. Holz (Abt ASV, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V 11
SS 2013
28
30 / 32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
• 1977: Optimale Tour für 120
Städte in der BRD
• Gefunden von Martin Grötschel
G. Heyer,
F. Holz (Abt ASV, Uni LE)
U. Quasthoff
ADS und
2, VDatenstrukturen
11
Algorithmen
2
SS 2013
31 /29
32
Stochastische Optimierungsalgorithmen
Genetische Algorithmen I
• 2001: Optimale Tour für 15112
Städte in Deuschland
• Gefunden von Applegate,
Bixby und Chvátal
U. Quasthoff
G. Heyer, F. Holz (Abt ASV, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V 11
30
SS 2013
32 / 32
Herunterladen