3.4 Genetische und evolutionäre Algorithmen

55
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 1 - Prof. Dr. Uwe Brinkschulte 3.4 Genetische und evolutionäre Algorithmen

description

3.4 Genetische und evolutionäre Algorithmen. Evolutionäre Biologie. Informatik. Evolutionäre Algorithmen. 3.4 Genetische und evolutionäre Algorithmen. Evolutionäre Algorithmen. Zu den evolutionären Algorithmen gehören: Genetische Algorithmen Genetische Programmierung - PowerPoint PPT Presentation

Transcript of 3.4 Genetische und evolutionäre Algorithmen

Page 1: 3.4 Genetische und  evolutionäre Algorithmen

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3b, Folie 1 - Prof. Dr. Uwe Brinkschulte

3.4 Genetische und evolutionäre Algorithmen

Page 2: 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

Page 3: 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

Page 4: 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

Page 5: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 6: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 7: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 8: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 9: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 10: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 11: 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)

Page 12: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 13: 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

Page 14: 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

Page 15: 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

Page 16: 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

Page 17: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 18: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 19: 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

Page 20: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 21: 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

Page 22: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 23: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 24: 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

Page 25: 3.4 Genetische und  evolutionäre Algorithmen

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.

Page 26: 3.4 Genetische und  evolutionäre Algorithmen

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.

Page 27: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 28: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 29: 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

Page 30: 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

Page 31: 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

Page 32: 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

Page 33: 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

Page 34: 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

Page 35: 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

Page 36: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 37: 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

Page 38: 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

Page 39: 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

Page 40: 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

Page 41: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 42: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 43: 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

Page 44: 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

Page 45: 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

Page 46: 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

Page 47: 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

Page 48: 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

Page 49: 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

Page 50: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 51: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 52: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 53: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 54: 3.4 Genetische und  evolutionäre Algorithmen

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

Page 55: 3.4 Genetische und  evolutionäre Algorithmen

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