6 Genetic Algorithms and Neuronal Networks

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Memetische Algorithmen …der Versuch einer Einordnung
Der R-Baum Richard Göbel.
Simulationsansätze in der BWL: Erstellung eines eigenen Projekts
Eine dynamische Menge, die diese Operationen unterstützt,
Genetische Algorithmen für die Variogrammanpassung
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Anwendung und Visual Basic
Genetische Algorithmen
Genetische Algorithmen
Entscheidungstheorie für Unentschlossene Indecision Theory.
Informierte Suche.
Spielbäume Richard Göbel.
Suchbäume Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Künstliche Intelligenz - Suchbäume Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Genetische Algorithmen
Seminar parallele Programmierung SS 2003
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Was sind Histogramme? (1)
Vortrag: Ingo Gensch, Mathias Reich am:
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Teil 5: Kollisionsvermeidung & Wegplanung
Teil I: Uninformierte Suche
Teil II: Informierte Suche
Handlungsplanung und Allgemeines Spiel „Game Description Language (GDL)“ Peter Kissmann.
Konzeption und Realisierung von DSS
Effiziente Algorithmen
Splay Trees Von Projdakov Benjamin.
Anwendungen evolutionärer Algorithmen
Abschlussvortrag zur Studienarbeit
Theorien, Methoden, Modelle und Praxis
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/

… oder wie finde ich den Weg
A. Gebert / A. Henke Ant colony simulation.
One plus One Evolutionary Optimizer
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Das Traveling Salesman Problem (TSP)
Ilka Rehr, Geodätisches Institut, Leibniz Universität Hannover
ANN - Simulator Rainer Trummer Ferdinand Schober Christian Spielberger.
Entscheidungstheorie für Unentschlossene Indecision Theory.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.

Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Evolutionäre Algorithmen Rüdiger Brause
Der A*-Algorithmus.
Gliederung der Vorlesung
Thermische Energie und Wärme
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Wiederholung TexPoint fonts used in EMF.
 Präsentation transkript:

6 Genetic Algorithms and Neuronal Networks

Überblick Organisation des Praktikums Einführung in die Künstliche Intelligenz Suche nach einer „intelligenten“ Lösung Problemlösung mit Heuristiken Planung & Robotik Logik Expertensysteme Lernen Praktikum KI SoSe 2005

Einführung Bisher Problem Uninformierte Suche nach „einer Lösung“ Uninformierte Suche nach „der besten Lösung“ Suche nach der besten Lösung unter Verwendung von Heuristiken Problem Der Suchraum ist oft sehr groß Die Suche nach der optimalen Lösung kann sehr lange dauern Die Suche nach der optimalen Lösung kann am Platzbedarf scheitern

Einführung Idee: Suchverfahren nutzen, die möglichst effizient eine möglichst gute – wenn möglich die optimale – Lösung finden: Der Weg zur Lösung ist oft nicht von Interesse, es reicht oft aus, einen Zustand zu finden, der den Kriterien für einen Zielzustand genügt, Beispiele: Eine Konfiguration, so dass das 8-Damen Problem gelöst ist (sich keine Damen bedrohen) Eine Reihenfolge von Städten, so dass der Traveling Salesman bei seiner Rundreise einen möglichst kurzen (den kürzesten) Weg zurücklegt Beste = optimale Lösung in Bezug auf eine Zielfunktion gesucht

Lokale Suche Der Pfad bzw. der bei der bisherigen Suche betrachtete Teil des Suchraumes werden nicht gespeichert Ausgehend vom aktuellen Zustand = der aktuellen Position im Zustandraum wird nach einem „besseren Zustand“ gesucht Ein Zustand z1 ist besser als Zustand z0, wenn der Zielfunktionswert für z1 größer ist, d.h. f(z1) > f(z0)

Lokale Suche

Lokale Suche Eigenschaften der Zielfunktion

Lokale Suche Eigenschaften des Suchraumes f(n5) f(n1) ? f(n4) f(p) Diskret Anzahl der Nachfolger Kontinuierlich Dimension des Raumes Richtung des Schrittes Schrittweite Differenzierbar f(p) f(n3) f(n4) f(n5) f(n2) f(n1) ?

Lokale Suche Diskrete Algorithmen bestimmen nur Richtung (Nachfolger) Kontinuierliche Algorithmen bestimmen (meist) Richtung Schrittweite Ideen, die Richtung auszuwählen, sind übertragbar I.A. vom diskreten in den kontinuierlichen Fall, ggf. mittels Differenzierbarkeit Vom kontinuierlichen Fall in den diskreten, wenn keine höheren Ableitung benutzt werden

Hill-Climbing Search Speichert jeweils nur einen Zustand Bewegt sich nur in Richtung besserer Zustände Kann in lokalen Maxima „hängenbleiben“ Ebenen: stoppen / zyklisch wandern?

