Genetische Algorithmen

Download Report

Transcript Genetische Algorithmen

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
1.
Vorbereitung
Ablauf
1.
Vorbereitung
–
Analyse des Problems und Erstellung der Zielfunktion
(Variablenabhängigkeit)
Ablauf
1.
Vorbereitung
–
–
Analyse des Problems und Erstellung der Zielfunktion
(Variablenabhängigkeit)
Festlegung der Anfangspopulation sowie der Abbruchbedingung,
Kreuzungs- und Mutationswahrscheinlichkeit
Ablauf
1.
Vorbereitung:
–
–
2.
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
1.
Vorbereitung:
–
–
2.
3.
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
1.
Vorbereitung:
–
–
2.
3.
4.
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
1.
Vorbereitung:
–
–
2.
3.
4.
5.
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
1.
Vorbereitung:
–
–
2.
3.
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
4.
5.
–
Wiederholung ab Punkt 2 bis Abbruchbedingung erfüllt
Verkehrsbeispiel
(Theorie)
Verkehrsbeispiel
1.
Zielfunktion soll benötigte Zeit vom Startpunkt über die
Zwischenstationen zum Zielort darstellen
Verkehrsbeispiel
1.
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
1.
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
1.
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
1.
Zielfunktion soll benötigte Zeit vom Startpunkt über die
Zwischenstationen zum Zielort darstellen
–
–
–
2.
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
1.
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
2.
Güte der einzelnen Lösungen berechnen und selektieren
3.
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}
•
–
•
Selektion nimmt beste Ergebnisse aus Eltern und
Kindpopulation (Anzahl der Ausgangspopulation muss
erhalten bleiben)
Startpopulation 50
•
–
•
Pro Generation und Position besteht eine 1% Wahrscheinlichkeit
auf Mutation
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}
•
–
•
Selektion nimmt beste Ergebnisse aus Eltern und
Kindpopulation (Anzahl der Ausgangspopulation muss
erhalten bleiben)
Startpopulation 50
•
–
•
•
Pro Generation und Position besteht eine 1% Wahrscheinlichkeit
auf Mutation
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:
–
–
–
•
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 Problemlösungen für komplexe Aufgabenstellungen zu
finden
Vor- und Nachteile
•
•
Genetische Algorithmen ermöglichen Problemlösungen für komplexe Aufgabenstellungen zu
finden
Parallele Suche in einer Menge von möglichen
Lösungen
Vor- und Nachteile
•
•
•
Genetische Algorithmen ermöglichen Problemlö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 Problemlö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 Problemlö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