Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08."—  Präsentation transkript:

1 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08

2 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen2 Evolutionäre Algorithmen (EA) Wähle X (0) 2 R n, s 0 > > 0, k = 0 while (s k > ) { Y = X (k) + s k ¢ m (k) if f(Y) < f(X (k) ) then X (k+1) = Y ; s k+1 = a + (s k ) else X (k+1) = X (k) ; s k+1 = a – (s k ) k++ } (1+1)-EA: Mutation Selektion Schrittweitenanpassung: z.B. a + (s) = s / a – (s) = s ¢ 2 (0,1) Wie sollte die Mutationsverteilung gewählt werden? einfachstes Modell der Evolution: SchrittweiteZufallsvektor

3 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen3 Forderungen an Such- / Mutationsverteilung von m (k) 1.Keine Richtung ohne Grund bevorzugen 2.Kleine Änderungen wahrscheinlicher als große 3.Steuerbar: Größe der Umgebung, Streuung 4.Leicht erzeugbar 5.… Symmetrie um 0 Unimodal mit Modus 0 Parametrisierbar symmetrisch, multimodal symmetrisch, unimodal Evolutionäre Algorithmen

4 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen4 Evolutionäre Algorithmen Gleichverteilung symmetrisch unimodal steuerbar r leicht erzeugbar: m = r (2 u – 1) wobei u 2 [0,1) gleichverteilt (aus Bibliothek)

5 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen5 Evolutionäre Algorithmen Betaverteilung symmetrisch unimodal steuerbar r, p leicht erzeugbar (Bibliothek) r = 1

6 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen6 Evolutionäre Algorithmen Normalverteilung symmetrisch unimodal steuerbar nicht ganz so leicht erzeugbar (Bibliothek)

7 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen7 Evolutionäre Algorithmen Cauchyverteilung symmetrisch unimodal steuerbar c leicht erzeugbar (Bibliothek) Besonderheit: unendliche Varianz

8 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen8 Evolutionäre Algorithmen Höherdimensionale Suchräume: Symmetrie? Unimodalität? Steuerbarkeit? Rotationssymmetrie Definition: Sei T eine (n x n)-Matrix mit TT = I n. (I n : n-dim. Einheitsmatrix) T heißt orthogonale Matrix oder Rotationsmatrix. Beispiel:

9 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen9 Evolutionäre Algorithmen Definition: n-dimensionaler Zufallsvektor x heißt sphärisch symmetrisch oder rotationssysmmetrisch, x Tx für jede orthogonale Matrix T. x y bedeutet: x hat die gleiche Verteilung wie y Beispiel: Gleichverteilung auf Kreis (Hyperkugel der Dimension n = 2) u gleichverteilt in [0,1] = 2 u

10 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen10 Evolutionäre Algorithmen Satz: Zufallsvektor x rotationssymmetrisch, x r u (n), wobei r nichtnegative Zufallsvariable und u (n) Zufallsvektor mit Gleichverteilung auf n-dim. Hyperkugelrand mit Radius 1. Bemerkung: r und u (n) sind stochastisch unabhängig, u (n) Erzeugung von rotationssymmetrischen Zufallsvektoren: 1.Wähle zufällige Richtung u (n) 2.Wähle zufällige Schrittlänge r 3.Multiplikation: x = r u (n)

11 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen11 Evolutionäre Algorithmen Beispiel: Multivariate Normalverteilung S n (r) = { x 2 R n : || x || = r } Hyperkugelrand –Verteilung mit n Freiheitsgraden Gleichverteilung auf Hyperkugelrand

12 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen12 Evolutionäre Algorithmen Beispiel: Multivariate Cauchyverteilung F–Verteilung mit (n,1) Freiheitsgraden Gleichverteilung auf Hyperkugelrand Achtung: Zufallsvektor aus n unabh. Cauchy-Zufallsvariablen nicht rotationssymmetrisch!

13 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen13 Evolutionäre Algorithmen (1+1)-EA mit Schrittweitenanpassung (1/5-Erfolgsregel, Rechenberg 1973) Idee: Wenn viele erfolgreiche Mutationen, dann Schrittweite zu klein. Wenn wenige erfolgreiche Mutationen, dann Schrittweite zu groß. Ansatz: Protokolliere erfolgreiche Mutationen in gewissem Zeitraum Wenn Anteil größer als gewisse Schranke (z. B. 1/5), dann Schrittweite erhöhen, sonst Schrittweite verringern bei infinitesimal kleinem Radius ist Erfolgsrate = 1/2

14 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen14 Evolutionäre Algorithmen Satz: (1+1)-EA mit 1/5-artiger Schrittweitensteuerung konvergiert für streng konvexe Probleme zum globalen Minimum mit linearer Konvergenzordnung. Jägersküpper 2006 lineare Konvergenzordnung: E[ f(X k+1 ) – f* | X k ] c ¢ E[ f(X k ) – f* ] mit c 2 (0,1) deshalb im allgemeinen, multimodalen Fall: ) schnelle Konvergenz zum lokalen Optimum Anmerkung: gleiche Konvergenzordnung wie Gradientenverfahren!

