Evolutionäre Algorithmen AS1-7

Slides:



Advertisements
Ähnliche Präsentationen
Memetische Algorithmen …der Versuch einer Einordnung
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Platzierung - Algorithmen von Breuer & Lauther; SA & GA-Verfahren -
Zusammenfassung der Vorwoche
B-Bäume.
Die Entstehung neuer Arten
Genetische Algorithmen für die Variogrammanpassung
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
der Universität Oldenburg
Adaptive Systeme Prof. Rüdiger Brause WS 2009.
Konkurrentes Lernen AS-1
Genetische Algorithmen
Genetische Algorithmen
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Genetische Algorithmen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
3.4 Genetische und evolutionäre Algorithmen
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Die moderne Evolutionstheorie
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
PowerPoint-Folien zur 5. Vorlesung „Evolutionsstrategie II“
Das Wunder der Koordinatentransformation Das Wunder der sexuellen Fortpflanzung = Rekombination.
PowerPoint-Folien zur 5. Vorlesung „Evolutionsstrategie II“
Evolution in verteilten Systemen Der Evolutionäre Trader
Vorlesung KDD, Ludwig-Maximilians-Universität München, WS 2000/ Andere Paradigmen Inhalt dieses Kapitels 8.1 Induktive Logik-Programmierung.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Autoren: Ingo Paenke, Bernhard Sendhoff, Jon Rowe,
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Anwendungen evolutionärer Algorithmen
Diskrete Mathematik II
Adaptive Systeme-2 Grundlagen
Neuronale Netze Nachtrag Perzeptron
Animation von Dijkstra
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence
Animation von Dijkstra
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
One plus One Evolutionary Optimizer
Vorlesung Binärer Suchbaum II-
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
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.
Evolutionärer Entwurf neuronaler Netze
Optimierungs- Algorithmen
Evolutionäre Algorithmen Rüdiger Brause
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Design und Optimierung optischer Systeme durch Neuronale Netze und Genetische Algorithmen.
Programmierung von CNC-Messgeräten mit genetischen Algorithmen Simeon Perlov.
Genetische Algorithmen
 Präsentation transkript:

Evolutionäre Algorithmen AS1-7

Evolution neuronaler Netze Evolutionäre Algorithmen Genetische Algorithmen Evolution neuronaler Netze Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2009

Lernen durch Evolutionäre Algorithmen Lernziel: Maximieren einer Zielfunktion R(g1, ..., gn) durch Wahl von n Parametern g1, ..., gn Evolutionsschema creeping random search 1. Wähle initial zufällige Werte g = ( g1, ..., gn ) 2. Evaluiere die Lösung, bilde R(g) z.B. empirisch 3. Wähle zufällige Werte g1‘, ..., gn‘, etwa leicht abweichend mit einer Normalverteilung N(g, s) 4. Evaluiere die Lösung, bilde R(g‘) 5. R(g‘) > R(g) ? JA: g‘g Nein: - 6. Lösung ausreichend gut ? JA: STOP. NEIN Rüdiger Brause: Adaptive Systeme

Evolutionäre Algorithmen: Beispiel Entwicklung einer Düsenform (Rechenberg 1973) Parameter g = (g1,...,gn) mit gi = Lochdurchmesser, n = 9 Ziel = Effizienz Zweiphasengemisch für chem.Reaktion maximieren Ergebnis: optimaler Durchfluss, unabh. von Startkonfigurationen Rüdiger Brause: Adaptive Systeme

Evolutionäre Algorithmen: Beispiel Versuchsaufbau Rohrkrümmung (Rechenberg 1973) Parameter g = (g1,...,gn) mit gi = (Ri,i) Polarkoordinaten der Stützstellen Ziel = Durchflußmenge/Zeit, Änderungen = normalvert. Abweichungen Startkrümmung Endkrümmung Ergebnis: Durchfluss verbessert um ca. 10% Rüdiger Brause: Adaptive Systeme

Evolution neuronaler Netze Evolutionäre Algorithmen Genetische Algorithmen Evolution neuronaler Netze Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2009

