Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

3.4 Genetische und evolutionäre Algorithmen

Ähnliche Präsentationen


Präsentation zum Thema: "3.4 Genetische und evolutionäre Algorithmen"—  Präsentation transkript:

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

2 Evolutionäre Algorithmen
3.4 Genetische und evolutionäre Algorithmen Evolutionäre Algorithmen Informatik Evolutionäre Biologie Algorithmen 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

3 Organic Computing – Teil 3b, Folie 3 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Diese unterschiedlichen Techniken wurden teilweise zeitgleich 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) Organic Computing – Teil 3b, Folie 3 - Prof. Dr. Uwe Brinkschulte

4 Grundlegende Vorgehensweise:
3.4 Genetische und evolutionäre Algorithmen Grundlegende Vorgehensweise: Eltern (Ausgewählte Lösungs- kandidaten) Selektion Population (Menge von Lösungs- kandidaten) Rekombination, Mutation Ersetzung, Ergänzung Nachwuchs (Neue Lösungs- kandidaten) Organic Computing – Teil 3b, Folie 4 - Prof. Dr. Uwe Brinkschulte

5 Biologische Erläuterung
3.4 Genetische und evolutionäre Algorithmen Begriff Biologische Erläuterung In der Informatik Population Menge von Lebewesen Menge von Lösungskandidaten Eltern, Parents, Matepool Sich paarende Untermenge der Population Ausgewählte Lösungs-kandidaten zur Erzeu-gung neuer Kandidaten Kinder, Children, Offspring Nachwuchs Neue Lösungskandidaten Generation Eine Generation von Lebewesen Eine Generation von Lösungskandidaten Fitness Angepasstheit eines Lebewesens Gibt die Qualität eines Lösungskandidaten wieder Organic Computing – Teil 3b, Folie 5 - Prof. Dr. Uwe Brinkschulte

6 Biologische Erläuterung
3.4 Genetische und evolutionäre Algorithmen Begriff Biologische Erläuterung In der Informatik Selektion Auswahl paarungs-geeigneter Lebewesen aus der Population Auswahl von Lösungs-kandidaten zur Erzeugung der nächsten Generation Rekombination, Kreuzung, Crossover Neue Lebewesen durch Mischung der Elterneigenschaften Neue Lösungskandi-daten durch Mischung der Elterneigenschaften Mutation Zufällige Veränderungen bei den neuen Lebewesen Zufällige Veränderungen bei den neuen Lösungskandidaten Organic Computing – Teil 3b, Folie 6 - Prof. Dr. Uwe Brinkschulte

7 Biologische Erläuterung
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 Unterschiedlichkeit der Lebewesen in der Population Unterschiedlichkeit der Lösungskandidaten in der Population Spread - Unterschied der Anzahl erwarteter und erzeugter Lösungskandidaten bei der Selektion Genotyp Genetische Ausstattung eines Lebewesens Genetische Kodierung eines Lösungskandidaten Phänotyp Körperlichen Merkmale eines Lebewesens Eigenschaften eines Lösungskandidaten Organic Computing – Teil 3b, Folie 7 - Prof. Dr. Uwe Brinkschulte

8 Organic Computing – Teil 3b, Folie 8 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Genotyp und Phänotyp Suchraum Lösungsraum 101011 100001 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

9 Biologische Erläuterung
3.4 Genetische und evolutionäre Algorithmen Begriff Biologische Erläuterung In der Informatik Chromosom Legt die Eigenschaften eines Lebewesens fest String Gen Einzelnes Teilstück eines Chromosoms Zeichen 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

10 Organic Computing – Teil 3b, Folie 10 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Allele=1 Chromosom(string) 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 Locus=2 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

11 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) Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

12 Organic Computing – Teil 3b, Folie 12 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

13 Organic Computing – Teil 3b, Folie 13 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

14 Organic Computing – Teil 3b, Folie 14 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Beispiel: Codierung einer LCS Regel Bedingung Aktion Erwartete Belohnung 011##10# mit der Wert Codierung 0 -> 0, 1 -> 1, # -> 2 ergibt sich folgendes Chromosom: (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 Prof. Dr. Uwe Brinkschulte

15 Organic Computing – Teil 3b, Folie 15 - Prof. Dr. Uwe Brinkschulte
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: Roulette Methoden Remainder Stochastic Sampling Boltzmann Methode Turnier Methode Rang Methode Truncation Selection Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

16 Organic Computing – Teil 3b, Folie 16 - Prof. Dr. Uwe Brinkschulte
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. Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