15 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen15 Evolutionäre Algorithmen Konvergenzproblematik bei der Schrittweitenanpassung Annahme: X 0 = 0 Frage: Wird lokales Optimum sicher verlassen (Übergang zu [z-,z+ ]) ? solange kein Erfolg: k = 0 ¢ k mit 2 (0,1) erhöhe Schrittweite bei Erfolg, sonst verkleinern

16 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen16 Evolutionäre Algorithmen Sei q k Wahrscheinlichkeit, im Schritt k das lokale Optimum zu verlassen. Kriterium für sicheres Verlassen: Kriterium für unsicheres Verlassen: Vereinfachung des log-Terms

17 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen17 Evolutionäre Algorithmen Lemma: Sei x 2 (0,1). Dann gilt: Beweis: Reihenentwicklung also: q.e.d.

18 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen18 Evolutionäre Algorithmen Hinreichendes Kriterium für unsicheres Verlassen: Lemmaweil q k monoton fallend p k = P{ 0 (z-, z+ )} = P{ z- < Z < z+ } = F Z (z+ )-F Z (z- ) = = 2 f Z (z- + ¢ 2 ) mit 2 (0,1) Mittelwertsatz der Differentialrechnung! Annahme: Dichte f Z ( ¢ ) von Z ist unimodal dann: 2 f Z (z+ ) < p k < 2 f Z (z- )und deshalb: q k = 2 f Z (z- )

19 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen19 Evolutionäre Algorithmen Z sei normalverteilt Sei konvergiert nach Wurzelkriterium! falls ) kein sicheres Entkommen von lokalen Optima!

20 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen20 Evolutionäre Algorithmen Schrittweitensteuerung nach Rechenberg: Individuum (x, ) (k) = (k - k) /, falls (k - k) ¢, sonst # Verbesserungen # Mutationen > 1/5 während k Mutationen 2 (0,1) ½ R Problem: keine Konvergenz mit Wkeit 1 aber: schnelle Konvergenz zum lokalen Optimum + Wkeit > 0 dieses zu verlassen! ) kein globales Verfahren, aber gutes nicht-lokales Verhalten! Beobachtung: Anpassung sprunghaft ) Anpassung kontinuisieren!

21 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen21 Evolutionäre Algorithmen Schrittweitensteuerung nach Schwefel: Individuum (x, ) : auch Strategieparameter wie werden mutiert Mutation: 1. k+1 = k ¢ exp( N(0, ) ) 2. X k+1 = X k + k+1 ¢ N(0, I ) Wichtig: die bereits mutierte Schrittweite wird verwendet! Schrittweite wird multiplikativ verändert (logarithmisch normalverteilt), neue Schrittweite wird verwendet bei additiver Veränderung der Position = 1 / n 1/2

22 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen22 Evolutionäre Algorithmen Bisher: rotationssymmetrische Mutationen Isolinie { x : f(x) = a } falls f(x) = || x || 2 (Höhenlinie) Isolinie gleicher Wkeitsdichte geringer Fortschritt wg. starker Krümmung f(x) = ½ xAx + bx + c guter Fortschritt Idee: Mutationsverteilung wie Höhenlinien ausrichten

23 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen23 Evolutionäre Algorithmen f(x) = ½ xAx + bx + c Wie erzeugt man solche Mutationsverteilungen? Z » N(0, 2 I n ) ) rotationssymmetrisch ( I n = Einheitsmatrix mit Rang n) Z » N(0, D 2 ) ) ellipsoid, achsenparallel ( D = diag( 1,..., n ), Diagonalmatrix) Z » N(0, C ) ) ellipsoid, frei beweglich ( C = Kovarianzmatrix) C = C (symmetrisch) und 8 x: x C x > 0 (positiv definit)

24 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen24 Evolutionäre Algorithmen Wie muss Kovarianzmatrix C gewählt werden? Ansatz: Taylor-Reihenentwicklung f(x + h) = f(x) + h r f(x) + ½ h r 2 f(x) h + R(x, h) Restterme (ignorierbar, da h klein) quadratisch linear r 2 f(x) = H(x) Hessematrix enthält Informationen über Skalierung und Orientierung der Höhenlinien Es wird sich zeigen: Wähle C = H -1 !

25 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen25 Evolutionäre Algorithmen Approximation: f(x) ¼ ½ xAx + bx + c ) Hessematrix H = A Koordinatentransformation: x = Q yQ: (n x n) - Matrix ) f(Qy) = ½ (Qy) A (Qy) + b (Qy) + c = ½ yQAQy + bQy + c = ½ yQBBQy + bQy + cmit Cholesky-Zerlegung A = BB = ½ y(QB)(BQ)y + bQy + csei jetzt Q = B -1 = ½ yy + b B -1 y + c rotationssymmetrische Höhenlinien! also: wir benötigen Dreiecksmatrix Q bzw. B -1