Lernen durch Genetische Algorithmen Lebewesen Bauplan = Genotyp g = (g1,...,gn) mit g = Chromosom, gi = Gen Erscheinungsbild = Phänotyp (g) Ziel-Bewertung = Fitness (g) Mehrere Lebewesen gi : Population G = {gi} Lernziel: Maximieren der Zielfunktion (Fitness) Reproduktionsplan 1. Bewerte die Population G GetFitness(G) 2. Selektiere die Besten von G SelectBest(G) 3. Vermehre sie mit Änderungen GenOperation(G) Rüdiger Brause: Adaptive Systeme

Bewerten und Selektieren PROCEDURE GetFitness (G: ARRAY OF TUPEL) BEGIN FOR i:=1 TO M DO (* Bewerte die Population *) fitness[i] := R( G[i] ) ENDFOR; (* Normiere Fitness auf 0..1 *) Rmin := MIN(fitness); Rmax:= MAX(fitness); FOR i:=1 TO M DO fitness[i] := (fitness[i]-Rmin)/(Rmax-Rmin) ; ENDFOR END GetFitness; PROCEDURE SelectBest (G: ARRAY OF TUPEL); BEGIN (* Lösche die Schlechtesten *) FOR i:=1 TO M DO IF Random(0,1) >fitness[i] THEN delete(i,G) END END SelectBest; Rüdiger Brause: Adaptive Systeme

Genetische Operatoren vorher nachher Mutation cross-over Inversion Rüdiger Brause: Adaptive Systeme

Vermehren mit Veränderungen PROCEDURE GenOperation (G:ARRAY OF TUPEL); BEGIN FOR k:=1 TO S DO i := Random(1,M); j := Random(1,M); mutate (G,i,j); (* Mutation bei G(i) an Stelle j *) END i := Random(1,M); j := Random(1,M); cross_over (G,i,j); (* Überkreuzung von G(i) und G(j) *) END GenOperation; Rüdiger Brause: Adaptive Systeme

Beispiel Schmetterling Evolution eines binären Schmetterlings (Rechenberg 1973) Genotyp g = (g1,...,gn) mit gi aus {1,0}= Färbung ja/nein Fitness = Hammingabstand, Änderungen = Zufall, Rekombination Hamming-Distanz Ist unser Ziel eine möglichst rasche Konvergenz bei wenigen Generationen so wie in der Natur, so ist als Lösung sicher die parallele Strategie (a) vorzuziehen. Anders dagegen, wenn wir die dazu nötigen Operationen zur Berechnung auf einem sequentiellen Computer betrachten: Bei (a) sind für 10 Schmetterlinge 80 Generationen, also insgesamt 800 Schmetterlinge für die Lösung zu berechnen, bei (c) nur 360, wobei die Anzahl der Fehlversuche (verworfenen Änderungen) nicht eingerechnet wurde. Also: Die Natur ist ein Parallelrechner, deshalb ist a) schneller Rekombination wirkt bei sinnvollen „building blocks“ Generationen 10 Individuen, Mutation, Rekombination, Auslese 10 Individuen, Mutation, Auslese 1 Individuum, Mutation, Auslese Rüdiger Brause: Adaptive Systeme

Wirkung von Gen-Austausch Schema Holland 1975 Tupel mit gleichen Lösungselementen Hyperfläche gi = (*, *,1,0,*,*,5,*,...,*) * = don‘t care building block Schemalänge L(g): Zahl der Stellen zur pos.unabh. Charakt. Schematheorem m(h,t) = Zahl der Individuen mit Schema h bei Generation t f(h) = Fitness von h, at = mittlere Fitness p = Wahrsch., dass Schema h zerstört wird  h überlebt, wenn es kurz ist (p klein) und höh. Fitness als at hat rel. Fitness Rüdiger Brause: Adaptive Systeme

Wirkung genetischer Operatoren Idee: Kombination „guter“ Gene verbessert eine Lösung Gegenbeispiel: Ansteigende Gütefunktion mit lokalen Minima Ziel Fitness(x) Chromosom = Bitstring x 0 512 1024 = 10 Bit 8 7 Hier Rekombination ist schlechter als Mutation, da die Kodierung kein sinnvolles Schema erlaubt. Gen-Rekombination ist nur sinnvoll bei geeigneten Gen-Definitionen ! Rüdiger Brause: Adaptive Systeme

