Genetische Algorithmen von der Evolution lernen

Ähnliche Dokumente
Optimale Produktliniengestaltung mit Genetischen Algorithmen

Genetische Programmierung

Evolutionäre Algorithmen Genetische Programmierung

Evolutionäre Algorithmen Software

Computational Intelligence

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

Evolutionäre Algorithmen

Exkurs Modelle und Algorithmen

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

Lösung der statischen Verkehrsumlegung mit Hilfe der Partikelschwarmoptimierung

Mathematik für Wirtschaftswissenschaftler Kapitel 4-6. Universität Trier Wintersemester 2013 / 2014

Seminararbeit zum Thema Genetische Algorithmen

Optimieren unter Nebenbedingungen

Partikelschwarmoptimierung für diskrete Probleme

Datenstrukturen & Algorithmen

Einführung in Heuristische Suche

3. Das Reinforcement Lernproblem

Randomisierte Algorithmen 2. Erste Beispiele

Proposal zur Masterarbeit. Kombination der neuroevolutionären Methoden EANT mit Q-Learning und CMA-ES

Verbesserungsheuristiken

Kapitel 13. Evolutionäre Spieltheorie. Einleitung. Evolutionäre Biologie. Übersicht 2. Alternative: Biologische Evolutionstheorie

Structurally Evolved Neural Networks for Forecasting

Genetische Algorithmen

Teil II Optimierung. Peter Buchholz Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

Clusteranalyse: Gauß sche Mischmodelle

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Proseminarvortrag. Markov-Ketten in der Biologie (Anwendungen)

Artificial Life und Multiagentensysteme

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior

Polynome im Einsatz: Bézier-Kurven im CAD

Euklidische Distanzmatrizen. Andrei Grecu

Analytische Geometrie - Schnittwinkel. u 1, u 2 Richtungsvektoren der Geraden

Grundlagen und Basisalgorithmus

Vektorgeometrie. 1. Vektoren eingeben, Norm, Skalarprodukt. 2 In einem kartesischen Koordinatensystem sind die Vektoren. , v. und. gegeben.

5.10. Mehrdimensionale Extrema und Sattelpunkte

Statistics, Data Analysis, and Simulation SS 2015

Etwas Spezielles: Zielwertsuche und Solver. Zielwertsuche

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim

Hauptprüfung Abiturprüfung 2014 (ohne CAS) Baden-Württemberg

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

Verwendung von LS-OPT zur Generierung von Materialkarten am Beispiel von Schaumwerkstoffen

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Algorithmen und Datenstrukturen 2

Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester

Algorithmen und Datenstrukturen 2

storage management (c) Till Hänisch 2003, BA Heidenheim

Genetische Algorithmen und Evolutionsstrategien

Nichtlineare Optimierungsprobleme mit Komplexität

Schulinternes Curriculum für Informatik (Q2) Stand April 2015

Mathematik 2 für Wirtschaftsinformatik

Tutorial Excel Übung 1&2 Kartenverkauf -1- Kartenverkauf Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung1&2.

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

Zufallszahlen in AntBrain

Monte-Carlo Simulation

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Genetische Algorithmen

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Relative Atommassen. Stefan Pudritzki Göttingen. 8. September 2007

f f(x ɛξ) f(x) 0, d.h. f (x)ξ = 0 für alle ξ B 1 (0). Also f (x) = 0. In Koordinaten bedeutet dies gerade, dass in Extremstellen gilt: f(x) = 0.

IT-Grundlagen Excel Excel Grundbegriffe

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

