Anwendungen evolutionärer Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Memetische Algorithmen …der Versuch einer Einordnung
Fast Fourier Transformation
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Eine dynamische Menge, die diese Operationen unterstützt,
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kapitel 6: Klassifizierung von Sortiertechniken
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 2011.
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Genetische Algorithmen
Genetische Algorithmen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps 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 (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Geometrisches Divide and Conquer
Genetische Algorithmen
Seminar parallele Programmierung SS 2003
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Die moderne Evolutionstheorie
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
PowerPoint-Folien zur 10. Vorlesung „Evolutionsstrategie I“
PowerPoint-Folien zur 2. Vorlesung „Evolutionsstrategie II“
Ingo Rechenberg PowerPoint-Folien zur 2. Vorlesung Evolutionsstrategie II Der ES-Fortschritt im Quadrikgebirge und Kalkül der geschachtelten Evolutionsstrategien.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Gebäudeverschneidung 4
20:00.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Sortieralgorithmen Sortieren von Arrays.
Diskrete Mathematik II
Evolutionäre Algorithmen AS1-7
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
… oder wie finde ich den Weg
Analyse von Ablaufdiagrammen
One plus One Evolutionary Optimizer
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
6 Genetic Algorithms and Neuronal Networks
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 Mathematical Programming Nichtlineare Programmierung.
Das Traveling Salesman Problem (TSP)
Evolutionäre Algorithmen AS1-7
Ilka Rehr, Geodätisches Institut, Leibniz Universität Hannover
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
PowerPoint-Folien zur 10. Vorlesung „Evolutionsstrategie I“
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Evolutionärer Entwurf neuronaler Netze
Evolutionäre Algorithmen Rüdiger Brause
 Präsentation transkript:

Anwendungen evolutionärer Algorithmen kontinuierliche Parameter diskrete Parameter in kombinatorischen Problemen Design Optimierung

Evolutionäre Algorithmen Evolutionsstrategien Genetische Algorithmen Genetische Programmierung Evolutionäre Programmierung Algorithmus: t = 0 Initialisiere Do Reproduktion Rekombination Mutation Dekodierung Evaluierung Selektion t := t + 1 Until stop

Eigenschaften und Anwendungen populationsbasiert (erlauben parallele Suche) wenig Problemwissen nötig (z.B. keine Gradienteninformation) stochastisches Suchverfahren Anwendung: diskontinuierliche Probleme diskrete / kombinatorische Probleme multimodale Probleme multikriterielle Probleme verrauschte Qualitätsfunktion

Parameter Optimierung (Teil I) kontinuierliche Parameter Evolutionsstrategien

Globale Schrittweitensteuerung zufällige Mutation Nachkomme Eltern Chromosome: Wahrscheinlichkeit für die Erzeugung eines Nachkommens x1 x2 xn  Eltern x2 1 2 1 > 2 x1

1/5 - Erfolgsregel Anpassung der Schrittweite: basiert auf der Analyse der Fortschrittsgeschwindigkeit für das Korridormodell und Kugelmodell. Maximaler Fortschritt, wenn 1/5 der Nachkommen besser sind Mutation bei pe = 0.2 bestimmen wie viele Nachkommen besser als die Eltern sind vergrößern / verkleinern der Schrittweite je nach Ergebnis Nur Nachkommen die besser sind als ihre Eltern ergeben nicht den maximalen Fortschritt!!!

mutative Anpassung - Selbstadaptation Chromosom: Idee: für die Adaptation des Strategieparameters den gleichen Prozeß zu nutzen wie bei der Optimierung der Objektparameter xi. „Waren die Objektparameter gut, so war auch die Schrittweite gut die zu ihrer Erzeugung genutzt wurde!“ Anpassung der Schrittweite Anpassung der Objektparameter

mutative Schrittweitensteuerung pseudoCode t = 0 Initialisiere Objektparameter der Eltern Population Initialisiere Strategieparameter der Eltern Population do // alle Generationen für alle Nachkommen wähle Eltern Rekombination Objektparameter Rekombination Strategieparameter Mutation der Objektparameter Mutation der Strategieparameter Evaluieren end Selektion (neue Elternpopulation) t := t + 1 Until stop

Source

Selektionsdruck Wie stark wird selektiert?  - Größe der Elternpopulation  - Größe der Nachkommenpopoulation Notation: ES(10,100):  = 10,  = 100 Selektionsdruck: s =  /  s = 1: keine Selektion -> kein Fortschritt zufällige Suche bei der Kommastrategie s  0: hoher Fortschritt geringer Einfluß des Zufalls z.B. geringe Wk. lokale Optima zu überwinden

Sphere Function

Ackley‘s Testfunktion

Selektionsdruck - Beispiel unimodale Funktion geringer Selektionsdruck ES(50,100) ES(20,100) ES(10,100) multimodale Funktion (40 dimensional) ES(10,100) ES(50,100) ES(20,100)

Ellipsoidal function

Individuelle Schrittweiten Chromosome: Jede Variable hat eine eigene Schrittweite xi i Standard Werte: globale Anpassung lokale Anpassung

Kugel Funktion Kugelfunktion globale Schrittweite individuelle Schrittweite

Ellipsoidal Funktion globale Schrittweite individuelle Schrittweite schnelle „grobe“ Anpassung bei globaler Schrittweite besser in den ersten Generationen schlechter in der Nähe des Optimums

Beispiel – individuelle Schrittweiten kleine Populationen ES(1,10) globale Schrittweite individuelle Schrittweite

Probleme Prinzip der mutativen Schrittweitenanpassung Koppelung von Strategieparameter an das Individuum Selektionsdruck zu optimaler Schrittweite Probleme durch stochastische Fluktuationen der Schrittweite verstärkt durch kleine Populationen hohe Anzahl an Strategieparametern

Ursachen Zwei mögliche Ursachen sind: Selbst bei großen Schrittweiten kann die tatsächlich realisierte Schrittweite sehr klein sein. Würde ein solches Individuum selektiert, wird eine große Schrittweite vererbt, obwohl eine Mutation durch eine kleine Schrittweite realisiert wurde. Die Anpassung der Schrittweite funktioniert in diesem Fall nicht. Die Stärke der Variationen von Schrittweiten innerhalb einer Population ist ähnlich zu den Variationen in aufeinander folgenden Generationen. Innerhalb der Population wird eine ausreichende Variation der Parameter benötigt um eine wirkungsvolle Selektion zu gewährleisten. In aufeinander folgenden Generationen sind allerdings wesentlich kleinere Variationen vorteilhaft, um stochastische Fluktuationen bei der Anpassung der Strategieparameter zu vermeiden.

Derandomisierte Verfahren Anpassung der Schrittweite aufgrund der realisierten Schrittweite Dämpfungsfaktor der Adaptation erwartete Stärke der Mutation realisierte Mutation des selektierten Individuums Dämpfung

Kumulation der Schrittweiten Nutzung der Informationen aus vorhergehenden Generationen Pfad der Evolution: Anpassung der Schrittweite:

Richtung der Mutation globale Schrittweite individuelle Schrittweite Kovarianzmatrix 1  Parameter 2 Parameter 2 Parameter 2 2 1 2 Parameter 1 Parameter 1 Parameter 1 Wahrscheinlichkeit für die Erzeugung eines Nachkommen 1 Parameter n Parameter n2 / 2 Parameter

CMA Kovarianzmatrix-Adaptation Ellipsoidal Funktion Eigenschaften: derandomisiert Dämpfung der Schrittweitenadaptation Anpassung der Kovarianzmatrix basierend auf dem Pfad der Evolution (n2 + n)/2 freie Parameter zusätzl. globale Schrittweite Mutation Ackley Funktion Bestimmung der „selektierten“ Mutation Berechnung des Pfades Anpassung einer globalen Schrittweite Anpassen der Kovarianzmatrix Anpassen der Objektparameter korrelierte Mutationen

Selektionsstrategie + Strategie: Aus ( + ) Individuen werden die besten  Individuen selektiert , Strategie: Aus den  Nachkommen werden die besten  Individuen selektiert plus Strategie: nur Verbesserungen möglich „Hängenbleiben“ in lokalen Minima zufällig gute Lösungen (verrauschte Qualitätsfunktion) bleiben in der Population

Zusammenfassung Optimierung kontinuierlicher Parameter Selektionsdruck Selektionsmechnismen (Komma, Plus) Schrittweitenanpassung globale mutative Schrittweitenanpassung Skalierung der Parameter individuelle mutative Schrittweitenanpassung aufwendige Anpassung Probleme bei mutativer Anpassung durch hohe Anzahl von Parametern (große Populationen nötig) CMA Strategie (Covarianz Matrix Adaptation) „Derandomisierte“ Anpassung der Schrittweiten Kummulation der Schrittweiten korrelierte Mutationen

Teil II Diskrete Probleme

Das Travelling Salesman Problem Gesucht: Route zwischen n Städten, die jede Stadt genau einmal besucht NP-vollständig unwahrscheinlich effiziente Algorithmen zur Lösung dieses Problems zu finden Der „primitive“ Algorithmus, der einfach alle Möglichkeiten durchprobiert hat eine Komplexität von o(n!) häufig „völlig ausreichend“ eine „gute“ Lösung zu finden

Kodierung Wie kodiere ich das Problem: Kodierung ist problemspezifisch zu wählen Es gibt kein allgemeines „Kochrezept“, um eine gute Kodierung zu finden Prinzipien: Ähnliche Phänotypen sollten durch ähnliche Genotypen dargestellt werden Ähnlich kodierte Lösungskandidaten sollten eine ähnliche Fitneß haben Starke Kausalität Der Suchraum (die Menge möglicher Lösungskandidaten) sollte, soweit möglich, unter den verwendeten genetischen Operatoren abgeschlossen sein Alle Lösungen sollten darstellbar sein

Repräsentation/Kodierung Binärstrings: 1 1 1 1 1 1 Stadt 1 Stadt 2 Mutation 1 1 1 1 1 Stadt 1 ? 5 bei (fast) jeder Operation (sei es Crossover oder Mutation) entstehen ungültige Lösungen 4 6 7 2 Allgemein sind Binärdarstellungen für Permutationen nur sehr bedingt geeignet 3 1

Adjacency Representation Tour der Länge n wird durch eine Liste natürlicher Zahlen dargestellt Die Zahl (Stadt) j ist an i-ter Stelle aufgelistet, falls die Tour von i nach j führt. Beispiel für n = 7: (6 1 5 3 2 7 4) repräsentiert die Tour 1-6-7-4-3-5-2 Jede Tour hat somit genau eine Adjazenzdarstellung ungültige Tour möglich: 6 1 5 3 6 7 4 Crossover: klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen).

