Genetische Programmierung

Ähnliche Dokumente
Anwendung genetischer Algorithmen zur Lösung des n Dame Problems und zur Optimierung von Autoprofilen

Evolution und Algorithmen

Evolutionäre Robotik

10. Vorlesung Stochastische Optimierung

Genetische Algorithmen von der Evolution lernen

Genetische Programmierung

Sortieren II / HeapSort Heaps

Grundlagen und Basisalgorithmus

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

Genetische Algorithmen

Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness

Genetisches Programmieren einfacher Roboterfähigkeiten

Effizienter Planaritätstest Vorlesung am

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Datenstrukturen und Algorithmen Beispiellösung zu Heimübungsblatt 7. Abbildung 1: Das Array A als Baum (vgl. Foliensatz 16, Folie 3)

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008

Der genetische Algorithmus

Übung zur Vorlesung Algorithmische Geometrie

Betriebliche Optimierung

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Informatik B Sommersemester Musterlösung zur Klausur am

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Genetisches Programmieren

Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 2011/2012

Teil 1: Suchen. Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume Ausgeglichene Bäume. B-Bäume. AVL-Bäume Treaps Splay-Bäume

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

VL-11: Rot-Schwarz Bäume. (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs

12. Vorlesung Stochastische Optimierung

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener

Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y

Laufzeitanalyse (1) demogr.

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

Algorithmische Methoden zur Netzwerkanalyse

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Evolu&onäre+Algorithmen+ + Kapitel+7:+Gene&c+Programming+(GP)!

Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:

Untere Schranke für allgemeine Sortierverfahren

Klausur Algorithmen und Datenstrukturen I WS 05/06

13. Bäume: effektives Suchen und Sortieren

14. Rot-Schwarz-Bäume

11.1 Grundlagen - Denitionen

13. Bäume: effektives Suchen und Sortieren

Evolutionäre (Genetische) Algorithmen

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

2.2 Syntax, Semantik und Simulation

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

Optimierung. Vorlesung 12

Algorithmen und Datenstrukturen Heapsort

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

Evolutionäre Algorithmen Genetische Programmierung

Datenstrukturen und Algorithmen SS07

Programmieren I. Kapitel 5. Kontrollfluss

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Kap. 3: Sortieren (3)

Seminar Verkehrsinformatik Offline-Optimierung der Lichtsignal-Koordinierung mittels genetischer Algorithmen

Mit Genetischen Algorithmen nach dem biologischen Vorbild auf evolutionäre Art komplexe Probleme lösen.

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Algorithmen und Datenstrukturen SS Übungsblatt 9: Suchen

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

2. Hausübung Algorithmen und Datenstrukturen

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Teil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1

Binäre Suchbäume (binary search trees, kurz: bst)

5. Übungsblatt zu Algorithmen II im WS 2017/2018

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)

8. Evolution (Teil II): Koevolution

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs

Datenstrukturen Teil 3. Traversierung und AVL- Bäume. Traversierung. Traversierung. Traversierung

Algorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009

Evolution im Computer

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Synthese Eingebetteter Systeme. Übung 6

General Video Game AI Competition 2016

6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.

Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

Algorithmen und Datenstrukturen I AVL-Bäume

AVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38

Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Transkript:

15. Juli 2007

Anfang der 90er von John R. Koza entwickelt. Verfahren zur automatisierten Erstellung von Programmen. Von der Evolution inspiriert.

Anforderungen an die Möglichst korrekte Lösung ergeben Variable Datenlänge Verwendete Datenstrukturen allgemein halten Möglichst wenig Rechenleistung und Laufzeit

Die RoboCup-Softbotliga RoboCupSoccerServer stellt Sensorinformationen, Physik und Kommunikation zur Verfügung. Je Team 11 Programme Direkte Kommunikation zwischen den Prozessen ist nicht möglich.

Die verfügbaren Sensorinformationen Alle 300 ms neue Informationen Position des Balls, anderer Spieler der Tore usw Nur Innerhalb des Sichtfeldes Entfernte Objekte unscharf Informationen werden durch Lärm gestört. Wer nicht mitkommt, hat Pech gehabt.

Die verfügbaren Kommandos Rotation Laufe vorwärts mit Geschwindigkeit n, Problem mit der Ausdauer. Schieße den Ball in Richtung n. Rufe eine Nachricht. Wer zu schnell ist, wird ignoriert.

Vereinfachung des Problems Aufarbeitung der Daten Berechnung absoluter Positionsdaten Schätzung der Bewegungen zwischen Sensorzyklen Abschaffung des Rufens

Der Algorithmus Erzeuge Ausgangsstrukturen Berechne Fitness jedes Individuums Terminierung? Ja Ergebnis Nein Genetische Operationen

Theorie: Funktionen und Aufbau des Genoms (1/6) Erzeuge Ausgangsstrukturen Berechne Fitness jedes Individuums Terminierung? Ja Ergebnis Nein Genetische Operationen

Theorie: Funktionen und Aufbau des Genoms (2/6) Funktionen F = {f 1, f 2,..., f n } Terminale T = {t 1, t 2,..., t m } Programm: alle Permutationen aus F und T möglich

Theorie: Funktionen und Aufbau des Genoms (3/6) Funktionen: arithmetische Funktionen mathematische Funktionen boolesche Funktionen logische Operatoren iterative Operatoren

Theorie: Funktionen und Aufbau des Genoms (4/6) Terminale: variable atomare Argumente konstante atomare Argumente Funktionen ohne Parameter

Exkurs: LISP (1/2) S-Ausdruck polnische Notation

Exkurs: LISP (2/2) (OR (AND (NOT D0) (NOT D1)) (AND D0 D1)) OR AND AND NOT NOT D0 D1 D0 D1

