Zum Inhalt springen

Evolutionärer Algorithmus

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 3. Februar 2026 um 14:40 Uhr durch imported>Wilfried Jakob (Einordnung der EA in die Computational Intelligence in der Einleitung.).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Datei:St 5-xband-antenna.jpg
Die Antenne der Space-Technology-5-Satelliten wurde mit einem EA entwickelt.<ref name=":13">J.D. Lohn, D.S. Linden, G.S. Hornby, W.F. Kraus: Evolutionary design of an X-band antenna for NASA's Space Technology 5 mission. In: Antennas and Propagation Society International Symposium. Vol.3,IEEE , 20-25 June 2004, S. 2313–2316</ref>

Evolutionäre Algorithmen (EA) sind eine Klasse von stochastischen, metaheuristischen Optimierungsverfahren, deren Funktionsweise von der Evolution natürlicher Lebewesen inspiriert ist. Sie bilden zusammen mit den künstlichen neuronalen Netzen und der Fuzzylogik die Grundlage der Computational Intelligence.

In Anlehnung an die Natur werden Lösungskandidaten für ein bestimmtes Problem künstlich evolviert, EAs sind also naturanaloge Optimierungsverfahren. Die Zuordnung zu den stochastischen und metaheuristischen Algorithmen bedeutet vor allem, dass EAs 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 EAs 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,<ref name="George Friedman">Peter Bentley, David Corne: Creative Evolutionary Systems. Morgan Kaufmann, San Francisco, CA, 2001, S. 10. ISBN 978-1-55860-673-9</ref> allerdings äußerten sich bereits in den vorhergehenden Jahrzehnten Wissenschaftler zum Potenzial der Evolution für maschinelles Lernen.<ref name="Toward a New Philosophy of Machine Intelligence">David B. Fogel: Evolutionary Computation: Toward a New Philosophy of Machine Intelligence. Wiley, New York, S. 59, 2005. ISBN 978-0-471-66951-7</ref>

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

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 EAs gehen über Optimierung und Suche hinaus und finden sich auch in Kunst, Modellierung und Simulation, insbesondere auch bei der Untersuchung evolutionsbiologischer Fragestellungen.

Einführung

Evolutionäre Algorithmen werden vorrangig zur Optimierung oder Suche eingesetzt. Konkrete Probleme, die mit EAs gelöst werden, sind äußerst divers, z. B.: die Entwicklung von Sensornetzen, Aktienmarktanalyse, RNA-Strukturvorhersage,<ref name="EvoApplications 2012">Cecilia Di Chio et al.: Applications of Evolutionary Computation: EvoApplications 2012. LNCS 7248, Springer, Berlin, Heidelberg, 2012. doi:10.1007/978-3-642-29178-4</ref> Schedulingprobleme<ref name=":1">Keshav P. Dahal, Kay Chen Tan, Peter I. Cowling (Hrsg.): Evolutionary Scheduling. SCI, Nr. 49. Springer, Berlin, Heidelberg 2007, ISBN 978-3-540-48582-7, doi:10.1007/978-3-540-48584-1.</ref>, Designoptimierung<ref name=":2">Ian C. Parmee: Strategies for the Integration of Evolutionary/Adaptive Search with the Engineering Design Process. In: Dipankar Dasgupta, Zbigniew Michalewicz (Hrsg.): Evolutionary Algorithms in Engineering Applications. Springer Berlin Heidelberg, Berlin, Heidelberg 1997, ISBN 3-642-08282-3, S. 453–477, doi:10.1007/978-3-662-03423-1_25.</ref> (siehe auch obiges Bild der Satellitenantenne) oder Roboterbahnplanung.<ref name=":20">Christian Blume: Optimized Collision Free Robot Move Statement Generation by the Evolutionary Software GLEAM. In: S. Cagnoni (Hrsg.): Real-World Applications of Evolutionary Computing. LNCS 1803. Springer, Berlin, Heidelberg 2000, ISBN 3-540-67353-9, S. 330–341, doi:10.1007/3-540-45561-2_32.</ref> Auch bei Problemen, über deren Beschaffenheit nur wenig Wissen vorliegt, können sie zufriedenstellende Lösungen finden. Dies ist auf die Eigenschaften ihres natürlichen Vorbildes zurückzuführen.

Natürliches Vorbild Evolutionärer Algorithmus Beispiel
Organismus Lösungskandidat Autotür
Fortpflanzungserfolg Wert der Fitnessfunktion Strömungswiderstand
Natürliche Mutation Mutation Änderung der Form

In der biologischen Evolution sind die Gene von Organismen natürlich vorkommenden Mutationen ausgesetzt, wodurch genetische Variabilität entsteht. Mutationen können sich positiv, negativ oder gar nicht auf die Erben auswirken. Da es zwischen erfolgreichen Individuen zur Fortpflanzung (Rekombination) kommt, können sich Arten über mehrere Generationen an einen vorliegenden Selektionsdruck anpassen (z. B. Klimaveränderungen oder die Erschließung einer ökologischen Nische). Diese vereinfachte Vorstellung wird in der Informatik idealisiert und künstlich im Computer nachgebildet. Dabei wird die Güte eines Lösungskandidaten explizit mit einer Fitnessfunktion berechnet, sodass verschiedene Kandidaten vergleichbar sind.

Entsprechend dem natürlichen Vorbild gibt es bei den EAs Individuen, die aus einem Genom bestehen, welches die zu bestimmenden Eigenschaften der gesuchten Lösung in geeigneter Weise enthält. Ein Individuum entspricht einem Lösungskandidaten. Die durch die genetischen Operatoren erzeugten Individuen werden Nachkommen oder Kinder genannt. Eine Iteration des Verfahrens heißt entsprechend dem biologischen Vorbild Generation. Weitere Begriffsdefinitionen können in der VDI-Richtlinie VDI/VDE 3550<ref>VDI/VDE (Hrsg.): VDI/VDE 3550 Blatt 3:2003-02. Weißdruck. DIN Media, Berlin 2003 (18 S., dinmedia.de).</ref> gefunden werden.

In der Praxis könnte z. B. die Form einer Autotür so optimiert werden, dass der aerodynamische Widerstand minimal wird. Die Eigenschaften einer potenziellen Lösung werden dabei im Rechner als Genom gespeichert. Häufige Problemrepräsentationen sind Genome aus binären oder reellen Zahlen oder eine Reihenfolge bekannter Elemente (bei kombinatorischen Problemen, z. B. Travelling Salesman).

Die starken Vereinfachungen, die im Vergleich zur Evolution getroffen werden, stellen ein Problem in Bezug auf die Erforschung evolutionsbiologischer Fragestellungen mit EAs dar. Ergebnisse können nicht einfach auf die komplexere Natur übertragen werden.

Pseudocode

Das grobe Verfahren evolutionärer Algorithmen besteht meist aus einer Initialisierung und einer Generationsschleife, die solange durchlaufen wird, bis ein Abbruchkriterium erfüllt ist.<ref name=":21" details="S. 25">Karsten Weicker: Evolutionäre Algorithmen. Springer Fachmedien Wiesbaden, Wiesbaden 2015, ISBN 978-3-658-09957-2, doi:10.1007/978-3-658-09958-9.</ref><ref name=":22" details="Abb. 3.4, S. 27">Volker Nissen: Evolutionäre Algorithmen. Deutscher Universitätsverlag, Wiesbaden 1994, ISBN 3-8244-0217-3, doi:10.1007/978-3-322-83430-0.</ref><ref name=":14" details="What Is an Evolutionary Algorithm?, S. 25–28 und Fig. 3.1, S. 26, ">A.E. Eiben, J.E. Smith: Introduction to Evolutionary Computing (= Natural Computing Series). 2. Auflage. Springer, Berlin, Heidelberg 2015, ISBN 978-3-662-44873-1, doi:10.1007/978-3-662-44874-8.</ref> Dazu nachfolgend ein Pseudocode, dessen Notation an die von Krasnogor<ref></ref> angelehnt ist:

