3.4 Genetische und evolutionäre Algorithmen

Download Report

Transcript 3.4 Genetische und evolutionäre Algorithmen

3.4 Genetische und
evolutionäre Algorithmen
Organic Computing – Teil 3b, Folie 1 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Evolutionäre Algorithmen
Evolutionäre
Biologie
Evolutionäre
Algorithmen
Informatik
Zu den evolutionären Algorithmen gehören:
 Genetische Algorithmen
 Genetische Programmierung
 Evolutionäre Programmierung
 Evolutionäre Strategien
Organic Computing – Teil 3b, Folie 2 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Diese unterschiedlichen Techniken wurden teilweise
zeitgleich von unabhängig arbeiten Wissenschaftlern entwickelt
Genetische Algorithmen (John H. Holland, David E. Goldberg)
Genetische Programmierung (John R. Koza)
Evolutionäre Programmierung (Lawrence J. Fogel)
Evolutionäre Strategien (Hans-Paul Schwefel, Ingo Rechenberg)
Sie weisen bestimmte Unterschiede z.B. in der Art der
Initialisierung oder bei Details der Vorgehensweise auf,
nutzen jedoch alle das Prinzip der Evolution
Es sind heuristische Optimierungsverfahren, die besonders für
analytisch schwer oder nicht lösbare Probleme eingesetzt
werden
Organic Computing – Teil 3b, Folie 3 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Grundlegende Vorgehensweise:
Selektion
Population
(Menge von Lösungskandidaten)
Ersetzung,
Ergänzung
Organic Computing – Teil 3b, Folie 4 - Prof. Dr. Uwe Brinkschulte
Eltern
(Ausgewählte Lösungskandidaten)
Rekombination,
Mutation
Nachwuchs
(Neue Lösungskandidaten)
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Begriff
Population
Biologische Erläuterung
Menge von Lebewesen
In der Informatik
Menge von
Lösungskandidaten
Eltern, Parents, Matepool Sich paarende
Untermenge der
Population
Ausgewählte Lösungskandidaten zur Erzeugung neuer Kandidaten
Kinder, Children,
Neue
Nachwuchs
Offspring
Lösungskandidaten
Generation
Fitness
Eine Generation von
Eine Generation von
Lebewesen
Lösungskandidaten
Angepasstheit eines
Gibt die Qualität eines
Lösungskandidaten
wieder
Lebewesens
Organic Computing – Teil 3b, Folie 5 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Begriff
Biologische Erläuterung
In der Informatik
aus der Population
Auswahl von Lösungskandidaten zur
Erzeugung der nächsten
Generation
Rekombination,
Neue Lebewesen durch
Neue Lösungskandi-
Kreuzung, Crossover
Mischung der
daten durch Mischung
Elterneigenschaften
der Elterneigenschaften
Zufällige Veränderungen
Zufällige Veränderungen
bei den neuen
bei den neuen
Lebewesen
Lösungskandidaten
Selektion
Auswahl paarungsgeeigneter Lebewesen
Mutation
Organic Computing – Teil 3b, Folie 6 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Begriff
Biologische Erläuterung
In der Informatik
Selektionsdruck
Auswirkung eines
Selektionsfaktors auf die
Population
Auswirkung eines
Selektionsfaktors auf die
Population
Diversität
Spread
Unterschiedlichkeit der
Lebewesen in der
Population
-
Genotyp
Genetische Ausstattung
Unterschiedlichkeit der
Lösungskandidaten in
der Population
Unterschied der Anzahl
erwarteter und erzeugter
Lösungskandidaten bei
der Selektion
Genetische Kodierung
eines
Lösungskandidaten
Eigenschaften eines
Lösungskandidaten
eines Lebewesens
Phänotyp
Körperlichen Merkmale
eines Lebewesens
Organic Computing – Teil 3b, Folie 7 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Genotyp und Phänotyp
Suchraum
100001
Lösungsraum
101011
111011
Genotyp
Phänotyp
Zur Erzeugung neuer Lösungskandidaten
(Rekombination, Mutation) werden Prinzipien der
Genetik verwendet
Organic Computing – Teil 3b, Folie 8 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Begriff
Chromosom
Biologische Erläuterung
Legt die Eigenschaften
In der Informatik
String
eines Lebewesens fest
Gen
Einzelnes Teilstück eines Zeichen
Chromosoms
Allele
Ausprägung eines Gens
Wert eines Zeichens
Locus
Ort eines Gens
Position eines Zeichen
Organic Computing – Teil 3b, Folie 9 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Allele=1
Chromosom(string)
0
1
0
1
1
1
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
10
11
12
Locus=2
Organic Computing – Teil 3b, Folie 10 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Genetische Codierung von Lösungskandidaten:
Zur Darstellung von Lösungskandidaten (Individuen) muss
deren Genotyp definiert werden.
Dies heißt, es muss eine Codierung für die Gene bzw.
Chromosome festgelegt werden.
Diese können dann entweder direkt den Phänotyp festlegen
(Direct Representation, Genotyp ~ Phänotyp) oder indirekt die
Eigenschaften bestimmen (Parameter Repräsentation, Genotyp
-> Phänotyp)
Organic Computing – Teil 3b, Folie 11 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Mögliche Codierungen
Binäre Codierung:
• Chromosome werden als Strings von 1en und 0en dargestellt.
• Beispiel (Rucksackproblem): Bit gibt Auskunft, ob korrespondierende Sache im
Rucksack ist
Wert Codierung:
• Chromosome werden als Strings von Werten dargestellt.
• Beispiel neuronales Netzwerk: Die reellen Werte im Chromosom stellen die zu den
Eingaben korrespondierenden Gewichte dar.
Organic Computing – Teil 3b, Folie 12 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Permutation Codierung:
• Chromosome werden als Strings von Zahlen dargestellt. Die Zahlen liegen in
einem Tupel vor.
• Beispiel (TSP): Chromosom gibt die Reihenfolge wieder in denen die Städte
besucht werden.
Baum Codierung:
• Chromosome werden als Bäume dargestellt.
• Beispiel (Finden einer Funktion durch gegebene Werte): Chromosome sind
Funktionen, die in einem Baum repräsentiert sind.
Organic Computing – Teil 3b, Folie 13 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Beispiel: Codierung einer LCS Regel
Bedingung
011##10#
Aktion
010
Erwartete Belohnung
23
mit der Wert Codierung
0 -> 0,
1 -> 1, # -> 2
ergibt sich folgendes Chromosom:
0 1 1 2 2 1 0 2 0 1 0
(Kodiert werden die Teile der Regel, die man durch den genetischen Algorithmus
verändern möchte, d.h. Bedingung und Aktion. Die erwartete Belohnung kann bspw.
als Fitness dienen)
Organic Computing – Teil 3b, Folie 14 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Selektionsmethoden
Die Selektion von Individuen orientiert sich an ihrer Fitness.
Fitte Individuen werden mit höherer Wahrscheinlichkeit
ausgewählt.
Dies kann z.B. mit folgenden Methoden erfolgen:
1.
2.
3.
4.
5.
6.
Roulette Methoden
Remainder Stochastic Sampling
Boltzmann Methode
Turnier Methode
Rang Methode
Truncation Selection
Organic Computing – Teil 3b, Folie 15 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Roulette-Methoden
Bei den Roulette-Methoden werden die Individuen auf einem
Roulette-Rad angeordnet. Ein Individuum erhält eine seiner
Fitness entsprechende Anzahl von Feldern.