klassischer Crossover Eltern 1 Eltern 2 1 7 1 7 2 2 6 6 3 3 5 5 4 4 3 1 7 2 4 5 6 4 3 7 6 2 5 1 1 4 5 6 7 3 2 3 1 7 6 2 5 1 klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen). Spezielle Crossover Operatoren sind nötig

Alternating Edges Crossover abwechselnd (und auch zufällig) Kanten vom ersten und zweiten Elternteil wählen sollte eine dieser Kanten vorzeitig ein Kreis erzeugen, so wird eine zufällige Kanten aus der Menge der noch übrigen Kanten gewählt. Beispiel für n = 7: p1 = (3 1 7 2 4 5 6) p2 = (4 3 7 6 2 5 1) könnten folgenden Nachkommen erzeugen: o = (3 1 7 6 2 5 4) vom ersten Elternteil wird der erste Knoten (die 3) gewählt, dann vom ersten Elternteil die 1 und 7, dann die 6, 2 und die 5 vom zweiten Eltern An die letzte Position kann weder die 6 vom ersten noch die 1 vom zweiten Elternteil eingefügt werden, ohne den Kreis frühzeitig zu schließen. Es wird also die 4 gewählt, da sie noch übrig ist.

Alternating Edges Crossover 1 7 1 7 2 2 6 6 3 3 5 5 4 4 3 1 7 2 4 5 6 4 3 7 6 2 5 1 1 7 2 6 3 5 4 3 1 7 6 2 5 4

