La programación evolutiva es uno de los cuatro paradigmas principales de algoritmos evolutivos . Es similar a la programación genética , pero la estructura del programa que se desea optimizar es fija, mientras que sus parámetros numéricos pueden evolucionar.
Fue utilizada por primera vez por Lawrence J. Fogel en los EE. UU. en 1960 con el fin de utilizar la evolución simulada como un proceso de aprendizaje con el objetivo de generar inteligencia artificial . Fogel utilizó máquinas de estados finitos como predictores y las desarrolló. Actualmente, la programación evolutiva es un amplio dialecto de computación evolutiva sin estructura o representación fija , a diferencia de algunos de los otros dialectos. Se ha vuelto más difícil distinguirla de las estrategias evolutivas .
Su principal operador de variación es la mutación ; los miembros de la población son vistos como parte de una especie específica en lugar de miembros de la misma especie, por lo tanto, cada padre genera una descendencia, utilizando una selección de sobrevivientes (μ + μ) . En la estrategia de selección (μ + μ), el proceso implica generar μ descendencia a partir de μ padres. La siguiente generación se forma seleccionando los mejores μ individuos del grupo combinado de μ padres y μ descendencia.
Véase también
Referencias
- Fogel, LJ, Owens, AJ, Walsh, MJ (1966), Inteligencia artificial a través de la evolución simulada , John Wiley.
- Fogel, LJ (1999), Inteligencia a través de la evolución simulada: cuarenta años de programación evolutiva , John Wiley.
- Eiben, AE, Smith, JE (2003), Introducción a la computación evolutiva, Springer. ISBN 3-540-40184-9
Enlaces externos
- Guía del autoestopista para la computación evolutiva: ¿Qué es la programación evolutiva (PE)?
- Programación evolutiva por Jason Brownlee (PhD) Archivado el 18 de enero de 2013 en Wayback Machine