- 1 - zum Extremum macht, wenn y(x) eine bestimmte, genau charakterisierte Funktionenklasse ( n

Grundlagen, Vorgehensweisen, Aufgaben, Beispiele

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

P (A B) P (B) = P ({3}) P ({1, 3, 5}) = 1 3.

Inhalt. Zellulare Automaten 1 Genetische Algorithmen zur globalen Optimierung 10 Zellulare genetische Algorithmen 14

Nichtlineare Gleichungssysteme

KLAUSUR zu Einführung in die Optimierung. Studiengang: Bachelor Master Diplom (bitte ankreuzen)

3 Optimierung mehrdimensionaler Funktionen f : R n R

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen

Implementierung von PartikelSchwarm-Optimierung und Vergleich. mit einer Evolutionsstrategie

Algorithms for Regression and Classification

Funktionale Programmiersprachen

9 Optimierung mehrdimensionaler reeller Funktionen f : R n R

Lokale Beleuchtungsmodelle

8 Baum in perfekter Komposition

Vergleichende Analyse von Genetischen Algorithmen und der Particle Swarm Optimization für den Evolutionären Strukturtest

Vom Leichtesten zum Schwersten Sortieralgorithmen

Informatik-Sommercamp Mastermind mit dem Android SDK

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Methoden zur Visualisierung von Ergebnissen aus Optimierungs- und DOE-Studien

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Transkript:

Genetische Algorithmen von der Evolution lernen (c) Till Hänisch 2003, BA Heidenheim Literatur zusätzlich zum Lit. Verz. Nils J. Nilsson Artificial Intelligence Morgan Kaufmann, 1998

Ansatz Bisher: Problemlösung durch Anwendung von Regeln manuell definierte (Expertensysteme) gelernte (Neuronale Netze) Evolution: Eigenschaften einer Population passen sich an Umgebungsbedingungen an Übertragung: Menge von Lösungskandidaten passen sich an Problem an Wie? Kreuzung + Mutation (zufällig!) Anfang: evolutionäre Algorithmen evolutionäre Algorithmen komplexe Optimierungsprobleme viele Parameter analytisch nicht möglich Wegminimierung Bohren von Leiterplatten physikalische Probleme Minimierung komplizierter Funktionen häufig Maximierung, Rückführung auf Minimierung Handlungsreisender (Labyrinth) --> Logistik Energieminimierung (Molecular modelling) Strömungswiderstand

Vorgehen bei evolutionärer Optimierung Ziel: Minimierung einer Funktion f(x1,x2,...,xn) Eine Population von Startwerten (z.b. 100) wird zufällig gewählt. Diese werden zufällig geändert (Mutation). Wird das Ergebnis besser, wird dieser Kandidat behalten, ansonsten ein neuer gesucht. Funktioniert gut bei klassicher Optimierung. Problem: lokale Minima Lösung: Größe der Änderungen wird zufällig in einem zunächst großen, später immer kleineren Bereich durchgeführt, verschiedene Verfahren, etwa Simulated Annealing aus [Negnevitsky], S. 242 genetische Algorithmen: Darstellung des Problems als Chromosomen (Bitstring) fester Länge Auswahl einer fitness function f Ausgangspopulation erzeugen Neue Population durch Kreuzung und Mutation erzeugen (Auswahl durch fitness function) aus [Negnevitsky], S. 221

Beispiel gesucht wird das Maximum der Funktion (15x-x*x), 0<x<15 Darstellung als Chromosomen aus [Negnevitsky], S. 222/223 Ausgangspopulation, N=6, fitness = Wert der Fkt. Fitness Ratio ist das Verhältnis der Fitness des Kandidaten zur Summe der Fitness aller Auswahl der Chromosomen nach Fitness Ratio nach der Roulette Methode (Goldberg, 1989) aus [Negnevitsky], S. 222/223

Realisierung von Kreuzung und Mutation aus [Negnevitsky], S. 225 komplexere Funktionen a) Ausgangspopulation b) erste Generation c) Ergebnis d) richtiges Ergebnis aus [Negnevitsky], S. 227 Optimierungsalgorithmen (nicht nur genetische) bleiben leicht in lokalen Minima hängen, da der Weg zum globalen Minimum zunächst eine Verschlechterung darstellt. Abhilfe: Größere Sprünge (mehr Mutationen)

Bei niedriger Mutationsrate (obere Abbildung) wird lokales Maximum gefunden, höhere Mutationsrate liefert das globale Maximum Problem: Woher weiss man, dass man das echte Optimum gefunden hat? Gar nicht! Abhilfe: Test mit verschiedenen Mutationsraten. Wenn jeweils das gleiche Ergebnis erzielt wird, vermutet man, dass die Lösung optimal ist. aus [Negnevitsky], S. 228 Beispiel Planung von Wartungsarbeiten an Kraftwerken Warum? Planung ist komplex (NP-vollständig), Optimierung mit Nebenbedingungen (Resourcen, hier etwa Minimalleistung) Szenario: 7 Kraftwerke unterschiedlicher Leistung, die ein- oder zweimal pro Jahr gewartet werden müssen. 4 Perioden, Mindestleistung jeweils unterschiedlich. Zunächst: N=20, p(mutation) = 0.001

