Stefan Bens Hauptseminar Dresden, 03.07.2008
Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2
Als Repräsentation bezeichnet man die Kodierung der Lösungsmenge einer Optimierungsaufgabe Ein Problem kann mit verschiedenen Repräsentationen dargestellt werden Repräsentationen haben Einfluss auf: Qualität der Lösung Performanz (aus Rothlauf: OptiNet: Ein Optimierungswerkzeug für baumförmige Netzwerkprobleme, 2003) Folie 3
Einfaches Beispiel Repräsentation von a: Funktion f(a) mit der Bedingung: a N ; 0 a 99 Binär: 7 Bit für Kodierung aller Lösungskandidaten Bsp.: 1110010 = 114 Entstehung nicht korrekter Lösungen Zusätzlicher Rechenaufwand Dezimal: Jedes Individuum aus zwei Zahlen zwischen 0 und 9 ist eine korrekte Lösung. Folie 4
Exkurs: Evolutionäre Algorithmen Rekombination Mutation Trennung der Repräsentationen von zwei (oder mehr) Individuen an einer zufälligen Stelle Aus einzelnen Teilen Erzeugung neuer Individuen Beispiel: 1101 1001 + 1011 0010 Selektion 11010010 10111001 Folie 5
Exkurs: Evolutionäre Algorithmen Rekombination Mutation Selektion Zufällige Änderung in der Repräsentation eines Individuums zur Überwindung lokaler Optima Darf nur kleine Änderungen im Individuum selbst erzeugen Beispiel: 11010010 => 11010110 Folie 6
Anwendung der Veränderungsoperatoren (wie Rekombination, Mutation) auf die Repräsentation einer Lösung Bestimmung der Qualität der Lösung durch Einsetzen der Lösung selbst in die Optimierungsaufgabe (wie bei Selektion) Folie 7
Zerlegung eines Optimierungsproblem f(x) in zwei Teilprobleme: 1. Abbildung der Genotypen auf die Phänotypen f g x g : g p Phänotyp = eine Lösung des Optimierungsproblems Genotyp = Beschreibung der Lösung; die Repräsentation Beispiel: natürliche Zahl 5 Phänotyp 101 Genotyp (binäre Repräsentation) 2. Abbildung der Phänotypen auf die Fitness f p x p : p R Fitness = Kosten, die eine Lösung in dem Optimierungsproblem erzeugt Folie 8
Binäre Repräsentation Codierung einer Lösung in einem Bitstring Codierung von ganzzahligen und reellen Zahlen ebenfalls möglich Ganzzahlig: hauptsächlich Verwendung von Gray-Code Vorteil: kleine Änderungen der Repräsentation führen auch zu kleinen Änderungen in der Lösung Reell: Genauigkeit der Lösung wird durch Anzahl Bits und Größe des Lösungsintervalls definiert Wird oft bei genetischen Algorithmen verwendet, bei denen der Mutationsoperator eine untergeordnete Rolle spielt Gut geeignet für kombinatorische Optimierungsprobleme (z.b. Rucksackproblem) Folie 9
Ganzzahlige Repräsentation Erweiterung des Alphabets der binären Repräsentationen Vorteil: mit String gleicher Länge lassen sich mehr Individuen kodieren Verhinderung der Erzeugung nicht korrekter Lösungen Oftmals dennoch Nutzung einer binären Repräsentation zur Darstellung ganzer Zahlen Evolutionäre Algorithmen: Verwendung der Standardoperatoren Rekombination und Mutation Folie 10
Reellwertige Repräsentation Codierung der Lösung mithilfe reeller Zahlen Findet häufig Verwendung bei mutationsbasierten Algorithmen (z.b. evolutionäre Programmierung) Veränderung einzelner Werte in der Lösung durch Addition mit kleinen Zufallszahlen Bei Algorithmen mit geringer Mutation Darstellung der reellen Werte durch binäre Repräsentationen Folie 11
Kombinierte Repräsentation Verwendung mehrerer Variablentypen Beispiel: Entwicklung von Getrieben Zahnräder besitzen Zähne (ganzzahlig) und einen Durchmesser (reellwertig) Repräsentation: Zähne als Binärstring, Durchmesser als Realzahl (10011 23,5) --> 19 Zähne, 23,5 mm Durchmesser Anwendung der Veränderungsoperatoren auf die einzelnen Teile der Lösung Anzahl Zähne wird durch binäre Operatoren verändert Durchmesser durch reellwertige Operatoren Folie 12
Repräsentation mithilfe von Permutation Bisher: in Lösungsvektor Veränderung der Werte der einzelnen Elemente, Positionen der Elemente im Vektor aber unverändert Hier: Veränderung der Positionen der einzelnen Elemente, deren Werte werden beibehalten Wichtig für Reihenfolgenprobleme Bsp.: Scheduling, Travelling Salesman Problem Folie 13
Direkte Repräsentation Operatoren zur Erzeugung neuer Lösungskandidaten (z.b. genetische Operatoren) werden direkt auf die Individuen angewendet Keine Abbildung Genotyp Phänotyp nötig Vorteil: Kein Verlust an Informationen durch Codierung Nachteile: Entwicklung geeigneter Operatoren schwierig, in vielen Fällen sind solche Operatoren gar nicht verfügbar Lösung ist problemspezifisch, kann also nicht weiter genutzt werden Folie 14
Eigenschaften Redundanz Anzahl Genotypen größer als Phänotypen Ein Individuum kann mehrfach beschrieben werden, dadurch Wahrscheinlichkeit höher, schnell eine optimale Lösung zu finden Durch diese Vergrößerung des Suchraums allerdings auch höherer Rechenaufwand, z.b. mehr Möglichkeiten der Mutationen Existenz von neutraler Mutation: eine Mutation im Genotyp führt zu keiner Änderung des Individuums Folie 15
Eigenschaften Redundanz Synonymously redundant representations Genotypen, die ein und dasselbe Individuum beschreiben, haben ähnliche Eigenschaften, unterscheiden sich also kaum Non-synonymously redundant representations Große Unterschiede in den Genotypen, obwohl Phänotypen identisch Folie 16
Eigenschaften Redundanz (aus Rothlauf: Representations for Evolutionary Algorithms) Folie 17
Eigenschaften Lokalität Beschreibt, welche Individuen durch benachbarte Genotypen beschrieben werden Hohe Lokalität alle benachbarten Genotypen erzeugen benachbarte Phänotypen Beispiel: Gray-Kodierung Geringe Lokalität Größerer Zufallseinfluss bei Problemlösung kleine Änderung des Genotypen (z.b. durch Mutation) kann große Änderung des Individuums erzeugen Folie 18
Eigenschaften Lokalität Beispiel: Prüfernummern P = 2233 P = 2231 (aus: Rothlauf: Representations for Genetic and Evolutionary Algorithms, Springer 2006) Folie 19
Aus: Optinet: Ein Optimierungswerkzeug für baumförmige Netzwerkprobleme, Rothlauf, 2003 Gegeben: Graph mit 5 Knoten Alle Kanten gewichtet Gesucht: Spannender Baum mit minimalen Kantenkosten Für n Knoten existieren n n-2 spannende Bäume (Cayley 1889) Hier: 5³ = 125 Bäume Folie 20
Charakteristischer Vektor Binäre Repräsentation Jeder Kante wird eine Position in einem binären Vektor zugeordnet A-B A-C A-D A-E B-C B-D B-E C-D C-E D-E 0 1 0 0 0 1 0 1 0 1 Nachteile: Kantengewichte unberücksichtigt Erkennung und Reparatur nicht korrekter Lösungen Folie 21
Random Keys Permutationsrepräsentation mit reellen Zahlen zwischen 0 und 1 Redundant (synonymously), hohe Lokalität Bildung eines Vektor mit Zufallszahlen zwischen 0 und 1 Anordnung der Elemente der Lösung entsprechend der absteigend sortierten Reihenfolge der Zufallszahlen Beispiel: (0,53 ; 0,21 ; 0,78 ; 0,44) Permutationsvektor: 3 1 4 2 Für eine Lösungsmenge ABCD würde sich ergeben: C A D B Folie 22
Network Random Keys Speziell für Baumprobleme Vektor der Länge n(n-1)/2 bei n Knoten (Anzahl der Kanten) Hier: n = 5 -- > Vektor der Länge 10 Kante A-B A-C A-D A-E B-C B-D B-E C-D C-E D-E Pos. 1 2 3 4 5 6 7 8 9 10 Wert 0,55 0,73 0,09 0,23 0,4 0,82 0,65 0,85 0,75 0,9 Folie 23
Prüfernummern Ganzzahlige Repräsentation Nicht redundant, geringe Lokalität Für einen Baum mit n Knoten: Prüfernummer ist ein String aus (n-2) Elementen Alphabet besteht aus n Symbolen Aus jedem spannenden Baum lässt sich eine Prüfernummer generieren und aus jeder Prüfernummer ein Baum Keine Reparaturmaßnahmen notwendig, da jede Prüfernummer einen korrekten Baum repräsentiert Nachteil: geringe Lokalität erschwert Lösung einfacher Probleme Folie 24
Prüfernummern 5 Knoten Prüfernummer besteht aus 3 Elementen Alphabet besteht aus 5 Symbolen, z.b. Zahlen 1 bis 5 Zugehörige Prüfernummer: P = 344 Folie 25
Folie 26
Weitere Beispiele Truck and Trailer Vehicle Routing Problem Aus: A Hybrid Multiobjective Evolutionary Algorithm For Solving Truck And Trailer Vehicle Routing Problems, Tan et.al., 2006 Ziel: Transport von Anhängern, dabei Minimierung von Anzahl LKW's und Transportdistanz Verwendung einer direkten Repräsentation, Lösungsvektoren haben variable Länge, Nutzung problemspezifischer genetischer Operatoren Vektor beschreibt kompletten Routingplan Besteht aus allen durchzuführenden Routen Route besteht aus Aufträgen, die von einem LKW ausgeführt werden Art des Auftrags wird mit einem ganzzahligen Wert beschrieben (hier 12 verschiedene Auftragsarten) Im Auftrag sind Start- und Zielpunkt enthalten --> Entfernung Folie 27
Weitere Beispiele Ansatz von Nakano und Yamada Aus: Conventional Genetic Algorithm for Job Shop Problems, Nakano, Yamada, 1991 Beschreibung von Maschinenbelegungsplänen Binäre Repräsentation einer Vorrangsbeziehung Vorrangsbeziehung bescheibt, ob ein Arbeitsgang A vor einem Arbeitsgang B ausgeführt wird, wenn beide die gleiche Maschine benötigen Maschinenbelegunsplan besteht aus binären Vektoren, die die einzelnen Vorrangsbeziehungen der Arbeitsgänge beschreiben Folie 28
Eine ungeeignete Repräsentation führt zu erhöhtem Rechenaufwand! Wahl der geeigneten Repräsentation abhängig vom Optimierungsproblem Verwendung von Repräsentationen mit hoher Lokalität zur Lösung einfacher Probleme Für reihenfolgenabhängige Probleme Nutzung von Permutationsrepräsentationen Kombinatorische Optimierungsprobleme (z.b. Rucksackproblem): binäre Repräsentation Optimierung von reellwertigen Variablen: Reellwertige Repräsentation und Nutzung eines Optimierungsalgorithmus mit Nachbarschaftssuche (z.b. mutationsbasierte EA, TabuSearch) Folie 29
Vielen Dank für die Aufmerksamkeit! Fragen? Folie 30