Evolutionäre Rekombination Rekombination = Austausch korresp. Parameter Beispiel g1 = (x1,y1) und g2 = (x2,y2) ergibt Kinder g3 = (x2,y1) und g4 = (x1,y2) oder in and. Koord.system g3‘ = (x2‘,y1‘) und g4‘ = (x1‘,y2‘) koord.Syst. unabh.: Thales-Kreis um M mit r ! n Parameter n-dim Hyperkugel kontin. Rekombination: Normalverteilung N(M,s) um Mittelpunkt M und Abstand r y’ x’ g 4 ’ y g 4 g 2 M r g 1 g 3 x g 3 ’ Rekombination  Evolut. Mutation ! Rüdiger Brause: Adaptive Systeme

Evolution neuronaler Netze Evolutionäre Algorithmen Genetische Algorithmen Evolution neuronaler Netze Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS 2009

Kodierung der Verbindungsgewichte Kodierung eines Netzes fester Struktur durch seine Parameter F(x1,x2) x1 x2 Individuum g = Rüdiger Brause: Adaptive Systeme

Einfaches Crossover Beispiel 1.Original gr = (-0.2, -0.3, 0.6, -0.7, 0.1, -0.3) 2. Original Kreuzung Rüdiger Brause: Adaptive Systeme

Evolution der Verbindungsgewichte Generation ← 0 Initialisierung der gi: Weise den Verbindungen in der Anfangspopulation des Netzwerks zufällige Gewichte zu while not Abbruchbedingung do Generation ← Generation +1 Konstruiere zu jedem Genotyp gi das zugehörige Netzwerk Ni Trainiere jedes Netzwerk Ni mit den Trainingsdaten, Berechne die Fitness(Ni) anhand der Testdaten { (x1,x2) }, Wähle und reproduziere Netzwerke bzw. gi gemäß ihrer Fitness, Rekombiniere und mutiere gewählte Individuen gi. end while Rüdiger Brause: Adaptive Systeme

Evolution der Verbindungsgewichte Überblick Evolutionszyklus Phänotyp Genotyp Evolut. Operatoren Training Muster Rüdiger Brause: Adaptive Systeme

Evolution der Netze Beispiel: XOR-Netzwerk Evolution Variable Netzstruktur: 10 Startnetze Rüdiger Brause: Adaptive Systeme

Das Permutations-Problem Problem unterschiedlicher Genotyp, gleicher Phänotyp = Rüdiger Brause: Adaptive Systeme

Indirekte Kodierung Kodierung über Adjazenzmatrix Aik = 1  Knoten i hat Verbindung zu Knoten k Rüdiger Brause: Adaptive Systeme

Indirekte Kodierung Rüdiger Brause: Adaptive Systeme

S ( ) Wi  { A,B,...,Z } Wi ( ) vi  { a,b,...,p } Indirektes Kodieren Allgemein 3-stufiges Kodierungs-Schema S ( ) Wi  { A,B,...,Z } Wi ( ) vi  { a,b,...,p } vi  ( ) zi  { 0,1 } W1 W2 W3 W4 v1 v2 v3 v4 z1 z2 z3 z4 Startsymbol Terminale Rüdiger Brause: Adaptive Systeme

Eine Grammatik G hat i.A. folgende Komponenten: ein endliches Alphabet  (Terminalzeichen) eine endliche Menge V von Variablen mit   V =  das Startsymbol SV eine endliche Menge P von Produktionen Rüdiger Brause: Adaptive Systeme

Evolution von Neuronalen Netzen Vorteile Gewichte können durch genet. Operationen verbessert werden, ohne in lokalen Optima stecken zu bleiben Neue Strukturen können entstehen, so dass lokale Optima überwunden werden können Nachteile Die Simulationen sind sehr aufwendig und rechenintensiv Der Aufwand wächst exponentiell mit der Größe der Netze (Fluch der Dimensionen = Zahl der Gewichte) Rüdiger Brause: Adaptive Systeme