2. Evolution als Optimierungsprinzip Biologen betrachten Evolution als Mechanismus, der in der Natur Lösungen für spezielle Probleme erzeugt Prinzipien der biologischen Evolution werden zur Lösung von Optimierungsproblemen verwendet Computer stehen für Berechnungen und Simulationen zur Verfügung Evolutionäre Algorithmen nutzen die Rechenleistung der Computer zur Simulation der Evolutionsmechanismen für gegebene Optimierungsprobleme 1
Optimierungsprobleme Treten in allen Bereichen des täglichen Lebens auf: Industrie, Wirtschaft, Forschung,... Scheduling: Stundenplan, Zuweisung Flugpersonal Entwurfsoptimierung: Verbesserung von Turbinen, Autodesign, VLSI-CAD Definition: (Optimierungsproblem) Ω Geg.: Suchraum Bewertungsfunktion Vergleichsrelation f : Ω R <, > { } Die Menge der globalen Optima ist definiert als χ = { x Ω y Ω : f ( x) f ( y) } 2
Beispiel: Handlungsreisendenproblem n Städte/Knoten { v 1,,vn} Paarweise durch Straßen/Kanten verbunden Fahrzeiten γ( vi, vj) = γ( vj, vi) R+ Gesucht: Reihenfolge der Städte für kostenminimale Rundreise n Zielfunktion f ( i1,, in) = γ ( vin, vi1) + Σ γ ( vij 1, vij) j= 2 Kante Fahrzeit Kante Fahrzeit Kante Fahrzeit 5 10 17 8 4 8 11 9 6 3 12 5 7 6 11 3
Vergleich von großen Zahlen Große Zahlen sind manchmal nur schwer vorstellbar: ein großes Fußballstadion fasst 100.000 Menschen es gibt ca. 5.000.000.000 Menschen auf der Erde es gibt ca. 1.000.000.000.000.000.000.000 Liter Wasser auf der Erde und... ein 10-Städte TSP hat 181.000 mögliche Lösungen ein 20-Städte TSP hat mehr als 10.000.000.000.000.000 mögliche Lösungen ein 50-Städte TSP hat mehr als 100.000.000.000.000.000.000.000.000.000.000.000.000.000. 000.000.000.000.000.000.000 mögliche Lösungen 4
Beispiel: Handlungsreisendenproblem n Städte/Knoten { v 1,,vn} Paarweise durch Straßen/Kanten verbunden Fahrzeiten γ( vi, vj) = γ( vj, vi) R+ Gesucht: Reihenfolge der Städte für kostenminimale Rundreise n Zielfunktion f ( i1,, in) = γ ( vin, vi1) + Σ γ ( vij 1, vij) j= 2 10 Kante Fahrzeit Kante Fahrzeit Kante Fahrzeit 5 6 5 8 10 4 17 8 7 = 45 11 6 11 3 7 9 12 6 6 5 11 5
Beispiel: Handlungsreisendenproblem n Städte/Knoten { v 1,,vn} Paarweise durch Straßen/Kanten verbunden Fahrzeiten γ( vi, vj) = γ( vj, vi) R+ Gesucht: Reihenfolge der Städte für kostenminimale Rundreise n Zielfunktion f ( i1,, in) = γ ( vin, vi1) + Σ γ ( vij 1, vij) j= 2 Kante Fahrzeit Kante Fahrzeit Kante Fahrzeit 5 4 6 5 8 10 4 17 8 3 = 37 8 11 11 3 7 9 12 6 6 5 11 6
Klassische Lösung eines Optimierungsproblems Problem Theoretische Analyse Problemanalyse Entwurf eines Algorithmus Implementierung Experimente 7
Klassische Optimierungsverfahren Extremwertberechnungen über Ableitungen Bewertungsfunktion ist eine 2-mal stetig-differenzierbare Funktion Suchmethoden Systematisches Durchsuchen des (endlichen) Lösungsraumes (z.b. branch&bound) kombinatorische Explosion Gradientenmethode (steilster Anstieg) Bewertungsfunktion muss differenzierbar sein Konvergiert gegen den dem Startpunkt nächst gelegenen lokalen Extremwert Simplexmethode Heuristik Bewertungsfunktion (+ Nebenbedingungen) muss linear sein Suchraum bildet dann n-dim. Simplex (n=2: Vieleck) ein Eckpunkt ist Extremwert 8
Probleme, die auftreten können: Ableitungen der Zielfunktion nicht möglich/bekannt Güte einer Lösung wird auf Basis von Daten bewertet, die nicht genau gemessen werden können (Messfehler) Wert der Zielfunktion ändert sich mit der Zeit Stabilität der Lösung (d.h. Veränderungen bei kleinen Änderungen der Parameter) ist oft genauso wichtig wie Optimalität Güte der Lösungsstrategie hängt von der Güte anderer Strategien ab (Bewertung von Spielstrategie) Lösung muss nach mehreren Kriterien bewertet werden später mehr Exakte mathematische Formulierung und erst recht exakte Lösungsbestimmung sind oftmals nicht möglich! 9
Simulationsbasierte und randomisierte Ansätze Selektionsverfahren, darunter Mutation-Selektions-Verfahren Threshold Accepting Sintflut-Methode Simulated Annealing Evolutionäre Algorithmen Genetische Algorithmen Evolutionsstrategien Genetische Programmierung Hybride Verfahren Memetische Algorithmen... 10
Simulationsbasierte und randomisierte Ansätze Selektionsverfahren, darunter Mutation-Selektions-Verfahren Threshold Accepting Sintflut-Methode Simulated Annealing Evolutionäre Algorithmen Genetische Algorithmen Evolutionsstrategien Genetische Programmierung Hybride Verfahren Memetische Algorithmen... 11
Klassische Lösung eines Optimierungsproblems Problem Theoretische Analyse Problemanalyse Entwurf eines Algorithmus Implementierung Experimente 12
Anwendung randomisierter Suchverfahren Entwurf eines randomisierten Suchverfahrens A Implementierung Experimentelle Anwendung von A auf P Problem P Theoretische Analyse des Verhaltens von A auf P 13
Mutations-Selektions- Verfahren Wähle zufällige Startlösung x Ω Verändere x durch Zufallszahlen x ' = Mut( x) Falls f ( x') f ( x), dann setze x : = x' Das Vorgehen wird mehrfach wiederholt 2 Für x R bedeutet das Lokaler Extremwert Nachteil: Entfernen aus lokalen Extremwerten ist nicht möglich! f(x,y) 5 4 3 2 1 0 1 2 3 4 5 x 14
Simulated Annealing Verschlechterung der Zielfunktion ist mit einer gewissen - allerdings sehr kleinen - Wahrscheinlichkeit möglich: Ursprung in der Festkörperphysik: Abkühlen von flüssigen Materieverbindungen, so dass sie in Festkörper (z.b. Kristalle) übergehen Kirkpatrick (1982) übertrug Methode des langsamen Abkühlens auf allgemeine Optimierungsprobleme Algorithmus: Wähle zufällige Startlösung x Ω Verändere x durch Zufallszahlen x ': = Mut ( x) Berechne r : = f ( x') f ( x), Wähle mit Wahrscheinlichkeit p(r) x als Startlösung x Das Vorgehen wird mehrfach wiederholt 15
Eigenschaften von Simulated Annealing Wahrscheinlichkeit p(r) muss klein sein für negative r und groß sein für positive r : 1 p( r) =, > 0 1+ exp( r / T ) T Start mit großem T (=Temperatur) alle Startlösungen sind (fast) gleichwahrscheinlich Verkleinern von T bessere Lösungen werden beim Austausch wahrscheinlicher Schnelles Abkühlen bzw. Verkleinern von System pendelt sich schneller auf (lokalen) Extremwert ein Langsam Verringern von T Höhere Wahrscheinlichkeit, den globalen Extremwert zu finden 16
Verlauf der Wahrscheinlichkeiten p(r) für verschiedene T 1 1/(1+exp(-x/0.1)) T=1 0.8 0.6 0.4 1 1/(1+exp(-x/10)) 0.2 T=0.1 0.8 0-4 -2 0 2 4 0.6 0.4 0.2 T=10 0-4 -2 0 2 4 17
Algorithmus: Simulated Annealing x Ω 1. Wähle eine Startlösung 2. Verändere die Lösung x ': = Mut 3. Berechne r : = f ( x') f ( x) 4. Berechne die Wahrscheinlichkeit ( x) 1 p( r) =, > 0 1+ exp( r / T ) T 5. Wähle eine Zufallszahl mit 0 z 1. Ist dann wähle x andernfalls x als (neue) Startlösung 6. Verkleinere die Temperatur T 7. Falls Abbruchskriterium nicht erfüllt, fahre fort bei 2. Variable Parameter: z z p(r) Größe der Veränderung/Mutation der Lösung Abkühlung von T 18
Threshold Accepting Verschlechterung der Zielfunktion ist innerhalb einer Toleranzschwelle möglich: x Ω 1. Wähle eine Startlösung 2. Verändere die Lösung x ': = Mut( x) 3. Berechne r : = f ( x) T 4. Ist f ( x') r dann wähle x andernfalls x als (neue) Startlösung 5. Verkleinere die Toleranzschwelle T 6. Falls Abbruchskriterium nicht erfüllt, fahre fort bei 2. Erklimmt schneller (lokale) Extrema als Simulated Annealing Kann in lokalem Extremum hängen bleiben 19
Sintflut-Methode Verschlechterung der Zielfunktion ist möglich, allerdings muss diese mindestens gleich einem gegebenen Akzeptanzwert T sein: x Ω 1. Wähle eine Startlösung sowie eine Zahl T 2. Verändere die Lösung x ': = Mut( x) 3. Berechne f (x') 4. Ist f ( x') > T dann wähle x andernfalls x als (neue) Startlösung 5. Vergrößere den Akzeptanzwert T um das Inkrement ε 6. Falls Abbruchskriterium nicht erfüllt, fahre fort bei 2. Fast so gut wie Threshold Accepting, dafür schneller Kann in lokalem Extremum hängen bleiben 20
Simulationsbasierte und randomisierte Ansätze Selektionsverfahren, darunter Mutation-Selektions-Verfahren Threshold Accepting Sintflut-Methode Simulated Annealing Evolutionäre Algorithmen Genetische Algorithmen Evolutionsstrategien Genetische Programmierung Hybride Verfahren Memetische Algorithmen... 21
Der simulierte evolutionäre Zyklus Evolutionäre Algorithmen Optimierungsverfahren analog zur Evolution Motivation durch Beobachtungen in der Natur Lösungen sind Individuen einer Population Erzeugen neuer Individuen Selektion der besser angepassten Lösungen in nächste Generation Anpassung wird durch Bewertung der Individuen gemessen Ideales Verhalten Individuen verbessern sich von Generation zu Generation mit hoher Wahrscheinlichkeit Zufallseffekte und mehrere unterschiedliche Individuen sorgen dafür, dass lokale Extremwerte verlassen werden Survival of the fittest 22
Ablauf eines EAs Initialisierung der Individuen Bewertung der Individuen solange Terminierungsbedingung nicht erfüllt Erzeuge neue Individuen Bewertung der neuen Individuen Selektion 23
Schematische Darstellung des Zyklus fertig Initialisierung JA Umweltselektion Terminierungsbedingung Bewertung NEIN Elternselektion Rekombination Bewertung Mutation 24
Freiheitsgrade Repräsentation Wie wird das Optimierungsproblem kodiert? Initialisierung Wie groß wählt man die Population, und wie generiert man die Startlösungen? Zufällige Startlösungen Operatoren Wie werden Individuen erzeugt, und mit welcher Häufigkeit werden die Operatoren angewandt? Selektion Wie werden die Elemente ausgewählt, die im weiteren Verlauf noch betrachtet werden? Terminierung Wann bzw. unter welchen Bedingungen soll der Algorithmus enden? 25
Ein einfacher EA Entwicklung eines einfachen EAs am Beispiel des Handlungsreisenden - Travelling Salesman P. (TSP) 10 Kante Fahrzeit Kante Fahrzeit Kante Fahrzeit 5 6 5 8 10 4 17 8 7 = 45 11 6 11 3 7 9 12 6 6 5 11 26
Ein einfacher EA Entwicklung eines einfachen EAs am Beispiel des Handlungsreisenden - Travelling Salesman P. (TSP) Kodierung: Sn : Menge aller Permutationen Jedes Individuum ist ein A = ( A1,, An) Sn Operatoren: Mutation, die gültige Permutation erzeugt Vertauschen zweier Städte A = ( A1,, Ak,, Al,, An) A' = ( A1,, Al,, Ak,, An Invertierende Mutation Minvert Spiegeln (Invertieren) einer Teilroute Mtausch ) A = ( A,, Ak, Ak + 1, Ak + 2,, An) A' = ( A1,, Ak + 2, Ak + 1, A,, A 1 k n ) Rekombination zweier Routen Übung 27
Anwendung der Mutationen auf den Weg = 37 Mtausch Minvert = 42 = 50 28
29 EA für das TSP } ); ( } ; 1) ( ) : ( 1; : ); ( ); ( _ } ); ( { 01 0,3) ( );, ( (); _ : (); _ : { ( (); 0; : t P C t P t P t t t P in Individuum schlechtestes lösche C Zielfunktion Auswertung C Mutation C ), [ u u B A rekombiniere C: Individuum selektiere B Individuum selektiere A t Population zufällige initialisiere t Individuum aus bestes in ist Zufallszahl // stop) P(t): { der Städte) EATSP(Anzahl return then if do while = + = = = = = = =
Typisches Verhalten des Algorithmus In den ersten Generationen schnelle Verbesserung der Zielfunktion In den nächsten Generationen nur noch wenige bessere Individuen Für größere Problemeinstanzen wird das (globale) Optimum idr nicht gefunden Bemerkungen: Der Algorithmus ist eine Basisversion, die in zahlreichen Punkten verbessert und auf das Problem zugeschnitten werden kann. Für das TSP gibt deutlich bessere probabilistische/evolutionäre Verfahren, die speziell angepasst wurden. 30
Formale Einführung von EAs Darstellung der Lösungskandidaten durch Genotyp aus dem Raum G Suchraum Ω des Problems ist phänotypischer Suchraum (Phänotyp) (G und Ω können gleich sein) dec : G Ω Dekodierfunktion: (Abbildung Genotyp Phänotyp) Bewertungsfunktion f arbeitet auf dem Phänotyp, die induzierte Funktion F (inkl. Dekodierung) auf dem Genotyp Phänotyp Raum des konkreten Problems Ω Bewertungsfunktion f + R Genotyp G G1 G Dekodierung m F Induzierte Bewertungsfunktion 31
Formale Darstellung des Individuums Sei A ein Individuum, dann ist A.G der Genotyp A.S Zusatzinformation Strategieparameter A.F Fitnesswert/Güte Phänotyp dec F f Fitness Bewertung Genotyp A.G A.S A.F Individuum Selektion Evolutionäre Operatoren 32
Notationen Komponenten des Genotyps werden mit A.G i oder auch A i bezeichnet Falls keine Zusatzinformation enthalten ist, d.h. A.S enthält keine weitere Information, schreiben wir auch A G Speicherung des Fitnesswertes in A.F dient der einfachen Notation und ist auch bei einer Implementierung sinnvoll 33
Weitere Notationen: Größe der Elternpopulation: (oder: p, P ) Anzahl der erzeugten Kinder: λ (oder: q, K ) k Eltern werden zur Erzeugung von k Kindern benötigt Zur Erzeugung von Kindern werden insges. ( r / s) λ Eltern ausgewählt (wähle r und s so, dass µ und λ ganzzahlig sind Umweltselektion wählt für die nächste Generation Individuen aus λ µ + λ den Kindern oder aus µ den Individuen und Kindern aus. λ 34
Formale Definition der Operatoren Da die Operatoren probabilistisch sind, werden sie im Rechner durch pseudo-zufallszahlen gesteuert. Der erzeugte Wert ist damit abhängig vom aktuellen Wert des Zufallsgenerators Reproduzierbarkeit der Ergebnisse ξ Definition: (Mutations-, Rekombinationsoperator) Für ein durch den Genotyp G kodiertes Optimierungsproblem und die Zusatzinformation Z wird ein Mutationsoperator durch die Abbildung ξ M : G Z G Z definiert. Analog wird ein Rekombinationsoperator mit r 2 Eltern und s 1 ξ r s Kindern definiert durch die Abbildung R : ( G Z) ( G Z). 35
Selektionsoperator Definition: (Selektionsoperator) Ein Selektionsoperator wird auf eine Population, d.h. ein Tupel von (1) ( p) ( i) Individuen P = A,, A mit A G angewandt. Dabei werden q<p Individuen ausgewählt und es handelt sich um eine Abbildung ξ, dec, f p q S : ( G Z) ( G Z). Unter der Annahme, dass die Individuen der Population nummeriert sind, d.h. einen Index besitzen, kann die Selektion vereinfacht als Indexoperator beschrieben werden: S : ( ) ( i) ( i) A. F, A. S ξ = {, } mit ind i 1 i p 1 i q { 1,, p} und ind ind für i j. Die ausgewählten Individuen werden anschließend neu nummeriert. i ind i j ind 1,ind q 36
37 Allgemeiner EA ); ( } ); ''' ( ) : ( 1; : ''';. '); ' _( _ ': '' '); ( '': )); ( ( _ ) / _( ': { ) ( ); (. ); ( ) : ( 0; : ; ) ( ) ( t P P Individuen selektiere t P t t P F A P Individuen mutiere P P Nachkommen erzeuge P t P Eltern s r selektiere P stop t t P F A Population zufällige initialisiere t P t F i i Individuum aus bestes für alle Individuen aus berechne für alle Individuen aus berechne Kinderzahl, Populationsgröße, Zielfunktion return do while Eingaben : µ λ λ µ λ µ = + = = = = = =
Ablauf eines EAs Generation i 38
Ablauf eines EAs Generation i Selektion 39
Ablauf eines EAs Generation i Selektion Rekombination 40
Ablauf eines EAs Generation i Selektion Rekombination Bewertung 41
Ablauf eines EAs Generation i Selektion Rekombination Generation i+1 Bewertung Nachfolgende Generation 42
Ablauf eines EAs Generation i Selektion Rekombination Bewertung Nachfolgende Generation Terminierungskriterium 43
Vergleich mit der natürlichen Evolution Biologische Konzepte der Mutation, Rekombination und Selektion werden übernommen Aber: Komplexe natürliche Abläufe werden durch einfache probabilistische Funktionen ersetzt Komplexe Kodierungen werden durch einfache Datenstrukturen ersetzt Selbstorganisierende Spezialisierung der Zellen mehrzelliger Organismen bleibt unberücksichtigt Evolution von Evolutionsmechanismen wird nicht (oder kaum) berücksichtigt Weitere Konzepte wie Koevolution und Genfluss bleiben in den meisten Verfahren unberücksichtigt 44
Ein kurzer Historischer Abriss 1950 Friedman 1956 Friedberg 1958 Box 1956 Bremermann 1962 Rechenberg 1964 Evolutionsstrategien Fogel 1965 Evolutionäres Programmieren Holland 1969 Genetische Algorithmen Koza 1992 Genetisches Programmieren PPSN EP ICGA GP heute Evolutionary Computing Journal of Evolutionary Computing (1993), IEEE Trans. (1997) Handbook of EC (1997), GECCO, CEC 45