Da wir eine durchführbare Lösung von Genetic Algorithm erwarten, wird also der genetische Algorithmus jedes Mal mit der gleichen Eingabemenge verschiedene Ausgaben liefern?Wird der genetische Algorithmus jedes Mal unterschiedliche Ausgaben liefern?
Antwort
Kommt drauf an.
- GAs nehmen verschiedene Routen durch den Lösungsraum; und
- Gase sind nicht
Gase sind in der Regel auf komplexe Problemen mit großen Lösungen Räumen mit gewundenen Auszahlungen und lokalen Minima verwenden konvergieren garantiert. Bei solchen Problemen würden Sie am Ende eines GA-Laufs keine identischen Ausgaben erwarten.
Auf der anderen Seite können GAs auf große Probleme angewendet werden, die eine einzige richtige Antwort haben. In solchen Situationen kann die Bevölkerung konvergieren.
Eine gute GA-Implementierung unterstützt reproduzierbare Ergebnisse. Dies gilt für alle Metaheuristiken (nicht nur GAs). Reproduzierbar bedeutet, dass derselbe Lauf die gleiche Reihenfolge der gleichen neuen besten Lösungsereignisse liefert. Abhängig von der tatsächlichen CPU-Zeit, die dem Prozess zugewiesen wird, kann die Anzahl der Iterationen abweichen und daher nicht mit der gleichen besten Lösung enden.
Intern reproduzierbare Ergebnisse implizieren, dass:
- alles 1 seeded Random instance verwendet.
- sogar parallel Implementierungen reproduzierbare Ergebnisse (=> keine Arbeit Stehlen)
- ...
Während der Entwicklung ergeben, ist Reproduzierbarkeit sein Gewicht in Gold wert zu finden, zu diagnostizieren, zu debuggen und Fehler zu beheben.
In der Produktion schalten einige Unternehmen es aus (um Leistungssteigerungen wie Arbeitsraub zu nutzen), aber die meisten Unternehmen lassen es immer noch laufen.
Siehe http://stackoverflow.com/questions/1039088/how-should-i-test-a-genetic-algorithmus – dnault