Vorteile der Verwendung von genetischen Algorithmen

13

Kann mir jemand die Vorteile des genetischen Algorithmus im Vergleich zu anderen herkömmlichen Such- und Optimierungsmethoden erklären?

Lakesh
quelle
4
Was für ein GA? Im Vergleich zu welchen "traditionellen" Methoden? Ohne dies kann man nur so etwas sagen wie "Schnellere Konvergenz und geringere Gefahr, in einigen Anwendungen im lokalen Optimum hängen zu bleiben", wie für jede andere Optimierungsmethode.

Antworten:

19

Die Hauptgründe für die Verwendung eines genetischen Algorithmus sind:

  • Es gibt mehrere lokale Optima
  • Die objektive Funktion ist nicht glatt (daher können abgeleitete Methoden nicht angewendet werden)
  • Die Anzahl der Parameter ist sehr groß
  • Die Zielfunktion ist laut oder stochastisch

Eine große Anzahl von Parametern kann für abgeleitete Methoden ein Problem sein, wenn Sie nicht über die Definition des Verlaufs verfügen. In dieser Art von Situation können Sie über GA eine nicht schreckliche Lösung finden und diese dann mit der auf Derivaten basierenden Methode verbessern. Die Definition von "groß" wächst ständig.

Patrick Burns
quelle
3
+1. Früher war ich in GA verliebt, aber jetzt meide ich sie. Es scheint mir, dass sie eine Hype-Phase durchlaufen haben, eine Reihe von Methoden inspiriert haben, die der Natur entsprechen (ACO usw.) und dann in eine Nische zurückgefallen sind. So ähnlich wie Neuronale Netze, in meiner persönlichen Neigung. (Das heißt, ich habe ES vor kurzem verwendet.)
Wayne
1
Wayne, ich stimme zu. Ich neige dazu, für jede Evolutionsstrategie "GA" zu sagen, und das Einmischen anderer Techniken ist oft auch eine gute Idee. Herkömmliche GAs sind schrecklich ineffizient.
Patrick Burns
7
  • Das Konzept ist leicht zu verstehen
  • Modular, unabhängig von der Anwendung
  • Unterstützt Multi-Objektiv
  • Optimierung Gut für "laute" Umgebungen
  • Immer eine Antwort; Antwort wird mit der Zeit besser
  • Von Natur aus parallel; leicht zu verteilen
Schneewittchen
quelle
In meiner Arbeit war die einfache Parallelisierung der wichtigste Faktor bei der Verwendung eines genetischen Algorithmus und nicht so etwas wie simuliertes Tempern.
Veryshuai
6

Genetische Algorithmen unterscheiden sich von herkömmlichen Such- und Optimierungsmethoden in vier Punkten:

  • Genetische Algorithmen suchen parallel aus einer Population von Punkten. Daher kann vermieden werden, dass eine lokale optimale Lösung verwendet wird, wie dies bei herkömmlichen Methoden der Fall ist, die von einem einzigen Punkt aus suchen.
  • Genetische Algorithmen verwenden probabilistische und keine deterministischen Auswahlregeln.
  • Genetische Algorithmen arbeiten mit dem Chromosom, einer codierten Version der Parameter potenzieller Lösungen, und nicht der Parameter selbst.
  • Genetische Algorithmen verwenden einen Fitness-Score, der aus objektiven Funktionen ohne andere abgeleitete oder zusätzliche Informationen erhalten wird
Lakesh
quelle
3

Genetische Algorithmen sind ein letzter Ausweg. Sie sind nur dann nützlich, wenn eine analytische Lösung nicht durchführbar ist (siehe Patricks Antwort aus den häufigsten Gründen) und Sie viel CPU-Zeit zur Verfügung haben.

Carlos Accioly
quelle