Ordinal Representation Diese Liste repräsentiert eine Tour unter Zunahme einer sortierten Referenzliste C (z.B. C= (1 2 3 4 5 6 7)) (2 3 1 4 1 2 1) Tour 2-4-1-7-3-6-5. Die 2 am Anfang besagt: Nehme das zweite Element in C als ersten Wegpunkt und lösche es aus C. Die nächsten Zahlen in der Darstellung werden auf die selbe Art und Weise interpretiert. Die letzte Zahl ist immer 1, da C zu diesem Zeitpunkt nur noch 1 Element enthält.

Ordinal Representation Vorteil: keine ungültigen Routen klassische Crossover funktioniert Beispiel für n=7: p1 = (2 3 1 | 4 1 2 1) und p2 = (6 4 5 | 2 3 1 1) o1 = (2 3 1 2 3 1 1) o2 = (6 4 5 4 1 2 1) 2-4-1-5-7-3-6 6-4-7-5-1-3-2 Nachteil: Teil-Tour linksseitig des Crossover Punktes wird nicht verändert. Die rechte Seite wird stark verändert. Mutation ist möglich, indem z.B. einzelne Werte im Rahmen des für ihre Position gültigen Wertebereiches verändert werden.

Path Representation Beispiel: Problem: Mutation (3 4 7 6 1 2 5) Die einfachste Art eine Tour darzustellen ist die Reihenfolge der Elemente in einer Liste direkt als Weg zu interpretieren. Beispiel: Problem: Mutation (3 4 7 6 1 2 5) (3 4 7 3 1 2 5) Tour 3-4-7-6-1-2-5 5 5 4 4 6 6 7 7 2 2 3 3 1 1