Hill-Climbing Search Steepest ascend hill-climbing: wählt immer den Zustand mit der größten Verbesserung (steilstem Anstieg der Zielfunktion) als Nachfolgezustand Stochastic hill-climbing: wählt zufällig einen möglichen Nachfolgezustand aus, für den der Zielfunktionswert größer ist (die Wahrscheinlichkeit kann an den Anstieg gekoppelt sein) First-choice hill-climbing: der erste mögliche Nachfolgezustand mit einem besseren Funktionswert wird gewählt (es müssen nicht alle Nachfolgezustände generiert werden!) Random-restart hill-climbing: mehrfache Wiederholung der gesamten Suche mit zufälligem Startzustand – größere Wahrscheinlichkeit, einen Zielfunktionswert nahe am Maximum zu erreichen

Hill-Climbing Search Erfolg von hill-climbing Methoden hängt von Beschaffenheit der Zielfunktion ab (viele / wenige lokale Extrema …) Größtes Problem der hill-climbing-Algorithmen: Lokale Maxima Lösungsmöglichkeiten: Random-restart hill-climbing Random-restart hill-climbing in der Nähe der gefundenen Lösung

Simulated Annealing Search Ziel: Durch kontrollierte Verschlechterung der Zielfunktion lokalen Maxima entrinnen Hintergrund physikalisch: Annealing: erhitzen und langsames Abkühlen (tempern, härten) von, z.B. Glass oder Metall – Ziel ist ein weniger brüchiges Material Idee: Teilchen bewegen sich bei hohen Temperaturen recht stark, durch langsames Abkühlen finden die Teilchen nach und nach feste Positionen im Gitter Die Geschwindigkeit beim Abkühlen hat großen Einfluß darauf, ob sich die Teilchen in einem möglichst regulären Gitter anordnen Eine solche kristalline Struktur entspricht dem Zustand minimaler Energie des Materials Zu schnelles Abkühlen bremst die Teilchenbewegung bevor sie einen Gitterpunkt erreichen können und führt zu (ungewünschtem) lokalem Minimum

Simulated Annealing Search Teilchenbewegung bei hoher Temperatur

Simulated Annealing Search Teilchenbewegung bei mittlerer Temperatur

Simulated Annealing Search Teilchenbewegung bei niedriger Temperatur

Simulated Annealing Search Die Energie des Nachfolgezustands unterliegt dabei der Boltzmann- Verteilung P(E) ~ exp(-E/kT) mit: E = Energie des Zustandes k = Boltzmann Konstante (k = 1.380 6503 × 10-23 /) T = Temperatur D.h. die Wahrscheinlichkeit einen energiereichen Nachfolgezustand anzutreffen nimmt mit der Temperatur ab.

Simulated Annealing Search Algorithmus: Wähle Nachfolgerkandidat K zufällig aus Bestimme anhand des aktuellen Zielfunktionswertes (ZFW) und des ZFW des Kandidaten K eine Übergangswahrscheinlichkeit p(K) Mit Wahrscheinlichkeit p(K) wechsle zu K Falls kein Übergang, so wähle neuen Nachfolgekandidaten K‘ zufällig aus Aus allen Nachfolgern Aus den verbleibenden Nachfolgern Termination Falls kein Nachfolger mehr vorhanden Nach einer bestimmten Zeit / Iterationszahl Wenn keine starke Verbesserung mehr erfolgt Wenn der Benutzer abbricht …

Simulated Annealing Search Metropolis et al. definieren für eine thermodynamische Simulation eine Funktion die dem Übergang von Energieniveau E1 nach Energieniveau E2 folgende Wahrscheinlichkeit zuweist: D.h. Übergänge zu einem energieärmeren Zustand werden immer (mit Wahrscheinlichkeit 1) vollzogen, Übergänge zu einem energiereicheren Zustand nur mit einer von der Temperatur abhängigen Wahrscheinlichkeit entsprechend der Boltzmann- Verteilung.

Simulated Annealing Search Simulated Annealing benutzt die Metropolis-Funktion um einen Zustandsübergang zu bewerten Ein besserer Zielfunktionswert entspricht dabei einem geringeren Energieniveau D.h. bei der Suche nach dem maximalen Zielfunktionswert werden Nachfolgerzustände mit einem größeren Zielfunktionswert immer gewählt (ggf. der Nachfolger mit dem besten ZF-Wert) -> up-hill werden Übergänge zu einem Nachfolgerzustand mit kleinerem Zielfunktionswert mit einer temperaturabhängigen Wahrscheinlichkeit akzeptiert -> down-hill

Simulated Annealing Search

Simulated Annealing Search

