Evolutionsstrategie vs. Genetischer Algorithmus – Ein kurzer Vergleich

Die beiden Evolutionsverfahren weisen eine ganze Reihe von Analogien auf und dennoch unterscheiden sie sich in einigen Punkten. So arbeiten sie beispielsweise beide mit Populationen, die mögliche Lösungen in Form von Individuen – welche wiederum in Form von Vektoren gespeichert sind – enthalten. Auch selektieren sie auf ähnliche Art und Weise – oft nach dem Prinzip „survival of the fittest” – erfolgversprechende Individuen, was gegebenenfalls dazu führt, dass mit den selektierten Individuen eine verbesserte Population potentieller Lösungen generiert wird. Dies bedeutet, dass sich durch Verbesserung der einzelnen Individuen indirekt die Qualität der Population verbessert. Während bei den Evolutionsstrategien die Mutation und die selbstregulierende Schrittweitenanpassung für Verbesserungen sorgt, ist bei den Genetischen Algorithmen die genetische Rekombination durch die verschiedenen Crossover-Verfahren der Fortschrittsmotor.

Trotz dieser Ähnlichkeiten gibt es allerdings auch gravierende Unterschiede zwischen den beiden Ansätzen. So werden bei den Evolutionsstrategien die zu optimierenden Parameter der Individuen als Vektoren reeller Zahlen codiert. Im Gegensatz dazu werden die Individuen bei den Genetischen Algorithmen in Form von binären Vektoren codiert. Während Rechenberg die biologische Evolution eher als Richtlinie zur Entwicklung seiner Evolutionsstrategien nutzt, sind Holland und Goldberg mit den Genetischen Algorithmen eher daran interessiert, wie die Evolution die Informationen kodiert, verarbeitet und verbreitet.

Zudem unterscheiden sich die beiden Verfahren durch ihre unterschiedlichen Selektionsprozesse. Bei Evolutionsstrategien werden Elter-Individuen, unabhängig von ihrer Fitness oder Bewertung, rein zufällig ausgewählt. Aus den erzeugten Nachkommen werden dann jeweils die Besten ausgewählt. Hier handelt es sich also um ein „survival of the fittest” bei den Nachkommen – gegebenenfalls unter Einbeziehung der Eltern ('+'-Evolutionsstrategie). Dagegen wird ein „survival of the fittest” bei den Genetischen Algorithmen schon bei der Auswahl der Eltern durchgeführt. Die Eltern werden dabei mit einer zu ihrer Bewertung proportionalen Wahrscheinlichkeit selektiert.

Ein weiterer Unterschied liegt in der bei den Evolutionsstrategien integrierten Selbstadaption, durch die Steuerungsparameter, wie die Mutationsschrittweite, selbstständig und automatisch angepasst werden können. Dies führt zu einer gewissen Reaktionsfähigkeit auf verschiedene Faktoren. Eine solche Selbstadaption wäre bei Genetischen Algorithmen nur durch eine recht umständliche Codierung dieser zusätzlichen Parameter möglich und aufgrund des Codierungsproblems nicht problemunabhängig realisierbar.

Eines gilt aber wiederum für beide Verfahren: Eine erfolgreiche und effektive Anwendung hängt sehr stark von den verwendeten Verfahren (Codierung, Selektions-Schema, etc.) und Parametereinstellungen (Populationsgröße, Mutationsraten, etc.) ab. Werden Verfahren oder Parameter schlecht gewählt, so kann dies dazu führen, dass das Auffinden einer Lösung für das jeweilige Problem erschwert oder gar unmöglich gemacht wird.