Mutation Zufälliges Einfügen Displacement / Insertion (3 4 7 6 1 2 5) (3 4 6 1 2 7 5) Zufälliges Vertauschen Reciprocal Exchange (3 4 7 6 1 2 5) (3 4 2 6 1 7 5) Inversion (3 4 |7 6 1| 2 5) (3 4 1 6 7 2 5)

Partially Matched Crossover (PMX) Idee: Es wird eine Teiltour aus einem Elternteil übernommen und versucht die Reihenfolge und Position möglichst vieler Städte aus dem anderen Elternteil zu erhalten. Algorithmus zwei zufällige Crossoverpunkte wählen Werte zwischen den Punkten vertauschen Städte links und rechts der Crossoverpunkte wieder an ihrer Orginalposition einfügen, sofern sie die Gültigkeit der Darstellung nicht verletzen Sollte dies aber der Fall sein: statt dessen den Wert einfügen, der vor der Crossover Operation an der Stelle stand, an der nun der gleiche Wert steht wie der, der eingetragen werden soll.

Beispiel für n = 7 Schritt 1: Vertauschung der Städte zwischen den Crossover Punkten p1 = (1 4 |6 7 5 3| 2) p2 = (5 2 |7 6 4 3| 1) o1 = (x x |7 6 4 3| x) o2 = (x x |6 7 5 3| x) Schritt 2: ohne Konflikt an den ursprünglichen Positionen: o1 = (1 x |7 6 4 3| 2) o2 = (x 2 |6 7 5 3| 1) Schritt 3: Lösen der Konflikte In o1 konnte die 4 nicht eingefügt werden, da sie schon an Stelle 5 steht. Also wird sie durch das Element, welches zuvor an Stelle 5 stand, ersetzt (die 5). o1 = (1 5 7 6 4 3 2) o2 = (4 2 6 7 5 3 1)

