3.4 Genetische und evolutionäre Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Memetische Algorithmen …der Versuch einer Einordnung
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
Genetische Algorithmen für die Variogrammanpassung
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Verifizieren versus Berechnen
Genetische Algorithmen
Genetische Algorithmen
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Sortierverfahren Richard Göbel.
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Genetische Algorithmen
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Die moderne Evolutionstheorie
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Minimum Spanning Tree: MST
Evolution in verteilten Systemen Der Evolutionäre Trader
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Vorlesung Biometrie für Studierende der Veterinärmedizin Begriff der Zufallsgröße Ergebnisse von Zufallsexperimenten werden als Zahlen dargestellt:
20:00.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Wir üben die Malsätzchen
Diskrete Mathematik II
Evolutionäre Algorithmen AS1-7
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
STATISIK LV Nr.: 0028 SS Mai 2005.
Analyse von Ablaufdiagrammen
PROCAM Score Alter (Jahre)
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Evolutionäre Algorithmen AS1-7
Ilka Rehr, Geodätisches Institut, Leibniz Universität Hannover
Analyse der Laufzeit von Algorithmen
ANN - Simulator Rainer Trummer Ferdinand Schober Christian Spielberger.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Evolutionärer Entwurf neuronaler Netze
Evolutionäre Algorithmen Rüdiger Brause
Design und Optimierung optischer Systeme durch Neuronale Netze und Genetische Algorithmen.
Genetische Algorithmen
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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 10 - Prof. Dr. Uwe Brinkschulte

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 11 - Prof. Dr. Uwe Brinkschulte

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 12 - Prof. Dr. Uwe Brinkschulte

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 13 - Prof. Dr. Uwe Brinkschulte

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

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 15 - Prof. Dr. Uwe Brinkschulte

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 16 - Prof. Dr. Uwe Brinkschulte

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 17 - Prof. Dr. Uwe Brinkschulte

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 18 - Prof. Dr. Uwe Brinkschulte

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 19 - Prof. Dr. Uwe Brinkschulte

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 20 - Prof. Dr. Uwe Brinkschulte

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 21 - Prof. Dr. Uwe Brinkschulte

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 22 - Prof. Dr. Uwe Brinkschulte

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 23 - Prof. Dr. Uwe Brinkschulte

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 24 - Prof. Dr. Uwe Brinkschulte

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 25 - Prof. Dr. Uwe Brinkschulte

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 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

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

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 28 - Prof. Dr. Uwe Brinkschulte

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 29 - Prof. Dr. Uwe Brinkschulte

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 30 - Prof. Dr. Uwe Brinkschulte

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 31 - Prof. Dr. Uwe Brinkschulte

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 32 - Prof. Dr. Uwe Brinkschulte

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 33 - Prof. Dr. Uwe Brinkschulte

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

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# 010 23 0101#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 0 0 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) 0111#101 010 26 010##10# 011 26 Organic Computing – Teil 3b, Folie 35 - Prof. Dr. Uwe Brinkschulte

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

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

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 38 - Prof. Dr. Uwe Brinkschulte

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 39 - Prof. Dr. Uwe Brinkschulte

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

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

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 42 - Prof. Dr. Uwe Brinkschulte

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

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 44 - Prof. Dr. Uwe Brinkschulte

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

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 46 - Prof. Dr. Uwe Brinkschulte

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 47 - Prof. Dr. Uwe Brinkschulte

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 48 - Prof. Dr. Uwe Brinkschulte

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 49 - Prof. Dr. Uwe Brinkschulte

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 50 - Prof. Dr. Uwe Brinkschulte

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 51 - Prof. Dr. Uwe Brinkschulte

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 52 - Prof. Dr. Uwe Brinkschulte

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 53 - Prof. Dr. Uwe Brinkschulte

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 54 - Prof. Dr. Uwe Brinkschulte

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 55 - Prof. Dr. Uwe Brinkschulte