Upload
aldrick-kanzler
View
116
Download
6
Embed Size (px)
Citation preview
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 1 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 2 - Prof. Dr. Uwe Brinkschulte
Evolutionäre Algorithmen
Zu den evolutionären Algorithmen gehören: Genetische Algorithmen Genetische Programmierung Evolutionäre Programmierung Evolutionäre Strategien
InformatikEvolutionäreBiologie
EvolutionäreAlgorithmen
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 3 - Prof. Dr. Uwe Brinkschulte
Diese unterschiedlichen Techniken wurden teilweisezeitgleich von unabhängig arbeiten Wissenschaftlern entwickelt
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
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)
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 4 - Prof. Dr. Uwe Brinkschulte
Grundlegende Vorgehensweise:
3.4 Genetische und evolutionäre Algorithmen
Population
(Menge von Lösungs-kandidaten)
Eltern
(Ausgewählte Lösungs-kandidaten)
Nachwuchs
(Neue Lösungs-kandidaten)
Selektion
Rekombination,Mutation
Ersetzung,Ergänzung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 5 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Gibt die Qualität eines Lösungskandidaten wieder
Angepasstheit eines
Lebewesens
Fitness
Eine Generation von
Lösungskandidaten
Eine Generation von
Lebewesen
Generation
Neue
Lösungskandidaten
NachwuchsKinder, Children,
Offspring
Ausgewählte Lösungs-kandidaten zur Erzeu-gung neuer Kandidaten
Sich paarende Untermenge der Population
Eltern, Parents, Matepool
Menge von
Lösungskandidaten
Menge von LebewesenPopulation
In der InformatikBiologische ErläuterungBegriff
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 6 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Zufällige Veränderungen
bei den neuen
Lösungskandidaten
Zufällige Veränderungen
bei den neuen
Lebewesen
Mutation
Neue Lösungskandi-
daten durch Mischung
der Elterneigenschaften
Neue Lebewesen durch
Mischung der
Elterneigenschaften
Rekombination,
Kreuzung, Crossover
Auswahl von Lösungs-kandidaten zur Erzeugung der nächsten Generation
Auswahl paarungs-
geeigneter Lebewesen
aus der Population
Selektion
In der InformatikBiologische ErläuterungBegriff
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 7 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Genetische Kodierung eines Lösungskandidaten
Genetische Ausstattung
eines Lebewesens
Genotyp
Unterschiedlichkeit der Lebewesen in der Population
Diversität
Unterschied der Anzahl erwarteter und erzeugter Lösungskandidaten bei der Selektion
-Spread
Auswirkung eines Selektionsfaktors auf die Population
Selektionsdruck
In der InformatikBiologische ErläuterungBegriff
Auswirkung eines Selektionsfaktors auf die Population
Unterschiedlichkeit der Lösungskandidaten in der Population
Eigenschaften eines Lösungskandidaten
Körperlichen Merkmale eines Lebewesens
Phänotyp
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 8 - Prof. Dr. Uwe Brinkschulte
Genotyp und Phänotyp
101011100001
111011
Suchraum Lösungsraum
Genotyp Phänotyp
3.4 Genetische und evolutionäre Algorithmen
Zur Erzeugung neuer Lösungskandidaten (Rekombination, Mutation) werden Prinzipien der Genetik verwendet
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 9 - Prof. Dr. Uwe Brinkschulte
Position eines ZeichenOrt eines GensLocus
Wert eines ZeichensAusprägung eines GensAllele
ZeichenEinzelnes Teilstück eines
Chromosoms
Gen
StringLegt die Eigenschaften
eines Lebewesens fest
Chromosom
Biologische ErläuterungBegriff
3.4 Genetische und evolutionäre Algorithmen
In der Informatik
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 10 - Prof. Dr. Uwe Brinkschulte
121110987654321
010101111010
Allele=1
Locus=2
Chromosom(string)
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 11 - Prof. Dr. Uwe Brinkschulte
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)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 12 - Prof. Dr. Uwe Brinkschulte
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.
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 13 - Prof. Dr. Uwe Brinkschulte
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.
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 14 - Prof. Dr. Uwe Brinkschulte
Beispiel: Codierung einer LCS Regel
Bedingung Aktion Erwartete Belohnung011##10# 010 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)
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 15 - Prof. Dr. Uwe Brinkschulte
Selektionsmethoden
Die Selektion von Individuen orientiert sich an ihrer Fitness.
Fitte Individuen werden mit höherer Wahrscheinlichkeitausgewählt.Dies kann z.B. mit folgenden Methoden erfolgen:
1. Roulette Methoden2. Remainder Stochastic Sampling3. Boltzmann Methode4. Turnier Methode5. Rang Methode6. Truncation Selection
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 16 - Prof. Dr. Uwe Brinkschulte
Roulette-Methoden
Bei den Roulette-Methoden werden die Individuen auf einemRoulette-Rad angeordnet. Ein Individuum erhält eine seiner Fitness entsprechende Anzahl von Feldern.
3.4 Genetische und evolutionäre Algorithmen
Populationj
j
ii
Fitness
FitnesslFelderMaximalzahFelder
..1
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 17 - Prof. Dr. Uwe Brinkschulte
Roulette-Methoden: Stochastic Sampling
Beim Stochastic Sampling wird für jedes zu selektierende Individuum die Kugel gerollt, d.h. mittels einer Zufallszahlein Individuum bestimmt.
Dies entspricht einer Auswahl mit Zurücklegen, da einausgewähltes Individuum erneut an weiteren Selektionenteilnimmt
3.4 Genetische und evolutionäre Algorithmen
Kugel
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 18 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 19 - Prof. Dr. Uwe Brinkschulte
Roulette-Methoden: Universal Stochastic Sampling
Hier wird nur einmal die Kugel gerollt, all zu selektierende Individuen werden durch äquidistante Abstände zum Ergebnis bestimmt
3.4 Genetische und evolutionäre Algorithmen
Kugel
neIndividuelektierendAnzahlZuSe
Fitness
Distanz Populationj
j ..1
Distanz
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 20 - Prof. Dr. Uwe Brinkschulte
Roulette-Methoden: Universal Stochastic Sampling
Vorteile gegenüber Stochastic Sampling:
+ nur eine Zufallszahl erforderlich
+ minimaler Spread, da äquidistant gewählt wird
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 21 - Prof. Dr. Uwe Brinkschulte
Remainder Stochastic Sampling
2-stufiges Verfahren
1. Von jedem Individuum wir eine Anzahl Kopien übernommen gemäß folgenden Formeln
Der ganzzahlige Anteil von Anzi wird also direkt übernommen
3.4 Genetische und evolutionäre Algorithmen
Populationj
j
ii
Fitness
FitnessneIndividuelektierendAnzahlZuSeAnz
..1
ii AnzAnzahl
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 22 - Prof. Dr. Uwe Brinkschulte
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.
Hierfür gibt es zwei Techniken
3.4 Genetische und evolutionäre Algorithmen
iii AnzAnzp
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 23 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 24 - Prof. Dr. Uwe Brinkschulte
Remainder Stochastic Sampling
Beispiel:
Individuum 1 Fitness 5Individuum 2 Fitness 7Individuum 3 Fitness 3Individuum 4 Fitness 2
3.4 Genetische und evolutionäre Algorithmen
Anz1 = 6 * 5/17 = 1.76Anz2 = 6 * 7/17 = 2.47Anz3 = 6 * 3/17 = 1.05Anz4 = 6 * 2/17 = 0.70
= 17
Es seien 6 Individuen zu selektieren
1. Schritt: Individuum 1 wird 1 mal genommen Individuum 2 wird 2 mal genommen Individuum 3 wird 1 mal genommen Individuum 4 wird 0 mal genommen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 25 - Prof. Dr. Uwe Brinkschulte
Remainder Stochastic Sampling
Beispiel:
3.4 Genetische und evolutionäre Algorithmen
2. Schritt, Variante a
Individuum 1: 76 Felder auf dem Roulette Rad (~ 0.76) Individuum 2: 47 Felder auf dem Roulette Rad (~ 0.47)Individuum 3: 5 Felder auf dem Roulette Rad (~ 0.05)Individuum 4: 70 Felder auf dem Roulette Rad (~ 0.70)
Das Roulette Rad hat insgesamt also 198 Felder
Es wird die Kugel geworfen, bis die restlichen 2 Individuen selektiert sind.
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 26 - Prof. Dr. Uwe Brinkschulte
Remainder Stochastic Sampling
Beispiel:
3.4 Genetische und evolutionäre Algorithmen
2. Schritt, Variante b
Individuum 1: Wahrscheinlichkeit "Kopf" 0.76Individuum 2: Wahrscheinlichkeit "Kopf" 0.47Individuum 3: Wahrscheinlichkeit "Kopf" 0.05Individuum 4: Wahrscheinlichkeit "Kopf" 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.
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 27 - Prof. Dr. Uwe Brinkschulte
Remainder Stochastic Sampling
3.4 Genetische und evolutionäre Algorithmen
Vor- und NachteileNachteile:
+ 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
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 28 - Prof. Dr. Uwe Brinkschulte
Boltzmann Selektion
Bestimmung der Selektionswahrscheinlichkeit mithilfe einer Temperaturvariablen
Der Wert der Temperaturvariablen sinkt von Generation zur Generation
Vor- und NachteileNachteile:
+ Bestes Chromosom besitzt die größte Selektionswahr- scheinlichkeit, aber keine Überlebensgarantie- Bestimmung der Abkühlungsfunktion
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 29 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 30 - Prof. Dr. Uwe Brinkschulte
Turnier Methode
Vor- und NachteileNachteile:
+ 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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 31 - Prof. Dr. Uwe Brinkschulte
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%
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 32 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 33 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 34 - Prof. Dr. Uwe Brinkschulte
Rekombination-Methoden:
Einfache Kreuzungs-(Crossover) Methoden
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 35 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Beispiel: Kreuzung zweier LCS RegelnBedingung Aktion Erwartete Belohnung011##10# 010 230101#101 011 29
Two-point Crossover (Wert Codierung wie vorher):
0 1 1 2 2 1 0 2 0 1 0 0 1 1 1 2 1 0 1 0 1 00 1 0 1 2 1 0 1 0 1 1 0 1 0 2 2 1 0 2 0 1 1
Neue Regeln (Erwartete Belohnung: Mittelwert)Bedingung Aktion Erwartete Belohnung011##10# 010 230101#101 011 290111#101 010 26010##10# 011 26
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 36 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 37 - Prof. Dr. Uwe Brinkschulte
Beispiel
10687451329A*=
_6__4_1__9A*=
____4_1__9A*=
______1__9A*=
_________9A*=
10987654321B=
36105471289A=
Problem des Handlungsreisenden (TSP): Zu gegebenen n Punktenist eine möglichst kurze Rundreise gesucht.
Repräsentation: 1 2 3 4 5 6 7 8 9 10
Cycle Crossover
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 38 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 39 - Prof. Dr. Uwe Brinkschulte
Beispiel: Order Crossover
21098471653B*=
89310654712A*=
21098___653B*=
89310___712A*=
1098_65_32_B*=
3_10__71289A*=
10987654321B=
36105471289A=
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 40 - Prof. Dr. Uwe Brinkschulte
11101001000 11101011000
Mutations-Methoden: Punkt Mutation
3.4 Genetische und evolutionäre Algorithmen
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 demWertebereich gewählt
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 41 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen
Beispiel: Mutation einer LCS Regel
Bedingung Aktion Erwartete Belohnung011##10# 010 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 Aktion Erwartete Belohnung0111#100 110 23
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 42 - Prof. Dr. Uwe Brinkschulte
•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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 43 - Prof. Dr. Uwe Brinkschulte
Genetischer AlgorithmusFitness: 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 Fitness i
Gebe das Individuum bzw. die Individuen mit der höchsten Fitness aus.
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 44 - Prof. Dr. Uwe Brinkschulte
Genetische Programmierung:variiert Programme nach den besprochenen Prinzipien.
Anwendungsbeispiel: Funktion zugegebener Wertereihe finden
yxx 2sin
sin
x
2
y^
+
+
x
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 45 - Prof. Dr. Uwe Brinkschulte
Crossover beiGenetischerProgrammierung
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 46 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 47 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 48 - Prof. Dr. Uwe Brinkschulte
Vorteile und NachteileEvolutionärer Algorithmen
Kann Suchraum in mehrere Richtung untersuchenschnell zu implementieren.Praktisch auf alle Problemarten anwendbar
Kann Suchraum in mehrere Richtung untersuchenschnell zu implementieren.Praktisch auf alle Problemarten anwendbar
VorteileVorteile
Keine Sicherheit ob Ergebnis optimal ist.Bestimmung der Mutations- und Crossoveroperatoren.Relativ langsam.
Keine Sicherheit ob Ergebnis optimal ist.Bestimmung der Mutations- und Crossoveroperatoren.Relativ langsam.
NachteileNachteile
3.4 Genetische und evolutionäre Algorithmen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 49 - Prof. Dr. Uwe Brinkschulte
Hill Climbing
Leicht implementierbar.Benötigt keine Speicherung, da kein Backtracking verwendet wird.Leicht implementierbar.Benötigt keine Speicherung, da kein Backtracking verwendet wird.
VorteileVorteile
Probleme mit lokalen Optima.Bestimmung der Schrittweite.Probleme mit lokalen Optima.Bestimmung der Schrittweite.
NachteileNachteile
Gehe immer in Richtung der größten Steigung.
Terminiert, wenn kein besserer Folgezustand mehr existiert.
3.4 Genetische und evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 50 - Prof. Dr. Uwe Brinkschulte
Kombination aus Hill Climbing und zufälligem Weitergehen
Simulated-Annealing
3.4 Genetische und evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 51 - Prof. Dr. Uwe Brinkschulte
Einfacher ein lokales Optimum zu verlassen.Breite Anwendbarkeit.Einfacher ein lokales Optimum zu verlassen.Breite Anwendbarkeit.
VorteileVorteile
Finden der passenden Abkühlungsfunktion für ein konkretes Suchproblem.Finden der passenden Abkühlungsfunktion für ein konkretes Suchproblem.
NachteileNachteile
3.4 Genetische und evolutionäre Algorithmen
Simulated-AnnealingVergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 52 - Prof. Dr. Uwe Brinkschulte
Ameisenkolonieoptimierung, z.B. für kürzeste Wege
Fehlende Adaption an neu hinzugefügte kürzere Wege. Kreise Fehlende Adaption an neu hinzugefügte kürzere Wege. Kreise
NachteileNachteile
Breite AnwendbarkeitSchnelle Adaption bei Ausfall des kürzesten WegesBreite AnwendbarkeitSchnelle Adaption bei Ausfall des kürzesten Weges
VorteileVorteile
3.4 Genetische und evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 53 - Prof. Dr. Uwe Brinkschulte
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
ipix
iv
3.4 Genetische und evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 54 - Prof. Dr. Uwe Brinkschulte
Lokale Optima KonvergenzLokale Optima Konvergenz
NachteileNachteile
Relativ leicht implementierbarBreite AnwendbarkeitRelativ leicht implementierbarBreite Anwendbarkeit
VorteileVorteile
Teilchenschwarmoptimierung
3.4 Genetische und evolutionäre Algorithmen
Vergleich zu anderen Optimierungsverfahren
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 55 - Prof. Dr. Uwe Brinkschulte
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
3.4 Genetische und evolutionäre Algorithmen