17 Organic Computing – Teil 3b, Folie 17 - Prof. Dr. Uwe Brinkschulte
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 Dies entspricht einer Auswahl mit Zurücklegen, da ein ausgewähltes Individuum erneut an weiteren Selektionen teilnimmt Kugel Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

18 Organic Computing – Teil 3b, Folie 18 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

19 Organic Computing – Teil 3b, Folie 19 - Prof. Dr. Uwe Brinkschulte
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 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

20 Organic Computing – Teil 3b, Folie 20 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

21 Organic Computing – Teil 3b, Folie 21 - Prof. Dr. Uwe Brinkschulte
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 Der ganzzahlige Anteil von Anzi wird also direkt übernommen Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

22 Organic Computing – Teil 3b, Folie 22 - Prof. Dr. Uwe Brinkschulte
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 Hierfür gibt es zwei Techniken Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

23 Organic Computing – Teil 3b, Folie 23 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

24 Organic Computing – Teil 3b, Folie 24 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Remainder Stochastic Sampling Beispiel: Individuum 1 Fitness 5 Individuum 2 Fitness 7 Individuum 3 Fitness 3 Individuum 4 Fitness 2 Anz1 = 6 * 5/17 = 1.76 Anz2 = 6 * 7/17 = 2.47 Anz3 = 6 * 3/17 = 1.05 Anz4 = 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 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

25 Remainder Stochastic Sampling Beispiel:
3.4 Genetische und evolutionäre Algorithmen Remainder Stochastic Sampling Beispiel: 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. Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

26 Remainder Stochastic Sampling Beispiel:
3.4 Genetische und evolutionäre Algorithmen Remainder Stochastic Sampling Beispiel: 2. Schritt, Variante b Individuum 1: Wahrscheinlichkeit "Kopf" 0.76 Individuum 2: Wahrscheinlichkeit "Kopf" 0.47 Individuum 3: Wahrscheinlichkeit "Kopf" 0.05 Individuum 4: Wahrscheinlichkeit "Kopf" 0.70 Mit absteigender Kopfwahrscheinlichkeit (hier also in der Reihenfolge ) wird für jedes Individuum nun die Münze geworfen, bis die restlichen 2 Individuen selektiert sind. Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

27 Remainder Stochastic Sampling
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 Prof. Dr. Uwe Brinkschulte

28 Organic Computing – Teil 3b, Folie 28 - Prof. Dr. Uwe Brinkschulte
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 Selektionswahr- scheinlichkeit, aber keine Überlebensgarantie - Bestimmung der Abkühlungsfunktion Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

29 Organic Computing – Teil 3b, Folie 29 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

30 Organic Computing – Teil 3b, Folie 30 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

31 Organic Computing – Teil 3b, Folie 31 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

32 Organic Computing – Teil 3b, Folie 32 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

33 Organic Computing – Teil 3b, Folie 33 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

34 Rekombination-Methoden: Einfache Kreuzungs- (Crossover) Methoden
3.4 Genetische und evolutionäre Algorithmen Rekombination-Methoden: Einfache Kreuzungs- (Crossover) Methoden Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

35 Organic Computing – Teil 3b, Folie 35 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Beispiel: Kreuzung zweier LCS Regeln Bedingung Aktion Erwartete Belohnung 011##10# 0101# Two-point Crossover (Wert Codierung wie vorher): Neue Regeln (Erwartete Belohnung: Mittelwert) 0111# 010##10# Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

36 Organic Computing – Teil 3b, Folie 36 - Prof. Dr. Uwe Brinkschulte
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 Übernimm die restlichen Gene aus Elternteil 2 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

37 Organic Computing – Teil 3b, Folie 37 - Prof. Dr. Uwe Brinkschulte
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: 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 Prof. Dr. Uwe Brinkschulte

38 Organic Computing – Teil 3b, Folie 38 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

39 Beispiel: Order Crossover
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 7 _ _ 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 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

40 Organic Computing – Teil 3b, Folie 40 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Mutations-Methoden: Punkt Mutation Mehr-Punkt Mutation 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 Prof. Dr. Uwe Brinkschulte

41 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 Belohnung 011##10# Mehr-Punkt Mutation (Wert Codierung wie vorher): Neue Regel 0111# Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

42 Organic Computing – Teil 3b, Folie 42 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

43 Genetischer Algorithmus
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 Prof. Dr. Uwe Brinkschulte

44 Organic Computing – Teil 3b, Folie 44 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Genetische Programmierung: variiert Programme nach den besprochenen Prinzipien. Anwendungsbeispiel: Funktion zu gegebener Wertereihe finden + sin x + ^ y x 2 Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

