Evolutionärer Algorithmus

Evolutionäre Algorithmen (EA) sind eine Klasse von stochastischen, metaheuristischen Optimierungsverfahren, deren Funktionsweise von der Evolution natürlicher Lebewesen inspiriert ist.

In Anlehnung an die Natur werden Lösungskandidaten für ein bestimmtes Problem künstlich evolviert, EA sind also naturanaloge Optimierungsverfahren. Die Zuordnung zu den stochastischen und metaheuristischen Algorithmen bedeutet vor allem, dass EA meist nicht die beste Lösung für ein Problem finden, aber bei Erfolg eine hinreichend gute, was in der Praxis vor allem bei NP-vollständigen Problemen bereits wünschenswert ist. Die Verfahren verschiedener EA unterscheiden sich untereinander in erster Linie durch die genutzten Selektions-, Rekombinations- und Mutationsoperatoren, das Genotyp-Phänotyp-Mapping sowie die Problemrepräsentation.

Die ersten praktischen Implementierungen evolutionärer Algorithmen wurden Ende der 1950er Jahre veröffentlicht, allerdings äußerten sich bereits in den vorhergehenden Jahrzehnten Wissenschaftler zum Potenzial der Evolution für maschinelles Lernen.

Es gibt vier Hauptströmungen, deren Konzepte zumindest historisch voneinander zu unterscheiden sind:

  • genetische Algorithmen
  • Evolutionsstrategien
  • genetische Programmierung und
  • evolutionäre Programmierung

Heute verschwimmen diese Abgrenzungen zunehmend. Für eine bestimmte Anwendung wird ein EA geeignet entworfen, wobei in den letzten Jahrzehnten viele verschiedene Algorithmen und einzelne Operatoren entwickelt wurden, die heute benutzt werden können.

Die Anwendungen von EA gehen über Optimierung und Suche hinaus und finden sich auch in Kunst, Modellierung und Simulation, insbesondere auch bei der Untersuchung evolutionsbiologischer Fragestellungen.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.