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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Prof. Dr. W. Conen 15. November 2004
Kapitel 6: Klassifizierung von Sortiertechniken
Genetische Algorithmen
Genetische Algorithmen
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 5 Stetigkeit.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Minimum Spanning Tree: MST
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
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.
Effiziente Algorithmen
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
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
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.
Evolutionäre Algorithmen AS1-7
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Mehrkriterielle Optimierung mit Metaheuristiken
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence
Mehrkriterielle Optimierung mit Metaheuristiken
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
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.
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.
Praktische Optimierung
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
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 Fakultät.
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.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Evolutionäre Algorithmen AS1-7
Algorithmen für das Erfüllbarkeitsproblem SAT
Nichtlineare Optimierung
Algorithmen und Datenstrukturen
Praktische Optimierung
 Präsentation transkript:

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

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen2 Kapitel 3: Evolutionäre Algorithmen Inhalt Grundlagen Optimierung Nachbarschaftssuche (1+1)-EA - Erwartete Laufzeit Counting Ones Leading Ones - Konvergenz Populationsbasierte EA

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen3 Kapitel 3: Evolutionäre Algorithmen Konvergenzaussagen Satz: Sei D k = | f(x k ) – f* | für k 0 durch einen (1+1)-EA generiert, S* = { x* S : f(x*) = f* } die Menge der optimalen Lösungen und P m (x, S*) die Wkeit, von x S durch eine Mutation nach S* zu gelangen. Wenn für jedes x S \ S* gilt P m (x, S*) > 0, dann D k 0 vollständig. Beweis: Für den (1+1)-EA gilt: P(x, S*) = 1 für x S* wg. Selektion des Besseren. Es reicht also zu zeigen, dass der EA durch Mutation S* sicher erreicht: Erfolg in 1. Iteration: P m (x, S*). Kein Erfolg in 1. Iteration 1 -. Kein Erfolg in k. Iteration (1- ) k. Erfolg in k. Iteration 1 - (1- ) k 1 für k. Wg. P{ D k > } (1- ) k 0 folgt Konvergenz in Wkeit und da folgt sogar vollständige Konvergenz.

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen4 Kapitel 3: Evolutionäre Algorithmen Die Bedingung: 8 x S \ S* gilt P m (x, S*) > 0 ist hinreichend, aber nicht notwendig und etwa für die globale Mutation mit Mutationswkeit p (0,1) erfüllt, da P m (x, y) = p H(x,y) (1-p) n-H(x,y) > 0 für alle x, y in S, wobei n = Dimension und H(x,y) der Hamming-Abstand zwischen x und y. Achtung: Die gleiche Konvergenzaussage erhält man für reine Zufallssuche: Wähle X0 S, setze k = 0. repeat Wähle Yk zufällig gleichverteilt aus S. Falls f(Yk) < f(Xk) dann Xk+1 = Yk sonst Xk+1 = Xk until Terminierung

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen5 Kapitel 3: Evolutionäre Algorithmen Folgerung: Solche Aussage sind von geringer Bedeutung, weil astronomisch klein! Beispiel: alle Bits müssen invertiert werden p n = n -n = Übergang zum Optimum erfolgt mit Wkeit (geometrische Verteilung) mittlere Zeit bis zum Eintreffen des Ereignisses 1/ = n n Sei n = 20 und wir haben einen Tera-Hertz-Rechner (10 12 Iterationen/Sekunde). Dann warten wir im Mittel / Sekunden = 2 20 x 10 8 Sekunden auf Lösung, also über 3,325 Millionen Jahre! Das ist mathematisch gesehen zwar endlich, praktisch jedoch unendlich!

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen6 Kapitel 3: Evolutionäre Algorithmen Aber: Negative Aussage (keine Konvergenz bzw. kein sicheres Besuchen des Optimums) ist schon von Bedeutung! Also: Stochastische Konvergenzaussagen (auch für Simulated Annealing etc.) sind mit Vorsicht zu genießen! Beispiel: Sicheres Auffinden des Optimums in Zeit T mit Wkeit > 0. Multistart! Wkeit des Mißerfolgs sinkt expoentiell schnell! Allerdings spielt Größe von eine Rolle!

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen7 Kapitel 3: Evolutionäre Algorithmen Functions of Unication (Goldberg/Deb 1993): Es existiert g: {0,1, … n} R mit f(x) = g( ||x|| ), wobei ||. || Hamming-Norm. Beispiel: Counting Ones f(x) = || x || = 1 = 0.5 klein NIAH (needle-in-a-haystick)

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen8 Kapitel 3: Evolutionäre Algorithmen Populationen: ( + )-EA Wähle Individuen S repeat do times: wähle zufällig ein Elter aus und mutiere Individuum end ( Nachkommen) wähle beste aus + Individuen aus until Terminierung = = 1 ist (1+1)-EA Selektion Reproduktion durch Mutation

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen9 Kapitel 3: Evolutionäre Algorithmen Bei Populationen ist Variation nicht auf Mutation begrenzt: Sexuelle Reproduktion! Rekombination / Crossover Warum manchmal sinnvoll? Annahme: Separierbares Problem d.h. Lösung des Gesamtproblems durch Lösung kleiner Teilprobleme Rekombination von Teillösungen x1x1 x2x2 xnxn x1x1 x2x2 xnxn gut schlechtElter 1: Elter 2: x1x1 x2x2 xnxn Nachkomme

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen10 Kapitel 3: Evolutionäre Algorithmen 1-Punkt-Crossover: Wähle 1 Position k { 1, 2, …, n-1 } zufällig aus. Nachkomme besteht aus ersten k Komponenten des 1. Elter und n-k letzten Komponenten des 2. Elter. Multi-Point-Crossover: Wähle mehrere Positionen zufällig ohne Zurücklegen aus. Positionen sortieren. Dann immer abwechselnd Komponenten übernehmen bis zur jeweiligen Position vom 1. oder 2. Elter. Uniform Crossover: Für jede Komponente Elter zufällig auswählen. Normalerweise gleichverteilt. Es gibt: Verallgemeinerungen für mehr als 2 Eltern. Zudem: Das funktioniert bei allen Produkträumen! Auch R n, Z n, …

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen11 Kapitel 3: Evolutionäre Algorithmen Selektion: seien v 1, v 2, …, v Fitnesswerte der Population Proportionale Selektion (Holland 1975) Annahme: v i > 0 Wkeit, das i-te Individuum zu selektieren: Bei Selektionen: Individuum i wird im Mittel s i mal gezogen Wenn v i -1 j v j (above average fitness), dann wird Individuum i im Mittel mindestens 1 mal gezogen Allerdings: keine Garantie, dass das beste Individuum überlebt

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen12 Kapitel 3: Evolutionäre Algorithmen Selektion: seien v 1, v 2, …, v Fitnesswerte der Population Stochastic Universal Sampling (Baker 1987) Annahme: v i > 0 Man will erzwingen, dass etwa si Individuen gezogen werden: ziehe U (0,1) gleichverteilt, setze a = 0 for i = 1 to do while c i > a + U do selektiere Individuum i a++ endwhile endfor Sei c i die Summe der Selektionswkeiten bis Index i: c i = s 1 + s 2 + … + s i Das beste Individuum überlebt sicher!

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen13 Kapitel 3: Evolutionäre Algorithmen Selektion: seien v 1, v 2, …, v Fitnesswerte der Population Tunierselektion (Goldberg & Deb 1991) Man zieht q mal gleichverteilt mit Wkeit 1 / Das beste der q Individuen wird selektiert. Annahme: v i aufsteigend sortiert (Rang 1 ist der beste) Q i = { i, i+1, …, } q mit |Q i | = ( – i + 1 ) q enthält Ind. mit Rang i, Q i enthält auch Tupel ohne Index i, diese müssen wir abziehen: Q i \ Q i+1 mit | Q i \ Q i+1 | = | Q i | - | Q i+1 | = ( – i + 1) q – ( – i ) q also: s i = [ ( – i + 1) q – ( – i ) q ] / q und s i < 1

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen14 Kapitel 3: Evolutionäre Algorithmen Selektion: seien v 1, v 2, …, v Fitnesswerte der Population beste (Schwefel 1975) - ( + )-Selektion wähle beste Individuen aus Eltern und Nachkommen der beste Elter überlebt mit Wkeit 1 - (, )-Selektion wähle beste Individuen nur von den Nachkommen der beste Elter kann nicht überleben begrenzte Lebensdauer manchmal auch truncation selection genannt

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen15 Kapitel 3: Evolutionäre Algorithmen Selektion: seien v 1, v 2, …, v Fitnesswerte der Population EP-Tunierselektion (Fogel) selektieren aus Eltern und Nachkommen Für jedes Individuum i: ziehe q Individuen gleichverteilt jedesmal wenn i nicht schlechter, dann erhält es Bonuspunkt Selektiere Individuen mit meisten Bonuspunkten Man kann Fälle konstruieren, dass der beste Elter nicht überlebt!

Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen16 Kapitel 3: Evolutionäre Algorithmen Restriktionen / Nebenbedingungen: Lethalmutationen Straffunktionen Reparatur