Fitnessi 

Felderi   Maxim alzahlFelder
Fitnessj 



j 1..Population


Organic Computing – Teil 3b, Folie 16 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Roulette-Methoden: Stochastic Sampling
Beim Stochastic Sampling wird für jedes zu selektierende
Individuum die Kugel gerollt, d.h. mittels einer Zufallszahl
ein Individuum bestimmt.
Kugel
Dies entspricht einer Auswahl mit Zurücklegen, da ein
ausgewähltes Individuum erneut an weiteren Selektionen
teilnimmt
Organic Computing – Teil 3b, Folie 17 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Roulette-Methoden: Stochastic Sampling
Vor- und Nachteile:
+ auch Individuen mit geringer Fitness erhalten eine Chance
- geringer Evolutionsdruck, da niedrige Fitness nicht
zwangsweise bestraft wird
- hoher Spread, da durch das Zurücklegen ein Individuum
ggf. unerwünschterweise mehrfach gewählt wird
Organic Computing – Teil 3b, Folie 18 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Roulette-Methoden: Universal Stochastic Sampling
Hier wird nur einmal die Kugel gerollt, all zu selektierende
Individuen werden durch äquidistante Abstände zum Ergebnis
bestimmt
Distanz
Kugel
 Fitness
j
Distanz 
j 1..Population
AnzahlZuSelektierendeIndividuen
Organic Computing – Teil 3b, Folie 19 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Roulette-Methoden: Universal Stochastic Sampling
Vorteile gegenüber Stochastic Sampling:
+ nur eine Zufallszahl erforderlich
+ minimaler Spread, da äquidistant gewählt wird
Organic Computing – Teil 3b, Folie 20 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
2-stufiges Verfahren
1. Von jedem Individuum wir eine Anzahl Kopien übernommen
gemäß folgenden Formeln
Anzi  AnzahlZuSelektierendeIndividuen 
Fitnessi
 Fitnessj
