Wintersemester 200506 Fundamente der Computational Intelligence Vorlesung Prof

  • Slides: 19
Download presentation
Wintersemester 2005/06 Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Wintersemester 2005/06 Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

Kapitel 3: Evolutionäre Algorithmen Inhalt • PBIL & Co. • Differentialevolution • Genetic Programming

Kapitel 3: Evolutionäre Algorithmen Inhalt • PBIL & Co. • Differentialevolution • Genetic Programming Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 2

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. PBIL: Population-Based Incremental Learning ● Baluha &

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. PBIL: Population-Based Incremental Learning ● Baluha & Caruana (1995), Conference on Machine Learning ● Suchraum Bn, Minimierung pseudo-boolescher Funktionen ● Population X mit Individuen Individuum 1 Individuum 2 … Individuum Genpool 1 Genpool 2 Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen … Genpool n 3

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Genpool-Rekombination: Ziehe Gen j für Nachkomme Y

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Genpool-Rekombination: Ziehe Gen j für Nachkomme Y gleichverteilt von Komponente j aller Individuen Setze Gen j für Nachkomme Y auf 1 mit W‘keit , sonst auf 0 Population charakterisiert durch Verteilungen p = (p 1, p 2, …, pn) Grundidee der Evolutionsschleife: 1. Generiere Nachkommen durch Genpool-Rekombination gemäß p 2. Selektiere beste Nachkommen als neue Eltern 3. Aktualisiere p gemäß Genpools der neuen Eltern Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 4

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Seien die sortierten Nachkommen mit (0, 1)

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Seien die sortierten Nachkommen mit (0, 1) Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 5

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Achtung! Aktualisierungsregel problematisch! ( =1) kann zu

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Achtung! Aktualisierungsregel problematisch! ( =1) kann zu jedem p Bn führen (durch unglückliches Ziehen) Analyse: • Kvasnicka et al. (1995): 1 -dimensional, deterministisch • Rudolph & Höhfeld (1997): Spezialfall = 1 • Gonzalez et al. (2001): 2 -dimensional, leider falsch! • ? ? ? Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 6

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Analyse (Höhfeld & Rudolph 1997) Aktualisierung: wobei

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Analyse (Höhfeld & Rudolph 1997) Aktualisierung: wobei Ziel: Wir suchen Grenzwert der stochastischen Folge ! Vorüberlegung: p ist beschränkt, also Konvergenz in W‘keit = Konvergenz im Mittel also: Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen ? 7

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. ? ? Rudolph: FCI (WS 2005/06) ●

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. ? ? Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 8

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Rudolph: FCI (WS 2005/06) ● Kap. 3:

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 9

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Beispiel: n = 2, f(x) = i

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Beispiel: n = 2, f(x) = i xi → min! Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen (counting ones) 10

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Vektorfeld der Abbildung F 2(p) augenscheinlich: F

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Vektorfeld der Abbildung F 2(p) augenscheinlich: F 2(p) < p Interpretation: p 2 Unabhängig vom Startwert p(0) und unabhängig von aktueller Position p(k) hat E[p(k+1) ] eine Tendenz in Richtung Optimum. bzw. E[p(k) ] i. M. x* für k → p 1 Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 11

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Satz: Sei f(x) = c‘ x eine

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Satz: Sei f(x) = c‘ x eine lineare pseudo-boolesche Funktion, die zu minimieren ist. Für ci < 0 gilt E[ bi | p ] > pi, für ci > 0 gilt E[ bi | p ] < pi, wobei b das selektierte beste Individuum ist. Daraus folgt: PBIL konvergiert im Mittel zum Optimum linearer Funktionen. Beweis: (Rudolph & Höhfeld 1997, S. 3 f) ■ → Lineare Funktionen sind einfach! (1+1)-EA braucht i. M. O(n log n) Schritte. → Ähnliches Resultat für nichtlineare Funktionen? Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 12

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. → Wenn Beweise nicht gelingen wollen, dann

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. → Wenn Beweise nicht gelingen wollen, dann Gegenbeispiel finden! f(00) < f(11) < f(01) < f(10) z. B. f(x) = 3 x 1 + 2 x 2 – 4 x 1 x 2 Interpretation: Abhängig vom Startwert p(0) Tendenz zum lokalen oder globalen Optimum! Kein globales Verfahren! Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 13

Kapitel 3: Evolutionäre Algorithmen: Differentialevolution • Price (1996) + Storn (1996) • ( +

Kapitel 3: Evolutionäre Algorithmen: Differentialevolution • Price (1996) + Storn (1996) • ( + )-EA mit speziellem Variationsoperator initialisiere Individuen P = (X 1, X 2, …, X ) repeat Q = ( ) foreach Individuum x P: // leere Liste wähle 3 Individuen x aus P ohne Zurücklegen // ergibt (a, b, c) y = Variation(x, a, b, c) if f(y) < f(x) then Q. add(y) else Q. add(x) endfor P = Q until Terminierung Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 14

Kapitel 3: Evolutionäre Algorithmen: Differentialevolution Variation(x, a, b, c) = wähle gleichverteilt ein j

Kapitel 3: Evolutionäre Algorithmen: Differentialevolution Variation(x, a, b, c) = wähle gleichverteilt ein j aus {1, 2, …, n} for i = 1 to n if i = j or mit W‘keit p: yi = ai + (bi – ci) else yi = x i p: Rekombinationsrate (0, 1) endfor return y Problem: Der kleinste Hyperquader, der die initiale Population beinhaltet, kann nicht verlassen werden! Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 15

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming • entstanden im GA-Umfeld • wird meist Koza

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming • entstanden im GA-Umfeld • wird meist Koza (1989) zugeschrieben • Evolution von Programmen • Suchraum S: Syntaxbäume • später auch andere Repräsentationen: z. B. Assembler, binary GP, … • neue Variationsoperatoren nötig! Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 16

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming Klasse tree and Methoden: create. Tree() delete(node) get.

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming Klasse tree and Methoden: create. Tree() delete(node) get. Subtree(node) insert. Tree. At(node, tree) contains(node) size() … Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen not v 1 and v 2 v 1 17

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming * * crossover - + v 1 *

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming * * crossover - + v 1 * + v 2 v 1 v 2 6. 2 * + v 1 * * v 3 v 2 - + v 1 Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen v 2 6. 2 v 1 18

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming Mutation: • Ersetzen eines Teilbaums durch zufälligen Baum

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming Mutation: • Ersetzen eines Teilbaums durch zufälligen Baum • Nur Konstanten werden verändert (keine Operationen) • Wird eher selten eingesetzt → meistens riesige Populationen nur mit Crossover Typische Anwendung Symbolische Regression (Evolvieren einer Formel) Theorie sehr junges Feld (> 2000), Poli et al. Schema-Theorie genannt, ist aber i. W. Markoff-Theorie Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 19