Simulated Annealing Search Der Algorithmus benötigt folgende Komponenten Eine Zustandsbeschreibung Eine „Nachfolgerfunktion“, d.h. eine Funktion, die den aktuellen Zustand zufällig in einen neuen Zustand überführt (bei zu großen Änderungen gehen die „guten Eigenschaften“ des Zustandes verloren, die Suche wird stochastisch, bei zu kleinen Änderungen bleibt der Algorithmus evtl. in lokalen Maxima hängen) Eine Zielfunktion, deren Wert optimiert (minimiert / maximiert werden soll) Werte für die Kontrollparameter k und T und die Anzahl der Iterationen; T wird oft durch einen ‚annealing schedule‘ gesteuert und schrittweise verringert, wobei das Temperaturniveau jeweils für einige Iterationen konstant bleibt

Simulated Annealing Search Für den Übergang zu Nachfolgerknoten mit einem schlechteren Zielfunktionswert: hängt die Übergangswahrscheinlichkeit von der Energiedifferenz ab – sehr viel schlechtere Nachfolgerzustände sind „unwahrscheinlicher“ als nur etwas schlechtere (Term E2-E1) hängt die Übergangswahrscheinlichkeit von der Temperatur ab – je geringer die Temperatur, um so geringer die Übergangswahrscheinlichkeit (Term kT) Der Algorithmus terminiert „wahrscheinlich“, wenn die Temperatur „oft genug“ gesenkt wurde

Genetic Algorithms Bisherige lokale Verfahren verwenden immer nur einen Nachfolgezustand Kombination verschiedener Nachfolger teilweise auch viel versprechend Erzeugter Kombinationszustand ist oftmals kein direkter Nachfolger Kombination muss gültigen Zustand erzeugen => Genetische Algorithmen

Genetic Algorithms Algorithmus in Anlehnung an die natürliche Auslese Statt einer (zufälligen) Generierung eines Nachfolgerzustandes zum aktuellen Zustand werden zwei Elternzustände „gekreuzt“ und der entstandene Zustand eventuell „mutiert“ Terminologie Individuum: Zustandskodierung, meist als Binärstring Population: Menge von Individuen, die Ausgangspopulation besteht aus zufällig erzeugten Individuen Fitness Funktion: Zielfunktion Reproduktion: erhalten von guten Individuen Kreuzung: zufällige Kombination aus den Binärstrings zweier Individuen Mutation: zufällige Änderungen an einem Individuum (Kippen von Bits)

Genetic Algorithms Ablauf des Algorithmus Bewertung der Fitness aller Individuen der aktuellen Population Berechnung der Wahrscheinlichkeit der Auswahl zur Reproduktion (z.B. relative Fitness = f(t) / Summe f(ti) über alle i) Wähle entsprechend der Reproduktionswahrscheinlichkeit Elternzustände aus und erzeuge durch Reproduktion, Kreuzung und Mutation

Genetic Algorithms Beispiel: 8-Damen

Genetic Algorithms Entscheidend: Zustandsbeschreibung Bsp: Travelling Salesman Problem Liste der Städte in Reihenfolge des Besuchs Adjazenz-Liste Stelle i in der Liste gibt an, welches der Nachfolger von i ist Ordinal-Represenation Zwei Listen: Referenzliste und Tourliste Arbeite Tourliste sequenziell ab, nehme Element i aus aktueller Referenzliste und lösche es => Referenzliste wird immer kleiner Matrix-Representation Binäre nxn-Matrix, mij=1, wenn i vor j besucht wird Permutationsdarstellung Liste binärer Permutationen (vertausche i und j), die sequenziell auf Referenzliste angewandt wird

Genetic Algorithms Jede Zustandsbeschreibung bedingt andere Definition von Cross-Over und Mutationen Cross-Over eventuell mit Nachbearbeitungsschritt, um gültigen Zustand zu erzeugen Bsp: TSP mit Liste der Städte in Reihenfolge des Besuchs: (2,4|3,1) -> (2,4,1,2) -> (2,4,1,3) (4,3|1,2)

Genetic Algorithms Fazit in AIMA: „… At present it is not clear, whether the appeal of genetic algorithms arises from their performance or from their aesthetically pleasing origins in the theory of evolution. Much work remains to be done to identify the conditions under which genetic algorithms perform well.“

Fazit Für alle vorgestellten Algorithmen kann nicht festgestellt werden, ob die gefundene Lösung ein globales Optimum ist Je nach Beschaffenheit der Zielfunktion können hill-climbing, simulated annealing und genetic algorithms auch in sehr großen Zustandsräumen relativ schnell (ausreichend) gute Lösungen finden Die Wahl geeigneter Repräsentationen der Zustände und geeigneter Zustandsüberführungsfunktionen kann schwierig sein Die Parameter (Anzahl der restarts; k und T; Reproduktionparameter) können oft nur experimentell bestimmt werden