Computación Evolutiva
En la naturaleza todos los seres vivos se enfrentan a problemas que deben resolver con éxito, como conseguir más luz del sol, o cazar una mosca. La Computación Evolutiva interpreta la naturaleza como una inmensa máquina de resolver problemas y trata de encontrar el origen de dicha potencialidad para utilizarla en nuestros programas.Los Algoritmos Genéticos son una de las más conocidas y originales técnicas de resolución de problemas dentro de lo que se ha definido como "Computación Evolutiva" (o "Algoritmos Evolutivos"), término que agrupa a los Algoritmos Genéticos, las Estrategias Evolutivas y la Programación Evolutiva. En realidad todas estas técnicas son muy parecidas y comparten muchos aspectos.
Un Algoritmo Evolutivo es una técnica de resolución de problemas inspirada en la evolución de los seres vivos.
En un Algoritmo Evolutivo se define una estructura de datos que admita todas las posibles soluciones a un problema.
Cada uno de los posibles conjuntos de datos admitidos por esa estructura será una solución al problema. Unas soluciones serán mejores, otras peores.
Solucionar el problema consistirá en encontrar la solución óptima, y por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda.
Pero un método de búsqueda muy especial, en el que las soluciones al problema son capaces de reproducirse entre sí, combinando sus características y generando nuevas soluciones.
En cada ciclo se seleccionan las soluciones que más se acercan al objetivo buscado, eliminando el resto de soluciones. Las soluciones seleccionadas se reproducirán entre sí, permitiendo de vez en cuando alguna mutación o modificación al azar durante la reproducción.
Ejemplos de Vida es una aplicación escrita en Visual Basic con la que podemos estudiar varios mundos habitados por seres artificiales, entre ellos, se incluye un algoritmo genético capaz de adivinar una frase introducida por el usuario. El programa es de libre distribución y el código fuente está disponible.
[ Introducción por Manu Herrán ]
[ http://www.redcientifica.com/gaia/ce/ce_c.htm ]
Artículo Computación Evolutiva publicado en marzo de 1998 en la revista "Solo Programadores" (nº 43) y revisado en abril de 1999 por el autor.
En el documento Notas sobre Computación Evolutiva se describen los fundamentos, el funcionamiento, la programación, varias opciones, algunos problemas y posibles soluciones y algunos ejemplos de aplicaciones de Algoritmos Evolutivos.