45 Crossover bei Genetischer Programmierung
3.4 Genetische und evolutionäre Algorithmen Crossover bei Genetischer Programmierung Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

46 Evolutionäre Programmierung
3.4 Genetische und evolutionäre Algorithmen Evolutionäre Programmierung Initialisierung der Population mit zufälligen Individuen und zufällig mutierten Individuen Berechnung der Fitness Verwende die Turniermethode zur Wahl eines Elternteils Generierung des Kinds durch Mutation einer Kopie des Elternteils Wenn sich die Populationsgröße verdoppelt hat dann gehe zu Schritt 6, ansonsten zu Schritt 3 Berechnung der Fitness aller Kinder Entferne die Hälfte der Population mit der niedrigsten Fitness Überprüfung der Terminierungsbedingung. Wenn Terminierungsbedingung nicht erfüllt gehe zu Schritt 3 ansonsten Ende Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

47 Evolutionäre Strategie
3.4 Genetische und evolutionäre Algorithmen Evolutionäre Strategie Initialisierung der Elterngeneration Wähle zufällig Eltern aus der Elterngeneration Verwende zufällige Rekombination um die Kindergeneration zu erzeugen Mutiere die Kinder Wenn die Kindergeneration vollständig ist gehe zu Schritt 6, ansonsten zu Schritt 2 Berechnung der Fitness der Kinder Selektiere neue Eltern von den fittesten der Kindergeneration (und Elterngeneration) und erzeuge damit die neue Elterngeneration Überprüfung der Terminierungsbedingung. Wenn Terminierungsbedingung nicht erfüllt gehe zu Schritt 2 ansonsten Ende Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

48 Vorteile und Nachteile Evolutionärer Algorithmen
3.4 Genetische und evolutionäre Algorithmen Vorteile und Nachteile Evolutionärer Algorithmen Kann Suchraum in mehrere Richtung untersuchen schnell zu implementieren. Praktisch auf alle Problemarten anwendbar Vorteile Keine Sicherheit ob Ergebnis optimal ist. Bestimmung der Mutations- und Crossoveroperatoren. Relativ langsam. Nachteile Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

49 Organic Computing – Teil 3b, Folie 49 - Prof. Dr. Uwe Brinkschulte
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. Leicht implementierbar. Benötigt keine Speicherung, da kein Backtracking verwendet wird. Vorteile Probleme mit lokalen Optima. Bestimmung der Schrittweite. Nachteile Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

50 Organic Computing – Teil 3b, Folie 50 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte

51 Organic Computing – Teil 3b, Folie 51 - Prof. Dr. Uwe Brinkschulte
3.4 Genetische und evolutionäre Algorithmen Vergleich zu anderen Optimierungsverfahren Simulated-Annealing Einfacher ein lokales Optimum zu verlassen. Breite Anwendbarkeit. Vorteile Finden der passenden Abkühlungsfunktion für ein konkretes Suchproblem. Nachteile Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

52 Ameisenkolonieoptimierung, z.B. für kürzeste Wege
3.4 Genetische und evolutionäre Algorithmen Vergleich zu anderen Optimierungsverfahren Ameisenkolonieoptimierung, z.B. für kürzeste Wege Breite Anwendbarkeit Schnelle Adaption bei Ausfall des kürzesten Weges Vorteile Fehlende Adaption an neu hinzugefügte kürzere Wege. Kreise Nachteile Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

53 Teilchenschwarmoptimierung
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 Seiner aktuellen Position Seiner aktuell besten Position Aktuell beste Position, die es durch Kommunikation mit Schwarmmitgliedern erfahren hat. Zufall Jedes Individuum ist definiert durch Aktuelle Position Beste gewesene Position Geschwindigkeit Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

54 Teilchenschwarmoptimierung
3.4 Genetische und evolutionäre Algorithmen Vergleich zu anderen Optimierungsverfahren Teilchenschwarmoptimierung Relativ leicht implementierbar Breite Anwendbarkeit Vorteile Lokale Optima  Konvergenz Nachteile Organic Computing – Teil 3b, Folie Prof. Dr. Uwe Brinkschulte

55 Organic Computing – Teil 3b, Folie 55 - Prof. Dr. Uwe Brinkschulte
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 Prof. Dr. Uwe Brinkschulte


Herunterladen ppt "3.4 Genetische und evolutionäre Algorithmen"

Ähnliche Präsentationen


Google-Anzeigen