Pseudocode eines elitären EAs mit sexueller Reproduktion:
   Initialisierung: <math>t=0</math>;  // Initialisierung des Generationszählers
                    Erzeuge eine zufällige Startpopulation <math>P_t</math>;
                    Berechne die Fitness <math>f(p) \ \ \forall p\in P_t</math>;  // initiale Bewertung
   while Abbruchkriterien sind nicht erfüllt do
       Partnerwahl: Wähle entsprechend <math>f(p)</math> eine Teilmenge von <math>P_t</math> und speichere sie in <math>M_t</math>;
       Nachkommen:  Rekombiniere und mutiere Individuen <math>p \in M_t</math> und speichere sie in <math>M'_t</math>;
       Bewertung:   Berechne die Fitness <math>f(p') \ \ \forall p'\in M'_t</math>;
       Nachfolgegeneration: Erzeuge <math>P_{t+1}</math> durch fitnessbasierte Auswahl von Individuen aus <math>P_t</math> und <math>M'_t</math>;
       <math>t := t + 1</math>;  // erhöhe Generationszähler
   end while
   Ergebnis: Liefere bestes Individuum <math>p\in P_t</math> als Ergebnis ab;

Bei der Initialisierung der Startpopulation werden die Individuen zufällig erzeugt, um eine möglichst breite Abdeckung des Suchraums und eine hohe genotypische Diversität zu erhalten.<ref>Heikki Maaranen, Kaisa Miettinen, Antti Penttinen: On initial populations of a genetic algorithm for continuous optimization problems. In: Journal of Global Optimization. Band 37, Nr. 3, 23. Januar 2007, ISSN 0925-5001, S. 405–436, doi:10.1007/s10898-006-9056-6 (researchgate.net [abgerufen am 1. Oktober 2023]).</ref><ref>Borhan Kazimipour, Xiaodong Li, A. K. Qin: A review of population initialization techniques for evolutionary algorithms. IEEE, 2014, ISBN 978-1-4799-1488-3, S. 2585–2592, doi:10.1109/CEC.2014.6900618 (ieee.org [abgerufen am 1. Oktober 2023]).</ref> In Abweichung davon kann es aber auch zielführend sein, einen kleinen Teil (maximal 20 %)<ref name=":02">Wilfried Jakob: HyGLEAM–An Approach to Generally Applicable Hybridization of Evolutionary Algorithms. In: Parallel Problem Solving from Nature — PPSN VII. Band 2439. Springer, Berlin, Heidelberg 2002, ISBN 3-540-44139-5, S. 527–536, doi:10.1007/3-540-45712-7_51 (researchgate.net [abgerufen am 1. Oktober 2023]).</ref> der initialen Individuen durch geeignete (Meta-)Heuristiken,<ref name=":02" /><ref name=":18">Muhanad Tahrir Younis, Shengxiang Yang, Benjamin Passow: Meta-Heuristically Seeded Genetic Algorithm for Independent Job Scheduling in Grid Computing. In: Applications of Evolutionary Computation. Band 10199. Springer International Publishing, Cham 2017, ISBN 978-3-319-55848-6, S. 177–189, doi:10.1007/978-3-319-55849-3_12.</ref> eventuell basierend auf Lösungen ähnlicher Aufgaben,<ref name=":19">Tobias Friedrich, Markus Wagner: Seeding the initial population of multi-objective evolutionary algorithms: A computational study. In: Applied Soft Computing. Band 33, August 2015, S. 223–230, doi:10.1016/j.asoc.2015.04.043 (elsevier.com [abgerufen am 1. Oktober 2023]).</ref> zu generieren.<ref>Musrrat Ali, Millie Pant, Ajith Abraham: Unconventional initialization methods for differential evolution. In: Applied Mathematics and Computation. Band 219, Nr. 9, Januar 2013, S. 4474–4494, doi:10.1016/j.amc.2012.10.053 (elsevier.com [abgerufen am 1. Oktober 2023]).</ref><ref>Borhan Kazimipour, Xiaodong Li, A. K. Qin: Initialization methods for large scale global optimization. In: IEEE Congress on Evolutionary Computation. 2013, S. 2750–2757, doi:10.1109/CEC.2013.6557902 (ieee.org).</ref>

Die Bestimmung von <math>M_t</math>, Partnerwahl oder Elternselektion genannt, erfolgt bei den meisten EAs fitnessbasiert und gehört zusammen mit der Auswahl der Individuen zur Bildung der nächsten Generation zu den Selektionsmechanismen des Verfahrens, welche der evolutionären Suche die Richtung geben. Es gibt eine Vielzahl von Methoden zur Partnerwahl,<ref name=":14" details="Parent Selection, S. 80–87" /> darunter die einfache fitnessproportionale Selektion,<ref name=":0">John H. Holland: Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. PhD thesis. University of Michigan Press, Ann Arbor 1975, ISBN 0-472-08460-7.</ref> die Turnierselektion<ref name=":14" details="Tournament Selection, S. 84–86" /> und die häufiger verwendete rangbasierte Selektion.<ref>James E. Baker: Adaptive Selection Methods for Genetic Algorithms. In: John J. Grefenstette (Hrsg.): Conf. Proc. of the 1st Int. Conf. on Genetic Algorithms and Their Applications (ICGA). L. Erlbaum Associates, Hillsdale, NJ 1985, ISBN 0-8058-0426-9, S. 101–111.</ref><ref>Darrell Whitley: The GENITOR Algorithm and Selective Pressure: Why Rank-Based Allocation of Reproductive Trials is Best. In: J. David Schaffer (Hrsg.): Conf. Proc. of the 3rd Int. Conf. on Genetic Algorithms and Their Applications (ICGA). Morgan Kaufmann Publishers, San Francisco, CA 1989, ISBN 1-55860-066-3, S. 116–121.</ref>

Meist werden die Nachkommen durch Rekombination zweier Eltern aus <math>M_t</math> mit anschließender Mutation erzeugt, was der geschlechtlichen Reproduktion im biologischen Vorbild entspricht.<ref name=":14" details="Putting It Together, S. 19–20" /> Die asexuelle Reproduktion würde einer Mutation von Elter-Klonen entsprechen.<ref name=":14" details="Putting It Together, S. 19–20" /><ref>Lawrence J. Fogel: Intelligence through simulated evolution: forty years of evolutionary programming (= Wiley series on intelligent systems). Wiley, New York, NY Weinheim 1999, ISBN 0-471-33250-X.</ref> Durch mehrfache Ausführung dieser Operatoren können je nach Ausgestaltung des EAs auch mehr als nur zwei Nachkommen pro Paarung erzeugt werden.<ref name=":10" details="S. 5" /><ref name=":23" details="S. 14">Christian Blume, Wilfried Jakob: GLEAM: General Learning Evolutionary Algorithm and Method ; ein evolutionärer Algorithmus und seine Anwendungen (= Schriftenreihe des Instituts für Angewandte Informatik. Nr. 32). KIT Scientific Publishing, Karlsruhe 2009, ISBN 978-3-86644-436-2, doi:10.5445/KSP/1000013553.</ref>

Bei der Bewertung wird jedem Nachkommen entsprechend seiner Güte ein Wert der Fitnessfunktion zugewiesen. Die Fitness steuert die Reproduktionswahrscheinlichkeit der Individuen und kann zusammen mit der nachfolgend beschriebenen Selektion als die Umsetzung von Darwins „natürliche Auslese“<ref></ref> angesehen werden.<ref name=":14" details="Parent Selection, Survivor Selection, S. 80–90" />

Die Nachfolgegeneration, also die Menge <math>P_{t+1}</math> mit <math>\mu</math> Individuen, wird fitnessbasiert entweder aus der Menge der <math>\mu</math> Eltern in <math>P_t</math> und der <math>\lambda</math> Nachkommen in <math>M'_t</math> (sogenannte Plus-Strategie) oder nur aus der Menge <math>M'_t</math> (Komma-Strategie) ausgewählt.<ref>Hans-Paul Schwefel: Numerical optimization of computer models. Wiley, Chichester 1981, ISBN 0-471-09988-0.</ref> Da bei der Plus-Strategie das beste Elternindividuum im Gegensatz zum biologischen Vorbild überleben kann, wird ein EA mit dieser Selektionsform auch als elitär bezeichnet.<ref name=":21" details="Varianten der Umweltselektion, S. 68–71 und Definition 3.12, S. 69" /> Auf die damit verbundene Problematik wird im Abschnitt Konvergenz eingegangen.

Als Abbruchkriterien werden häufig die Anzahl durchlaufener Generationen, die vergangene Zeit oder die erreichte Lösungsqualität herangezogen.<ref name=":22" details="S. 26" /> Außerdem kann die Stagnation erfasst werden, z. B. in dem man die Generationen ohne Verbesserung des besten Nachkommen oder ohne Übernahme eines Nachkommen in die Nachfolgegeneration zählt.<ref name=":23" details="Stagnationsorientierte Abbruchkriterien, S. 51" />

Bestandteile

Evolutionäre Algorithmen unterscheiden sich untereinander vor allem in der jeweiligen genetischen Repräsentation, der Fitnessfunktion und den genutzten genetischen Operatoren: Mutation, Rekombination und Selektion.

Datei:Rastrigin function.png
Die Rastrigin-Funktion ist eine multimodale Funktion, da sie viele lokale Extrema aufweist. Dies stellt einen Nachteil für den Rekombinationsoperator dar.

Mutation und Rekombination sind die Suchoperatoren evolutionärer Algorithmen, mit denen der Suchraum erkundet wird. Ihre Anwendung auf Lösungskandidaten kann keine Verbesserung garantieren,<ref name=":15">Mitsuo Gen, Runwei Cheng: Genetic Algorithms and Engineering Optimization. Wiley, New York, 2000, S. 8. ISBN 978-0-471-31531-5. doi:10.1002/9780470172261</ref> allerdings erhält der Suchprozess durch die Selektion eine Richtung, die bei erfolgreicher Konzeption zum globalen Optimum oder zumindest in dessen Nähe führt. Während mit dem Mutationsoperator völlig neue Bereiche des Suchraums erschlossen werden können, ermöglicht die Rekombination vor allem die Zusammenführung erfolgreicher Teillösungen oder Schemata bei den klassischen genetischen Algorithmen (Building-Block-Hypothese). Eine erfolgreiche Suche basiert also auf der Kombination beider Suchoperatoren. Der Erfolg eines Rekombinationsoperators hängt von der Beschaffenheit der Fitnesslandschaft ab. Je mehr lokale Optima die Fitnesslandschaft aufweist, desto wahrscheinlicher erzeugt die Rekombination aus zwei Individuen, die sich auf benachbarten lokalen Optima befinden, einen Nachfahren im Tal dazwischen. Mutationen sind von dieser Eigenschaft der Fitnesslandschaft nahezu unabhängig.<ref>William M. Spears: The Role of Mutation and Recombination in Evolutionary Algorithms. Springer, Berlin, Heidelberg, 2000, S. 225f. doi:10.1007/978-3-662-04199-4</ref>

Der Entwurf der verschiedenen Komponenten bestimmt, wie sich der evolutionäre Algorithmus bei der Optimierung des gegebenen Problems in Bezug auf Konvergenzverhalten, benötigte Rechenzeit und die Erschließung des Problemraums<ref>Bill Worzel, Terence Soule, Rick Riolo: Genetic Programming Theory and Practice VI. Springer, Berlin, Heidelberg, 2009, S. 62. doi:10.1007/978-0-387-87623-8</ref> verhält. Insbesondere müssen die genetischen Operatoren sorgfältig auf die zugrunde liegende Repräsentation abgestimmt sein, sodass sowohl die bekannten, guten Regionen des Problemraums genutzt, als auch die unbekannten Regionen erkundet werden können.<ref>Oscar Cordón, Francisco Herrera, Frank Hoffmann, Luis Magdalena: Genetic Fuzzy Systems: Evolutionary Tuning and Learning of Fuzzy Knowledge Bases. World Scientific Publishing, Singapore, 2002, S. 95. doi:10.1142/4177</ref> Dabei spielen die Beziehungen zwischen Such- und Problemraum eine Rolle. Im einfachsten Fall entspricht der Suchraum dem Problemraum (direkte Problemrepräsentation).

Theoretische Grundlagen

No-free-Lunch-Theorem

Das No-free-Lunch-Theorem der Optimierung besagt, dass alle Optimierungsstrategien gleich effektiv sind, wenn die Menge aller Optimierungsprobleme betrachtet wird. Unter der gleichen Voraussetzung ist auch kein evolutionärer Algorithmus grundsätzlich besser als ein anderer. Dies kann nur dann der Fall sein, wenn die Menge aller Probleme eingeschränkt wird. Genau das wird in der Praxis auch zwangsläufig getan. Ein EA muss also Problemwissen ausnutzen (z. B. durch die Wahl einer bestimmten Mutationsstärke). Werden also zwei EAs verglichen, dann wird diese Einschränkung impliziert. Darüber hinaus kann ein EA Problemwissen nutzen, indem z. B. ein Teil der Startpopulation nicht zufällig generiert wird, sondern einige Individuen durch Heuristiken oder andere Verfahren erzeugt werden.<ref name=":18" /><ref name=":19" /><ref>Ralf Mikut, Frank Hendrich: Produktionsreihenfolgeplanung in Ringwalzwerken mit wissensbasierten und evolutionären Methoden. In: Automatisierungstechnik. Band 46, Nr. 1, Januar 1998, ISSN 2196-677X, S. 15–21, doi:10.1524/auto.1998.46.1.15.</ref> Eine weitere Möglichkeit besteht darin, geeignete Heuristiken, lokale Suchverfahren oder andere problembezogene Verfahren bei der Erzeugung der Nachkommen zu beteiligen. Diese Form der Erweiterung eines EAs ist auch als Memetischer Algorithmus bekannt. Beide Erweiterungen spielen bei praktischen Anwendungen eine große Rolle, da sie den Suchprozess beschleunigen und robuster machen können.<ref>Ferrante Neri, Carlos Cotta, Pablo Moscato (Eds.): Handbook of Memetic Algorithms (= Studies in Computational Intelligence. Nr. 379). Springer, Berlin, Heidelberg 2012, ISBN 978-3-642-26942-4, doi:10.1007/978-3-642-23247-3.</ref>

Konvergenz

Für elitäre EAs (siehe Abschnitt Pseudocode) gibt es einen allgemeinen Konvergenzbeweis unter der Voraussetzung, dass ein Optimum existiert. Ohne Beschränkung der Allgemeinheit wird für den Beweis von einer Maximumsuche ausgegangen:

Aus der Eigenschaft elitärer Nachkommensakzeptanz folgt, dass pro Generation k mit einer Wahrscheinlichkeit P > 0 eine Verbesserung der Fitness 𝑭 des jeweils besten Individuums 𝒙′ auftreten wird. Also:

𝑭(𝒙′𝟏) ≤ 𝑭(𝒙′𝟐) ≤ 𝑭(𝒙′𝟑) ≤ ⋯ ≤ 𝑭(𝒙′𝒌) ≤ ⋯

D. h., die Fitnesswerte stellen eine monoton nicht fallende Zahlenfolge dar, die wegen der Existenz des Optimums beschränkt ist. Daraus folgt die Konvergenz der Zahlenfolge gegen das Optimum.

Da der Beweis keinerlei Aussage über die Konvergenzgeschwindigkeit macht, hilft er bei der praktischen Anwendung von EAs wenig. Aber er begründet die Empfehlung, elitäre EAs zu verwenden. Bei Verwendung des üblichen panmiktischen Populationsmodells neigen elitäre EAs jedoch stärker zur vorzeitigen Konvergenz als nichtelitäre. Bei einem panmiktischen Populationsmodell ist die Partnerwahl (siehe Abschnitt Pseudocode) so gestaltet, dass jedes Individuum der gesamten Population als Partner in Frage kommt. Das generelle Risiko zur vorzeitigen Konvergenz elitärer EAs kann demgegenüber durch geeignete Populationsmodelle deutlich verringert werden.<ref>Martina Gorges-Schleuter: A comparative study of global and local selection in evolution strategies. In: Parallel Problem Solving from Nature — PPSN V. Band 1498. Springer Berlin Heidelberg, Berlin, Heidelberg 1998, ISBN 3-540-65078-4, S. 367–377, doi:10.1007/bfb0056879.</ref><ref>Bernabe Dorronsoro, Enrique Alba: Cellular Genetic Algorithms (= Operations Research/Computer Science Interfaces Series. Band 42). Springer US, Boston, MA 2008, ISBN 978-0-387-77609-5, doi:10.1007/978-0-387-77610-1.</ref>

Schematheorem

Das Schematheorem von John H. Holland wird allgemein als Erklärung des Erfolgs von einem Grundtyp evolutionärer Algorithmen, nämlich den klassischen genetischen Algorithmen, gesehen. Es besagt vereinfacht, dass sich kurze Bitmuster mit überdurchschnittlicher Fitness schnell in einer Generation ausbreiten, die durch einen genetischen Algorithmus evolviert wird. So können Aussagen über den langfristigen Erfolg eines genetischen Algorithmus getroffen werden. Über die praktische Bedeutung des Schematheorems und der damit zusammenhängenden Building-Block-Hypothese für die Gestaltung von EAs, die nicht auf Bitstrings beruhen, herrscht Uneinigkeit.<ref name=":17">Darrell Whitley: A Genetic Algorithm Tutorial. In: Statistics and Computing. Band 4, Nr. 2, Juni 1994, ISSN 0960-3174, Criticism of the schema theorem, S. 77, doi:10.1007/BF00175354.</ref><ref name=":14" details="Criticisms and Recent Extensions of the Schema Theorem, S. 236–237" /> Das Buch von Volker Nissen fasst die Kritik und die Auseinandersetzung dazu fundiert zusammen.<ref name=":16">Volker Nissen: Einführung in evolutionäre Algorithmen: Optimierung nach dem Vorbild der Evolution. Vieweg, Braunschweig 1997, ISBN 3-528-05499-9, Das Schema-Theorem und seine Kritiker, S. 85–92, doi:10.1007/978-3-322-93861-9.</ref>

Virtuelle Alphabete

Mit der Theorie der virtuellen Alphabete zeigte David E. Goldberg 1990, dass durch eine Repräsentation mit reellen Zahlen ein EA, der klassische Rekombinationsoperatoren (z. B. uniformes oder n-Punkt Crossover) nutzt, bestimmte Bereiche des Suchraums nicht erreichen kann,<ref name="Stender, Hillebrand, Kingdon">J. Stender, E. Hillebrand, J. Kingdon: Genetic Algorithms in Optimisation, Simulation and Modelling. IOS Press, Amsterdam, 1994, S. 70. ISBN 978-90-5199-180-2</ref> im Gegensatz zu einer Repräsentation mit binären Zahlen. Daraus ergibt sich, dass EAs mit reeller Repräsentation arithmetische Operatoren zur Rekombination nutzen müssen (z. B. arithmetisches Mittel oder die intermediäre Rekombination). Mit geeigneten Operatoren sind reellwertige Repräsentationen entgegen der früheren Meinung effektiver als binäre.<ref name="Stender, Hillebrand, Kingdon" /><ref>Zbigniew Michalewicz: Genetic Algorithms + Data Structures = Evolution Programs. Third, revised and Extended edition Auflage. Springer, Berlin, Heidelberg 1996, ISBN 3-662-03315-1.</ref>

Anwendungsgebiete

Die Bereiche, in denen evolutionäre Algorithmen praktisch eingesetzt werden, sind nahezu unbegrenzt<ref name=":3">International Conference on the Applications of Evolutionary Computation,. Die Konferenz ist Teil der Evo*-Serie. Die Conference Proceedings erscheinen im Springer Verlag: https://link.springer.com/conference/evoapplications, abgerufen am 8. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Hitoshi Iba, Nasimul Noman: New Frontier in Evolutionary Algorithms: Theory and Applications. IMPERIAL COLLEGE PRESS, 2011, ISBN 978-1-84816-681-3, doi:10.1142/p769.</ref> und reichen von Industrie,<ref>Kaisa Miettinen, Pekka Neittaanmäki, M.M. Mäkelä, Jacques Périaux (Hrsg.): Evolutionary Algorithms in Engineering and Computer Science: Recent Advances in Genetic Algorithms, Evolution Strategies, Evolutionary Programming, Genetic Programming and Industrial Applications. Wiley, Chichester, Weinheim 1999, ISBN 978-0-471-99902-7 (wiley.com).</ref><ref>Ernesto Sanchez, Giovanni Squillero, Alberto Tonda: Industrial Applications of Evolutionary Algorithms. Intelligent Systems Reference Library 34. Springer, Berlin, Heidelberg 2012, ISBN 978-3-642-27466-4, doi:10.1007/978-3-642-27467-1.</ref> Technik,<ref name=":4">Dipankar Dasgupta, Zbigniew Michalewicz (Hrsg.): Evolutionary Algorithms in Engineering Applications. Springer, Berlin, Heidelberg 1997, ISBN 3-642-08282-3, doi:10.1007/978-3-662-03423-1.</ref><ref name=":5">Adam Slowik, Halina Kwasnicka: Evolutionary algorithms and their applications to engineering problems. In: Neural Computing and Applications. Band 32, Nr. 16, August 2020, ISSN 0941-0643, S. 12363–12379, doi:10.1007/s00521-020-04832-8.</ref><ref name=":15" /> Roboterbahnplanung<ref name=":20" /><ref>Wilfried Jakob, Martina Gorges-Schleuter, Christian Blume: Application of Genetic Algorithms to Task Planning and Learning. In: Rheinhard Männer, Bernard Manderick (Hrsg.): Parallel Problem Solving from Nature 2, PPSN-II. North-Holland, Amsterdam 1992, ISBN 0-444-89730-5, S. 291–300.</ref><ref>Nantiwat Pholdee, Sujin Bureerat: Multiobjective Trajectory Planning of a 6D Robot based on Multiobjective Meta Heuristic Search. ACM, 2018, ISBN 978-1-4503-6553-6, S. 352–356, doi:10.1145/3301326.3301356 (acm.org [abgerufen am 15. September 2024]).</ref> und Landwirtschaft<ref>David G. Mayer: Evolutionary Algorithms and Agricultural Systems. Springer US, Boston, MA 2002, ISBN 1-4613-5693-8, doi:10.1007/978-1-4615-1717-7.</ref> über Forschung<ref name=":13" /><ref>Gary Fogel, David Corne: Evolutionary Computation in Bioinformatics. Elsevier, 2003, ISBN 1-55860-797-8, doi:10.1016/b978-1-55860-797-2.x5000-8 (elsevier.com [abgerufen am 25. Dezember 2022]).</ref> bis zur Kunst (evolutionäre Kunst). Die Anwendung eines evolutionären Algorithmus erfordert vom unerfahrenen Anwender ein gewisses Maß an Umdenken, da die Herangehensweise an eine Aufgabenstellung mit Hilfe eines Suchalgorithmus anders ist als bei traditionellen exakten Verfahren und eher nicht zum Curriculum von Ingenieuren oder anderen Fachrichtungen gehört. Es gibt daher einige Publikationen, die den Anfänger als Zielgruppe haben und ihm oder ihr dabei helfen wollen, Anfängerfehler zu vermeiden und ein Anwendungsprojekt zum Erfolg zu führen.<ref name=":6"></ref><ref name=":21" details="Techniken für spezifische Problemanforderungen, S. 189-232 und Anwendung evolutionärer Algorithmen, S. 237-288" /><ref>Hartmut Pohlheim: Evolutionäre Algorithmen - Verfahren, Operatoren und Hinweise für die Praxis. VDI-Buch. Springer, Berlin, Heidelberg 2000, ISBN 3-642-63052-9, doi:10.1007/978-3-642-57137-4.</ref><ref name=":14" details="Working with Evolutionary Algorithms, S. 147–163" /> Dazu gehört auch die Klärung der grundlegenden Frage, wann man einen EA zur Lösung einer Aufgabenstellung anwenden soll und wann besser nicht.<ref name=":6" /> Die Konferenzserie Applications of Evolutionary Computation kann einen Überblick über die vielfältigen Anwendungen geben und dabei unterstützen, Veröffentlichungen zur eigenen Problemstellung zu finden.<ref name=":3" />

Wirtschaft

EAs werden zur Verifikation und Optimierung von Prototypen eingesetzt. Zum Beispiel werden die Geschwindigkeit von Mikroprozessoren, der Stromverbrauch von Mobiltelefonen oder die Wiederverwendbarkeit von Produkten (Recycling) optimiert.<ref>Ernesto Sanchez, Giovanni Squillero, Alberto Tonda: Industrial Applications of Evolutionary Algorithms. Springer, Berlin, Heidelberg, 2012. doi:10.1007/978-3-642-27467-1</ref> Auch bei dem Entwurf von Telekommunikationsnetzen, Infrastruktur allgemein oder Sensornetzen. In der Finanzwelt werden mit EAs Aktienmärkte analysiert, spieltheoretische Analysen oder agentenbasierte Simulationen entworfen<ref>Shu-Heng Chen: Evolutionary Computation in Economics and Finance. Physica, Heidelberg, 2002. S. 6. doi:10.1007/978-3-7908-1784-3</ref> und Portfolios für maximalen Gewinn und minimales Risiko optimiert.<ref>Claus Aranha, Hitoshi Iba: Application of a Memetic Algorithm to the Portfolio Optimization Problem. In: Wayne Wobcke, Mengjie Zhang (Hrsg.): Advances in Artificial Intelligence. AI 2008. LNCS 5360. Springer, Berlin, Heidelberg, 2008. doi:10.1007/978-3-540-89378-3_52</ref> Sogar zur Optimierung von landwirtschaftlichen Betrieben werden sie genutzt, um langjährige Auswirkungen zu testen, Managementstrategien zu entwickeln oder praktisch nicht ausführbare Experimente zu simulieren.<ref>David G. Mayer: Evolutionary Algorithms and Agricultural Systems. Springer, Boston, MA, 2002, S. 2. doi:10.1007/978-1-4615-1717-7</ref> Ein weiteres großes Anwendungsgebiet ist Scheduling,<ref name=":1" /> Designoptimierung<ref name=":2" /><ref>Kalyanmoy Deb: GeneAS: A Robust Optimal Design Technique for Mechanical Component Design. In: Dipankar Dasgupta, Zbigniew Michalewicz (Hrsg.): Evolutionary Algorithms in Engineering Applications. Springer Berlin Heidelberg, Berlin, Heidelberg 1997, ISBN 3-642-08282-3, S. 497–514, doi:10.1007/978-3-662-03423-1_27.</ref> oder andere Engineering-Aufgaben.<ref name=":4" /><ref name=":5" /> Zum Problemfeld der Schedulingaufgaben gehören neben den klassischen Produktionsplanungsaufgaben,<ref>Mark P. Kleeman, Gary B. Lamont: Scheduling of Flow-Shop, Job-Shop, and Combined Scheduling Problems using MOEAs with Fixed and Variable Length Chromosomes. In: Keshav P. Dahal, Kay Chen Tan, Peter I. Cowling (Hrsg.): Evolutionary Scheduling (= Studies in Computational Intelligence. Band 49). Springer, Berlin, Heidelberg 2007, ISBN 978-3-540-48582-7, S. 49–99, doi:10.1007/978-3-540-48584-1.</ref><ref>Kazi Shah Nawaz Ripon, Chi-Ho Tsang, Sam Kwong: An Evolutionary Approach for Solving the Multi-Objective Job-Shop Scheduling Problem. In: Keshav P. Dahal, Kay Chen Tan, Peter I. Cowling (Hrsg.): Evolutionary Scheduling (= Studies in Computational Intelligence. Band 49). Springer, Berlin, Heidelberg 2007, ISBN 978-3-540-48582-7, S. 165–195, doi:10.1007/978-3-540-48584-1.</ref> Job-Scheduling in Rechnernetzen,<ref>Marek Mika, Grzegorz Waligóra, Jan Węglarz: Modelling and solving grid resource allocation problem with network resources for workflow applications. In: Journal of Scheduling. Band 14, Nr. 3, Juni 2011, ISSN 1094-6136, S. 291–306, doi:10.1007/s10951-009-0158-0 (springer.com [abgerufen am 15. September 2024]).</ref><ref>Wilfried Jakob, Sylvia Strack, Alexander Quinte, Günther Bengel, Karl-Uwe Stucky: Fast Rescheduling of Multiple Workflows to Constrained Heterogeneous Resources Using Multi-Criteria Memetic Computing. In: Algorithms. Band 6, Nr. 2, 22. April 2013, ISSN 1999-4893, S. 245–277, doi:10.3390/a6020245 (mdpi.com [abgerufen am 8. Februar 2022]).</ref><ref name=":5" /> Stundentafelerstellung<ref>Alberto Colorni, Marco Dorigo, Vittorio Maniezzo: Genetic Algorithms: A New Approach to the Timetable Problem. In: M. Akgül, H.W. Hamacher, S. Tüfekçi (Hrsg.): Combinatorial Optimization. NATO ASI Series (Series F: Computer and Systems Sciences), Nr. 82. Springer, Berlin, Heidelberg 1992, ISBN 3-642-77491-1, S. 235–239, doi:10.1007/978-3-642-77489-8_14.</ref><ref>B. Paechter, A. Cumming, H. Luchian: The use of local search suggestion lists for improving the solution of timetable problems with evolutionary algorithms. In: Terence C. Fogarty (Hrsg.): Evolutionary computing: AISB Workshop, Brighton, U.K.: selected papers. Springer, Berlin, Heidelberg 1996, ISBN 3-540-61749-3.</ref> oder die Einsatzplanung von Energieerzeugern und Verbrauchern in Smart Grids.<ref name=":5" /><ref>Dipankar Dasgupta: Optimal Scheduling of Thermal Power Generation Using Evolutionary Algorithms. In: Dipankar Dasgupta, Zbigniew Michalewicz (Hrsg.): Evolutionary Algorithms in Engineering Applications. Springer, Berlin, Heidelberg 1997, ISBN 3-642-08282-3, S. 317–328, doi:10.1007/978-3-662-03423-1_18.</ref>

Forschung

Vor allem in der Molekularbiologie, wo enorme Datenmengen (Big Data) anfallen und Zusammenhänge nicht ohne Computerunterstützung erkannt werden können, werden mit evolutionären Algorithmen Sequenzanalyse, Sequenzalignment, die Erstellung phylogenetischer Bäume, Proteinstrukturvorhersage, Suche nach codierenden Bereichen oder die Visualisierung umfangreicher Daten<ref>Gary Fogel, David Corne: Evolutionary Computation in Bioinformatics. Morgan Kaufmann, 2002. ISBN 978-1-55860-797-2. doi:10.1016/B978-1-55860-797-2.X5000-8.</ref> betrieben.

EAs werden benutzt, um künstliche neuronale Netze aufzubauen, ein populärer Algorithmus ist NEAT. Robert Axelrods Versuch, mittels genetischer Algorithmen geeignete Strategien für das iterierte Gefangenendilemma zu finden, gab den Anstoß zur Entwicklung des Konzepts der evolutionären Spieltheorie.<ref>Robert Axelrod: Die Evolution der Kooperation. Oldenbourg, München 1987; 7. Auflage, 2014. ISBN 978-3-486-59172-9. doi:10.1524/9783486851748</ref> Aufgrund ihrer Populationsbasiertheit können evolutionäre Algorithmen auch in der agentenbasierten Modellierung sozialer oder ökonomischer Systeme eingesetzt werden.

In der Spektroskopie werden genetische Algorithmen genutzt, um vieldimensionale Optimierungsprobleme zu lösen.<ref>W. Leo Meerts, Michael Schmitt: Application of genetic algorithms in automated assignments of high-resolution spectra. In: International Reviews in Physical Chemistry. Band 25, Nr. 3, 1. Juli 2006, ISSN 0144-235X, S. 353–406, doi:10.1080/01442350600785490.</ref> Hierbei wird ein experimentelles Spektrum, zu dessen Beschreibung eine große Anzahl an Parametern benötigt werden, mit Hilfe evolutionärer Strategien an ein berechnetes Modellspektrum angepasst. Als Fitnessfunktion wird oft die Kreuzkorrelation zwischen experimentellem und theoretischem Spektrum angewandt.

Kunst und Musik

Mit der Hilfe evolutionärer Algorithmen können komplexe Strukturen oder Tonfolgen entworfen werden, die auf Menschen ästhetisch wirken. Dies geschieht teils automatisiert und oft mit menschlicher Interaktion, wobei Menschen dem EA die Entscheidung abnehmen, was sie als schön empfinden.

Geschichte

George Friedman entwarf 1956 für seine Masterarbeit an der University of California, Los Angeles eine Maschine, die mit dem Prinzip der natürlichen Selektion Schaltkreise entwickeln sollte, allerdings wurde diese Maschine nie gebaut.<ref name="George Friedman" /> Auch künstliches Leben wurde früh mit EAs erforscht. Der Italiener Nils Barricelli (1912–1993) entwickelte 1954 ein Konzept, bei dem durch Zahlen repräsentierte Wesen auf einem zweidimensionalen Gitter „leben“ und durch Mutation und Reproduktion zu neuen Generation geformt werden. Er zeigte, dass sich selbstreplikative Strukturen bilden, also Strukturen, die sich selbst in die nächste Generation kopieren. Bezüglich maschinellen Lernens schrieb der britische Informatiker Alan Turing schon 1950:

„Man muss mit dem Unterrichten einer Maschine herumexperimentieren und schauen, wie gut sie lernt. […] Es gibt einen offensichtlichen Zusammenhang zwischen diesem Prozess und Evolution […] Man darf allerdings hoffen, dass dieser Prozess schneller abläuft.“

– <templatestyles src="Person/styles.css" />Alan Turing: Computing Machinery and Intelligence<ref>A. M. Turing: Computing machinery and intelligence. In: Mind, 59, S. 433–460. 1950. <templatestyles src="Webarchiv/styles.css" />loebner.net (Memento vom 2. Juli 2008 im Internet Archive)</ref>

Anfang der 1950er schlug der britische Statistiker George Box vor, die Produktion in Chemiefabriken zu optimieren, indem mit massivem Trial and Error Parameter wie Temperatur oder chemische Zusammensetzungen variiert und die potenziellen Verbesserungen per Hand ausgewertet werden, um danach mit den gefundenen Verbesserungen wieder zu variieren. Obwohl die Entscheidungsträger zuerst nicht davon begeistert waren, an einer laufenden Produktion zu experimentieren, wurde das Konzept, das Box Evolutionary Operation taufte, bis Anfang der 1960er in mehreren Chemiefabriken zur Steigerung der Produktivität genutzt.<ref name="Toward a New Philosophy of Machine Intelligence" /> Viele praktische Probleme ging man in der Folge mit evolutionären Algorithmen an, es bildeten sich vor allem die Evolutionsstrategie in Europa (Ingo Rechenberg<ref name=":7">Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name: Evolutionsstrategie – Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (PhD thesis). Hrsg.: Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name. Frommann-Holzboog, Vorlage:Cite book/Date, [ ] (german, Vorlage:Cite book/URL [abgerufen am -05-]).Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung ISBN 3-7728-0373-3</ref> und Hans-Paul Schwefel<ref>Hans-Paul Schwefel: Evolutionsstrategie und numerische Optimierung. Dissertation. Technische Universität, Berlin 1975.</ref><ref name=":8">Hans-Paul Schwefel: Evolution and Optimum Seeking. Sixth-generation computer technology series. John Wiley & Sons, New York 1995, ISBN 978-0-471-57148-3 (researchgate.net).</ref>) und der genetische Algorithmus (John H. Holland<ref name=":0" />) in den USA heraus, wobei Letzterer der bis heute populärste Ansatz ist und der Begriff genetischer Algorithmus oft pauschalisierend für alle EAs genutzt wird. Dies hat aber keine praktische Bedeutung für die Auswahl eines konkreten Konzeptes.<ref name="George Friedman" /> Spätestens mit der rasant steigenden Verfügbarkeit von Rechenleistung fanden sich evolutionäre Algorithmen in allen erdenklichen Bereichen wieder, wo sie zur Optimierung und Suche eingesetzt wurden. Insbesondere auch in der Kunst und Musik, sowie in der Erforschung von künstlichem Leben (Avida).

Heute sind nicht nur die ursprünglichen Konzepte stark miteinander verwachsen, sondern auch viele andere Ansätze und Mischkonzepte entstanden. EAs stellen wichtige Werkzeuge für Industrie und Forschung dar.

Typen evolutionärer Algorithmen

Durch die Problemstellung des Optimierungsproblems sind eine Zielfunktion sowie ein Problemraum, der potenzielle Lösungen enthält, gegeben. Der Unterschied zwischen dem Problemraum der Anwendung und dem Suchraum des Algorithmus besteht darin, dass ein EA eine Lösung anders darstellen kann, um sie besser verarbeiten zu können, wobei sie zur Bewertung wieder in ursprünglicher Form ausgegeben werden muss (Genotyp-Phänotyp-Mapping, künstliche Embryogenese). Dies bietet sich vor allem dann an, wenn die Darstellung einer möglichen Lösung deutlich vereinfacht werden kann und nicht in ihrer Komplexität im Speicher verarbeitet werden muss. Verschiedene evolutionäre Algorithmen unterscheiden sich vornehmlich in den folgenden Eigenschaften (vergleiche auch das einleitende Ablaufschema):

  • Suchraum (z. B. Binärzahlen, ganze und/oder reelle Zahlen, Baumstrukturen)
  • Suchoperatoren (z. B. Mutation und Rekombination)
  • Fitnesszuweisung und Selektion auf Basis der Zielfunktion
  • Art und Weise, in der vorherige Generationen in die Selektion mit einbezogen werden (Elterngeneration ein-/ausschließen)
  • Beziehung zwischen dem Suchraum und dem Problemraum (Genotyp-Phänotyp-Mapping)

Klassische Varianten

Die vier historisch zuerst entstandenen Verfahren sind heute in der Form nicht mehr zu unterscheiden, insbesondere werden oft die Namen einzelner Typen als Synonym für das gesamte Gebiet der evolutionären Algorithmen genutzt. Dazu kommt, dass es heute eine Fülle weiterer Verfahren und unüberschaubar viele Kombinationen gibt,<ref name=":21" details="Evolutionäre Standardalgorithmen, S. 127-183" /><ref name=":22" details="Hauptformen Evolutionarer Algorithmen, S. 21-196" /><ref name=":14" details="Popular Evolutionary Algorithm Variants, S.99-116" /> für die keine einheitliche Benennung existiert. In der folgenden Darstellung werden die klassischen Konzepte in der historischen Form beschrieben. Ein guter und theoretisch fundierter Vergleich zwischen den klassischen bit-codierten und den reell-codierten GAs, der ES und der EP kann z. B. bei Whitley gefunden werden.<ref name=":9">Darrell Whitley: An overview of evolutionary algorithms: practical issues and common pitfalls. In: Information and Software Technology. Band 43, Nr. 14, Dezember 2001, S. 817–831, doi:10.1016/S0950-5849(01)00188-4 (elsevier.com [abgerufen am 8. Februar 2022]).</ref>

Genetische Algorithmen (GA)

Datei:Centraldogma nodetails.png
Ausprägung des Genotyps in einer Zelle

Genetische Algorithmen wurden vor allem durch die Arbeiten John H. Hollands berühmt. Sie nutzen binäre Problemrepräsentation und benötigen deshalb meist ein Genotyp-Phänotyp-Mapping. Das bedeutet, dass binär repräsentierte Lösungskandidaten zuerst umgewandelt werden müssen, um mit der Fitnessfunktion evaluiert werden zu können. Wegen dieser Eigenschaft sind sie dem biologischen Vorbild von allen evolutionären Algorithmen am nächsten. Das Erbgut natürlicher Organismen ist ähnlich binären Zahlen in vier Nukleinsäuren codiert. Auf dieser Basis geschehen natürliche Mutation und Rekombination. Das Erscheinungsbild (Phänotyp) ist aber nicht das Erbgut selbst, sondern entsteht aus diesem durch einen vielschrittigen Prozess. Das Prinzip Genotyp-Phänotyp-Mapping verläuft in vereinfachter Form analog. Die binäre Repräsentation eignet sich zur schnellen Verarbeitung in Computern. Im Laufe der Forschung im Gebiet der EAs hat sich dies aber nicht als klarer Vorteil gegenüber anderen Verfahren<ref>Lukáš Sekanina: Evolvable Components: From Theory to Hardware Implementations. Springer, Berlin, Heidelberg, 2004, S. 27. doi:10.1007/978-3-642-18609-7</ref><ref name=":9" /> und Problemrepräsentationen<ref>Cesary Janikow, Zbigniew Michalewicz: An Experimental Comparison of Binary and Floating Point Representations in Genetic Algorithms. In: Conf. Proc of the Fourth Int. Conf. on Genetic Algorithms (ICGA'91). 1991, S. 31–36 (umsl.edu [PDF]).</ref><ref>Zbigniew Michalewicz: Genetic Algorithms + Data Structures = Evolution Programs. Springer, Berlin, Heidelberg 1996, ISBN 3-662-03315-1.</ref> erwiesen.

Die Auswahl der sich fortpflanzenden Individuen erfolgt bei GA mit fitnessproportionaler Selektion, die Fortpflanzung selbst durch n-Punkt-Crossover. Auch die Rekombination von mehr als zwei Elterngenomen ist möglich und führt in manchen Fällen zu besseren Ergebnissen.<ref>Chuan-Kang Ting: On the Mean Convergence Time of Multi-parent Genetic Algorithms Without Selection. In: Advances in Artificial Life, 2005, ISBN 978-3-540-28848-0, S. 403–412.</ref> Die Mutation bei GA kann man sich anschaulich gut vorstellen, da die Genome aus einzelnen Bits bestehen, die invertiert, dupliziert oder gelöscht werden können (auch ganze Sequenzen). Eine theoretische Untersuchung des Konvergenzverhaltens Genetischer Algorithmen liefert das Schematheorem von John H. Holland, das allerdings umstritten ist.<ref name=":16" /><ref name=":17" />

Evolutionsstrategien (ES)

Evolutionsstrategien<ref name=":8" /><ref name=":7" /> nutzen direkte Problemrepräsentationen (insbesondere reelle Zahlen). Problem- und Suchraum sind also identisch. Ihre Besonderheit ist die Selbstadaption der Mutationsschrittweiten und die damit verbundene Koevolution. Die ES wird anhand der Standardform kurz vorgestellt,<ref name=":8" /><ref name=":10">Thomas Bäck, Hans-Paul Schwefel: An Overview of Evolutionary Algorithms for Parameter Optimization. In: Evolutionary Computation. Band 1, Nr. 1, 1. März 1993, ISSN 1063-6560, S. 1–23, doi:10.1162/evco.1993.1.1.1.</ref> wobei darauf hingewiesen wird, dass es viele Varianten gibt<ref>Thomas Bäck, Frank Hoffmeister, Hans-Paul Schwefel: A Survey of Evolution Strategies. In: Richard K. Belew, Lashon B. Booker (Hrsg.): Conf. Proc. of the 4th Int. Conf. on Genetic Algorithms (ICGA'91). Morgan Kaufmann, San Francisco 1991, ISBN 1-55860-208-9, S. 2–9.</ref><ref name=":11">Nikolaus Hansen, Andreas Ostermeier: Completely Derandomized Self-Adaptation in Evolution Strategies. In: Evolutionary Computation. Band 9, Nr. 2, Juni 2001, ISSN 1063-6560, S. 159–195, doi:10.1162/106365601750190398.</ref><ref name=":12">Nikolaus Hansen, Stefan Kern: Evaluating the CMA Evolution Strategy on Multimodal Test Functions. In: Conf. Proc. of Parallel Problem Solving from Nature - PPSN VIII. LNCS, Nr. 3242. Springer Berlin Heidelberg, Berlin, Heidelberg 2004, ISBN 3-540-23092-0, S. 282–291, doi:10.1007/978-3-540-30217-9_29.</ref>. Das Chromosom enthält neben den <math>n</math> Entscheidungsvariablen noch <math>n'</math> Mutationsschrittweiten <math>{\sigma}_j</math>, wobei gilt: <math>1 \le j \le n' \le n</math>. Häufig wird eine Mutationsschrittweite für alle Entscheidungsvariablen genutzt oder jede hat ihre eigene Schrittweite. Die Partnerwahl zur Erzeugung von <math>\lambda</math> Nachkommen erfolgt zufallsbedingt, also unabhängig von der Fitness. Zuerst werden pro Paarung neue Mutationsschrittweiten durch intermediäre Rekombination der elterlichen <math>{\sigma}_j</math> mit anschließender Mutation gebildet. Als Nächstes erfolgt eine diskrete Rekombination der Entscheidungsvariablen gefolgt von Mutationen mit den neuen Mutationsschrittweiten. Dadurch erfolgt eine evolutionäre Suche auf zwei Ebenen: Zum einen auf der Problemebene selbst und zum anderen auf der Ebene der Mutationsschrittweiten. So kann gewährleistet werden, dass die ES in immer feineren Schritten ihr Ziel sucht. Es besteht aber auch die Gefahr, größere unzulässige Gebiete im Suchraum nur schlecht überspringen zu können.

Die ES kennt zwei Varianten der Bestenselektion zur Bildung der nächsten Elternpopulation: Bei der <math>(\mu , \lambda)</math>-ES finden nur die <math>\mu</math> besten Nachkommen Verwendung, während bei der elitären <math>(\mu + \lambda)</math>-ES die <math>\mu</math> besten aus Eltern und Kindern ausgewählt werden.

Bäck und Schwefel empfehlen, dass der Wert von <math>\lambda</math> das siebenfache der Populationsgröße <math>\mu</math> betragen soll,<ref name=":10" /> wobei <math>\mu</math> wegen des starken Selektionsdrucks nicht zu klein gewählt werden darf. Geeignete Werte für <math>\mu</math> sind anwendungsabhängig und müssen experimentell bestimmt werden.<ref name=":6" /><ref>Daniel Mora-Melià, F. Javier Martínez-Solano, Pedro L. Iglesias-Rey, Jimmy H. Gutiérrez-Bahamondes: Population Size Influence on the Efficiency of Evolutionary Algorithms to Design Water Networks. In: Procedia Engineering. Band 186, 2017, S. 341–348, doi:10.1016/j.proeng.2017.03.209 (elsevier.com [abgerufen am 29. November 2025]).</ref><ref>Dana Vrajitoru: Large Population or Many Generations for Genetic Algorithms? Implications in Information Retrieval. In: Soft Computing in Information Retrieval. Band 50. Physica-Verlag HD, Heidelberg 2000, ISBN 978-3-7908-2473-5, S. 199–222, doi:10.1007/978-3-7908-1849-9_9 (springer.com [abgerufen am 29. November 2025]).</ref><ref>Martin Briesch, Dominik Sobania, Franz Rothlauf: On the Trade-Off between Population Size and Number of Generations in GP for Program Synthesis. ACM, 2023, ISBN 979-84-0070120-7, S. 535–538, doi:10.1145/3583133.3590681 (acm.org [abgerufen am 29. November 2025]).</ref>

Für ES-Varianten ohne die geschilderte selbstadaptive Schrittweitensteuerung empfiehlt Rechenbergs 1/5-Erfolgsregel<ref name=":7" />, dass der Quotient aus den erfolgreichen Mutationen (also Mutationen, die eine Verbesserung der Fitness bewirken) zu allen Mutationen etwa ein Fünftel betragen sollte. Ist der Quotient größer, so sollte die Varianz der Mutationen erhöht werden, bei einem kleineren Quotienten sollte sie verringert werden.

Genetische Programmierung (GP)

Datei:Genetic Program Tree.png
Darstellung einer Funktion als Ausdrucksbaum. Teilbäume können umgehängt, geändert oder gelöscht (Mutation) und komplette Bäume kombiniert (Rekombination) werden.

Das Ziel der genetischen Programmierung ist die Erzeugung von Strukturen, die eine bestimmte Eingabe in eine festgelegte Ausgabe umwandeln sollen (Computerprogramme, Schaltkreise oder mathematische Funktionen). Die Lösungskandidaten werden durch Bäume repräsentiert.

Beim Problem der symbolischen Regression wird eine bestimmte Funktion <math>X \to Y</math> gesucht (z. B. ein Polynom wie <math>4x^4-3x^2+17</math>). Gegeben sind Paare mit je einem Wert aus <math>X</math> und dem zugehörigen Wert aus <math>Y</math>. Es ist also bekannt, wie die gesuchte Funktion Werte abbildet. Mit GP werden Baumstrukturen evolviert, die die symbolische Funktion meist exakt nachbilden.<ref>Julian F. Miller: Cartesian Genetic Programming. Natural Computing Series. Springer, Berlin, Heidelberg, 2011, S. 63. doi:10.1007/978-3-642-17310-3_2</ref>

Eine grundlegende Arbeit zur Genetischen Programmierung verfasste John Koza. Er erkannte auch die Möglichkeit, symbolische Regression mit GP zu lösen. In der Erforschung von GP wurde dieses Problem oft als Benchmarktest genutzt.

Evolutionäre Programmierung (EP)

Ähnlich wie bei der GP werden Strukturen wie Computerprogramme gesucht, die aber nicht durch Bäume, sondern durch endliche Automaten repräsentiert werden. Nur die numerischen Eigenschaften der Automaten werden variiert, ihre Struktur ist fest. Gesucht wird ausschließlich über Mutation, Rekombination findet nicht statt. Einzelne Individuen werden sozusagen als unterschiedliche Spezies betrachtet. Evolutionäre Programmierung wurde nach ihrer Entstehung wenig weiterentwickelt.

EAs im Vergleich zu Monte-Carlo-Verfahren

Beide Verfahrensklassen haben gemeinsam, dass ihre einzelnen Suchschritte zufallsbestimmt sind. Der wesentliche Unterschied besteht aber darin, dass die EAs, wie viele andere Metaheuristiken auch, aus den vergangenen Suchschritten lernen und diese Erfahrung in die Ausführung der nächsten Suchschritte in einer verfahrensspezifischen Form einfließt. Dies geschieht bei den EAs wie in Abschnitt Pseudocode dargestellt erstens durch die fitnessbasierten Selektionsoperatoren zur Partnerwahl und zur Bildung der nächsten Generation. Und zweitens durch die Art der Suchschritte: Beim EA gehen sie von einer aktuellen Lösung aus und verändern diese oder sie mischen die Information zweier Lösungen. Im Gegensatz dazu besteht beim Auswürfeln neuer Lösungen bei den Monte-Carlo-Verfahren in der Regel kein Zusammenhang zu bereits existierenden Lösungen.<ref name=":8" details="S. 109" /><ref>Thomas Bäck, David B. Fogel, Zbigniew Michalewicz (Hrsg.): Evolutionary Computation 1. Institute of Physics Publishing, Bristol; Philadelphia 2000, ISBN 978-0-7503-0664-5, Glossary, S. xxx und S. xxxvii (worldcat.org [abgerufen am 16. September 2024]).</ref>

Wenn der Suchraum aufgabenbedingt so aussieht, dass es nichts zu lernen gibt, sind Monte-Carlo-Verfahren ein probates Mittel, da sie keinerlei Overhead enthalten, der aus der bisherigen Suche geeignete Schlüsse ziehen soll. Ein Beispiel dafür ist eine Fitnesslandschaft, die eine flache (Hyper-)Ebene mit einer einsamen schmalen Spitze darstellt. Solange die Spitze nicht gefunden wurde, haben alle betrachteten Lösungen die gleiche Fitness, und es fehlt jeder Hinweis, ob und wo es bessere Lösungen geben könnte.

Siehe auch

Literatur

Evolutionäre Algorithmen allgemein

  • Ingrid Gerdes, Frank Klawonn, Rudolf Kruse: Evolutionäre Algorithmen: genetische Algorithmen – Strategien und Optimierungsverfahren – Beispielanwendungen. Vieweg, Wiesbaden 2004, ISBN 3-528-05570-7.
  • Volker Nissen: Einführung in evolutionäre Algorithmen: Optimierung nach dem Vorbild der Evolution. Vieweg, Braunschweig 1997, ISBN 3-528-05499-9 , doi:10.1007/978-3-322-93861-9.
  • Hartmut Pohlheim: Evolutionäre Algorithmen: Verfahren, Operatoren und Hinweise für die Praxis. Springer, Berlin 1999, ISBN 3-540-66413-0.
  • Karsten Weicker: Evolutionäre Algorithmen. Springer Vieweg, Wiesbaden, 2015. ISBN 978-3-658-09957-2. doi:10.1007/978-3-658-09958-9
  • Agoston E. Eiben, Jim E. Smith: Introduction to Evolutionary Computing. Springer, Berlin, Heidelberg, 2003. doi:10.1007/978-3-662-44874-8
  • Kenneth A. de Jong: Evolutionary Computation: A Unified Approach. MIT Press, Cambridge, MA 2006, ISBN 0-262-04194-4.
  • Thomas Bäck, David Fogel, Zbigniew Michalewicz (Hrsg.): Evolutionary Computation 1: Basic Algorithms and Operators. CRC Press, Bristol 1999, ISBN 978-0-7503-0664-5,
  • Thomas Bäck, David Fogel, Zbigniew Michalewicz (Hrsg.): Evolutionary Computation 2: Advanced Algorithms and Operators. CRC Press, Bristol 2000, ISBN 978-0-7503-0665-2, doi:10.1201/9781420034349
  • VDI/VDE-Richtlinie 3550, Blatt 3: Evolutionäre Algorithmen – Begriffe und Definitionen. Weißdruck, (in Deutsch und Englisch), DIN-Media, Berlin, 2003. dinmedia.de
  • VDI/VDE-Richtlinie 6224, Blatt 1: Bionische Optimierung – Evolutionäre Algorithmen in der Anwendung. Weißdruck, (in Deutsch und Englisch), DIN-Media, Berlin, 2012. dinmedia.de/

Genetische Algorithmen

Evolutionsstrategien

  • Ingo Rechenberg: Cybernetic Solution Path of an Experimental Problem (1965). In: D.B. Fogel (Hrsg.): Evolutionary Computation – The Fossil Record. IEEE Press, 1998, ISBN 0-7803-3481-7.
  • Ingo Rechenberg: Evolutionsstrategie. Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Frommann Holzboog, 1973, ISBN 3-7728-0373-3 (Diss. von 1970).
  • Ingo Rechenberg, Evolutionsstrategie ’94. Frommann Holzboog, 1994, ISBN 3-7728-1642-8.
  • Hans-Paul Schwefel: Evolution and Optimum Seeking. Wiley & Sons, New York 1995, ISBN 0-471-57148-2.
  • Hans-Georg Beyer: The Theory of Evolution Strategies. Springer, Berlin / Heidelberg / New York 1998, ISBN 3-540-67297-4.
  • Hannes Geyer et al.: Vergleich zwischen klassischen und verschachtelten Evolutionsstrategien am Beispiel einer nichtlinearen Regression an Oberflächenspannungen in R². Interner Bericht CI-66/99 des Sonderforschungsbereichs 531: „Design und Management komplexer technischer Prozesse und Systeme mit Methoden der Computational Intelligence“, Dortmund 1999, PDF

Genetische Programmierung

Evolutionäre Programmierung

Weblinks

Commons: Evolutionärer Algorithmus – Sammlung von Bildern, Videos und Audiodateien

Evolutionäre Algorithmen allgemein

Genetische Algorithmen

  • Genetische Algorithmen. Wikiversity-Kurs.
  • JGAP – Freies Java Framework zur Implementierung genetischer Algorithmen, unterstützt auch die Genetische Programmierung; sehr viele Unit Tests zur Qualitätssicherung, umfangreiche Javadoc-Dokumentation
  • EvoJ – Kleines aber effektives und verbreitbares Java Framework für genetischer Algorithmen.
  • Jenetics – in Java 11 geschriebener, genetischer Algorithmus und nutzt die Java Stream API zur Evaluierung der einzelnen Generationen.
  • HeuristicLab – Freies .NET Environment für heuristische Optimierung (genetische Algorithmen, Evolutionsstrategien, Nachbarschaftssuche etc.)
  • Boxcar2D, ein genetischer Algorithmus, der ein 2-dimensionales Fahrzeug konstruiert, um ein Gelände zu überwinden

Hybrid-Algorithmen

  • Geneva („Grid-enabled evolutionary algorithms“), eine freie Bibliothek (Affero GPLv3) zur Optimierung mit Evolutionsstrategien, genetischen Algorithmen und Schwarmalgorithmen sowie simulierte Abkühlung und Parameter Scans. Unterstützt Problembeschreibungen mit gemischten Parametersätzen sowie die Optimierung in Clustern sowie Grid und Cloud.

Einzelnachweise

<references> </references>

Vorlage:Hinweisbaustein