Fundamente der Computational Intelligence

Slides:



Advertisements
Ähnliche Präsentationen
Eine dynamische Menge, die diese Operationen unterstützt,
Advertisements

Informatik II – Kapitel 11
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
Genetische Algorithmen
Genetische Algorithmen
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Union-Find-Strukturen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Fundamente der Computational Intelligence
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Fundamente der Computational Intelligence
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Praktische Optimierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Praktische Optimierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Praktische Optimierung
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

Fundamente der Computational Intelligence Wintersemester 2005/06 Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering

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

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 Genpool n Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

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 = (p1, p2, …, pn) Grundidee der Evolutionsschleife: Generiere  Nachkommen durch Genpool-Rekombination gemäß p Selektiere  beste Nachkommen als neue Eltern Aktualisiere p gemäß Genpools der neuen Eltern Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

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

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

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Analyse (Höhfeld & Rudolph 1997) Aktualisierung: wobei Wir suchen Grenzwert der stochastischen Folge ! Ziel: 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

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

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

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

Kapitel 3: Evolutionäre Algorithmen: PBIL & Co. Vektorfeld der Abbildung F2(p) augenscheinlich: F2(p) < p Interpretation: 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) ] x* für k →  i.M. Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

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. 3f) ■ → 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

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) = 3x1 + 2x2 – 4x1x2 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

Kapitel 3: Evolutionäre Algorithmen: Differentialevolution Price (1996) + Storn (1996) (  +  )-EA mit speziellem Variationsoperator initialisiere  Individuen P = (X1, X2, …, X) repeat Q = ( ) // leere Liste foreach Individuum x  P: 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

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 = xi endfor return y p: Rekombinationsrate   (0,1) Problem: Der kleinste Hyperquader, der die initiale Population beinhaltet, kann nicht verlassen werden! Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

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

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming Klasse tree Methoden: createTree() delete(node) getSubtree(node) insertTreeAt(node, tree) contains(node) size() … and v1 v2 not Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

Kapitel 3: Evolutionäre Algorithmen: Genetic Programming * * crossover - + + * v1 v2 v1 v2 6.2 v3 v1 * + v1 v2 v3 * v1 - + v2 6.2 Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

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