Upload
annemarie-storms
View
113
Download
1
Embed Size (px)
Citation preview
6 Genetic Algorithms and Neuronal Networks
Praktikum KI SoSe 2005
Ü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
Einführung
Bisher 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)
Z0Z1
f(z1)
f(z0)
Lokale Suche
Lokale Suche
Eigenschaften der Zielfunktion
lokalesMaximum
Ebene
globalesMaximum
Lokale Suche
Eigenschaften des Suchraumes 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) 1. Richtung
2. 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.
12
12/)(
21
)(12
EE
EEeEp
kTEE
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
?
?
?k T
EE
e
p12
1
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