links N=20: a) 50 Generationen b) 100 Generationen rechts: N=100 Ergebnis nach 100 Generationen bei unterschiedlicher Mutationsrate Ergebnis ist gleich (gut), also Vermutung dass optimale Lösung aus [Negnevitsky], S. 238 Genetic programming Bisher: Modifikation von Daten Gewichte im NN Algorithmen Warum nicht Programmcode? Parameter, Koordinaten usw. bei genetischen zufällig erzeugte Programme als Population, Auswahl durch Fitness-Funktion, Modifikation durch Kreuzung und Mutation Anwendung z.b. Entwicklung elektronischer Filter, Verstärker usw. (Koza, 1994) einfache (spezielle) Sprachen Baumstruktur (Kreuzung/Mutation einfacher) Angelehnt an LISP schwierig (jedoch prinzipiell möglich) bei komplexen Programmiersprachen (komplexe Syntax,...), deshalb

Darstellung Programm zur Berechnung von 3+(5*4)/7 Notation entweder als Baum oder Transformation in Liste PLUS(3,DURCH(MAL(5,4),7)) Die Syntax dieser Sprache enthält die Funktionen PLUS(a,b), DURCH(a,b), MAL(a,b) aus [Nilsson], S. 61 Beispiel Ein Roboter soll den Wänden eines Raumes folgen. Sensoren liefern Informationen, ob die benachbarten Felder begehbar sind (keine Wand). Funktionen n, ne, e usw. Roboter kann sich bewegen, Funktionen north, east usw. Logische Funktionen AND(a,b), OR(a,b) usw. und IF(a,b,c): Wenn Ausdruck a wahr ist, wird b ausgeführt, ansonsten c Wenn die Wand berührt wird, ist das Spiel aus.

(Eine) manuell erstellte Lösung aus [Nilsson], S. 63 Beispiel aus [Nilsson] Evolution Ausgangspopulation: 5000 zufällig erzeugte Programme Fitness Funktion: Jedes Programm wird max. 60 Schritte lang ausgeführt, besuchte Zellen an der Wand werden gezählt (max. 32). 10 mal nacheinander mit zufälligen Startpunkten --> max. Fitness 320 Nächste Generation: 10% werden direkt übernommen (jeweils 7 zufällig ausgewählt, das mit der höchsten Fitness wird verwendet). 90% werden durch Crossover aus zwei zufällig gewählten (wie oben) erzeugt. Mutation wird nicht verwendet, könnte aber implementiert werden: Ein Teilbaum wird durch einen (zufälligen) neuen ersetzt

crossover bei Programmen aus [Nilsson], S. 64 Das fitteste Programm der Ausgangspopulation Auffällig: Viele redundante Operationen aus [Nillson], S. 66

aus [Nillson], S. 67 Das fitteste Programm in Generation 2 Das fitteste Programm in Generation 6 aus [Nillson], S. 67

Das fitteste Programm in Generation 10 Hier wird erstmals das Problem vollständig gelöst aus [Nillson], S. 68 Fitness der Generationen aus [Nilsson], S. 68

Particle swarms Kennedy, Eberhard, Shi, Swarm Intelligence, Morgan Kaufmann, 2001 Ursprung: boids Simulation eines Vogelschwarms durch einfache Annahmen: Vogel interagiert nur mit seinen Nachbarn

Beispiel http://www.red3d.com/cwr/boids/ PSO Particle Swarm Optimization simuliert einen Volgelschwarm (Ähnliche Technik: Ant Colony Optimization) Idee: Vogelschwarm, nur eine Futterstelle. Optimale Strategie? Alle Vögel folgen demjenigen, der am nächsten am Futter ist. Umsetzung: Einzelne Partikel, haben Koordinaten und Geschwindigkeit (Vektoren), kennen jeweils ihren bisher besten Wert (pbest) und den besten des Schwarms (gbest). Ausgangsbasis: Zufällige Startwerte. In jeder Iteration: v[] = v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[]) present[] = present[] + v[] (übl. v limitiert auf vmax)

PSO contd. Unterschiede zu genetischen Algorithmen keine Mutation, Crossover (zufällige Änderungen) dafür Orientierung hin zum besten Individuum Gedächtnis Evolution bevorzugt den besten, verdrängt die anderen Hier: Alle suchen gemeinsam teilw. bessere Performance Anwendungen: Bestimmung der Gewichte in neuronalen Netzen klass. Optimierungsprobleme Beispiel: http://www.projectcomputing.com/resources/psovis/index.html