120 likes | 254 Views
Genetische Algorithmen. Sommerakademie Ftan 2002 Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen. Motivation. Analogie zur Evolutionstheorie der Biologie Evolution ist eine erfolgreiche, robuste Methode für Anpassung biologischer Systeme
E N D
Genetische Algorithmen Sommerakademie Ftan 2002 Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Motivation • Analogie zur Evolutionstheorie der Biologie • Evolution ist eine erfolgreiche, robuste Methode für Anpassung biologischer Systeme • GA können Räume von Hypothesen durchsuchen, die komplexe, interagierende Bestandteile enthalten, bei denen der Einfluß jedes Teils auf die Gesamthypothese unklar ist • GA können leicht parallelisiert werden • GA sind nicht deterministisch Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Problemstellung • Suche im Raum aller möglichen Hypothesen nach der „besten Hypothese“ • „beste Hypothese“ ist diejenige mit der größten Fitness Fragen zur Implementierung • Wie sieht die Fitness-Funktion aus? • Wie sind die Individuen (Hypothesen) repräsentiert? • Wie werden die Individuen selektiert? • Wie reproduzieren sich die Individuen? Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Fitness-Funktion • Weist jeder Hypothese einen Fitness-Wert zu Fitness • Maß für die Güte der Hypothese • Mögliche Kriterien: • Genauigkeit (z.B. Annähern einer unbekannten Funktion) • Komplexität • Allgemeingültigkeit Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Repräsentation von Hypothesen Bitstrings: • Einfach zu manipulieren (einfache Implementierung der Genetischen Operatoren) • Können auch sehr komplex seinz.B. IF – THEN : Substrings mit Vor- und Nachbedingung Symbolische Darstellung: • Anwendung in der Genetischen Programmierung Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Monte-Carlo (Roulette-Wheel-Selection) Jedem Individuum wird ein Sektor eines Roulettrads proportional zur Fitness zugeordnet Ranking-Selection Fitnesswert, der nur vom Rang des Individuums in derPopulation ist Tournament-Selection wähle zufällig 2 Hypothesenübernehme mit vordefinierter Wahrscheinlichkeit die bessere,sonst die andere Selektionsmethoden Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Genetische Operatoren Crossover(Rekombination) Mutation Erweiterte Operatoren • Single-Point Crossover • N-Point Crossover • Uniform Crossover • z.B. • AddAlternative • DropCondition Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Allgemeiner Algorithmus Parameter:Fitness – Funktion zur Bewertung der Hypothesenp – Anzahl der Hypothesen einer Populationr – Teil der Population, der durch Crossover ersetzt werden soll m – Mutationsrate Initialisiere Startpopulation: P0 generiere p zufällige Hypothesen, n 0 Bewertung: h P0 : berechne Fitness(h) while (not Abbruchbedingung_erfuellt) do od return Hypothese h P mit höchster Fitness(h) Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Probleme • Overfitting • Crowding • Gut angepaßte Individuen können sich schneller fortpflanzen und übernehmen einen großen Teil der Population • Einschränkung der Vielfalt • Verlangsamerung der Weiterentwicklung • Lösungsmöglichkeiten: • Alternieren der Fitnessfunktion • „fitness sharing“ • Einschränkungen bei der Reproduktion Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Genetisches Programmieren • Form der evolutionellen Programmierung, bei der die Individuen Computerprogramme anstelle von Bitstrings sind • Repräsentation der Programme: • Syntaxbäume • Fitness: • Ausführen des Programms auf den Trainingsdaten • Crossover: • Austausch von zufällig gewählten Unterbäumen Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Parallelisieren Genetischer Algorithmen • coarse-grain • Unterteilung in verschiedene Gruppen von Individuen • Jede Gruppe wird einem Knoten zugeordnet • Kommunikation und Kreuzung zwischen den Knoten seltener als innerhalb der Gruppen • Transfer über zusätzlichen Migrationsprozeß • Verringert Crowding-Problem • fine-grain • 1 Prozessor/Individuum • Rekombination nur zwischen Nachbarn Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen
Zusammenfassung • GA führen eine zufällige, parallele Suche durch nach Hypothesen, die eine vordefinierte Fitness Funktion optimieren • Dabei wird die natürliche Evolution simuliert • GA sind „abrupt“ im Gegensatz zum „sanften“ Abstieg entlang des Gradienten wie z.B. bei Backpropagation • Nachkommen können radikal verschieden sein von den Eltern • Geringere Wahrscheinlichkeit, in einem lokalen Minimum „hängenzubleiben“ Sommerakademie Ftan 2002 – Gruppe 3: Künstliche Intelligenz Sebastian Stober - Genetische Algorithmen