- Evolutionäre Programmierung
-
Evolutionäre Programmierung (EP) ist ein (meta-)heuristisches Optimierungsverfahren und gehört zu den evolutionären Algorithmen.
Anders als bei den anderen Hauptströmungen der evolutionären Algorithmen (genetische Programmierung, genetische Algorithmen, Evolutionsstrategien) existiert keine exakt definierte Algorithmus-Variante.
Gemeinsames Merkmal der evolutionären Programmierung ist jedoch zumeist, dass es als Optimierungsoperatoren nur Mutation und Selektion und keine Rekombination gibt. Begründet wird dies meist mit der zugrundeliegenden Vorstellung: Die Mitglieder einer Population werden als Stellvertreter verschiedener Spezies betrachtet, nicht als verschiedene Individuen einer einzigen Spezies. Damit gibt es keinen Rekombinationsoperator, da es unter verschiedenen Spezies auch keine Rekombination gibt.
Für die Art der Repräsentation und die Wahl des Mutationsoperators gibt es in der evolutionären Programmierung keine Festlegung. Das macht es schwer, die evolutionäre Programmierung insbesondere von den Evolutionsstrategien abzugrenzen, bei denen die Rekombination im Vergleich mit der Mutation ebenfalls eine eher untergeordnete Rolle spielt.
Die künstlichen neuronalen Netze des Dame-Programms Blondie24 wurden mit Hilfe von evolutionärer Programmierung entwickelt.
Geschichte
Entwickelt wurde die evolutionäre Programmierung von Lawrence J. Fogel im Jahr 1960. Er benutzte damals endliche Automaten zur Vorhersage und Analyse von Datenströmen. Sein Sohn, David B. Fogel, entwickelte sie maßgeblich weiter.
Literatur
- Fogel, L.J., Owens, A.J., Walsh, M.J., Artificial Intelligence through Simulated Evolution, John Wiley 1966
- Eiben, A.E., Smith, J.E., Introduction to Evolutionary Computing, Springer 2003
- Fogel, D.B., Blondie24: Playing at the Edge of AI, Morgan Kaufmann Publishers, Inc., San Francisco, CA 2002, ISBN 1-55860-783-8
Wikimedia Foundation.