1 / 33

Genetische Algorithmen

Genetische Algorithmen. Vortrag im Rahmen der Lehrveranstaltung „Operations Research“ im Wintersemester 2004 / 05. Agenda. Einführung Begriffserklärung Pseudocode eines Genetischen Algorithmus Codierung Fitness- und Bewertungsfunktion Das Heiratsschema Crossover- Operatoren Mutationen

acton
Download Presentation

Genetische Algorithmen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genetische Algorithmen Vortrag im Rahmen der Lehrveranstaltung „Operations Research“ im Wintersemester 2004 / 05

  2. Agenda • Einführung • Begriffserklärung • Pseudocode eines Genetischen Algorithmus • Codierung • Fitness- und Bewertungsfunktion • Das Heiratsschema • Crossover- Operatoren • Mutationen • Ersetzungsschema • Fazit Operations Research - Genetische Algorithmen

  3. Einführung Einführung • • Genetische Algorithmen gehören zu der Gruppe der • Evolutionären Algorithmen • • Genetische Evolution wird imitiert • • John Holland war wichtigster Mitbegründer der • genetischen Programmierung • • Holland beschäftigte sich eher für die theoretischen • Aspekte der Evolution Operations Research - Genetische Algorithmen

  4. Was können Genetische Algorithmen? • NP- Vollständige Optimierungsprobleme „Traveling Salesman“ • Diskrete Optimierungsprobleme „Rucksackproblem“ • Lineare Optimierungsprobleme „Transportproblem“ Was können GA? Operations Research - Genetische Algorithmen

  5. Begriffserklärung Begriffserklärung Operations Research - Genetische Algorithmen

  6. Pseudocode desGenetischen Algorithmus •Wahl einer geeigneten Codierung der Chromosomen •Initialisierung einer zufälligen Population von Chromosomen. Die Ausgangspopulation wird Generation 0 genannt REPEAT • Bewertung aller Elemente der aktuellen Generation gemäß Bewertungs- und / oder Fitnessfunktion •Selektion der Paare gemäß Heiratsschema und Erzeugung der Nachkommen der aktuellen Generation mittels Rekombination (Crossover) • Mutieren der Nachkommen • Ersetzung der Elemente der aktuellen Generation durch die Nachkommen gemäß Ersetzungsschema. Somit wird eine neue Generation erzeugt (survival of the fittest). UNTIL Abbruchbedingung erfüllt (z.B. Generation = 1000) Pseudocode des GA Operations Research - Genetische Algorithmen

  7. Codierung • Bei genetischen Algorithmen wird in der Regel die binäre Codierung eingesetzt. • Ein Chromosom wird als binärer Vektor dargestellt: • Binärer Vektor y aus der Menge M heißt Chromosom und ist ein Element aus Mn = {0,1}n ; - n >= 1; - y = (y1, y2, ..., yn). - Mn und jede Teilmenge n von Mn wird als Population bezeichnet . Codierung Beispiel:y = (0, 1, 0, 1, 0, 1, 0, 1) Operations Research - Genetische Algorithmen

  8. Binäre Codierung vs. Reelle Codierung Codierung Operations Research - Genetische Algorithmen

  9. Fitness- und Bewertungsfunktion • Bewertungsfunktion misst, wie gut ein Chromosom das Optimum approximiert • Fitness gibt an, wie sich aus Güte (also der Bewertung des Chromosom) die Chance für das Chromosom errechnet, sich in der nächsten Generation zu reproduzieren • Grund zwischen den Begriffen nicht zu unterscheiden: • häufig gleiche Funktion für Bewertung und Fitness • Fitness-Funktion ist der Einfachheit halber eine simple Transformation der Bewertung Operations Research - Genetische Algorithmen

  10. bi sei die Bewertung von xi Fit(xi) die Fitness Proportionale Fitness mit Lineare Fitness L sei eine lineare Funktion auf reelle Zahlen Für konstantes k > 0 Für konstante K, step > 0 Fitness- und Bewertungsfunktion Fitness Operations Research - Genetische Algorithmen

  11. Das Heiratsschema • Es wird festgelegt, welche Individuen der Gesamtpopulation Nachkommen erzeugen • Aus zwei Eltern entstehen zwei Nachkommen (Normalfall) • Die Wahrscheinlichkeit der Fortpflanzung eines Individuums sollte proportional zu dessen Fitness sein. • Häufigste verwendete Heiratsschema ist „Roulette – Wheel“ Heiratsschema Operations Research - Genetische Algorithmen

  12. Roulette - Wheel Heiratsschema - Algorithmus 1. Für Jedes Chromosom xi Bewertung B (xi) bestimmen 2. Alle Bewertungen addieren: B = B (xi) = 20.0 3. Chromosomen zufällig ordnen und mit natürlichen Zahlen indizieren Wiederhole bis genügend Paare gebildet: 4. Zufallszahlen n, m generieren mit 1 <= n, m <= B; z.B. n = 5, m = 14 5. Finde kleinste Zahl i mit B (xb) >= n ; i = 3 6. Finde kleinste Zahl j mit B (xb) >= m; j = 5 7. Gib xi und xj als Chromosomenpaar zurück Heiratsschema Operations Research - Genetische Algorithmen

  13. Traveling Salesman Problem Crossover – Operatoren • Annahme : 5 Städte [A, B, C, D, E] • Mögliche Wege : ab, ac, ad, ae, bc, bd, be, cd, ce, de • Wahl einer geeigneten Repräsentation Operations Research - Genetische Algorithmen

  14. Traveling Salesman Problem 1. Möglichkeit der Repräsentation: Beispiel: Weg ab ac ad ae bc bd be cd ce de 1 0 0 1 1 0 0 1 0 1 Problem: Es gibt auch ungültige Bitstrings: - Keine geschlossene Wegstrecke, Beispiel: 1 1 1 1 1 1 1 1 1 1 Crossover – Operatoren  Schlechte Repräsentation, da Gültigkeitsprüfung sehr aufwendig! Operations Research - Genetische Algorithmen

  15. Traveling Salesman Problem 2. Möglichkeit der Repräsentation: - Jeder Stadt wird genau ein Index zugeordnet.          - Bei 5 Städten = Index 0 ... 4          - Jeder Index darf im Vektor nur einmal vorkommen. Beispiel: Weg (Vektor) A B C D E 0 1 2 3 4 Crossover – Operatoren  Gute Repräsentation, da Gültigkeitsprüfung einfacher! Operations Research - Genetische Algorithmen

  16. PMX – Algorithmus(Partially matched crossover) (a) Wähle zufällig zwei Positionen des Reihenfolgevektors und vertausche in diesem Intervall die jeweiligen Teilsequenzen in den Eltern- Lösungen A und B. (b) Wiederhole für jeden doppelten Wert w in A1 (B1): i.Suche die Position p, an der w im Elternteil B (A) steht. ii.Ersetze den Wert w der in A1(B1) außerhalb des Tauschintervalls steht, durch den Wert, der in A (B) an der Position p steht. Crossover – Operatoren 3 4 Operations Research - Genetische Algorithmen

  17. OX – Algorithmus(Order crossover) (a)Markiere die Gene innerhalb des Intervalls im jeweiligen anderen Elternteil als Lücke (X). (b) Ordne die verbleibenden Indizes und die Lücken neu an. (c) Führe anschließend den Tausch im Intervall durch. X X X X Crossover – Operatoren Operations Research - Genetische Algorithmen

  18. CX – Algorithmus Cycle crossover     (a) Wähle zufällig eine Position in einem Elternteil als aktuelle Position. (b)Übernehme den dort stehenden Wert in den Nachkommen. (c) Überprüfe, welcher Wert an der aktuellen Position im anderen Elternteil steht, und suche die Position, an der dieser Wert im ersten Elternteil auftritt. Dies ist die neue aktuelle Position. (d) Wiederhole bis wieder die Anfangsposition erreicht ist, sich also ein Ring gebildet hat (daher die Benennung des Operators). Crossover – Operatoren 1 2 Operations Research - Genetische Algorithmen

  19. UOBX – Algorithmus(Uniform order based crossover) (a) Erzeuge Zufallsstring in Länge des Reihenfolgevektors. (b) Arbeite binären Vektor positionsweise ab, wie folgt:      - Steht eine 1 (0), so übernehme Gen von Eltern A (B) in Nachkommen a1 (b1).      - Fülle die Lücken mit den verbleibenden Werten in der Reihenfolge, wie sie im jeweils anderen Elternteil stehen. Crossover – Operatoren Operations Research - Genetische Algorithmen

  20. One point crossover A = (A1, ..., An)B = (B1, ..., Bn) wähle r {1, ..., n-1} zufällig Aneu = ( A1, ..., Ar, Br + 1, ..., Bn ) Bneu = ( B1, ..., Br, Ar + 1, ..., An ) Beispiel:A = ( 0 1 1 1 | 1 1 1 1 ) B = ( 1 0 0 0 | 0 0 0 0 ) Aneu = ( 0 1 1 1 0 0 0 0 ) Bneu = ( 1 0 0 0 1 1 1 1 ) Crossover – Operatoren Operations Research - Genetische Algorithmen

  21. Two point crossover A = (A1, ..., An)B = (B1, ..., Bn) wähle r, s {1, ..., n}, r < s zufällig Aneu = ( A1, ..., Ar, Br + 1, ..., Bs, As + 1, …, An) Bneu = ( B1, ..., Br, Ar + 1, ..., As, Bs + 1, …, Bn) Beispiel: A = ( 0 1 1 | 11 | 1 1 1 ) B = ( 1 0 0 | 0 0 | 0 0 0 ) Aneu = ( 0 1 1 0 0 1 1 1 ) Bneu = ( 1 0 0 11 0 0 0 ) Crossover – Operatoren Operations Research - Genetische Algorithmen

  22. Mutation Mutationen dienen zum verhindern einer frühzeitigen Konvergenz (premature convergence), und um eine gewisse Divergenz und Inhomogenität der Population zu sorgen. Ziel Findung gänzlich anderer Lösungen - also Lösungen, die mit der Kreuzung allein nicht generiert werden können. Mutation Operations Research - Genetische Algorithmen

  23. Mutationsarten Eine typische Mutation für ein Chromosom x = <x1,…,xn> sieht folgendermaßen aus: Bit-Flip Mutation • Wähle eine Zufallszahl z mit • Betrachte das Gen • Setzte 1 n Mutation Operations Research - Genetische Algorithmen

  24. Mutationsarten Positionsmutation • Wähle für jede Position xi des Chromosomen eine Zahl zi mit • Wähle für jede Position xi eine Zufallszahl ri mit • Ist , so setze , sonst lasse xi unverändert r z 1 n x Mutation Operations Research - Genetische Algorithmen

  25. Mutationsarten Inversion Chromosom x = <x1,…,xn> • Wähle zwei gleichverteilte Zufallszahlen • Für alle setze 1 n Mutation Operations Research - Genetische Algorithmen

  26. Ersetzungsschema Die Aufgabe der Ersetzungsschemata ist es, zu entscheiden, was mit der bisherigen Population geschehen soll, nachdem sie Nachkommen erzeugt hat. Denn die Population soll in jeder Generation ungefähr gleich groß sein. Ersetzungs- schema Operations Research - Genetische Algorithmen

  27. Ersetzungsschemata Generational Replacement Ersetze die aktuelle Population vollständig durch ihre Nachkommen Elitismus Übernehme die n besten Elemente (die Elite) der aktuellen Population unverändert in die nächste Generation Schwacher Elitismus Übernehme die n besten Elemente (die Elite) der aktuellen Population in mutierter Form in die nächste Generation Ersetzungs- schema Operations Research - Genetische Algorithmen

  28. Ersetzungsschemata Delete-n-last Ersetze die n schlechtesten Elemente der aktuellen Population durch n Nachkommen der Vorgängergeneration Delete-n Ersetze n zufällig gewählte Elemente der aktuellen Population durch n Nachkommen der Vorgängergeneration Delete-n mit Elitismus Ersetze n zufällig gewählte Elemente der aktuellen Population ohne Elite durch n Nachkommen der Vorgängergeneration Ersetzungs- schema Operations Research - Genetische Algorithmen

  29. Ersetzungsschemata Ersetzungsschema X: mit Alterung Behalte einen Teil der Population für ein paar Generationen in einem "Altersheim„ auf und beteilige ihn an der Fortpflanzung. Der Grund für dieses Modell ist, dass der beste Partner für ein Individuum in einer späteren Generation folgen könnte. Ersetzungsschema X: mit Kindergarten Behalte einen Teil der Nachkommen für einige Generationen in einem "Kindergarten", und beteilige ihn erst dann an der Fortpflanzung, wenn sich die Individuen im "Kindergarten" durch Mutation (hoffentlich) verbessert haben. Ersetzungs- schema Operations Research - Genetische Algorithmen

  30. Vorteile Durch Selektion auch weniger guter Individuen sind „versteckte“ globale Optima besser auffindbar Parallelisierbarkeit beschleunigt Rechengeschwindigkeit Methoden können mit anderen Verfahren kombiniert werden Nachteile Keine Optimalitätsgarantie für Heuristiken Hoher Rechenaufwand (mehr Funktionsauswertung) Die Festlegung der Strategie-parameter setzt die Erfahrung und Expertenwissen voraus Vor- und Nachteile Fazit Operations Research - Genetische Algorithmen

  31. Fazit Bei der Bearbeitung eines Optimierungsproblems muss die Zielfunktion keine speziellen algebraischen oder analytischen Eigenschaften (Linearität, Konvexität, Stetigkeit, Differenzierbarkeit) besitzen. Genetische Algorithmen sind daher insbesondere zur Optimierung nicht linearer Funktionen geeignet. In vielen Fällen führt bereits der Einsatz problem-unabhängiger Standardoperatoren des klassischen Genetischen Algorithmus zu befriedigenden Resultaten. Doch es gibt auch Grenzen der Einsetzung! Fazit Operations Research - Genetische Algorithmen

  32. Quellen • Eberhard Schöneburg, Frank Heinzmann, Sven Feddersen: „Genetische Algorithmen und Evolutionsstrategien“, 1994 • Uwe Schöning: „Algorithmik“, 2001 • Wolfgang Hauke, Otto Opitz „Mathematische Unternehmensplanung“ 2003 • www.wikipedia.org Quellen Operations Research - Genetische Algorithmen

  33. Vielen Dank für Ihre Aufmerksamkeit ! Operations Research - Genetische Algorithmen

More Related