Theorie: Funktionen und Aufbau des Genoms (5/6) Ausgangsstruktur Wurzel Funktion aus F Jeder Parameter aus F T

Theorie: Funktionen und Aufbau des Genoms (6/6) Parameter Maximaltiefe für zufällig generierte S-Ausdrücke

Beispiel: Funktionen und Aufbau des Genoms (1/2) Zur Vereinfachung: Spezieller Satz von Funktionen Aufgabe zu komplex für low-level-funktionen z.b (home), (ball), (block-goal), (kick-goal!)

Beispiel: Funktionen und Aufbau des Genoms (1/2) Zur Vereinfachung: Spezieller Satz von Funktionen Aufgabe zu komplex für low-level-funktionen z.b (home), (ball), (block-goal), (kick-goal!)

Beispiel: Funktionen und Aufbau des Genoms (2/2) Bewegungs- und Schussbaum Homogener vs. pseudoheterogener vs. heterogener Ansatz Homogener Ansatz wenig rechenaufwändig wenig Spezialisierung schnelle Ergebnisse Heterogener Ansatz sehr rechenaufwändig viel Spezialisierung bessere Ergebnisse

Theorie: Fitnessfunktion (1/5) Erzeuge Ausgangsstrukturen Berechne Fitness jedes Individuums Terminierung? Ja Ergebnis Nein Genetische Operationen

Theorie: Fitnessfunktion (2/5) Eignung des Programms für Problemlösung legt fest, welches Programm sich fortpflanzen darf environmental cases

Theorie: Fitnessfunktion (3/5) Rohfitness N e r(i, t) = S(i, j) C(j) j=1

Theorie: Fitnessfunktion (4/5) angepasste Fitness a(i, t) = 1 (1 + r(i, t))

Theorie: Fitnessfunktion (5/5) normalisierte Fitness n(i, t) = a(i, t) M k=1 a(k, t)

Beispiel: Fitnessfunktion (1/3) Problematisch: Was ist guter Fußball? 1.Ansatz: Teams gegen einen handgeschriebenen Gegner antreten lassen. Es droht Spezialisierung auf diesen einen Gegner. 2.Ansatz: Teams in einem Turnier gegeneinander antreten lassen. Optimalerweise sollte es ein Jeder-gegen-jeden-Turnier sein. Aus zeitlichen Gründung nur ein Spiel je Mannschaft.

Beispiel: Fitnessfunktion (2/3) Ursprünglich auf vielen Faktoren basierend (Tore, Ballbesitz, Pässe). Förderte aber suboptimale Strategien

Beispiel: Fitnessfunktion (3/3) Stattdessen Fitnessfunktion nur auf Tordifferenz basiert. Man könnte meinen, frühe Partien gingen öfters 0:0 aus. Das Gegenteil war der Fall.

Theorie: Genetische Operationen (1/5) Erzeuge Ausgangsstrukturen Berechne Fitness jedes Individuums Terminierung? Ja Ergebnis Nein Genetische Operationen

Theorie: Genetische Operationen (2/5) Reproduktion asexuelle Operation wird unverändert übernommen

Theorie: Genetische Operationen (3/5) Kreuzung zufällige Auswahl von Knoten als Wurzel Teilbäume werden vertauscht

Beispiel: Kreuzung (1/4) OR NOT AND D1 D0 D1 OR OR AND D1 NOT NOT NOT D0 D0 D1

Beispiel: Kreuzung (2/4) OR NOT AND D1 D0 D1 OR OR AND D1 NOT NOT NOT D0 D0 D1

Beispiel: Kreuzung (3/4) OR NOT AND D1 D0 D1 OR OR AND D1 NOT NOT NOT D0 D0 D1

Beispiel: Kreuzung (4/4) OR AND AND NOT NOT D0 D1 D0 D1 OR OR NOT D1 NOT D1 D0

Theorie: Genetische Operationen (4/5) Mutation Permutation

Theorie: Genetische Operationen (5/5) Parameter Anzahl Individuen, die sich kreuzen dürfen Anzahl Individuen für Reproduktion Mindestanteil an Kreuzungspunkten muss Funktion sein Maximaltiefe nach Kreuzung

Beispiel: Genetische Operationen (1/2) Kreuzung und Mutation wird jeweils nur auf einen Baum angewandt. Kreuzungen zwischen Bewegungs- und Schussbaum verboten. Bei pseudoheterogenen Teams nur Kreuzungen zwischen denselben Squads. Wurzelkreuzungsoperator um Spieler auszutauschen.

Beispiel: Genetische Operationen (2/2) 30% Mutation 70% Kreuzung, davon 30% mit inneren Knoten, 10% mit Blättern und 60% mit der Wurzel als Kreuzungspunkt. Am Ende 10% Reproduktion, 60% Kreuzung und 30% Mutation.

Theorie: Terminierung (1/3) Erzeuge Ausgangsstrukturen Berechne Fitness jedes Individuums Terminierung? Ja Ergebnis Nein Genetische Operationen

Theorie: Terminierung (2/3) bestimmte Population erreicht oder gewisse Performance erreicht

Theorie: Terminierung (3/3) Ergebnis bestes Individuum oder ganze Population der letzten Generation

Beispiel: Terminierung Einfügen guter Teams aus früheren Generationen in die Population. Turnier mit den besten 20 Teams. Das beste Team war aus dem homogenen Ansatz hervorgegangen. Es gewann seine ersten beiden Partien gegen von Menschen geschriebene Programme. RoboCup 97 Scientific Award.

Fazit auch in komplexen Bereichen anwendbar. Mit vertretbarem Einsatz realisierbar. Konkurrenzfähig zu menschlicher Intelligenz.