26 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen26 Evolutionäre Algorithmen B -1 ) durch Koordinatentransformation mit B -1 wird Problem kugelsymmetrisch! ) also kugelsymmetrische Mutation transformieren!

27 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen27 Evolutionäre Algorithmen Satz: Sei y » N(0, I n ) und QQ eine positiv definite Matrix mit Rang n. Dann x = Qy » N(0, QQ). ) mit Q = B -1 können wir Mutationsverteilungen wie gewünscht ausrichten! aber: woher bekommen wir Matrix Q? ) Selbstanpassung der Matrixelemente wie bei Schrittweite nach Schwefel da H = A = BB, ist H -1 = (BB) -1 = B -1 (B -1 ) = def C = QQ Q entsteht durch Cholesky-Zerlegung von C, ist also Dreiecksmatrix Skalierungsfaktoren je Zeile herausziehen: in Diagonalmatrix S ablegen Q zerlegbar in Q = S ¢ T mit t ii = 1 (S hat n Parameter, T hat n(n-1)/2 Parameter)

28 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen28 Evolutionäre Algorithmen Satz: Jede sym., pos. definite Matrix A ist zerlegbar via A = TDT und umgekehrt, wobei T orthogonale Matrix (T = T -1 ) und D Diagonalmatrix mit d ii > 0. ) also wählen wir S = D 1/2, so dass A = (TS)(TS) Satz: Jede orthogonale Matrix T kann durch das Produkt von n(n-1)/2 elementaren Rotationsmatrizen R ij ( k ) dargestellt werden: R ij ( ) = wie Einheitsmatrix, jedoch mit r ii = r jj = cos, r ij = -r ji = -sin

29 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen29 Evolutionäre Algorithmen Geometrische Interpretation durch Qy = TSy wird rotationssymmetrischer Zufallsvektor y 1.zunächst achsenparallel skaliert via Sy 2.und dann durch n(n-1)/2 elementare Rotationen in gewünschte Orientierung gebracht via T(Sy) Mutation der Winkel : (t+1) = ( (t) + W + ) mod (2 ) - 2 (-, ] wobei W » N(0, 2 ) mit = 5° / 180° Individuum jetzt: (x,, ) mit n Schrittweiten (Skalierungen) + n(n-1)/2 Winkel Praxis zeigt: Idee gut, aber Realisierung nicht gut genug (funktioniert nur für kleines n)

30 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen30 Evolutionäre Algorithmen Wie könnte man sonst noch an Matrixelemente von Q kommen? Bei (, ) – Selektion werden Paare (x, f(x)) berechnet. + Beobachtung: Modellannahme: f(x) ¼ ½ xAx + bx + c ) Falls > n(n+1)/2 + n + 1, dann überbestimmtes lineares Gleichungssystem: f(x 1 ) = ½ x 1 Ax 1 + bx 1 + c f(x ) = ½ x Ax + bx + c... v = (A, b, c) hat n(n-1)/2 + n + 1 zu schätzende Parameter, wobei A = BB ) multiple lineare Regression für f = Xv Xf = XXv (XX) -1 Xf = v ) aus Schätzer v = (A, b, c) bekommen wir Hessematrix H = A ) Cholesky-Dekomposition von H und Matrixinversion liefert Q Praxis zeigt: funktioniert sehr gut, aber zu hoher Aufwand: (XX) -1 kostet O (n 6 ) (Rudolph 1992)

31 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen31 Evolutionäre Algorithmen Idee: Matrix C nicht in jeder Generation schätzen, sondern iterativ nähern! (Hansen, Ostermeier et al. 1996ff.) Covariance Matrix Adaptation Evolutionary Algorithm (CMA-EA) dyadisches Produkt: dd = Setze initiale Kovarianzmatrix auf C (0) = I n C (t+1) = (1- ) C (t) + w i d i d i : Lernrate 2 (0,1) d i = (x i: – m) / Sortierung: f(x 1: ) f(x 2: )... f(x : ) m = Mittelpunkt aller selektierten Eltern ist positiv semidefinite Streuungsmatrix Aufwand: O ( n 2 + n 3 )

32 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen32 Evolutionäre Algorithmen m = Mittelpunkt aller selektierten Eltern Variante: p (t+1) = (1 - ) p (t) + ( (2 - ) eff ) 1/2 (m (t) – m (t-1) ) / (t) Evolutionspfad 2 (0,1) p (0) = 0 C (0) = I n C (t+1) = (1 - ) C (t) + p (t) (p (t) ) Aufwand: O (n 2 ) Cholesky-Zerlegung: O (n 3 ) für C (t)

33 Rudolph: PO (WS 2007/08) Evolutionäre Algorithmen33 Evolutionäre Algorithmen State-of-the-art: CMA-EA erfolgreiche Anwendungen in der Praxis insbesondere wenn Zielfunktionsauswertung zeitaufwändig (z.B. Zielfunktionsauswertung durch Simulationsprogramm) Implementierungen im WWW verfügbar


Herunterladen ppt "Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08."

Ähnliche Präsentationen


Google-Anzeigen