
¿Qué es la Computación Evolutiva?
La CE trata de resolver problemas de optimización combinatoria con el fin de poder encontrar la mejor solución a un problema, es decir, al igual que en la naturaleza sólo los más fuertes y mejores adaptados al ambiente son capaces de poder sobrevivir, reproducirse y perpetuar su especie a través del tiempo.
La CE engloba diferentes estrategias para la resolución de los problemas de optimización, las cuales son:
- Procesos de búsqueda evolutiva: Esta fue propuesta por Alan Turing en el año 1948.
- Estrategias Evolutivas: Esta representa los individuos a través de vectores reales. Fue propuesta por Rechenberg en el año 1964
- Programación Evolutiva: Esta utiliza máquinas de estado finito. Fue propuesta por Fogel en el año 1965.
- Algoritmos Genéticos: Esta representa a los individuos como cadenas binarias y fue propuesta por Holland en el año 1975.
- Programación Genética: Utiliza arboles LISP y fue propuesta por Koza en 1992.

Algoritmos Evolutivos
Componentes principales:
- Población de individuos, que son una representación de posibles soluciones.
- Procedimiento de selección basado en la aptitud de los individuos para resolver el problema.
- Procedimiento de transformación para construir nuevos individuos a partir de los anteriores.

Esquema General de un Algoritmo Evolutivo
BEGIN
INICIALIZAR de forma aleatoria una población con soluciones candidatas EVALUAR cada candidato
REPEAT UNTIL ( CONDICIÓN DE TERMINACIÓN == true )
1. SELECCIONAR progenitores
2. RECOMBINAR progenitores seleccionados obteniendo descendencia
3. MUTAR descendencia
4. EVALUAR nuevos candidatos
5. SELECCIONAR individuos para la próxima generación
END REPEAT
END
Pseudo-código de algoritmo evolutivo
Características:
- Estrategias Evolutivas: Desarrollada por Rechenberg y Schwefel y extendida por Herdy, Kursawe, Ostermeier, Rudolph, y otros, fue diseñada con el propósito de resolver problemas de optimización discretos y continuos. Trabaja con vectores de números reales que codifican las posibles soluciones de problemas numéricos. Este utiliza recombinación o cruce (crossover aritmético), mutación y la operación de selección, pudiendo ser determinística o probabilística, elimina las peores soluciones de la población y no genera copia de aquellos individuos con una aptitud por debajo de la aptitud promedio.
- Programación Evolutiva: Fue introducida por Fogel y extendida por Burguin, al principio fue diseñada con el propósito de crear inteligencia artificial. La representación del problema se hace mediante números reales y emplea mecanismos de mutación y selección.
- Algoritmos Genéticos: Trabajan con cadenas binarias para la representación del problema y el espacio de las soluciones que son posibles es explorado aplicando transformaciones a éstas soluciones candidatas así como podemos observarlo en los organismos vivos: cruce, inversión y mutación.
- Programación Genética: Fue desarrollada por Koza, los individuos son programas o autómatas de longitud variable, están descritos a través Expresiones-S de LISP y se representan como árboles, y como operadores de variación emplea crossover y modificación, además de mecanismos de selección.
Podemos decir que cada persona posee una información genética única la cual se encuentra en el ADN. El ADN está compuesto por cuatro tipos de elementos: la "Adenina" (A), "Timina" (T), "Citosina" (C) y "Guanina" (G), podemos decir que los seres humanos estamos representados por medio de un ARRAY (Arreglo) compuesto por alguno de estos 4 "elementos" y con esto tenemos una manera de representar los individuos. Pasando esto a un problema de optimización combinatoria, quiere decir que un posible resultado al problema lo podemos pasar a un array que podría estar lleno de ceros o unos (binario), al que le daremos un cierto significado y a este array que representa al individuo se le denomina Cromosoma.
https://steemitimages.com/DQmTbCzBMS14Ybiuh424BNGSXpYsxjdb9Tc4P3jhmQfwzpu/image14.png


Algoritmos Genéticos

Fuente de las Imágenes:
Referencias Bibliográficas:
- Libro: Inteligencia Artificial un enfoque moderno, segunda edición. Stuart J. Russell & Peter Norvig.
https://steemitimages.com/DQmPdCKiQC6RHzRt4EfvjihVwF1UUya1U3tdRf25o3HzaAq/giphy.gif