Qualitätsfunktion Qualitätsfunktion: Mij : Distanz von Stadt i zu Stadt j Mii = 0 für alle i M symmetrisch der Weg ist nicht richtungsabhängig Qualitätsfunktion:

Beispiel PMX crossover zufälliges Vertauschen bester Pfad Fitnessverlauf

Path beste Lösung

Zusammenfassung Dauer der Optimierung (bzw. Qualität der gefundenen Lösung) wird durch die Genotype – Phänotyp Transformation und den Operatoren beeinflußt Kodierung im Chromosom sollte dem Problem angepaßt sein (Binärstrings / diskret / kontinuierlich) Angepaßte Operatoren Crossover: Erhalten von Informationen aus allen Eltern Mutation: beibehalten wesentlicher Informationen des Individuums (lokale und kleine Mutationen) Verbesserung der Lösungen auch bei ungünstiger Kodierung Beurteilung der Qualität der gefundenen Lösung Testprobleme generieren

Kodierung / Modelle geometrisch Spline p pitch  stagger angle w1,w2 wedge length 1,2 wedge angle tmax maximal thickness R1, R2 radius of trailing and leading edge Spline p pitch xi = (xi,yi) cart. coordinates of control points

2D Schaufel Optimierung Druckverlust Abströmwinkel Qualitätsfunktion: geometrische Randbedingungen Druckverlust Abströmwinkel f(x) = 1 f1() + 2 f2(2) + 3 f3(xmin) + 4 f4(xmax) Optimierung in zwei Phasen: 1 << 2 Ergebnisse: 45% Reduktion des Druckverlustes Original evolutionär optimiert pressure loss

Multikriterielle Optimierung dominated solutions Qualiät – Kosten Stabilität – Gewicht Stabilität infeasible region standard Methoden: Pareto optimale Lösungen Gewicht Randbedingungen Q1 <= Q1,s (maximal weight <= Mmax) weighted aggregation Q = w1 Q1 + w2 Q2 pareto optimisation non-dominated solutions pareto basierte evolutionäre Optimierung NSGAII

Dynamic Weighted Aggregation Mechanismus: DWA: Änderung der Gewichtung während der Optimierung Fitness Dynamik von w1,2 Simulation w1 w2 Turbinenblatt 1. Druckverlust 2. Auslasswinkel

3D Schaufel Optimierung Repräsentation B-Spline Fläche 2D 3D 1h/Evaluation 16h/Evaluation 7Tage/Optimierung 4Monat/Optimierung 12 CPUs 64 CPUs

Qualitätsfunktion outlet angle geometry geometry geometry static outlet pressure pressure loss (to include mixing loss) outlet angle engine axis

The Pareto Front I Optimierung minimaler Druckverlust „guter“ Kompromiss multi objective minimale Schwankung

Zusammenfassung Definition der Repräsentation wenige Parameter -> schnelle Konvergenz hochdimensional -> Flexibilität der Repräsentation Darstellbarkeit des Optimums lokale und stark kausale Repräsentation Reale Probleme sind häufig multikriteriell Lösung: Aggregation der Kriterien ist effizient aber benötigen Vorwissen Spezielle Algorithmen existieren (z.B. DWA / NSGAII) Qualitätsfunktion Berücksichtigung aller Kriterien Welche Lösungen sind wirklich optimal? Iterativer Prozeß zwischen Optimierung und Analyse

EA –Library: http://shark-project.sourceforge.net/