j 1..Population
Anzahli  Anzi 
Der ganzzahlige Anteil von Anzi wird also direkt übernommen
Organic Computing – Teil 3b, Folie 21 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
2. Falls nach Ausführung des ersten Schritts für alle
Individuen der Population die Anzahl zu selektierender
Individuen noch nicht vollständig ist, wird der
gebrochene Anteil von Anzi als Wahrscheinlichkeit
pi zum Auffüllen benutzt.
pi  Anzi  Anzi 
Hierfür gibt es zwei Techniken
Organic Computing – Teil 3b, Folie 22 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
2a: Mit Zurücklegen (Roulette)
Gemäß den Wahrscheinlichkeiten pi werden die Individuen
auf den Roulette Rad angeordnet und die Kugel gerollt,
bis die Anzahl zu selektierender Individuen vollständig ist
2b: Ohne Zurücklegen (Münzwurf)
Für jedes Individuum wird eine Münze geworfen, wobei pi
die Wahrscheinlichkeit von "Kopf" bedeutet. Bei "Kopf" wird
das Individuum übernommen, bei "Zahl" nicht. Die
Reihenfolge der Würfe richtet sich nach absteigender
Kopfwahrscheinlichkeit
Organic Computing – Teil 3b, Folie 23 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
Beispiel:
Individuum
Individuum
Individuum
Individuum
1
2
3
4
Fitness
5
Fitness
7
Fitness
3
Fitness
2
 = 17
Anz1
Anz2
Anz3
Anz4
=
=
=
=
6
6
6
6
*
*
*
*
5/17
7/17
3/17
2/17
=
=
=
=
1.76
2.47
1.05
0.70
Es seien 6 Individuen zu selektieren
1. Schritt: Individuum
Individuum
Individuum
Individuum
1
2
3
4
wird
wird
wird
wird
1
2
1
0
mal
mal
mal
mal
Organic Computing – Teil 3b, Folie 24 - Prof. Dr. Uwe Brinkschulte
genommen
genommen
genommen
genommen
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
Beispiel:
2. Schritt, Variante a
Individuum
Individuum
Individuum
Individuum
1: 76 Felder auf dem
2: 47 Felder auf dem
3: 5 Felder auf dem
4: 70 Felder auf dem
Roulette
Roulette
Roulette
Roulette
Rad
Rad
Rad
Rad
(~
(~
(~
(~
0.76)
0.47)
0.05)
0.70)
Das Roulette Rad hat insgesamt also 198 Felder
Es wird die Kugel geworfen, bis die restlichen 2
Individuen selektiert sind.
Organic Computing – Teil 3b, Folie 25 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
Beispiel:
2. Schritt, Variante b
Individuum
Individuum
Individuum
Individuum
1:
2:
3:
4:
Wahrscheinlichkeit
Wahrscheinlichkeit
Wahrscheinlichkeit
Wahrscheinlichkeit
"Kopf"
"Kopf"
"Kopf"
"Kopf"
0.76
0.47
0.05
0.70
Mit absteigender Kopfwahrscheinlichkeit (hier also in
der Reihenfolge 1 4 2 3) wird für jedes Individuum nun
die Münze geworfen, bis die restlichen 2 Individuen
selektiert sind.
Organic Computing – Teil 3b, Folie 26 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Remainder Stochastic Sampling
Vor- und Nachteile:
+ Größere Wahrscheinlichkeit von Diversität
+ Selektionswahrscheinlichkeiten ändern sich mit jeder
Generation
+ Kein Chromosom hat eine künstliche
Selektionswahrscheinlichkeit von Null
- Die besten Chromosome überleben immer
Organic Computing – Teil 3b, Folie 27 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Boltzmann Selektion
 Bestimmung der Selektionswahrscheinlichkeit mithilfe einer
