La programación
evolutiva (PE) es una rama de la Computación Evolutiva. La programación
evolutiva es prácticamente una variación de los algoritmos genéticos, donde lo que cambia es la
representación de los individuos. En el caso de la PE los individuos son ternas (tripletas)
cuyos valores representan estados de un autómata finito. Cada terna está formada por:
§
El valor del estado actual;
§
un símbolo del alfabeto utilizado;
§
el valor del nuevo estado.
Estos valores se utilizan,
como en un autómata finito, de la siguiente manera: Teniendo el valor del
estado actual en el que nos encontramos, tomamos el valor del símbolo actual y
si es el símbolo de nuestra terna, nos debemos mover al nuevo estado.
Básicamente así funciona y
así se representan los individuos en la PE. Evidentemente las funciones de
selección, Cruce (crossover) y mutación deben
variar para adaptarse y funcionar con una población de individuos de este tipo.
PROGRAMAS
EVOLUTIVOS (PE)
Son una estrategia de
optimización estocástica similar a los Ags, pero hacen un énfasis específico en
los operadores genéticos tal y como se observan en la naturaleza y en la estructura de datos que utilizan adaptada al problema. Por
esto, a diferencia de los AGs, los PEs no son restrictivos en cuanto a la
representación del problema. Mientras en los AGs se hace necesario una codificación de las soluciones del problema; en los
PEs, tal representación se hace de forma directa.
Aplicaciones
Predicción
Generalización
Juegos
Control automático
Problema del viajero
Planeación de rutas
Diseño y entrenamiento de redes neuronales
Reconocimiento de
patrones.
ESTRATEGIAS EVOLUTIVAS (EE)
Esta técnica esta básicamente enfocada hacia la optimización paramétrica.
En esencia son métodos estocásticos con paso adaptativo, que permiten resolver
problemas de optimización paramétrica. A este método se le han agregado
procedimientos propios de la computación evolutiva, que lo han convertido en un
paradigma más de dicha metodología.
Con tal mezcla, las EEs pueden definirse como algoritmos evolutivos enfocados
hacia la optimización paramétrica, teniendo como características principales
que utilizan una representación a través de vectores reales,
una selección determinística y operadores genéticos específicos de cruce y
mutación. Además, su objetivo fundamental consiste en encontrar el valor real
de un vector de N dimensiones.
Las EEs pueden dividirse en dos tipos: Estrategias Evolutivas Simples y
Estrategias Evolutivas Múltiples.
·
EEs Simples
Son consideradas como procedimientos estocásticos de optimización
paramétrica con paso adaptativo, esta característica las hace similares al
temple simulado. En este caso, se hace evolucionar un solo individuo usando
únicamente a la mutación como operador genético. Son relativamente sencillas, y
se denominan también EEs de dos miembros. Debido a que evoluciona un solo
individuo a la vez, no son consideradas estrictamente como métodos evolutivos.
A pesar de ser muy sencillas, son de gran utilidad práctica y han sido
utilizadas, con algunas mejoras, para resolver problemas reales en diversas
áreas.
·
EEs Múltiples:
Surgen como respuesta a las debilidades de las EEs simples, las cuales
tienden a converger hacia subóptimos. En las EEs múltiples existen múltiples individuos
(población), y se producen en cada generación varios nuevos individuos, usando
tanto mutación como cruce (también puede usarse cualquier otro operador). Se
usa normalmente e cruce promedio, el cual genera un único descendiente de dos
padres, promediando los vectores de
estos. En cuanto a los criterios de reemplazo, siempre se usa un esquema
determinístico pudiéndose utilizar una estrategia de inserción o de inclusión.
Algunas aplicaciones de las estrategias evolutivas son
Problemas de ruteo y redes
Bioquímica
Óptica
Diseño en ingeniería
Magnetismo
No hay comentarios:
Publicar un comentario