Evolutionäre Algorithmen
|
|
- Timo Amsel
- vor 7 Jahren
- Abrufe
Transkript
1 Evolutionäre Algorithmen Einführung Prof. Dr. Rudolf Kruse Christian Moewes Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
2 Übersicht 1. Organisatorisches Zur Vorlesung Zur Übung Zur Prüfung Zum Programmierwettbewerb Inhalt der Vorlesung Literatur 2. Einleitung 3. Biologische Grundlagen 4. Grundlagen evolutionärer Algorithmen Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung 4. April 2010
3 Zu meiner Person: Rudolf Kruse 1979 Dipl. Mathematik (Nebenfach Informatik) von TU Braunschweig dort 1980 promoviert, 1984 habilitiert 2 Jahre hauptamtlicher Mitarbeiter bei Fraunhofer 1986 Ruf als Professor für Informatik der TU Braunschweig seit 1996 Professor an der Universität Magdeburg Forschung: Data Mining, Explorative Datenanalyse, Fuzzy-Systeme, Neuronale Netze, EA, Bayes sche Netze mailto:kruse@iws.cs.uni-magdeburg.de Büro: G29-008, Telefon: Sprechstunde: Mi., 11:00 12:00 Uhr Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
4 Zur Arbeitsgruppe: Computational Intelligence Lehre: Intelligente Systeme Evolutionäre Algorithmen Neuronale Netze Fuzzy-Systeme Bayes sche Netze Intelligente Datenanalyse Bachelor (2 V + 2 Ü, 5 CP) Bachelor (2 V + 2 Ü, 5 CP) Bachelor (2 V + 2 Ü, 5 CP) Master (2 V + 2 Ü, 6 CP) Master (2 V + 2 Ü, 6 CP) Master (2 V + 2 Ü, 6 CP) (Pro-)Seminare: Information Mining, Computational Intelligence Forschungsbeispiele: Entdeckung & Visualisierung interessanter Muster (M. Steinbrecher) Data Mining in der Landwirtschaft (G. Ruß) Temporales Data Mining in Medizin & SE (C. Moewes) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
5 Zur Vorlesung Vorlesungstermine: Mo., 13:15 14:45 Uhr, G Vorlesungsausfälle: (Ostern), (Pfingsten) Vorlesungsende: Informationen zur Vorlesung: wöchentliche Vorlesungsfolien als PDF Übungsblätter ebenfalls wichtige Ankündigungen und Termine! Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
6 Inhalte und Lernziele der Vorlesung Einführung in biologische Grundlagen der Evolution und Genetik Ausgestaltung genetischer Operatoren (z.b. Selektion, Kreuzung, Rekombination, Mutation) Überblick verschiedener Arten evolutionärer Algorithmen und genetischer Programmierung Erläuterung von Vor- und Nachteilen dieser Algorithmen anhand von Beispielen Behandlung verwandter Verfahren (z.b. simuliertes Ausglühen) Anwendungsbeispiele Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
7 Zur Übung Zielsetzung: Anwendung von adäquaten Modellierungstechniken zum Entwurf von evolutionären Algorithmen Anwendung der Methoden der numerischen Optimierung zur Problemlösung Bewertung und Anwendung evolutionärer Programmierung zur Analyse komplexer Systeme Befähigung zur Entwicklung von evolutionären Algorithmen Ihre Aufgabe: Nacharbeiten des Vorlesungsstoffs Bearbeitung der Übungsaufgaben aktive Teilnahme an den Übungen alternativ: Teilnahme am Programmierwettbewerb Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
8 Durchführung der Übungen Sie werden aktiv und erklären Ihre Lösungen! Tutor macht auf Fehler aufmerksam und beantwortet Fragen das Vorrechnen der Aufgaben ist nicht Sinn der Übung ganz bewusst: keine ausgearbeiteten Musterlösungen Tutor: Christian Moewes Raum G29-019, Sprechstunde: immer, wenn Bürotür offen steht Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
9 Übung: 2 Termine zur Auswahl Mi., 11:15 12:45 Uhr in Raum G29-E037 Mi., 13:15 14:45 Uhr in Raum G22A-218 Anmeldung: erste Übung am entfällt! stattdessen: Experiment zur Programmiererfahrung (Janet Feigenspan) feigensp/peea/ zu den jeweiligen Zeiten am in Raum G bei nachgewiesener Teilnahme: ein zusätzlicher Votierungspunkt fakultativ: um zahlreiche Teilnahme wird gebeten regulärer Übungsbeginn: mit Übungsblatt 1 Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
10 Zur Prüfung schriftliche Klausur: 120 Minuten voraussichtlich Mitte Juli Termine, Räume etc. werden in Vorlesung u. WWW angekündigt Durchführung ohne Hilfsmittel nur Schreibmaterial (Stifte/Füller, die blau oder schwarz schreiben) Bekanntgabe der Ergebnisse: HISQIS Einsichtnahme in die Klausur ist möglich (Termin im WWW) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
11 Schein- und Prüfungskriterien: 1. Möglichkeit Studenten, die den Kurs mit Prüfung oder benotetem Schein beenden wollen, müssen regelmäßig und gut in Übungen mitarbeiten, mind. 2/3 der Aufgaben votieren, mind. 2x Lösung zu schriftlicher Aufgabe präsentieren, Klausur nach dem Kurs bestehen Bestehen der Klausur: Erhalt eines unbenoteten Scheines möglich Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
12 Schein- und Prüfungskriterien: 2. Möglichkeit Studenten, die den Kurs mit Prüfung oder benotetem Schein beenden wollen, können alternativ am Programmierwettbewerb erfolgreich teilnehmen und Klausur nach dem Kurs bestehen Übungsteilnahme ist hier somit fakultativ Programmierwettbewerb gilt auch als Prüfungszulassung Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
13 Zum Programmierwettbewerb Dankeschön an Andrea Unger und Thomas Steube Quelle: Idee: EAD-Vorlesung 2003 Ziel: Entwicklung Mühle-KI hier: Optimierung von Spielstrategien mittels EA Anmeldebeginn: ab 11:00 Uhr Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
14 Inhalt der Vorlesung 1. Einführung 2. Metaheuristiken und verwandte Optimierungsverfahren I/II 3. Kodierung, Fitness, Selektion 4. Variation und genetische Operatoren 5. Metaheuristiken und verwandte Optimierungsverfahren II/II 6. Das Schematheorem 7. Genetische Programmierung 8. Evolutionsstrategien und Verhaltenssimulation 9. No Free Lunch, Parallelisierung, Zufallszahlen 10. Mehrkriterienoptimierung 11. Anwendungsbeispiele Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
15 Buch zur Vorlesung Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
16 Literatur zur Lehrveranstaltung I Bäck, T. and Schwefel, H. (1993). An overview of evolutionary algorithms for parameter optimization. Evolutionary Computation, 1(1):1 23. Banzhaf, W., Nordin, P., Keller, R. E., and Francone, F. D. (1998). Genetic Programming An Introduction: On the Automatic Evolution of Computer Programs and Its Applications. Morgan Kaufmann Publisher, Inc. and dpunkt-verlag, San Francisco, CA, USA and Heidelberg, Germany. Darwin, C. (1859). On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. John Murray, London, United Kingdom. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
17 Literatur zur Lehrveranstaltung II Dawkins, R. (1986). The Blind Watchmaker. Norton, New York, NY, USA. Dawkins, R. (1989). The Selfish Gene. Oxford University Press, United Kingdom, 2nd edition. Dawkins, R. (1990). Der blinde Uhrmacher: ein neues Plädoyer für den Darwinismus. Deutscher Taschenbuch-Verlag, Munich, Germany. Dawkins, R. (1998). Das egoistische Gen. Rowohlt, Reinbek bei Hamburg, Germany. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
18 Literatur zur Lehrveranstaltung III Dorigo, M. and Stützle, T. (2004). Ant Colony Optimization. MIT Press, Cambridge, MA, USA. Gerdes, I., Klawonn, F., and Kruse, R. (2004). Evolutionäre Algorithmen. Vieweg, Wiesbaden, Germany. Michalewicz, Z. (1996). Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, New York, NY, USA, 3rd (extended) edition. Nissen, V. (1997). Einführung in evolutionäre Algorithmen: Optimierung nach dem Vorbild der Evolution. Vieweg, Braunschweig/Wiesbaden, Germany. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
19 Literatur zur Lehrveranstaltung IV Vollmer, G. (1995). Der wissenschaftstheoretische status der evolutionstheorie. einwände und gegenargumente. In Vollmer, G., editor, Biophilosophie, page Reclam, Stuttgart, Germany. Weicker, K. (2007). Evolutionäre Algorithmen. Teubner Verlag, Stuttgart, Germany, 2nd edition. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
20 Übersicht 1. Organisatorisches 2. Einleitung Optimierungsprobleme Lösungsansätze 3. Biologische Grundlagen 4. Grundlagen evolutionärer Algorithmen 5. Einführendes Beispiel: Das n-damen-problem Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung 4. April 2010
21 Einordnung: Computational Intelligence Computational Intelligence = Neuronale Netze (im Sommer) + Fuzzy-Systeme (im Winter) + Evolutionäre Algorithmen Computational Intelligence ist charakterisiert durch: meist modellfreie Ansätze Approximation statt exakte Lösung schnelles Finden einer brauchbaren Lösung Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
22 Lösen von Optimierungsproblemen Definition (Optimierungsproblem) Ein Optimierungsproblem (Ω, f, ) ist gegeben durch einen Suchraum Ω, eine Bewertungsfunktion f : Ω IR, die jedem Lösungskandidaten einen Gütewert zuweist, sowie einer Vergleichsrelation {<, >}. Dann ist die Menge der globalen Optima H Ω definiert als H = { x Ω x Ω : f(x) f(x ) }. gegeben: ein Optimierungsproblem (Ω, f, ) gesucht: ein Element x Ω, das die Funktion f (global) optimiert Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
23 Prinzipielle Lösungsansätze analytische Lösung: sehr effizient, aber nur seltenen anwendbar vollständige Durchforstung: sehr ineffizient, daher nur bei sehr kleinen Suchräumen anwendbar blinde Zufallssuche: immer anwendbar, aber meist sehr ineffizient gesteuerte Suche: Voraussetzung: Funktionswerte ähnlicher Elemente aus Suchraum Ω sind sich ähnlich Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
24 Anwendungsgebiete Beispiele für Optimierungsprobleme I Parameteroptimierung z.b. Krümmung von Rohren für minimalen Widerstand allgemein: Finden eines Parametersatzes, sodaß gegebene reellwertige Funktion ein (möglichst globales) Optimum annimmt Packprobleme z.b. Füllen eines Rucksacks mit maximalem Wert oder Packen möglichst weniger Kisten mit gegebenen Gütern Wegeprobleme z.b. Problem des Handlungsreisenden (z.b. Bohren von Platinen) Reihenfolge anzufahrender Ziele, Fahrtroutenoptimierung, Verlegen von Leiterbahnen auf Platinen/integrierten Schaltkreisen Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
25 Anwendungsgebiete Beispiele für Optimierungsprobleme II Anordnungsprobleme z.b. Steinerproblem (engl. facility allocation problem): Positionierung von Verteilerknoten z.b. in einem Telefonnetz Planungsprobleme z.b. Ablaufpläne (Scheduling), Arbeitspläne, Operationenfolgen (auch Optimierung in Compilern Umordnung der Befehle) Strategieprobleme z.b. Gefangenendilemma und andere Modelle der Spieltheorie Verhaltensmodellierung von Akteuren im Wirtschaftsleben biologische Modellbildung z.b. Netspinner (beschreibende Regeln zum Spinnennetz-Bau) EA optimiert Parameter, Vergleich mit Realität gutes Modell Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
26 Übersicht 1. Organisatorisches 2. Einleitung 3. Biologische Grundlagen 4. Grundlagen evolutionärer Algorithmen 5. Einführendes Beispiel: Das n-damen-problem Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung 4. April 2010
27 Motivation EAs basieren auf biolog. Evolutionstheorie [Darwin, 1859]. empfehlenswert: [Dawkins, 1986, Dawkins, 1989] (Englisch), [Dawkins, 1990, Dawkins, 1998] (Deutsch) grundsätzliches Prinzip: Durch zufällige Variation entstehende, vorteilhafte Eigenschaften werden durch natürliche Auslese ausgewählt. Individuen mit vorteilhaften Eigenschaften haben bessere Fortpflanzungs- und Vermehrungschancen differentielle Reproduktion Evolutionstheorie erklärt Vielfalt und Komplexität der Lebewesen erlaubt Vereinigung aller Disziplinen der Biologie Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
28 Prinzipien der organismischen Evolution I nach [Vollmer, 1995] Diversität alle Lebewensen (sogar in derselben Art) sind verschieden jedes Erbgut ist anders Vielfalt des Lebens jetzt existierende Lebewesen = winziger Bruchteil aller möglichen Variation neue Varianten durch Mutation und genetische Rekombination (sexuelle Fortpflanzung) Vererbung Variationen sind erblich, wenn sie in Keimbahn gelangen werden also genetisch an nächste Generation weitergegeben i.a. keine Vererbung erworbener Eigenschaften (Lamarckismus) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
29 Prinzipien der organismischen Evolution II Artbildung genetische Divergenz von Individuen und Populationen neue Arten (Indiv. nicht fruchtbar miteinander kreuzbar) charakt. Verzweigungen des phylogenet. (stammesgesch.) Baumes Überproduktion, fast alle Lebewesen: nicht alle Nachkommen können Reproduktionsreife erreichen Anpassung / natürliche Auslese / differentielle Reproduktion im Durchschnitt: erbliche Variationen der Überlebenden einer Pop. erhöht Anpassung an lokale Umgebung Herbert Spencers Slogan survival of the fittest ist irreführend besser unterschiedl. Tauglichkeit unterschiedl. Vermehrung Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
30 Prinzipien der organismischen Evolution III Zufälligkeit / blinde Variation Variationen werden zufällig ausgelöst/bewirkt/verursacht keine Ausrichtung auf best. Merkmale/günstige Anpassungen nicht teleologisch, von griech.: τ ελoς Ziel, Zweck Gradualismus Variationen erfolgen in vergleichsweise kleinen Stufen (gemessen am gesamten Informationsgehalt/Komplexität des Organismus) phylogenetische Veränderungen = graduell und langsam (Gegensatz: Saltationismus große Entwicklungssprünge) Evolution / Transmutation / Vererbung mit Modifikation Anpassung an Umgebung Arten entwickeln sich allmählich Evolutionstheorie im Gegensatz zum Kreationismus (Behauptung der Unveränderlichkeit der Arten) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
31 Prinzipien der organismischen Evolution IV diskrete genetische Einheiten Speichern/Übertragen/Ändern des Erbguts in diskreten Einheiten keine kontinuierliche Verschmelzung von Erbmerkmalen ansonsten: durch Rekombination zum Jenkins nightmare (völliges Verschwinden jeglicher Verschiedenheit in Population) Opportunismus evolutive Prozesse arbeiten nur mit dem, was vorhanden ist nicht mit dem, was es einmal gab oder geben könnte bessere/optimale Lösungen werden nicht gefunden, wenn benötigte evolutiven Zwischenstadien schlechter wären evolutionsstrategische Prinzipien nicht nur Organismen werden optimiert, sondern auch Mechanismen der Evolution: Vermehrungs- und Sterberaten, Lebensdauern, Anfälligkeit gegenüber Mutationen, Mutationsschrittweiten, Evolutionsgeschwindigkeit, etc. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
32 Prinzipien der organismischen Evolution V ökologische Nischen konkurrierende Arten können einander tolerieren, wenn sie versch. Ökonischen ( Lebensräume ) besetzen/schaffen trotz Konkurrenz und natürlicher Auslese: Artenvielfalt möglich Irreversibilität Lauf der Evolution ist irreversibel und unwiederholbar Nichtvorhersagbarkeit Lauf der Evolution: nicht determiniert, nicht programmiert, nicht zielgerichtet nicht vorhersagbar wachsende Komplexität biologische Evolution führt i.a. zu immer komplexeren Systemen Problem: Wie misst man Komplexität von Lebewesen? Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
33 Übersicht 1. Organisatorisches 2. Einleitung 3. Biologische Grundlagen 4. Grundlagen evolutionärer Algorithmen Grundbegriffe Elemente Formale Definitionen 5. Einführendes Beispiel: Das n-damen-problem Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung 4. April 2010
34 Grundbegriffe und ihre Bedeutung I Begriff Biologie Informatik Individuum Lebewesen Lösungskandidat Chromosom DNS-Histon-Protein-Strang Zeichenkette legt Bauplan bzw. (Teil der Eigenschaften) eines Individuums in kodierter Form fest meist mehrere Chromsomen meist nur ein Chromosom je Individuum je Individuum Gen Teilstück eines Chromosoms ein Zeichen grundlegende Einheit der Vererbung, die eine (Teil-)Eigenschaft eines Individuums festlegt Allel Ausprägung eines Gens Wert eines Zeichens (Allelomorph) je Chromosom gibt es nur eine Ausprägung eines Gens Locus Ort eines Gens Position eines Zeichens in einem Chromosom gibt es an jedem Ort genau ein Gen Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
35 Grundbegriffe und ihre Bedeutung II Begriff Biologie Informatik Phänotyp äußeres Erscheinungsbild Umsetzung/Implementierung eines Lebewesens eines Lösungskandidaten Genotyp genetische Konstitution Kodierung eines Lebewesens eines Lösungskandidaten Population Menge von Lebewesen Familie/Multimenge von Chromosomen Generation Population zu einem Zeitpunkt Reproduktion Erzeugen von Nachkommen Erzeugen von (Kind-)Chroaus einem oder mehreren mosomen aus 1 oder meh- (meist zwei) Lebewesen reren (Eltern-)Chromosomen Fitness Tauglichkeit/Angepaßtheit Güte/Tauglichkeit eines Lebewesens eines Lösungskandidaten bestimmt Überlebens- und Fortpflanzungschancen Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
36 Elemente eines evolutionären Algorithmus I Kodierungsvorschrift für Lösungskandidaten problemspezifische Kodierung der Lösungskandidaten keine allgemeinen Regeln später: einige Aspekte, zur Beachtung bei Wahl einer Kodierung Methode, die Anfangspopulation erzeugt meistens Erzeugen zufälliger Zeichenketten auch komplexere Verfahren je nach gewählter Kodierung Bewertungsfunktion (Fitnessfunktion) für die Individuen stellt Umgebung dar und gibt Güte der Individuen an meist identisch mit zu optimierender Funktion enthält auch zusätzliche Elemente (z.b. Nebenbedingungen) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
37 Elemente eines evolutionären Algorithmus II Auswahlmethode basierend auf Fitnessfunktion bestimmt Individuen für Erzeugung von Nachkommen wählt Individuen unverändert in nächste Generation genetischen Operatoren, die Lösungskandidaten ändern Mutation zufällige Veränderung einzelner Gene Crossover Rekombination von Chromosomen richtig: crossing over (Meiose-Vorgang, Zellteilungsphase) Chromsomen werden zerteilt und dann überkreuzt zusammengefügt Parameterwerte (Populationsgröße, Mutationsw keit, etc.) Abbruchkriterium, z.b. festgelegte Anzahl von Generationen berechnet festgelegte Anzahl von Generationen keine Verbesserung vorgegebene Mindestlösungsgüte erreicht Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
38 Formale Definitionen: Dekodierungsfunktion nach [Weicker, 2007] für jedes Optimierungsproblem: unterschiedliche Darstellung der Lösungskandidaten EAs trennen Suchraum Ω (sog. Phänotyp) von Darstellung des Lösungskandidaten in Individuum (sog. Genotyp G) Bewertungsfunktion f ist definiert auf Ω Mutation und Rekombination sind auf G definiert Bewertung eines im Genotyp vorliegenden Individuums durch Abbildung in Ω Definition (Dekodierungsfunktion) Eine Dekodierungsfunktion dec : G Ω ist eine Abbildung vom Genotyp G auf den Phänotyp Ω. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
39 Formale Definitionen: Individuum Individuum besteht i.a. aus drei Dingen: 1. Genotyp A.G G eines Individuums A 2. Zusatzinformationen oder Strategieparameter A.S Z z.b. Parametereinstellungen für Operatoren Raum Z aller möglichen Zusatzinformationen A.S sind ebenso wie A.G durch Operatoren modifizierbar 3. Güte oder Fitness A.F IR Definition (Individuum) Ein Individuum A ist ein Tupel (A.G, A.S, A.F) bestehend aus dem eigentlichen Lösungskandidaten (dem Genotyp A.G G), den optionalen Zusatzinformationen A.S Z und dem Gütewert A.F = f(dec(a.g)) IR. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
40 Formale Definitionen: Operatoren Ξ ( Xi ): Menge aller Zustände des Zufallszahlengenerators keine Beschreibung der Veränderung des aktuellen Zustands ξ Ξ Definition (Operatoren) Für ein durch G kodiertes Optimierungsproblem und Z wird ein Mutationsoperator definiert durch die Abbildung Mut ξ : G Z G Z. Analog wird ein Rekombinationsoperator mit r 2 Eltern und s 1 Kindern (r, s IN) definiert durch die Abbildung Rek ξ : (G Z) r (G Z) s. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
41 Formale Definitionen: Selektionsoperator Eingabe: Population mit r Individuen, wobei s gewählt werden Selektion verändert/erfindet keine neuen Individuen Selektion bestimmt Indizes der Individuen nur durch Gütewerte Definition (Selektionsoperator) Ein Selektionsoperator Sel wird auf eine Population P = A (1),..., A (r) angewandt: Sel ξ : (G Z IR) r (G Z IR) r A (i) 1 i r A (ISξ (c 1,...,c r) k ) 1 k s mit A (i) = (a i, b i, c i ). Die dabei zugrunde gelegete Indexselektion hat die Form IS ξ : IR r {1,..., r} s. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
42 Beispiel zum Selektionsoperator Elternpopulation bestehe aus Individuen A (1), A (2),..., A (5) jeweiligen Gütewerte der Individuen seien 1. A (1).F = A (2).F = A (3).F = A (4).F = A (5).F = 2.4 Selektion wählt mit IS ξ : IR 5 {1,..., 5} 3 Indizes 4, 3 und 1 bzw. Individuen A (4), A (3) und A (1) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
43 Generischer Grundalgorithmus Definition Ein einfacher evolutionärer Algorithmus zu einem Optimierungsproblem (Ω, f, ) ist ein 8-Tupel (G, dec, Mut, Rek, IS Eltern, IS Umwelt, µ, λ). Dabei bezeichnen µ die Anzahl an Individuen in der Elternpopulation und λ die Anzahl der erzeugten Kinder pro Generation. Ferner gelten Rek : (G Z) k (G Z) k, IS Eltern : IR µ (1,..., µ) k k λ mit k k λ IN, IS Umwelt : IR µ+λ (1,..., µ+λ) µ. Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
44 Generischer Grundalgorithmus Algorithm 1 EA-Schema Input: Optimierungsproblem (Ω, f, ) t 0 pop(t) erzeuge Population der Größe µ bewerte pop(t) while Terminierungsbedingung nicht erfüllt { pop 1 selektiere Eltern für λ Nachkommen aus pop(t) pop 2 erzeuge Nachkommen durch Rekombination aus pop 1 pop 3 mutiere die Individuen in pop 2 bewerte pop 3 t t + 1 pop(t) selektiere µ Individuen aus pop 3 pop(t 1) } return bestes Individuum aus pop(t) Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
45 Genetischer vs. Evolutionärer Algorithmus Begriffliche Trennung genetischer Algorithmus: Kodierung: Zeichenkette aus Nullen und Einsen Chromosomen ist Bitstring (Wort über Alphabet {0, 1}) evolutionärer Algorithmus: Kodierung: problemspezifisch (Zeichenkette aus Buchstaben, Graphen, Formeln, etc.) genetische Operatoren: anhand Kodierung und Problems definiert Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
46 Übersicht 1. Organisatorisches 2. Einleitung 3. Biologische Grundlagen 4. Grundlagen evolutionärer Algorithmen 5. Einführendes Beispiel: Das n-damen-problem Lösung durch Backtracking Direkte Berechnung Lösung mit EA Programme Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung 4. April 2010
47 Das n-damen-problem platziere n Damen auf n n Schachbrett, sodass in keiner Reihe, keiner Linie und keiner Diagonale > 1 Dame oder: Platziere Damen, sodass keine Dame einer anderen im Weg Zugmöglichkeiten einer Dame Lösung des 8-Damen-Problems Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
48 Lösung durch Backtracking 1. platziere Damen zeilenweise von unten nach oben (oder spaltenweise von links nach rechts, o.ä.) 2. betrachte jede Zeile wie folgt: setze in 1 Zeile 1 Dame der Reihe nach von links nach rechts auf Felder der Zeile für jede Damenplatzierung: prüfe, ob Kollision mit Damen in tieferliegenden Zeilen falls nicht, bearbeite rekursiv nächste Zeile anschließend: rücke Dame 1 Feld weiter nach rechts 3. gebe Lösung aus, falls Dame in oberster Zeile ohne Kollision platziert Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
49 Lösung durch Backtracking int search (int y) { /* --- depth first search */ int x, i, d; /* loop variables, buffer */ int sol = 0; /* solution counter */ if (y >= size) { /* if a solution has been found, */ show(); return 1; } /* show it and abort the function */ for (x = 0; x < size; x++) { /* traverse fields of the current row */ for (i = y; --i >= 0; ) { /* traverse the preceding rows */ d = abs(qpos[i] -x); /* and check for collisions */ if ((d == 0) (d == y-i)) break; } /* if there is a colliding queen, */ if (i >= 0) continue; /* skip the current field */ qpos[y] = x; /* otherwise place the queen */ sol += search(y+1); /* and search recursively */ } return sol; /* return the number of */ } /* search() */ /* solutions found */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
50 Direkte Berechnung falls nur eine Lösung (eine Platzierung der Damen) erforderlich, dann Berechnung der Positionen für alle n > 3 wie folgt: n mod 2 = 1 setze 1 Dame auf (n 1, n 1) und n n 1 n mod 6 2 setze Damen in Zeilen y = 0,..., n 2 1 in Spalten x = 2y + 1, in den Zeilen y = n 2,..., n 1 in Spalten x = 2y n n mod 6 = 2 setze Damen in Zeilen y = 0,..., n 2 1 in Spalten x = (2y + n 2 ) mod n, in Zeilen y = n 2,..., n 1 in Spalten x = (2y n 2 + 2) mod n daher: EA nicht zweckmäßig zur Lösung dieses Problems aber: gute Verdeutlichung einiger EA-Aspekte an diesem Problem Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
51 EA: Kodierung Darstellung: 1 Lösungskandidat = 1 Chromosom mit n Genen jedes Gen: 1 Zeile des Brettes mit n mögliche Allelen Wert des Gens: Position der Dame in zugehöriger Zeile Lösungskandidat (n = 5) Phänotyp Chromosom Genotyp Lösungskandidaten mit > 1 Dame je Zeile ausgeschlossen kleinerer Suchraum Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
52 EA: Datentypen Datentyp für 1 Chromosom, der auch Fitness speichert Datentyp für 1 Population mit Puffer für Zwischenpopulation und Merker für bestes Individuum typedef struct { /* --- an individual --- */ int fitness; /* fitness (number of collisions) */ int cnt; /* number of genes (number of rows) */ int genes[1]; /* genes (queen positions in rows) */ } IND; /* (individual) */ typedef struct { /* --- a population --- */ int size; /* number of individuals */ IND **inds; /* vector of individuals */ IND **buf; /* buffer for individuals */ IND *best; /* best individual */ } POP; /* (population) */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
53 EA: Hauptschleife zeigt Grundform eines EA: pop_init(pop); /* initialize the population */ while ((pop_eval(pop) < 0) /* while no solution found and */ && (--gencnt >= 0)) { /* not all generations computed */ pop_select(pop, tmsize, elitist); pop_cross (pop, frac); /* select individuals, */ pop_mutate(pop, prob); /* do crossover, and */ } /* mutate individuals */ Parameter: gencnt maximale Anzahl (noch) zu berechnender Generationen tmsize Größe des Turniers für die Individuenauswahl elitist zeigt an, ob bestes Individuum immer übernommen wird frac Anteil der Individuen, die Crossover unterworfen werden prob Mutationswahrscheinlichkeit Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
54 EA: Initialisierung erzeuge zufällige Folgen von n Zahlen aus {0, 1,..., n 1} void ind_init (IND *ind) { /* --- initialize an individual */ int i; /* loop variable */ for (i = ind->n; --i >= 0; ) /* initialize the genes randomly */ ind->genes[i] = (int)(ind->n *drand()); ind->fitness = 1; /* fitness is not known yet */ } /* ind_init() */ void pop_init (POP *pop) { /* --- initialize a population */ int i; /* loop variable */ for (i = pop->size; --i >= 0; ) ind_init(pop->inds[i]); /* initialize all individuals */ } /* pop_init() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
55 EA: Bewertung Fitness: negierte Zahl der Spalten und Diagonalen mit 1 Dame (negierte Zahl, weil zu maximierende Fitness) Kollisionen Fitness = 2 bei 2 Damen in 1 Spalte/Diagonale: zähle jedes Paar (einfacher zu implementieren) Fitnessfunktion ergibt unmittelbar Abbruchkriterium: Lösung hat (maximal mögliche) Fitness 0 auch: garantierte Terminierung durch maximale Generationenzahl Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
56 EA: Bewertung zähle Kollisionen durch Berechnungen auf Chromosomen: int ind_eval (IND *ind) { /* --- evaluate an individual */ int i, k; /* loop variables */ int d; /* horizontal distance between queens */ int n; /* number of collisions */ if (ind->fitness <= 0) /* if the fitness is already known, */ return ind->fitness; /* simply return it */ for (n = 0, i = ind->n; --i > 0; ) { for (k = i; --k >= 0; ) { /* traverse all pairs of queens */ d = abs(ind->genes[i] -ind->genes[k]); if ((d == 0) (d == i-k)) n++; } /* count the number of pairs of queens */ } /* in the same column or diagonal */ return ind->fitness = -n; /* return the number of collisions */ } /* ind_eval() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
57 EA: Bewertung Fitness aller Individuen der Population wird berechnet gleichzeitig: Bestimmung des besten Individuums bestes Individuum Fitness 0 Lösung gefunden int pop_eval (POP *pop) { /* --- evaluate a population */ int i; /* loop variable */ IND *best; /* best individual */ ind_eval(best = pop->inds[0]); for (i = pop->size; --i > 0; ) if (ind_eval(pop->inds[i]) >= best->fitness) best = pop->inds[i]; /* find the best individual */ pop->best = best; /* note the best individual */ return best->fitness; /* and return its fitness */ } /* pop_eval() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
58 EA: Auswahl von Individuen Turnierauswahl: betrachte tmsize zufällig bestimmte Individuen bestes dieser Individuen gewinnt Turnier und wird ausgewählt je höher Fitness, desto größer Chance, ausgewählt zu werden IND* pop_tmsel (POP *pop, int tmsize) { /* --- tournament selection */ IND *ind, *best; /* competing/best individual */ best = pop->inds[(int)(pop->size *drand())]; while (--tmsize > 0) { /* randomly select tmsize individuals */ ind = pop->inds[(int)(pop->size *drand())]; if (ind->fitness > best->fitness) best = ind; } /* det. individual with best fitness */ return best; /* and return this individual */ } /* pop_tmsel() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
59 EA: Auswahl von Individuen Turnierauswahl für Individuen der nächsten Generation evtl. bestes Individuum übernehmen (und nicht verändern) void pop_select (POP *pop, int tmsize, int elitist) { /* --- select individuals */ int i; /* loop variables */ IND **p; /* exchange buffer */ i = pop->size; /* select popsize individuals */ if (elitist) /* preserve the best individual */ ind_copy(pop->buf[--i], pop->best); while (--i >= 0) /* select (other) individuals */ ind_copy(pop->buf[i], pop_tmsel(pop, tmsize)); p = pop->inds; pop->inds = pop->buf; pop->buf = p; /* set selected individuals */ pop->best = NULL; /* best individual is not known yet */ } /* pop_select() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
60 EA: Crossover Tausch eines Chromosomenstücks (oder ausgewählter Teilmenge der Gene) zweier Individuen hier: sogenanntes Ein-Punkt-Crossover wähle zufällig eine Trennstelle zwischen zwei Genen tausche Gensequenzen auf einer Seite der Trennstelle aus Beispiel: wähle Trennstelle Fitness: Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
61 EA: Crossover Austausch eines Chromosomenstücks zwischen zwei Individuen void ind_cross (IND *ind1, IND *ind2) { /* --- crossover of two chromosomes */ int i; /* loop variable */ int k; /* gene index of crossover point */ int t; /* exchange buffer */ k = (int)(drand() *(ind1->n-1)) +1; /* choose a crossover point */ if (k > (ind1->n >> 1)) { i = ind1->n; } else { i = k; k = 0; } while (--i >= k) { /* traverse smaller section */ t = ind1->genes[i]; ind1->genes[i] = ind2->genes[i]; ind2->genes[i] = t; /* exchange genes */ } /* of the chromosomes */ ind1->fitness = 1; /* invalidate the fitness */ ind2->fitness = 1; /* of the changed individuals */ } /* ind_cross() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
62 EA: Crossover gewisser Anteil der Individuen wird Crossover unterworfen Aufnehmen beider Crossoverprodukte in neue Population Elternindividuen gehen verloren kein Crossover mit bestem Individuum (falls übernommen) void pop_cross (POP *pop, double frac) { /* --- crossover in a population */ int i, k; /* loop variables */ k = (int)((pop->size -1) *frac) & ~1; for (i = 0; i < k; i += 2) /* crossover of pairs of individuals */ ind_cross(pop->inds[i], pop->inds[i+1]); } /* pop_cross() */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
63 EA: Mutation Ersetzen zufällig gewählter Gene (Ändern der Allele) u.u. zufällige Anzahl der zu ersetzenden Gene (Zahl ersetzter Gene sollte klein sein) Fitness: -2-4 meisten Mutationen sind schädlich (verschlechtern Fitness) nicht vorhandene Allele können durch Mutation entstehen Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
64 EA: Mutation entscheide, ob (weiter) mutiert werden soll bestes Individuum (falls übernommen) wird nicht mutiert void ind_mutate (IND *ind, double prob) { /* --- mutate an individual */ if (drand() >= prob) return; /* det. whether to change individual */ do ind->genes[(int)(ind->n *drand())] = (int)(ind->n *drand()); while (drand() < prob); /* randomly change random genes */ ind->fitness = 1; /* fitness is no longer known */ } /* ind_mutate() */ void pop_mutate (POP *pop, double prob) { /* --- mutate a population */ int i; /* loop variable */ for (i = pop->size -1; --i >= 0; ) ind_mutate(pop->inds[i], prob); } /* pop_mutate() */ /* mutate individuals */ Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
65 Programme die besprochenen Verfahren zur Lösung des n-damen-problems, Backtracking, direkte Berechnung, evolutionärer Algorithmus, sind zu finden auf der Vorlesungsseite als Kommadozeilenprogramme (C-Programme queens.c und qga.c) Aufruf ohne Parameter: Liste von Programmoptionen beachte: EA findet nicht immer Lösung (Fitness < 0) Eigenschaften der Verfahren in einigen Übungsaufgaben Prof. R. Kruse, C. Moewes Evolutionäre Algorithmen Einführung / 60
Evolutionäre Algorithmen Einführung
Evolutionäre Algorithmen Einführung Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung
Evolutionäre Algorithmen Einführung
Evolutionäre Algorithmen Einführung Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung
Genetische Algorithmen
Genetische Algorithmen Christian Borgelt Arbeitsgruppe Neuronale Netze und Fuzzy-Systeme Institut für Wissens- und Sprachverarbeitung Otto-von-Guericke-Universität Magdeburg Universitätsplatz 2, D-39106
Genetische Algorithmen
Genetische Algorithmen: Einleitung Genetische Algorithmen Christian Borgelt Arbeitsgruppe Neuronale Netze und Fuzzy-Systeme Institut für Wissens- und Sprachverarbeitung Otto-von-Guericke-Universität Magdeburg
Anwendung genetischer Algorithmen zur Lösung des n Dame Problems und zur Optimierung von Autoprofilen
Anwendung genetischer Algorithmen zur Lösung des n Dame Problems und zur Optimierung von Autoprofilen Jana Müller Seminar Das Virtuelle Labor Otto von Guericke Universität Magdeburg Gliederung 1. Motivation
Computational Intelligence
Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational
Gliederung. Genetische Algorithmen (GA) Einfuehrung II. Einfuehrung I
Genetische (GA) Gliederung 2.1. Grundbegriffe. Anwendungsgebiete GA Jens Mueller 15.12.200 Folie 1 Jens Mueller 15.12.200 Folie 2 Einfuehrung I Einfuehrung II Einordnung: Soft Computing Soft Computing
Genetische Algorithmen
Genetische Algorithmen Christian Borgelt Arbeitsgruppe Neuronale Netze und Fuzzy-Systeme Institut für Wissens- und Sprachverarbeitung Otto-von-Guericke-Universität Magdeburg Universitätsplatz, D-906 Magdeburg
Genetische Algorithmen (GA) Jens Mueller Folie 1
Genetische Algorithmen (GA) Jens Mueller 15.12.2004 Folie 1 Gliederung 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete
Computational Intelligence
/ 44 Computational Intelligence Wintersemester 0/04. Evolutionäre Algorithmen II Stefan Berlik Fachgruppe Praktische Informatik Fakultät IV, Department Elektrotechnik und Informatik Universität Siegen
10. Vorlesung Stochastische Optimierung
Soft Control (AT 3, RMA) 10. Vorlesung Stochastische Optimierung Genetische Algorithmen 10. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter"
Evolution und Algorithmen
Kapitel 6 Spezialvorlesung Modul 10-202-2206 (Fortgeschrittene Methoden in der Bioinformatik) Jana Hertel Professur für Bioinformatik Institut für Informatik Universität Leipzig Machine learning in bioinformatics
Populationsbasierte Suche. Evolutionäre Algorithmen (1)
Populationsbasierte Suche Bisherige Meta-Heuristiken: Simulated Annealing Tabu Search Ausgehend von einer Lösung wird gesucht Populationsbasierte Heuristiken Suche erfolgt ausgehend von mehreren Lösungen
Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff
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
Evolu&onäre Algorithmen Kapitel 1: Einführung. Sanaz Mostaghim Intelligente Systeme Ins2tut für Wissens- und Sprachverarbeitung (IWS) SS 2016
Evolu&onäre Algorithmen Kapitel 1: Einführung Sanaz Mostaghim Intelligente Systeme Ins2tut für Wissens- und Sprachverarbeitung (IWS) SS 2016 Inhalt und Lernziele EA-1-2 Übersicht 1. Einleitung 2. Biologische
Anwendung genetischer Algorithmen zur Lösung des n-dame-problems und zur Optimierung von Autoprofilen
Anwendung genetischer Algorithmen zur Lösung des n-dame-problems und zur Optimierung von Autoprofilen Studiengang Informatik Jana Müller 11.12.2008 Otto-von-Guericke-Universität Magdeburg Fakultät für
Genetische Algorithmen
Genetische Algorithmen Von Valentina Hoppe und Jan Rörden Seminar: Künstliche Intelligenz II Dozent: Stephan Schwiebert Gliederung Biologische Evolution Genetischer Algorithmus Definition theoretischer
Intelligente Systeme
Intelligente Systeme Evolutionäre Algorithmen Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian.braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke-Universität
Optimale Produktliniengestaltung mit Genetischen Algorithmen
Optimale Produktliniengestaltung mit Genetischen Algorithmen 1 Einleitung 2 Produktlinienoptimierung 3 Genetische Algorithmen 4 Anwendung 5 Fazit Seite 1 Optimale Produktliniengestaltung mit Genetischen
Evolutionäre Algorithmen
Karsten Weicker Evolutionäre Algorithmen 2., überarbeitete und erweiterte Auflage m Teubner Inhaltsverzeichnis 1 Natürliche Evolution 1 1.1 Entwicklung der evolutionären Mechanismen 2 1.2 Evolutionsfaktoren
Hauptseminar Repräsentationen für Optimierungsalgorithmen
Stefan Bens Hauptseminar Dresden, 03.07.2008 Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2 Als Repräsentation bezeichnet man die Kodierung
2. Evolution als Optimierungsprinzip
2. Evolution als Optimierungsprinzip Biologen betrachten Evolution als Mechanismus, der in der Natur Lösungen für spezielle Probleme erzeugt Prinzipien der biologischen Evolution werden zur Lösung von
Genetische und Evolutionäre Algorithmen (Vol. 1)
Vortrag über Genetische und Evolutionäre Algorithmen (Vol. ) von Adam El Sayed Auf und Kai Lienemann Gliederung: ) Einführung 2) Grundkonzept 3) Genaue Beschreibung des Genetischen Algorithmus Lösungsrepräsentation
Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel
Evolutionäre / Genetische Algorithmen Einführung in die Methoden der Künstlichen Intelligenz PD Dr. David Sabel SoSe 0 Anwendungsbereich: Optimierung von Objekten mit komplexer Beschreibung Objekte: Üblicherweise
Evolution im Computer
Evolution im Computer Stephan Pirnbaum @spirnbaum Junior-Consultant @buschmais Steffen Gemkow @SteffenGemkow Geschäftsführer @ObjectFab Infinite-Monkey Theorem Man nehme: Unendliche Anzahl Affen Je Affe
Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen
Einführung in die Methoden der Künstlichen Intelligenz Prof. Dr. Manfred Schmidt-Schauß SoSe 2018 Stand der Folien: 9. Mai 2018 Evolutionäre / Genetische Algorithmen Anwendungsbereich: Optimierung von
Evolutionäre Algorithmen Variation und genetische Operatoren
Evolutionäre Algorithmen Variation und genetische Operatoren Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut
Synthese Eingebetteter Systeme. Übung 6
12 Synthese Eingebetteter Systeme Sommersemester 2011 Übung 6 Michael Engel Informatik 12 TU Dortmund 2011/07/15 Übung 6 Evolutionäre Algorithmen Simulated Annealing - 2 - Erklären Sie folgende Begriffe
Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen
Einführung in die Methoden der Künstlichen Intelligenz Evolutionäre Algorithmen Dr. David Sabel WS 2012/13 Stand der Folien: 12. November 2012 Evolutionäre / Genetische Algorithmen Anwendungsbereich: Optimierung
Optimierung und Entwurf mit Evolutionären Algorithmen
Fakultät Informatik, Institut für Angewandte Informatik, Lehrstuhl für Technische Informationssysteme Optimierung und Entwurf mit Evolutionären Algorithmen Dresden, 01.02.2007 Gliederung natürliche Evolution
Intelligente Systeme
Intelligente Systeme Evolutionäre Algorithmen Prof. Dr. R. Kruse C. Moewes G. Ruß {kruse,cmoewes,russ}@iws.cs.uni-magdeburg.de Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke
Evolutionäre (Genetische) Algorithmen
Evolutionäre (Genetische) Algorithmen Ziel, Aufgabe von evolutionären Algorithmen: Optimierung von Objekten mit komplexer Beschreibung, wobei es Parameter gibt. Die Objekte kodiert man so als Bitstrings,
Evolutionäre Algorithmen
Evolutionäre Algorithmen Variation und genetische Operatoren Prof. Dr. Rudolf Kruse Christian Moewes {kruse,cmoewes}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik
Betriebliche Optimierung
Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 19 1 Joachim Schauer ( Institut für
12. Vorlesung Stochastische Optimierung
Soft Control (AT 3, RMA) 12. Vorlesung Stochastische Optimierung Differential Evolution 12. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter"
Mechanismen der Evolution. Übersicht. Lamarck und Darwin Variation natürliche Selektion, sexuelle, künstliche Gendrift Artbildung adaptive Radiation
Mechanismen der Evolution 1 Übersicht Lamarck und Darwin Variation natürliche Selektion, sexuelle, künstliche Gendrift Artbildung adaptive Radiation 2 Jean Baptiste de LAMARCK... der häufige Gebrauch eines
Übersicht. Lamarck und Darwin Variation natürliche Selektion, sexuelle, künstliche Gendrift Artbildung adaptive Radiation
Evolution 1 Übersicht Lamarck und Darwin Variation natürliche Selektion, sexuelle, künstliche Gendrift Artbildung adaptive Radiation 2 Jean Baptiste de LAMARCK... der häufige Gebrauch eines Organs [stärkt]
2.5 Evolutionäre (Genetische) Algorithmen
KI 1, SS 2011, Kapitel 2, GA 1 2.5 Evolutionäre (Genetische) Algorithmen Das Ziel bzw. die Aufgabe von evolutionären Algorithmen ist eine Optimierung von Objekten mit komplexer Beschreibung, wobei es variable
Genetische Algorithmen
Genetische Algorithmen Prof. Dr. Ottmar Beucher Dezember 2001 Genetische Algorithmen 1 Optimierungsaufgaben Ein einfaches Beispiel Prinzipielle Formulierung Lösungsansätze Genetische Algorithmen Anwendungen
Survival of the Fittest Optimierung mittels Genetischer Algorithmen
Übung zu Organic Computing Survival of the Fittest Optimierung mittels Genetischer Algorithmen Sabine Helwig Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Universität Erlangen-Nürnberg sabine.helwig@informatik.uni-erlangen.de
Genetische und Evolutionäre Algorithmen (Vol. 2)
Vortrag über Genetische und Evolutionäre Algorithmen (Vol. 2) von Adam El Sayed Auf und Kai Lienemann Gliederung: 4) Rückblick 5) Allgemeine Einführung 6) Genauere Beschreibung von Evolutionären Strategien
Genetische Algorithmen von der Evolution lernen
Genetische Algorithmen von der Evolution lernen (c) Till Hänisch 2003, BA Heidenheim Literatur zusätzlich zum Lit. Verz. Nils J. Nilsson Artificial Intelligence Morgan Kaufmann, 1998 Ansatz Bisher: Problemlösung
Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008
Genetische Algorithmen Uwe Reichel IPS, LMU München reichelu@phonetik.uni-muenchen.de 8. Juli 2008 Inhalt Einführung Algorithmus Erweiterungen alternative Evolutions- und Lernmodelle Inhalt 1 Einführung
Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28
1 / 28 Gliederung 1 Evolutionsstrategien Selektion Rekombination Mutation Ablauf 2 Genetische Programmierung Repräsentation Genetische Operatoren Ablauf Überblick Evolutionsstrategien 3 / 28 Repräsentation
Evolu&onäre Algorithmen Kapitel 4: Operatoren
Evolu&onäre Algorithmen Kapitel 4: Operatoren Sanaz Mostaghim Lehrstuhl für Intelligente Systeme SS 2016 Outline Motivation Ein-Elter-Operatoren Zwei- oder Mehr-Elter-Operatoren Interpolierende und extrapolierende
8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick
Grundlagen der Künstlichen Intelligenz 5. April 0 8. Suchalgorithmen: Lokale Suche Grundlagen der Künstlichen Intelligenz 8. Suchalgorithmen: Lokale Suche 8.1 Einleitung Malte Helmert Universität Basel
Computational Intelligence
Vorlesung Computational Intelligence Stefan Berlik Raum H-C 8304 Tel: 0271/740-2617 email: berlik@informatik.uni-siegen.de Inhalt Überblick Vorbemerkungen Organisatorisches Thematik der Vorlesung Computational
Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff
Adaptive Systeme Evolutionäre Algorithmen Teil II Evolutionsfenster durch Mutation und sexuelle Rekombination Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Evolutionäre Algorithmen
Evolutionäre Algorithmen - Kapitel 15
Evolutionäre Algorithmen - Kapitel 15 Metaheuristiken Prof. Dr. Rudolf Kruse ÖÙ Û º ºÙÒ ¹Ñ ÙÖ º Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg 9. Juni 2008 R. Kruse (Uni Magdeburg) Metaheuristiken
Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik
Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik Dozent: Prof. Dr. Henning Meyerhenke Paralleles Rechnen, Fakultät für Informatik 1 KIT Universität des Landes
Intelligente Systeme. Einführung. Christian Moewes
Intelligente Systeme Einführung Prof. Dr. Rudolf Kruse Christian Moewes Georg Ruß {kruse,russ,cmoewes}@iws.cs.uni-magdeburg.de Arbeitsgruppe Computational Intelligence Institut für Wissens- und Sprachverarbeitung
Genetische Algorithmen
Genetische Algorithmen In dieser Ausarbeitung gemäss Aufgabenstellung auf der Kurshomepage des Moduls Knowledge- Based Systems wird die Funktionsweise und Nutzung von genetischen Algorithmen erläutert.
Künstliche Intelligenz
Künstliche Intelligenz Vorlesung 6: Evolutionäre Algorithmen 1/74 NATÜRLICHE EVOLUTION Grundverständnis für die Zusammenhänge und die Komplexität der natürlichen Evolution mit dem Ziel deren Nachahmung
Warum konvergieren Genetische Algorithmen gegen ein Optimum?
1 / 21 Gliederung 1 Das Schematheorem Motivation Begriffe Herleitung Ergebnis Das Schematheorem Das Schematheorem Motivation 3 / 21 Warum konvergieren Genetische Algorithmen gegen ein Optimum? Theoretische
Computational Intelligence
/ 4 Computational Intelligence Wintersemester 007/008 4. Genetische Algorithmen Stefan Berlik Fachgruppe Praktische Informatik FB, Elektrotechnik und Informatik Universität Siegen 5. November 007 Gliederung
Programme züchten - Evolution als Optimierungsverfahren. Heiko Spindler Freiberuflicher IT-Berater, Architekt, Autor und Coach
Programme züchten - Evolution als Optimierungsverfahren Heiko Spindler Freiberuflicher IT-Berater, Architekt, Autor und Coach Agenda Was ist Evolution? Simulieren von Evolution Ein erstes Beispiel Programme
Programme züchten. Evolution als Optimierungsverfahren. Heiko Spindler Freiberuflicher IT-Berater
Programme züchten Evolution als Optimierungsverfahren Heiko Spindler Freiberuflicher IT-Berater Agenda Was ist Evolution? Simulieren von Evolution Ein einfaches Beispiel Programme züchten Fazit Herbstcampus
Betriebliche Optimierung
Betriebliche Optimierung Joachim Schauer Joachim Schauer Betriebliche Optimierung 1 / 31 1 Metaheuristische Verfahren 2 Joachim Schauer Betriebliche Optimierung 2 / 31 Einleitendes Metaheuristische Verfahren
InformatiCup 2009 EvolutionConsole
InformatiCup 2009 EvolutionConsole Wilhelm Büchner Hochschule 19. März 2010 1 1. Das Team Teammitglieder Ralf Defrancesco KION Information Services GmbH Systemadministrator Daniel Herken Scooter Attack
Evolutionsstrategien
Evolutionsstrategien zum Seminar Evolutionäre Algorithmen von Jana Schäfer INHALTVERZEICHNIS 1. Einführung... 3 2. Die Geschichte der Evolutionsstrategien...4 3. Grundlegendes... 6 3.1 Begriffe... 6 3.2
Künstliche Intelligenz
Künstliche Intelligenz Vorlesung 9 und 10: Evolutionäre Standardalgorithmen 1/69 LERNZIELE Die gängigen Standardalgorithmen, aus der Anfangszeit bis heute, werden vorgestellt. Die bekannten Standardalgorithmen
Evolutionäre Algorithmen Genetische Programmierung
Evolutionäre Algorithmen Genetische Programmierung Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für
b) Nennen Sie vier hinreichende Bedingungen für Evolution. b) Anzahl fortlaufender Einsen von rechts. c) Sind in a) oder b) Plateaus enthalten?
Übungsblatt LV Künstliche Intelligenz, Evolutionäre Algorithmen (), 204 Exercise. Evolution a) Finden Sie zwei Evolutionsbeispiele auÿerhalb der Biologie. Identizieren Sie jeweils Genotyp, Phänotyp, genetische
Computational Intelligence
1 / 41 Computational Intelligence Wintersemester 2007/2008 1. Einleitung Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 15. Oktober 2007 Gliederung
Programme züchten Evolution als Optimierungsverfahren. Heiko Spindler
Programme züchten Evolution als Optimierungsverfahren Heiko Spindler Freiberuflicher IT-Berater Agenda Was ist Evolution? Simulieren von Evolution Ein einfaches Beispiel Programme züchten Fazit Heiko Spindler
b) Nennen Sie vier hinreichende Bedingungen für Evolution. b) Anzahl fortlaufender Einsen von rechts. c) Sind in a) oder b) Plateaus enthalten?
Übungsblatt LV Künstliche Intelligenz, Evolutionäre Algorithmen (1), 2015 Aufgabe 1. Evolution a) Finden Sie zwei Evolutionsbeispiele auÿerhalb der Biologie. Identizieren Sie jeweils Genotyp, Phänotyp,
Optimierung. Vorlesung 12
Optimierung Vorlesung 12 Letze Woche Approximieren von ILP durch randomisiertes Runden. Beispiel Set Cove Relaxiertes LP lösen und runden. Probleme: 1. Zielfunktionswert 2. Zulässigkeit 1. Linearität des
Evolutionäre Algorithmen Kodierung, Fitness, Selektion
Evolutionäre Algorithmen Kodierung, Fitness, Selektion Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut
2. Von der Evolution zur Optimierung
2. Von der Evolution zur Optimierung Die Prinzipien der biologischen Evolution werden auf die Optimierung übertragen. Am Beispiel wird ein erster evolutionärer Algorithmus zur Optimierung konstruiert und
EVOLUTION STRATEGIES DANIELA SCHACHERER SEMINAR: IST KÜNSTLICHE INTELLIGENZ GEFÄHRLICH? SOMMERSEMESTER 2017
EVOLUTION STRATEGIES DANIELA SCHACHERER SEMINAR: IST KÜNSTLICHE INTELLIGENZ GEFÄHRLICH? SOMMERSEMESTER 2017 Inhalt Einleitung und Überblick Evolutionsstrategien Grundkonzept Evolutionsstrategien als Alternative
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence Dozent: Günter Rudolph Vertretung: Nicola Beume Wintersemester 2006/07 Universität Dortmund Fachbereich Informatik Lehrstuhl für Algorithm Engineering (LS11) Fachgebiet
4. Eine Einführung in Konzept und Arbeitsweise genetischer Algorithmen
4. Eine Einführung in Konzept und Arbeitsweise genetischer Algorithmen 4.1 Evolution und Genetik Lernprozeß Evolution Die Natur hat es geschafft, aus Milliarden denkbarer Eiweißmoleküle gerade diejenigen
Kodierung Genetische Algorithmen und Simulated Annealing
Kodierung Genetische Algorithmen und Simulated Annealing Referenten Dipl.-Ing. (FH) Dipl.-Ing. (FH) 1 Agenda Erklärung des Genetischen Algorithmus f(x)=x² (2-dimensional) Verschiedene Codierungen Binärcode,
GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness
GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness Raters Brad Johanson, Riccardo Poli Seminarvortrag von Thomas Arnold G ˇ ˇ ˇ ˇ WS 2012/13 TU Darmstadt Seminar
Genetische Algorithmen
Genetische Algorithmen Shawn Keen Zusammenfassung Eine weitere Herangehensweise an das maschinelle Lernen ist die Nachahmung evolutionärer Prozesse. Hier wollen wir uns mit den sogenannten Genetischen
Informatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei
Genetische Algorithmen
Michael Gerhäuser Universität Bayreuth 28.06.2008 1 Motivierende Beispiele 2 Grundbegriffe der biologischen Evolution 3 Formalisierung der Grundbegriffe 4 Modellierung mit Markov-Ketten 5 Konvergenzanalyse
1. Inhaltsverzeichnis
1. Inhaltsverzeichnis Inhaltsverzeichnis 1. Einleitung 1.1. Darwins Evolutionstheorie 1.2. Darwins Evolutionstheorie als Inspiration für Evolutionäre Algorithmen 1.3. Die Unterschiede der verschiedenen
Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
Evolutionäre Algorithmen
Evolutionäre Algorithmen Mehrkriterienoptimierung Prof. Dr. Rudolf Kruse Christian Moewes {kruse,cmoewes}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut
Seminar "Optimierung mit evolutionären Algorithmen"
Universität Stuttgart Institut für Informatik Abteilung Seminar "Optimierung mit evolutionären Algorithmen" Seminararbeit zu genetischen Algorithmen Betreuer: Dipl. Math. Nicole Weicker Autor: Michael
Genetischer Algorithmus
Genetischer Algorithmus Roger Imbach KBS: Genetischer Algorithmus 1/12 Inhalsverzeichnis Einleitung...3 Was ist ein genetischer Algorithmus?...3 Was machen genetische Algorithmen?...3 Vorgehen...4 Crossover
PG 431 Metaheuristiken
PG 431 Metaheuristiken Seminar Optimierung Wie und warum? Dirk Hoppe Überblick Einführung Optimierungsverfahren Anwendungen Der Begriff Optimierung Littger, Optimierung (1992): Unter Optimierung versteht
Computational Intelligence
1 / 44 Computational Intelligence Wintersemester 2013/2014 4. Evolutionäre Algorithmen III Stefan Berlik Fachgruppe Praktische Informatik Fakultät IV, Department Elektrotechnik und Informatik Universität
Visuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
Algorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.
Frameworks für Evolutionäre Algorithmen und ihre Anwendung für Problemstellungen aus der Spieltheorie und der komponentenbasierten Struktursynthese
Fakultät Informatik, Institut für Angewandte Informatik, Lehrstuhl für Technische Informationssysteme Frameworks für Evolutionäre Algorithmen und ihre Anwendung für Problemstellungen aus der Spieltheorie
Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006
Teil II Optimierung Gliederung 5 Einführung, Klassifizierung und Grundlagen 6 Lineare Optimierung 7 Nichtlineare Optimierung 8 Dynamische Optimierung (dieses Jahr nur recht kurz) (9 Stochastische Optimierungsmethoden
Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar
Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar Jorge Meza jorge.meza@tu-ilmenau.de Zusebau R2082, Tel: -4128 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated
Seminar Verkehrsinformatik Offline-Optimierung der Lichtsignal-Koordinierung mittels genetischer Algorithmen
Fachhochschule Wedel - SS 2006 Seminar Verkehrsinformatik Offline-Optimierung der Lichtsignal-Koordinierung mittels genetischer Algorithmen Marco Lehmann (wi5909) m@rco-l.de 3. Juli 2006 Gliederung 1.
Musterlösung der Testklausur zur Vorlesung. Programmieren in C. Prof. Dr. Nikolaus Wulff WS/SS 2004/05
Musterlösung der Testklausur zur Vorlesung Programmieren in C Prof. Dr. Nikolaus Wulff WS/SS 2004/05 Juni 2005 1 Der Lottogewinn #define MAX_TIPS 6 typedef struct lotto_schein *LottoSchein; typedef struct
Informatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,