Temperaturvariablen
 Der Wert der Temperaturvariablen sinkt von Generation zur
Generation
Vor- und Nachteile:
+ Bestes Chromosom besitzt die größte Selektionswahrscheinlichkeit, aber keine Überlebensgarantie
- Bestimmung der Abkühlungsfunktion
Organic Computing – Teil 3b, Folie 28 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Turnier Methode
 Zufällige Wahl von 2  k  n Individuen aus der
Population
 Das Individuum mit der höchsten Fitness gewinnt
 Fortführung des Turniers bis alle Individuen ausgewählt
sind
 Dies kann mit oder ohne Zurücklegen erfolgen
Organic Computing – Teil 3b, Folie 29 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Turnier Methode
Vor- und Nachteile:
+ Geringer Rechenaufwand
+ Leicht parallelisierbar
+ Keine Notwendigkeit die Fitnesswerte aller Individuen
im vorhinein zu berechnen
+ Vermeidung des Dominanzproblems, variabler
Selektionsdruck
- Individuum mit niedrigster Fitness ist nicht selektierbar
Organic Computing – Teil 3b, Folie 30 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Rang Methode
 Sortierung der Individuen nach der Fitness => Ranking
 Die Auswahlwahrscheinlichkeit wird proportional zum
Rang gewählt
Beispiel
Individuum 1 : Fitness 80 => Rang 1, Wahrscheinlichkeit 75%
Individuum 2 : Fitness 10 => Rang 2, Wahrscheinlichkeit 50%
Individuum 3 : Fitness 8 => Rang 3, Wahrscheinlichkeit 25%
Organic Computing – Teil 3b, Folie 31 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Rang Methode
Vor- und Nachteile:
+ Selektionswahrscheinlichkeit steht nicht mehr im direkten
Verhältnis zur Fitness
+ Vermeidung des Dominanzproblems, da variabler
Selektionsdruck über Wahl der Wahrscheinlichkeiten
- Sortierung
Organic Computing – Teil 3b, Folie 32 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Truncation Selektion




