Genetische Algorithmen
Überblick Worum geht es? Ablauf Beispiele Praxis Vor- und Nachteile
Was sind genetische Algorithmen? Optimierungs- bzw. Suchverfahren „Genetisch“ da Ähnlichkeit zur Evolution Optimierung endet bei erreichter Abbruchbedingung
Optimierungs- bzw Suchverfahren Fitnessfunktion (Maximieren oder Minimieren) Variablenabhängigkeit Lokales Maximum vs globales Maximum
Genetische Operatoren Selektion Bewertung der Lösungswege anhand der Fitnessfunktion
Genetische Operatoren Selektion Bewertung der Lösungswege anhand der Fitnessfunktion Mutation Zufällige Veränderung der „Gene“
Genetische Operatoren Selektion Bewertung der Lösungswege anhand der Fitnessfunktion Mutation Zufällige Veränderung der „Gene“ Kreuzung Kombination mehrerer „geeigneter“ Kandidaten
Genetische Operatoren Selektion Bewertung der Lösungswege anhand der Fitnessfunktion Mutation Zufällige Veränderung der „Gene“ Kreuzung Kombination mehrerer „geeigneter“ Kandidaten Ähnlichkeit zur Biologie aber nicht gleichzusetzen!
Ablauf Vorbereitung
Ablauf Vorbereitung Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit)
Ablauf Vorbereitung Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit
Ablauf Vorbereitung: Güte der einzelnen Lösungsmöglichkeiten berechnen Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit Güte der einzelnen Lösungsmöglichkeiten berechnen
Ablauf Vorbereitung: Güte der einzelnen Lösungsmöglichkeiten berechnen Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit Güte der einzelnen Lösungsmöglichkeiten berechnen Selektion der zur Mutation und Kreuzung geeigneten Lösungen
Ablauf Vorbereitung: Güte der einzelnen Lösungsmöglichkeiten berechnen Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit Güte der einzelnen Lösungsmöglichkeiten berechnen Selektion der zur Mutation und Kreuzung geeigneten Lösungen Genetische Operatoren ausführen bis Anzahl der Kinderpopulation der Elternpopulation entspricht
Ablauf Vorbereitung: Güte der einzelnen Lösungsmöglichkeiten berechnen Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit Güte der einzelnen Lösungsmöglichkeiten berechnen Selektion der zur Mutation und Kreuzung geeigneten Lösungen Genetische Operatoren ausführen bis Anzahl der Kinderpopulation der Elternpopulation entspricht Kinderpopulation ersetzt Elternpopulation
Ablauf Vorbereitung: Güte der einzelnen Lösungsmöglichkeiten berechnen Analyse des Problems und Erstellung der Zielfunktion (Variablenabhängigkeit) Festlegung der Anfangspopulation sowie der Abbruchbedingung, Kreuzungs- und Mutationswahrscheinlichkeit Güte der einzelnen Lösungsmöglichkeiten berechnen Selektion der zur Mutation und Kreuzung geeigneten Lösungen Genetische Operatoren ausführen bis Anzahl der Kinderpopulation der Elternpopulation entspricht Kinderpopulation ersetzt Elternpopulation Wiederholung ab Punkt 2 bis Abbruchbedingung erfüllt
Verkehrsbeispiel (Theorie)
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen Variablen (Durchschnittliche Auslastung der Straße, zulässige Höchstgeschwindigkeit, Baustellen, Ampeln...)
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen Variablen (Durchschnittliche Auslastung der Straße, zulässige Höchstgeschwindigkeit, Baustellen, Ampeln...) Anfangspopulation der Lösungswege, Kreuzungs- und Mutationswahrscheinlichkeit festlegen
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen Variablen (Durchschnittliche Auslastung der Straße, zulässige Höchstgeschwindigkeit, Baustellen, Ampeln...) Anfangspopulation der Lösungswege, Kreuzungs- und Mutationswahrscheinlichkeit festlegen Abbruchbedingung: Entweder wenn Ziel unterhalb einer Stunde erreicht wird oder wenn die 5 Generation gebildet wurde
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen Variablen (Durchschnittliche Auslastung der Straße, zulässige Höchstgeschwindigkeit, Baustellen, Ampeln...) Anfangspopulation der Lösungswege, Kreuzungs- und Mutationswahrscheinlichkeit festlegen Abbruchbedingung: Entweder wenn Ziel unterhalb einer Stunde erreicht wird oder wenn die 5 Generation gebildet wurde Güte der einzelnen Lösungen berechnen und selektieren
Verkehrsbeispiel Zielfunktion soll benötigte Zeit vom Startpunkt über die Zwischenstationen zum Zielort darstellen Variablen (Durchschnittliche Auslastung der Straße, zulässige Höchstgeschwindigkeit, Baustellen, Ampeln...) Anfangspopulation der Lösungswege, Kreuzungs- und Mutationswahrscheinlichkeit festlegen Abbruchbedingung: Entweder wenn Ziel unterhalb einer Stunde erreicht wird oder wenn die 5 Generation gebildet wurde Güte der einzelnen Lösungen berechnen und selektieren Genetische Operationen ausführen
Wikipedia Beispiel
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen Minimierung als Ziel
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen Minimierung als Ziel Kreuzung geschieht mit zwei zufällig ausgewählten Genomen der Elterngeneration
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen Minimierung als Ziel Kreuzung geschieht mit zwei zufällig ausgewählten Genomen der Elterngeneration p ∈ {0, 1, 2, 3, 4} wird zufällig gewählt
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen Minimierung als Ziel Kreuzung geschieht mit zwei zufällig ausgewählten Genomen der Elterngeneration p ∈ {0, 1, 2, 3, 4} wird zufällig gewählt Kindgenom wird aus Elterngenomen zusammengesetzt, wobei die p vorderen Elemente vom ersten und die 5-p hinteren Elemente des zweiten Elterngenoms verwendet werden
Wikipedia Beispiel Fitnessfunktion f(a,b,c,d,e)=|a-b|+|b-c|+|c-d|+|d-e|+|e-a| Wobei a,b,c,d,e Variablen der Fitnessfunktion Genom des Individums (Lösungsweg) besteht aus den Variablen Minimierung als Ziel Kreuzung geschieht mit zwei zufällig ausgewählten Genomen der Elterngeneration p ∈ {0, 1, 2, 3, 4} wird zufällig gewählt Kindgenom wird aus Elterngenomen zusammengesetzt, wobei die p vorderen Elemente vom ersten und die 5-p hinteren Elemente des zweiten Elterngenoms verwendet werden G‘ = (23, 33, 11, -9, -8) und G‘‘ = (44, 12, -48, -2, 29) und p=2 dann ist das Kind G = (23, 33, -48, -2, -29)
Wikipedia Beispiel Mutation ist für jede Position p ∈ {0, 1, 2, 3, 4} im Genom eine Addition an dieser Position um q ∈ {-1, 0, 1} Pro Generation und Position besteht eine 1% Wahrscheinlichkeit auf Mutation
Wikipedia Beispiel Mutation ist für jede Position p ∈ {0, 1, 2, 3, 4} im Genom eine Addition an dieser Position um q ∈ {-1, 0, 1} Pro Generation und Position besteht eine 1% Wahrscheinlichkeit auf Mutation Selektion nimmt beste Ergebnisse aus Eltern und Kindpopulation (Anzahl der Ausgangspopulation muss erhalten bleiben)
Wikipedia Beispiel Mutation ist für jede Position p ∈ {0, 1, 2, 3, 4} im Genom eine Addition an dieser Position um q ∈ {-1, 0, 1} Pro Generation und Position besteht eine 1% Wahrscheinlichkeit auf Mutation Selektion nimmt beste Ergebnisse aus Eltern und Kindpopulation (Anzahl der Ausgangspopulation muss erhalten bleiben) Startpopulation 50 Jedes Gen erhält zufälligen Wert zwischen –50 und 50
Wikipedia Beispiel Mutation ist für jede Position p ∈ {0, 1, 2, 3, 4} im Genom eine Addition an dieser Position um q ∈ {-1, 0, 1} Pro Generation und Position besteht eine 1% Wahrscheinlichkeit auf Mutation Selektion nimmt beste Ergebnisse aus Eltern und Kindpopulation (Anzahl der Ausgangspopulation muss erhalten bleiben) Startpopulation 50 Jedes Gen erhält zufälligen Wert zwischen –50 und 50 Abbruchbeding: Durchschnittliche Fitness hat sich über 10 Generationen nicht verändert
Wikipedia Beispiel Mutation ist für jede Position p ∈ {0, 1, 2, 3, 4} im Genom eine Addition an dieser Position um q ∈ {-1, 0, 1} Pro Generation und Position besteht eine 1% Wahrscheinlichkeit auf Mutation Selektion nimmt beste Ergebnisse aus Eltern und Kindpopulation (Anzahl der Ausgangspopulation muss erhalten bleiben) Startpopulation 50 Jedes Gen erhält zufälligen Wert zwischen –50 und 50 Abbruchbeding: Durchschnittliche Fitness hat sich über 10 Generationen nicht verändert Genom mit dem Besten Ergebnis der Endpopulation ist Ergebnis
Wikipedia Beispiel Behauptung: Nach etwa 70 Generationen lautet das Ergebnis a=b=c=d=e Es kann viele gleichwertige Lösungen geben z.B. (4,4,4,4,4) / (-21,-21,-21,-21,-21)... Das Ergebnis ist in diesem Fall eine optimale Lösung
Wikipedia Beispiel Behauptung: Überprüfung: Nach etwa 70 Generationen lautet das Ergebnis a=b=c=d=e Es kann viele gleichwertige Lösungen geben z.B. (4,4,4,4,4) / (-21,-21,-21,-21,-21)... Das Ergebnis ist in diesem Fall eine optimale Lösung Überprüfung: 70 Generationen kann so nicht bestätigt werden, da sehr abhängig von der Entwicklung der Genome Abbruchbedingung nicht optimal gewählt (Spielraum) Generell konnte die Annahme bestästigt werden
Vor- und Nachteile Genetische Algorithmen ermöglichen Problem-lösungen für komplexe Aufgabenstellungen zu finden
Vor- und Nachteile Genetische Algorithmen ermöglichen Problem-lösungen für komplexe Aufgabenstellungen zu finden Parallele Suche in einer Menge von möglichen Lösungen
Vor- und Nachteile Genetische Algorithmen ermöglichen Problem-lösungen für komplexe Aufgabenstellungen zu finden Parallele Suche in einer Menge von möglichen Lösungen Nichtlineare Probleme können gelöst werden
Vor- und Nachteile Genetische Algorithmen ermöglichen Problem-lösungen für komplexe Aufgabenstellungen zu finden Parallele Suche in einer Menge von möglichen Lösungen Nichtlineare Probleme können gelöst werden Keine Garantie auf optimale Lösung
Vor- und Nachteile Genetische Algorithmen ermöglichen Problem-lösungen für komplexe Aufgabenstellungen zu finden Parallele Suche in einer Menge von möglichen Lösungen Nichtlineare Probleme können gelöst werden Keine Garantie auf optimale Lösung Gegebenenfalls großer Rechenbedarf
?