pdf-8 - bioinf leipzig

Werbung
Stochastische Optimierungsalgorithmen
ADS: Algorithmen und Datenstrukturen 2
Problemstellung
Lösungensmenge X , Bewertungsfunktion f : X → R.
Finde globales Minimum von f
Grundprinzip
Teil 11
Prof. Peter F. Stadler & Sebastian Will
Start: endliche Menge A von erlaubten Lösungen (“Population”) mit
|A| = n.
Bioinformatik/IZBI
Institut für Informatik
& Interdisziplinäres Zentrum für Bioinformatik
Universität Leipzig
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.
18. Juni 2014
[Letzte Aktualisierung: 16/06/2014, 11:19]
Abbruchbedingung
1 / 32
Stochastische Optimierungsalgorithmen
P.F. Stadler & S. Will (Bioinf, Uni LE)
2 / 32
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
4
ADS 2, V11
18. Juni 2014
Genetische Algorithmen
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 ... )
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
3 / 32
Genetische Algorithmen
Wähle eine Teilemenge von A und ziehe für jedes x ∈ A einen
Mutanten y ∈ N(x).
Bilde die Vereinigung von A, den Cross-over Nachkommen, und den
Mutanten
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
4 / 32
Die Eingeweide: Kodierung
Explizite Representation der Lösungen
Selektion:
viele Varianten:
Strings fixer Länge.
Moves: Ersetzen eines Zeichens
N(x) = {y |dH (x, y ) = 1}
dH . . . Hamming Distanz
fitness-proportional selection.
Ziehe aus B mit Wahrscheinlichkeiten proportional zu −f (z) oder
exp(−f (z)) bis genau n Lösungen gezogen sind
Permutationen.
Moves: Transpositionen
ziehe zwei Lösungen z und z 0 . Falls z > z 0 , akzeptiere z. Wiederhole
bis n Lösungen akzeptiert sind.
Reell-wertige Vektoren.
Hier werden oft normalverteilte “Mutanten” gewählt:
Wähle die besten n Lösungen.
pyx ∼ exp(−||x − y ||2 /σ 2 )
...
auch andere kombinatorische Objekte können benutzt werden:
Spannbäume, Partitionen, Matchings, ...
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
5 / 32
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
6 / 32
Cross-Over
Cross-Over
Für Strings:
1-Punkt Crossover
Uniformer Crossover
übernimm jede Position zufällig entweder unverändert oder vertausche die
beiden Zeichen zwischen Eltern
x1 = 0100001010100010101010101101
x2 = 1010101110101010011100110101
x1 = 0110001110101010101100100101
x2 = 1000101010100010011010111101
tausch
--**-***--******---**---**-*
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
Beobachtung: d(x1 , x10 ) ≤ d(x1 , d2 ) und d(x1 , x20 ) ≤ d(x1 , d2 )
Übliche Forderung an Rekombination:
x1’ = 0100001.110101010011100110101
x2’ = 1010101.010100010101010101101
R(x, y ) = R(y , x)
Für z ∈ R(x, y ) gilt d(x, z), d(y , z) ≤ d(x, y )
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
7 / 32
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
8 / 32
Crossover für Vektoren
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
Mittelwertbildung:
1
z = (x + y )
2
Konvexe Kombination:
[x, y ] = {z ∈ X |d(x, z) + d(z, y ) = d(x, y )}
z = px + (1 − p)y
p ∈ [0, 1]
(=Menge aller Konfigurationen auf kürzesten Pfaden von x nach y )
Sogenannte topologische Crossover-Operator erfüllen
Die Zufallszahl p wird typischerweise aus einer Gleichverteilung gezogen
Spezielle Verfahren für andere Typen von Objekten, wie z.B.,
Permutationen, Bäume . . .
R(x, y ) ⊆ [x, y ]
D.h., jede Rekombinanten liegt auf einem kürzesten Pfad zwischen den
Eltern
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
9 / 32
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
10 / 32
Abbruchbedingungen
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|
Normalerweise ist nicht bekannt, ob das Ziel bereits erreicht ist, d.h.,
ob ein globales Minimum bereits gefunden ist.
minimiert wird. (Lösung: a = b = c = d = e).
Fixe Anzahl von Iterationen
Kodierung:
Als einfachste Möglichkeit fassen wir in den Genen die freien
Variablen zusammen: (a,b,c,d,e)
Fitness:
F → min
Keine Verbesserung seit K Iterationen
Verbesserung in den letzten K Iterationen weniger als (im Fall von
reell-wertigen Problemstellungen)
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.
U. Quasthoff
ADS 2, V11
18. Juni 2014
11 / 32
Details zu Beispiel 1
• 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.
U. Quasthoff
Algorithmen und Datenstrukturen 2
11
ADS 2, V11
18. Juni 2014
13 / 32
Rang
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
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, 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
12 / 32
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
-26
22
-16
-14
18
-29
8
5
-6
-22
...
34
12
U. Quasthoff
-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
-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
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
12
18. Juni 2014
14 / 32
Generation 46
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-33
-33
-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
Vorbereitung
• Fitness-Funktion problemangepasst festlegen
-33
-33
-33
-33
-33
-33
-33
-33
-33
-33
...
-33
-33
• Abbruchkriterium festlegen
• Genetische Kodierung: lernrelevante Parameter des Systems durch Gene eindeutig
kodieren
• Genetische Operationen festlegen (Vermehrung, Mutation)
• Selektionskriterien festlegen
Algorithmen und Datenstrukturen 2
ADS 2, V11
18. Juni 2014
Allgemeiner Genetischer
Algorithmus I
Bsp. 1: Generationen 15 und 46
Fitness
10
ADS 2, V11
Bsp. 1: Generationen 0 und 1
• Startpopulation aus 50 Individuen
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
Rang
P.F. Stadler & S. Will (Bioinf, Uni LE)
13
18. Juni 2014
15 / 32
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
14
18. Juni 2014
16 / 32
Allgemeiner Genetischer
Algorithmus II
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.]
Durchführung
1. Initialisierung: Ausgangspopulation erzeugen
2. Rekombination: Nachkommen erzeugen mittels der genetischen Operationen
3. Fitness bestimmen
• Ein Kind wird jeweils von k Elternteilen erzeugt:
4. Selektion: Bilden der neuen Population durch Selektion (z.B. entsprechend
Qualität, Alter)
(µ/k+λ)-Strategie: Population aus µ Individuen, daraus λ Kinder, die µ fittesten
überleben. [Im Beispiel wurde also eine (50/2+50)-Srategie
benutzt.]
(µ/k,λ)-Strategie: analog
5. Abbruch? Falls Abbruchkriterium erfüllt, dann STOPP.
6. Gehe zu Schritt 2.
U. Quasthoff
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
15
18. Juni 2014
17 / 32
U. Quasthoff
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
16
18. Juni 2014
18 / 32
Fitness maximieren
GA für Reihenfolge-Probleme
• Fitness ist eine Funktion F von mehreren Variablen.
Untersucht werden sollen Fragestellungen, bei denen die Größe des Erfolges von der
Reihenfolge der Arbeitsschritte abhängt.
• Die Suche nach Individuen mit großer Fitness entspricht der Suche nach dem
Maximum von F.
Beispiele
– Traveling Salesman Problem: Zu gegebenen n Punkten in der Ebene ist eine
möglichst kurze Rundreise gesucht.
Es gibt verschiedene Verfahren für verschiedene Typen von Aufgaben:
– Gibt es ein oder mehrere lokale Maxima?
– Anordnungsprobleme unter Verwendung möglichst vieler Teile:
Rucksackproblem
– Wie glatt ist die Funktion (z.B. differenzierbar)?
– allgemeinstes Beispiel: Maximierung einer Funktion, die auf allen
Permutationen einer Menge {1, 2,..., n} definiert ist.
– Wie weit darf die Lösung vom globalen Maximum entfernt sein?
U. Quasthoff
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
17
18. Juni 2014
19 / 32
U. Quasthoff
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18
18. Juni 2014
20 / 32
Crossover von Permutationen
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
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 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
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
19
18. Juni 2014
21 / 32
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
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Crossover-Bereich
Algorithmen und Datenstrukturen 2
ADS 2, V11
20
18. Juni 2014
22 / 32
Crossover und Mutation
Das Traveling Salesman Problem (TSP)
• Crossover ist nicht symmetrisch zwischen den Eltern.
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.
• Vom ersten Elternteil wird der ausgewählte Bereich (wie immer) unverändert
übernommen.
⇒ Nachbarschaft in einer Permutation entscheidend, nicht die Reihenfolge
• Vom zweiten Teil wird kein Bereich übernommen, aber immerhin bleibt für die
übernommenen Elemente die relative Ordnung erhalten.
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
Einfachste und natürlichste Mutation:
Wähle eine Teilliste aus und permutiere diese.
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
21
18. Juni 2014
23 / 32
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
22
18. Juni 2014
24 / 32
TSP Vorbereitung
TSP Recombination: Edge-2
• Genetische Kodierung: lernrelevante Parameter durch Gene kodieren
Permutation der n Städte
Erklärung am Beispiel:
Rekombiniert werden sollen die Wege
• Fitness-Funktion problemangepasst festlegen
Summe der Entfernungen von Stadt zu Stadt auf der Rundreise
Elternteil 1: g
Elternteil 2: c
• Genetische Operationen festlegen (Vermehrung, Mutation)
– Crossover für Permutationen
– Edge-2
a
b
c
d
• Abbruchkriterium festlegen
– Unterschreiten eines festgelegten Limits (Rundreise „kurz genug“)
– genau x Generationen
– x Generationen keine Änderung am fittesten Individuum
U. Quasthoff
Algorithmen und Datenstrukturen 2
ADS 2, V11
m
k
h
a
b
g
j
b
f
h
i
i
23
18. Juni 2014
25 / 32
-
*k,g,i
*h,g,j
*e,d,g
*m,g,c
e
f
g
h
U. Quasthoff
-
*k,*c
*j,m,i
a,b,c,d
*b,i,m
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.
Elternteil 1: g
Elternteil 2: c
c
d
25
18. Juni 2014
27 / 32
i
j
k
m
-
h,j,a,f
*f,i,b
*e,*a
*d,f,h
d
e
m
k
24
h
a
b
g
j
b
f
h
i
i
18. Juni 2014
a
j
k
f
e
m
26 / 32
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:
Algorithmen und Datenstrukturen 2
ADS 2, V11
e
m
ADS 2, V11
Edge-2 im Beispiel
P.F. Stadler & S. Will (Bioinf, Uni LE)
k
f
Algorithmen und Datenstrukturen 2
P.F. Stadler & S. Will (Bioinf, Uni LE)
Edge-2 Algorithmus
U. Quasthoff
a
j
Dazu werden die Nachbarschaften in folgender Kantenliste dargestellt:
(Anfang – Enden, doppelt auftretende Enden mit * markiert)
• Selektionskriterien festlegen
– Überleben der µ besten Individuen
– Tournament set
P.F. Stadler & S. Will (Bioinf, Uni LE)
d
e
a
k
e
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
c
d
m
h
b
g
i
f
j
Algorithmen und Datenstrukturen 2
ADS 2, V11
26
18. Juni 2014
28 / 32
TSP als
Wettbewerb
TSP Demo
• 1962 ausgeschrieben von
Proctor & Gamble
• 33 vorgegebene Städte in
den USA
• Mehrere Gewinner mit
optimaler Lösung
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
27
18. Juni 2014
29 / 32
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
Algorithmen und Datenstrukturen 2
ADS 2, V11
30 / 32
• 2001: Optimale Tour für 15112
Städte in Deuschland
• Gefunden von Applegate,
Bixby und Chvátal
• 1977: Optimale Tour für 120
Städte in der BRD
• Gefunden von Martin Grötschel
U. Quasthoff
28
18. Juni 2014
Algorithmen und Datenstrukturen 2
30
29
18. Juni 2014
31 / 32
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V11
18. Juni 2014
32 / 32
Herunterladen