Sortierung der Individuen nach der Fitness
Wahl eines Truncation Schwellwertes T
Nur die Besten kommen weiter
Jedes ausgewählte Individuum wird gleich oft gewählt
Vor- und Nachteile:
- Relativ unübliches Verfahren
- Sortierung
- Individuen mit geringer Fitness werden nicht gewählt
Organic Computing – Teil 3b, Folie 33 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Rekombination-Methoden:
Einfache Kreuzungs(Crossover) Methoden
Organic Computing – Teil 3b, Folie 34 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Beispiel: Kreuzung zweier LCS Regeln
Bedingung
011##10#
0101#101
Aktion
010
011
Erwartete Belohnung
23
29
Two-point Crossover (Wert Codierung wie vorher):
0 1 1 2 2 1 0 2 0 1 0
0 1 0 1 2 1 0 1 0 1 1
0 1 1 1 2 1 0 1 0 1 0
0 1 0 2 2 1 0 2 0 1 1
Neue Regeln (Erwartete Belohnung: Mittelwert)
Bedingung
011##10#
0101#101
0111#101
010##10#
Aktion
010
011
010
011
Erwartete Belohnung
23
29
26
26
Organic Computing – Teil 3b, Folie 35 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Rekombination-Methoden: komplexere Kreuzungs-Methoden
Cycle Crossover:
Erzeuge einen Nachkommen aus zwei Eltern wie folgt
1. Wähle einen Locus
2. Übernimm das dortige Gen aus Elternteil 1
3. Suche das dortige Gen aus Elternteil 2 in Elternteil 1
4. Wenn gefunden und dieser Locus nicht schon gewählt war,
nimm dies als neuen Locus und gehe zu 1.
5. Übernimm die restlichen Gene aus Elternteil 2
Organic Computing – Teil 3b, Folie 36 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Beispiel
Problem des Handlungsreisenden (TSP): Zu gegebenen n Punkten
ist eine möglichst kurze Rundreise gesucht.
Repräsentation: 1 2 3 4 5 6 7 8 9 10
Cycle Crossover
A=
9
8
2
1
7
4
5
10
6
3
B=
1
2
3
4
5
6
7
8
9
10
A*=
9
_
_
_
_
_
_
_
_
_
A*=
9
_
_
1
_
_
_
_
_
_
A*=
9
_
_
1
_
4
_
_
_
_
A*=
9
_
_
1
_
4
_
_
6
_
A*=
9
2
3
1
5
4
7
8
6
10
Organic Computing – Teil 3b, Folie 37 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Rekombination-Methoden: komplexere Kreuzungs-Methoden
Order Crossover:
Erzeuge zwei Nachkommen aus zwei Eltern wie folgt
1. Wähle einen Locusbereich der Elterngene
2. Erzeuge einen Nachkommen aus einem Elternteil, in dem
alle Gene kopiert werden bis auf die, die im gewählten
Locusbereich im jeweils anderen Elternteils liegen
3. Verschiebe die Gene beginnend hinter dem gewählten
Locusbereich derart, dass alle fehlenden Gene im
Locusbereich zu liegen kommen
4. Im gewählten Locusbereich werden die Gene des jeweils
anderen Elternteils übernommen
Organic Computing – Teil 3b, Folie 38 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Beispiel: Order Crossover
A=
9
8
2
1
7
4
5
10
6
3
B=
1
2
3
4
5
6
7
8
9
10
A*=
9
8
2
1
_
_
10
_
3
B*=
_
2
3
_
5
6
_
8
9
10
A*=
2
1
7
_
_
_
10
3
9
8
B*=
3
5
6
_
_
_
8
9
10
2
A*=
2
1
7
4
5
6
10
3
9
8
B*=
3
5
6
1
7
4
8
9
10
2
7
Organic Computing – Teil 3b, Folie 39 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Mutations-Methoden:
Punkt Mutation
11101001000
11101011000
Mehr-Punkt Mutation
11101001000
11011011000
Wähle an zufälligen Stellen einen anderen Wert. Bei nicht
binärer Codierung wird dieser Wert ebenfalls zufällig aus dem
Wertebereich gewählt
Organic Computing – Teil 3b, Folie 40 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Beispiel: Mutation einer LCS Regel
Bedingung
011##10#
Aktion
010
Erwartete Belohnung
23
Mehr-Punkt Mutation (Wert Codierung wie vorher):
0 1 1 2 2 1 0 2 0 1 0
0 1 1 1 2 1 0 0 1 1 0
Neue Regel
Bedingung
0111#100
Aktion
110
Erwartete Belohnung
23
Organic Computing – Teil 3b, Folie 41 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
•Ersetzung und Ergänzung:
Hierfür gibt es mehrere Möglichkeiten
Die Nachkommen ergänzen die Eltern
=> zunehmende Population
Die Nachkommen verdrängen die Eltern
=> konstante Population
Die Nachkommen ergänzen die Eltern, weniger fitte oder
zufällig gewählte Individuen werden dafür aus der Population
entfernt (Steady State)
=> konstante Population
Organic Computing – Teil 3b, Folie 42 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Genetischer Algorithmus
Fitness: Funktion die einen Evaluierungswert ausgibt
Fitness-Threshold : Abbruchkriterium
p: Anzahl der Individuen in der Population
r: Anteil der Population, der durch den Crossover Operator ersetzt wird
m: Mutationsrate
While [maxFitnessi<Fitness-Threshold]{
1. Selektion: Wähle r * p Individuen aus der Population aus
2. Crossover: Erzeuge mittels Kreuzung r * p Nachkommen aus den ausgewählten Individuen
3. Mutation: Wähle mit uniformer Wahrscheinlichkeit m Prozent der erzeugten Nachkommen aus und
mutiere sie
4. Ersetzen: Ersetze r * p Individuen aus der Population durch die erzeugten Nachkommen
5. Evaluieren: Für jedes neue Individuum berechne Fitnessi
Gebe das Individuum bzw. die Individuen mit der höchsten Fitness aus.
Organic Computing – Teil 3b, Folie 43 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Genetische Programmierung:
variiert Programme nach den
besprochenen Prinzipien.
+
Anwendungsbeispiel: Funktion zu
gegebener Wertereihe finden
sin
x
+
sin  x   x  y
^
2
x
Organic Computing – Teil 3b, Folie 44 - Prof. Dr. Uwe Brinkschulte
y
2
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Crossover bei
Genetischer
Programmierung
Organic Computing – Teil 3b, Folie 45 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Evolutionäre Programmierung
1.
Initialisierung der Population mit zufälligen Individuen und zufällig mutierten Individuen
2.
Berechnung der Fitness
3.
Verwende die Turniermethode zur Wahl eines Elternteils
4.
Generierung des Kinds durch Mutation einer Kopie des Elternteils
5.
Wenn sich die Populationsgröße verdoppelt hat dann gehe zu Schritt 6, ansonsten zu Schritt 3
6.
Berechnung der Fitness aller Kinder
7.
Entferne die Hälfte der Population mit der niedrigsten Fitness
8.
Überprüfung der Terminierungsbedingung. Wenn Terminierungsbedingung nicht erfüllt gehe zu
Schritt 3 ansonsten Ende
Organic Computing – Teil 3b, Folie 46 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Evolutionäre Strategie
1.
Initialisierung der Elterngeneration
2.
Wähle zufällig Eltern aus der Elterngeneration
3.
Verwende zufällige Rekombination um die Kindergeneration zu erzeugen
4.
Mutiere die Kinder
5.
Wenn die Kindergeneration vollständig ist gehe zu Schritt 6, ansonsten zu Schritt 2
6.
Berechnung der Fitness der Kinder
7.
Selektiere neue Eltern von den fittesten der Kindergeneration (und Elterngeneration) und
erzeuge damit die neue Elterngeneration
8.
Überprüfung der Terminierungsbedingung. Wenn Terminierungsbedingung nicht erfüllt gehe
zu Schritt 2 ansonsten Ende
Organic Computing – Teil 3b, Folie 47 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vorteile und Nachteile
Evolutionärer Algorithmen
Vorteile
Kann Suchraum in mehrere Richtung untersuchen
schnell zu implementieren.
Praktisch auf alle Problemarten anwendbar
Nachteile
Keine Sicherheit ob Ergebnis optimal ist.
Bestimmung der Mutations- und Crossoveroperatoren.
Relativ langsam.
Organic Computing – Teil 3b, Folie 48 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hill Climbing
Gehe immer in Richtung der größten Steigung.
Terminiert, wenn kein besserer Folgezustand mehr existiert.
Vorteile
Leicht implementierbar.
Benötigt keine Speicherung, da kein Backtracking verwendet wird.
Nachteile
Probleme mit lokalen Optima.
Bestimmung der Schrittweite.
Organic Computing – Teil 3b, Folie 49 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Simulated-Annealing
Kombination aus Hill Climbing und zufälligem Weitergehen
Organic Computing – Teil 3b, Folie 50 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Simulated-Annealing
Vorteile
Einfacher ein lokales Optimum zu verlassen.
Breite Anwendbarkeit.
Nachteile
Finden der passenden Abkühlungsfunktion für ein konkretes Suchproblem.
Organic Computing – Teil 3b, Folie 51 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Ameisenkolonieoptimierung, z.B. für kürzeste Wege
Vorteile
Breite Anwendbarkeit
Schnelle Adaption bei Ausfall des kürzesten Weges
Nachteile
Fehlende Adaption an neu hinzugefügte kürzere Wege.
Kreise
Organic Computing – Teil 3b, Folie 52 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Teilchenschwarmoptimierung
Modellierung des Schwarmverhalten
Individuen sind im Suchraum eines Problems oder Funktion verteilt
Jedes Individuum evaluiert die Zielfunktion an seiner Position
Individuum bestimmt nächsten Schritt mittels
1.
Seiner aktuellen Position
2.
Seiner aktuell besten Position
3.
Aktuell beste Position, die es durch Kommunikation mit Schwarmmitgliedern erfahren hat.
4.
Zufall
Jedes Individuum ist definiert durch
1.
Aktuelle Position
2.
Beste gewesene Position
3.
Geschwindigkeit

xi

pi

vi
Organic Computing – Teil 3b, Folie 53 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Teilchenschwarmoptimierung
Vorteile
Relativ leicht implementierbar
Breite Anwendbarkeit
Nachteile
Lokale Optima  Konvergenz
Organic Computing – Teil 3b, Folie 54 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
3.4 Genetische und
evolutionäre Algorithmen
Literatur
I. Gerdes, F. Klawonn, R. Kruse, Evolutionäre Algroithmen, Vieweg,
2004.
S. Rusell , P. Norvig Künstliche Intelligenz, Pearson Studium 2003.
P. J. Bentley, D. W. Corne Creative Evolutionary Systems, 2002.
A.P.Engelbrecht Computational Swarm Intelligence, 2006
T. Mitchell, Machine Learning, McGraw Hill, 1997
Organic Computing – Teil 3b, Folie 55 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit