Adaptive Systeme Evolutionäre Algorithmen: Überlebenskampf und Evolutionäre Strategien Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff
Überblick Einleitung Adaptive Filter Künstliche neuronale Netze Adaptive Vektorquantisierung Evolutionäre Algorithmen Genetische Algorithmen Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 2
Frühe Pioniere Evolutionsstrategie I. Rechenberg, H.-P. Schwefel Evolutionäre Programmierung L.J. Fogel Genetische Algorithmen J.H. Holland Genetische Programmierung J.R. Koza Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 3
Reelle Optimierungsprobleme Lokales Optimum Gegeben sei eine Funktion f : R N R. Der Vektor x o R N wird lokales Minimum genannt, wenn gilt: 0 : x R : x x o f x o f x Der Vektor x o R N wird lokales Maximum genannt, wenn gilt: 0 : x R : x x o f x o f x Ist x o R N ein lokales Minimum oder ein lokales Maximum, so wird x o ein lokales Optimum genannt. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 4
Reelle Optimierungsprobleme Beschränkte Optimierung Gegeben sei eine Funktion f : R N R. Optimiere f unter den M Nebenbedingungen g i x 0 mit 1 i M. Die Funktionen g i : R N R heißen Beschränkungen (constraint). An einem Punkt x R ist die Beschränkung erfüllt, wenn g i x 0, g i x =0 aktiv, wenn, g i x 0 inaktiv, wenn, g i x 0 verletzt, wenn. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 5
Evolutionäre Algorithmen Evolutionäre Algorithmen bilden in vereinfachter Form Mechanismen der biologischen Evolution und der Molekulargenetik nach, um adaptive Systeme zu realisieren oder Optimierungsprobleme zu lösen. Evolutionäre Algorithmen sind in der Regel stochastische Algorithmen. Für die Implementierung sind somit geeignete Zufallszahlengeneratoren (insbesondere für gleichverteilte und normalverteilte Zufallszahlen und Zufallsvektoren) erforderlich. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 6
N-dimensionale Normalverteilung Normalverteilte Zufallsvariablen (mittelwertfrei) Wahrscheinlichkeitsdichte einer normalverteilten Zufallsvariablen p( z)= 1 2π σ 2 exp ( z 2 ) 2σ 2 Verbundwahrscheinlichkeitsdichte eines N-dimensionalen normalverteilten Zufallsvektors: z 0 1 z z= 2 p z = 1 2 N exp 1 N 1 z 2 2 2 n n=0 z N 1 Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 7
Box-Muller-Methode Erzeugung einer normalverteilten Zufallsvariablen Aus den in dem Intervall [0,1] gleichverteilten Zufallszahlen u und v werden die beiden normalverteilten Zufallszahlen x und y mit dem Mittelwert 0 und der Varianz 2 = 1 erzeugt gemäß x= 2 log e 1 u cos 2 v und y= 2 log e 1 u sin 2 v Erzeugung einer (μ,σ 2 ) verteilten Zufallsvariablen Erzeuge x (0,1) normalverteilt, dann ist y = μ + σ x nach dieser Translation und Skalierung (μ,σ 2 ) normal/gauß-verteilt. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 8
N-dimensionale Normalverteilung Normalverteilte Zufallsvariablen (mittelwertfrei) Wahrscheinlichkeitsdichte einer zweidimensionalen normalverteilten Zufallsvariablen Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 9
Grundidee Individuen werden durch ein n-dimensionales Tupel a R n charakterisiert. Eine Population Individuen zum Zeitpunkt t. P(t)={a 0 (t),a 1 (t),,a μ 1(t)} aus μ Als Maß für die Anpassung an die Umwelt wird den Individuen eine Fitness f (a k (t)) zugewiesen. Aus den Besten werden zufällig oder nach anderen Kriterien Eltern ausgewählt die Kinder zeugen. Die Tupel der Kinder entstehen durch zufällige und/oder geeignete Variationen der Elter(n) Tupel. Individuen haben eine gewisse Lebenszeit. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 10
Evolutionäre Algorithmen Pseudocode eines Evolutionären Algorithmus t=0 ; Initialisiere Population P(t)={a 0 (t ), a 1 (t),, a r 1 (t )}; Berechne Fitness f (a k (t)) von a k (t)für 0 k r 1; while end of adaptation true do for (k=0; k r 1 ; k++) Selektiere Eltern aus der Population P(t); Bilde Nachkommen a k (t+1); Berechne Fitness f (a k (t +1))von a k (t +1); Bilde neue Population P (t +1) passend zur Fitness end t ++ ; end Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 11
Evolutionäre Algorithmen Mögliche Überlebens- und Vermehrungsstrategien: (1+1)-Evolutionsstrategie: Einer von Elter oder Kind (1+ )-Evolutionsstrategie: Einer von Elter oder λ Kindern (1, )-Evolutionsstrategie: Einer von λ Kindern ( + )-Evolutionsstrategie: μ von μ Elter und λ Kindern (, )-Evolutionsstrategie: μ von λ Kindern ( )-Evolutionsstrategie # ist '+' oder ',' ( )-Evolutionsstrategie: Eltern zeugen λ Kinder Selbstadaption der freien Parameter (welcher?) Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 12
( )-Evolutionsstrategie Bemerkungen: Bei μ=1 Strategien überlebt nur der jeweils Fitteste. In der '+' Variante kann sich dieser dominant in allen Populationen durchsetzen => Gefahr des Hängens in falschen lokalen Optima! Die (*, λ) Variante verhindert dies, birgt aber die Gefahr, das ein gefundes Optimum ausstirbt. Bei ρ=1 findet kein Austausch von Tupelmerkmalen verschiedener Eltern statt, sondern nur statistische Variation/Mutation, erst ρ > 1 erlaubt die sexuelle Rekombination von Erbinformationen. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 13
(1+1)-Evolutionsstrategie Ablauf: Initialisierung Ein N-dimensionaler Vektor x E 0 R N wird zufällig gewählt. Setze t=0. Mutation Der Elter x E t in der Generation t erzeugt einen Nachkommen x N t, der sich von dem Elter ein wenig unterscheidet. Selektion Die beiden Individuen x E t und x N t werden hinsichtlich ihrer Fitness f x E t und f x N t verglichen; das bessere wird als Elter der nächsten Generation t 1 verwendet. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 14
(1+1)-Evolutionsstrategie Eigenschaften: Die Größe der Population ist konstant. Ein Individuum besitzt prinzipiell eine unendliche lange Lebensdauer und kann unendlich viele Nachkommen erzeugen. Nur Mutationen treten auf. Die Umgebung und somit die Fitness sind konstant und ändern sich nicht mit der Zeit. Es werden keine Mechanismen der modernen synthetischen Evolutionstheorie wie Chromosomenmutationen, Rekombination, Diploidie, Dominanz und Rezessivität, Migration,... verwendet. Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 15
(1+1)-Evolutionsstrategie Algorithmus Idee Erzeugung eines Nachkommens durch Mutation x N t = x E t z t mit dem mittelwertfreien und unkorrelierten normalverteilten Zufallsvektor z t mit der Varianz 2 Selektion x E t 1 ={ x N t, f x N t f x E t x E t, sonst x E t x N t Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 16
(1+1)-Evolutionsstrategie Pseudocode der (1+1)-Strategie t=0 ; Initialisiere x E (0)=( x E,0 (0), x E,1 (0),, x E, N 1 (0)) T ; while end of adaptation true do Bilde Nachkomme x N (t)= x E (t)+ z (t)durch Addition eines normalverteilten Zufallsvektors z (t ); Selektiere x E (t +1)={ x N(t), f ( x N (t )) f ( x E (t)) x E (t ), sonst t ++ ; end ; Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 17
Evolutionäre Algorithmen Während die Grundidee eines EA simpel und einfach zu programmieren ist, erfordert die Vorhersage seiner Eigenschaften ein gehöriges Maß an Statistik und Mathematik. Am einfachsten lässt sich das Verhalten des (1+1) Algorithmus bestimmen. Die zentralen Fragen sind 1. wie groß ist der Fortschritt der Entwicklung der Populationen in Richtung Optimum und 2. mit welcher Erfolgswahrscheinlichkeit passiert dies in Abhängigkeit von freien Parametern (welchen?). Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 18
Evolutionäre Algorithmen Zwei Fitness Modelle: Kugelmodell N 1 f x = n=0 x n 2 Korridormodell x 2 x 1 x 0 f x =x 0 mit den Beschränkungen x i B für 1 i N 1 bzw. g i x = x i für 1 i N 1 x 2 x 0 x 1 Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 19
Evolutionäre Algorithmen Lokaler Fortschritt Der lokale Fortschritt ist definiert als die mittlere Strecke, die in einer Generation in Richtung des Optimums x o zurückgelegt wird. x E x o x N Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 20
Evolutionäre Algorithmen Die Erfolgswahrscheinlichkeit P Erfolg ist definiert als die relative Häufigkeit der erfolgreichen Mutationen. Anzahl erfolgreicher Mutationen P Erfolg = Gesamtzahl der Mutationen x E x o x N x N Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 21
(1+1)-Evolutionsstrategie Berechnung des Fortschritts Erzeugung eines Nachkommen x N t = x E t z t Bedingte Wahrscheinlichkeitsdichte 1 p x N x E = 2 2N exp x N x E 2 2 = 1 2 N exp 1 2 2 2 n=0 2 2 N 1 x N, n x E,n Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 22
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Betrachte Korridormodell mit N = 2 f x = f x 0, x 1 =x 0 und x 1 B x 1 x E x N x 0 x E x N Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 23
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Bedingte Wahrscheinlichkeitsdichte mit N = 2 p( x N x E )= p (x N,0, x N,1 x E,0, x E,1 ) = 1 2 π σ 2 exp ( ( x N,0 x E,0) 2 +( x N,1 x E,1 ) 2 ) 2σ 2 = 1 2 π σ exp ( ( x 2 N,0 x E,0) ) 2σ 2 1 2 π σ exp ( (x x ) 2 ) N,1 E,1 2 σ 2 Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 24
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Lokaler Fortschritt für Korridormodell mit N = 2 x E,0, x E,1 = x N,0 =x E,0 = 1 2 B x N,1 = B x N,0 =x E,0 x N,0 x E,0 p x N,0, x N,1 x E,0, x E,1 dx N,0 dx N,1 x N,0 x E,0 exp x N,0 x E,0 2 1 2 B x N,1 = B 2 2 exp x N,1 x E,1 2 2 2 dx N,0 dx N,1 Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 25
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Lokaler Fortschritt für Korridormodell mit N = 2 x E,0, x E,1 = 2 0 = 2 1 e 2 d 1 = 1 2 B x E,1 / 2 B x E,1 / 2 B x E,1 / 2 B x E,1 / 2 e 2 d e 2 d = 2 1 2 { erf B x E,1 2 erf B x E,1 2 } Fehlerfunktion erf x = 2 0 x e 2 d Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 26
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Betrachte Korridormodell mit N = 2 f x = f x 0, x 1 =x 0 und x 1 B x 1 x 0 x E,0, x E,1 Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 27
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Lokaler Fortschritt für Korridormodell mit N = 2 = 1 2B B x E,1 = B = 2 1 4B x E,0, x E,1 dx E,1 B x E,1 = B { erf B x E,1 2 erf B x E,1 2 } dx E,1 = 2 { erf 2 B 2 B 1 e2 B 2 / 2 } Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 28
(1+1)-Evolutionsstrategie Fortschritt im Korridormodell Lokaler Fortschritt für Korridormodell mit N = 2 erf x 1 1 e x für x 1 x φ= σ 2π ( 1 1 2 π σ ) für σ B B 2 Lokaler Fortschritt für Korridormodell mit beliebigem N φ= σ 2 π ( 1 1 2 π σ B ) N 1 für σ B Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 29
Übung Der lokale Fortschritt der (1+1)-Evolutionsstrategie beim Korridormodell ist gegeben durch die folgende Formel. = 2 1 1 2 B N 1 Bestimmen Sie die bei der Mutation verwendete optimale Standardabweichung opt, die zu einem maximalen lokalen Fortschritt führt. für B Wie kann bei ermittelter Erfolgswahrscheinlichkeit P(t) die Standardabweichung σ adaptiv während des Algorithmus angepasst werden? Prof. Dr. H.-G. Fehn und Prof. Dr. N. Wulff Adaptive Systeme 30