Soft Control (AT 3, RMA) 11. Vorlesung Stochastische Optimierung Simmulated Annealing
11. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter" Systeme 2. Wissensrepräsentation und Wissensverarbeitung (Symbolische KI) Anwendung: Expertensysteme 3. Fuzzy-Systeme: Umgang mit unscharfem Wissen Anwendung: Fuzzy-Control 4. Konnektionistische Systeme: Neuronale Netze Anwendung: Identifikation und neuronale Regler 5. Stochastische Optimierung (Genetische Algorithmen Simulated Annealing, Differential Evolution) Anwendung: Optimierung 1. Genetische Algorithmen 2. Simulated Annealing 6. Zusammenfassung & Literaturhinweise 294
Simulated Annealing: Einführung 1/2 Simulated Annealing Annealing: Erhitzung und anschließende langsame Abkühlung Von der Physik inspiriertes Verfahren Vorbild ist der Abkühlungsprozess in Kristallstrukturen Man erhitzt eine Substanz mit Gitterstruktur (z.b. Silizium) Beobachteter Effekt Kühlt man die Substanz besonders schnell ab ( Abschrecken ), so ergibt sich eine sehr ungleichmäßige (unreine) Gitterstruktur Lässt man die Substanz jedoch langsam abkühlen, so ergibt sich am Ende des Abkühlvorgangs eine besonders gleichmäßige Gitterstruktur Gitterstruktur durch Abschrecken Erhitzte Substanz Gitterstruktur durch Annealing 295
Simulated Annealing: Einführung 2/2 Erklärung Allgemein streben Körper in der Natur nach einem Zustand mit möglichst niedriger Energie Der Abkühlprozess entspricht dem Streben nach einer Gitterstruktur mit dieser Eigenschaft natürliches Optimierungsverfahren Je wärmer der Körper ist, desto beweglicher sind die Teilchen der Gitterstruktur vorhandene (nicht optimale) Gitterstrukturen können aufgelöst werden Je kälter der Körper wird, desto unbeweglicher werden die Teilchen im Gitter und eine feste Gitterstruktur bildet sich aus Beachtenswert: Beim Übergang von einer sub-optimalen Gitterstruktur zu einer optimalen Gitterstruktur ist oftmals ein Zwischenzustand notwendig der noch sub-optimaler ist als der Ausgangszustand schlechtes Gitter sehr schlechtes Gitter gutes Gitter 296
Simulated Annealing: Nachteile lokaler Optimierungsverfahren Lokale Optimierungsverfahren Verfahren die innerhalb einer vorgegebenen Umgebung nach dem lokalen Extremum suchen Populärstes Beispiel: Gradienten-Abstiegsverfahren Finde das Minimum einer Funktion bei gegebenem Startpunkt 0 Startpunkt 1 2 3 Endpunkt der Suche Lokales Minimum globales Minimum Problem: Um das globale Minimum zu finden müssen ausgehend vom Startpunkt i.a. auch lokale Minima durchschritten werden Vorübergehend (aber nicht dauerhaft) müssen schlechtere Lösungen als eine Verbesserung akzeptiert werden 297
Simulated Annealing: Lokale Suche mit wechselndem Suchraum 1/2 Simulated Annealing erlaubt Überwindung lokaler Minima Grund-Algorithmus 1. Lege eine Initallösung fest (aktuelle Lösung zu Beginn der Optimierung) Zentrum des Lokalen Suchraums 2. Wähle im Umkreis des Zentrums (lokaler Suchraum) einen Lösungskandidaten aus 3. Entscheidung ob der Lösungskandidat die neue Lösung werden soll 4. Soll die Lösung übernommen werden, so verschiebt sich das Zentrum in die neue Lösung (Verschiebung des lokalen Suchraums) 5. Weiter bei 2 bis Abbruchkriterium erfüllt 298
Simulated Annealing: Lokale Suche mit wechselndem Suchraum 2/2 Veranschaulichung 2-Dimensionaler Suchraum lokaler Suchraum globaler Suchraum X1 0 1 2 3 4 5 6 7 8 9 10 11 Verlauf der Güte Hier Vereinfachung, Güte ist nur Abhängig von X2 X2 299
Simulated Annealing: Stochastische Elemente von Simulated Annealing 1/2 Metropolis-Algorithmus (1953, Metropolis et al.) Algorithmus zur Wahl einer zu testenden Lösung innerhalb des lokalen Suchraums und zur Entscheidung ob schlechtere Lösung als neues Zentrum benutzt wird heißt Metropolis-Algorithmus Ursprünglicher Zweck: Erzeugung einer Boltzmann-Verteilung Wahl einer zu testenden Lösung y: zu testende Lösung x: Zentrum des lokalen Suchraums y { x } : Radius des lokalen Suchraums Für konkrete Wahl von y wird eine Wahrscheinlichkeitsverteilung herangezogen Häufig eingesetzt: Gauss-Verteilung Bevorzugter Test von Lösungen in der Nähe des Zentrums Wahl der zu testen Lösung durch Zufall x x1 x2 300
Simulated Annealing: Stochastische Elemente von Simulated Annealing 2/2 Übernahme der getesteten Lösung Bestimmung der Energie (Güte) des Zentrums: E(x) Bestimmung der Energie (Güte) der Testlösung: E(y) Vergleiche E(x) mit E(y) Gilt E(y) < E(x) so wird y das neue Zentrum: x:=y Sonst ermittle die Energie-Differenz E=E(y)-E(x) Die neue (schlechtere) Lösung wird mit einer Wahrscheinlichkeit gemäß einer Exponential-Verteilung trotzdem übernommen p( E, T) e E / T p( E) 1 E: Gütedifferenz (abstrakte Energie-Differenz) T: (abstrakte) Temperatur p(t) E 1 T Je geringer die Energiedifferenz und je höher die Temperatur, desto wahrscheinlicher die Übernahme einer schlechteren Lösung 301
Simulated Annealing: Interpretation von Energie und Temperatur Interpretation der Energie Bei Minimierungsproblem soll Energie minimiert werden Bei Maximierungsproblemm soll Energie maximiert werden Transformation des Problems in ein Minimierungsproblem notwendig z.b. durch Inversion (1/E), oder durch Multiplikation mit -1 (-E) Achtung: 1/E ist nichtlinear Die Energie ist eine Metapher für ein Gütefunktional Interpretation der Temperatur Hohe Temperatur hohe Übernahmewahrscheinlichkeit Niedrige Temperatur geringe Übernahmewahrscheinlichkeit Temperatur entspricht Maß für Übernahmewahrscheinlichkeit Beschrieben wird eine Erhitzung mit anschließender Abkühlung Erhitzung: Initialtemperatur Abkühlung: Absenkung der Temperatur (z.b. exponentielle Abkühlung) Mit sinkender Temperatur sinkt die Übernahmewahrscheinlichkeit schlechter Lösungen 302
Simulated Annealing: Simulated Annealing Optimierungsalgorithmus 1. Lege eine Initallösung fest (Lösung zu Beginn der Optimierung) 2. Wähle im Umkreis des Zentrums (lokaler Suchraum) einen Lösungskandidaten aus Zum Beispiel durch Gauss-Verteilung 3. Entscheidung ob der Lösungskandidat die neue Lösung werden soll Berechnung von E(y) E sollte einfach zu berechnen sein Bessere Lösung auf jeden Fall übernehmen Schlechtere Lösung wird mit Wahrscheinlichkeit übernommen p( E, T) E / T 4. Bestimmung des neuen Zentrums und Abkühlung Verschiebung des Zentrums (oder eben nicht) Abkühlung: T=α*T, α є [0,1), Abkühlungskoeffizient e 5. Weiter bei 2 bis Abbruchkriterium erfüllt 303
Simulated Annealing: Eigenschaften Kombinierte globale und lokale Suche Die Extremum-Suche findet in einem lokalen Suchraum statt Das Zentrum des Suchraums verschiebt sich jedoch Lokale Suche im globalen Suchraum Unabhängigkeit von Initiallösung Initiallösung muss vorgegeben werden Ist Anfangstemperatur hoch genug kann ein lokales Extremum problemlos verlassen werden Mit sinkender Temperatur sinkt dann jedoch die Wahrscheinlichkeit für das Verlassen eines lokalen Extremums Am Anfang der Optimierung Suche eines guten lokalen Suchraums Am Ende der Optimierung Suche des Minimums im lokalen Suchraum Hybrides Optimierungsverfahren Bitcodierung der Lösung Diskrete Optimierung Fließkomma-Codierung der Lösung kontinuierliche Optimierung 304
Simulated Annealing: Typischer Suchverlauf Beispiel eines typischen Sucherverlaufs 2-Dimensionaler Lösungsraum (x1,x2) Mehrere lokale Minima globaler Suchraum Initiallösung Suche nach Umgebung mit globalem Minimum X1 Suche nach lokalem Minimum X2 305
Simulated Annealing: Anwendungsbeispiel 1/4 Travelling Salesman Problem Eines der schwierigsten bekannten diskreten Optimierungsprobleme Es gehört zur Klasse der NP-vollstänidgen Probleme Berechnungsaufwand steigt mit wachsender Größe des Problems stärker als polynomial an O TSP > O(n k ) Problembeschreibung Ein Handlungs-Reisender möchte auf einer Rundreise n Städte besuchen um dort seine Waren anzubieten Start und Endpunkt sind festgelegt Jede Stadt soll genau einmal besucht werden Die zurückgelegte Strecke soll minimal sein (Optimierungsproblem) Lösung mit Simulated Annealing Codierung der Lösung als Liste von Städten Energie zurückgelegte Gesamtstrecke (soll minimal werden) 306
Simulated Annealing: Anwendungsbeispiel 2/4 Globaler Suchraum Alle denkbaren Routen mit denen alle n Städte besucht werden Exakte Größe des Suchraums: Lösungen 10 Städte: 181440 Lösungen ( n 1)!/ 2 20 Städte: 60822550204416000 Lösungen 6*10 16 Lösungen Bereits bei 20 Städten kann man unmöglich alle Lösungen durchprobieren, bei 10 6 Lösungen pro Sekunde rechnet man mehr als 1902 Jahre um garantiert die optimale Lösung zu finden Bestimmung eines Lösungskandidaten Ausgangslösung: 1,2,3,..,i,i+1,,j-1,j,,n Kopiere Ausgangslösung, Schneide Segment i,,j aus Kopie heraus Invertiere Segment: i,i+1,,j-1,j j,j-1,,i+1,i Setze invertiertes Segment anstelle des Ursprungsegments in Kopie ein i,j werden zufällig bestimmt (z.b. mit Normalverteilung), wobei die Kette als Ring aufgefasst wird, sodass der Mittelwert der Normalverteilung auch verschoben werden kann 307
Simulated Annealing: Anwendungsbeispiel 3/4 Beispiel: Bestimmung des Lösungskandidaten (Fortsetzung) Initiallösung als Liste von Städten: 1,2,3,..,i,i+1,,j-1,j,,n Darstellung als Ring 1 2 i 1 2 i i+1 i+1 n n j j-1 j j-1 308
Simulated Annealing: Anwendungsbeispiel 4/5 Demo Applet für TSP-Problem von TU Clausthal http://www.math.tu-clausthal.de/arbeitsgruppen/stochastische-optimierung/ Beispiel TSP Problem 50 Städte Intiallösung: E=11603 Parameter T 0 = 10 α = 0,999 Anzahl Lösungen 3*10 62 Zum Vergleich Sonne besteht aus ca. 10 57 Atomen (Quelle: http://fma2.math.unimagdeburg.de/~bessen/krypto/krypto8.htm) 309
Simulated Annealing: Anwendungsbeispiel 5/5 Gefundene Lösung nach 60 Sekunden Rechenzeit E = 2361 36188 Lösungskandidaten abgesucht Optimale Lösung: unbekannt! 310
Simulated Annealing: Bewertung 1/2 Simulated Annealing Stochastisches Optimierungsverfahren Globale Optimierung Keine Optimierungsgarantie Praktisch ist nicht garantiert, dass das globale Optimum gefunden wird I.A. werden jedoch in endlicher Zeit quasi-optimale Lösungen gefunden Durch einen formalen Beweise wurde gezeigt, dass bei unendlicher Rechenzeit das globale Optimum gefunden wird (praktisch irrelevant) Auch bei unendlich niedriger Temperatur und großer Gütedifferenz wird die Wahrscheinlichkeit zum Wechsel des lokalen Minimums nie 0 Praktische Anwendbarkeit Der Algorithmus ist sehr simpel schnelle Abarbeitung Auch mit Skript-Sprachen einfach zu implementieren ideal zum Ausprobieren ob der Algorithmus auf ein Problem anwendbar ist 311
Simulated Annealing: Bewertung 2/2 Viele Varianten Bestimmung des Lösungskandidaten (Wahrscheinlichkeitsverteilung) Merken der besten Lösung (eine Art Elitismus) Periodisches partielles Erhöhen der Temperatur T T T 0 T 0 t Möglichkeit zum Verlassen eines lokalen Extremums Erfolgreiche Anwendung auf viele Probleme in der Praxis Travelling Salesman Problem Regler-Parameter-Optimierung t Codierung muss für jedes Problem neu gewählt werden Bei ungeeigneter Codierung versagt das Optimierungsverfahren In der Codierung steckt Wissen des Anwenders (Heuristik) 312
Zusammenfassung und Lernkontrolle zur 11. Vorlesung Grundidee von Simulated Annealing kennen Vorbild in der Physik Probleme lokaler Optimierungsverfahren kennen Beschreiben können warum Simulated Annealing stochastisch ist Wahl des Lösungskandidaten Entscheidung ob Lösung übernommen wird Metropolis-Algorithmus Travelling Salesman-Problem Beschreiben können Komplexität Lösung mit Simulated Annealing 313