13 noviembre, 2013

Algoritmos Genéticos y Evolución

 Los días 8 y 9 de febrero de 2.008 asistí en Vigo a unas jornadas sobre “aplicaciones industriales de los algoritmos genéticos” y me causó una gran impresión la similitud con la evolución biológica.

El desarrollo de los Algoritmos Genéticos se debe en gran medida a los trabajos de John Holland en 1975, pero fue en 1989 cuando su enorme potencial de aplicación práctica fue realmente mostrado por el trabajo de Goldberg. A partir de entonces han sido miles las contribuciones tanto teóricas como prácticas en muy diferentes campos de la ciencia y la tecnología. Desde 1995 la aplicación en problemas de tipo industrial ha puesto de manifiesto su utilidad en la solución de problemas reales complejos, incrementando la demanda de su utilización en un número creciente de sectores industriales y de negocios.

Un algoritmo genético es una potente herramienta informática para encontrar la solución óptima a ecuaciones complejas con contornos también muy complejos. Se puede definir como un algoritmo de búsqueda basado en un muestreo secuencial controlado por reglas basadas en los procesos naturales que permiten la evolución de los seres vivos:
1.      Toma de muestras
2.      Tratamiento
3.      Evaluación


El muestreo secuencial se aplica, casi siempre, en forma de conjuntos sucesivos de tamaño fijo (todos con el mismo número de muestras), mientras que el control y obtención de dichos conjuntos se realiza tratando de imitar los procesos naturales de Selección, Cruce y Mutación.

La función de aptitud es la prueba de fuego, establece el grado de idoneidad de la muestra y tratará de buscar otras con mejor grado de aptitud. La función de aptitud puede ser monoobjetivo o multiobjetivo.

Los pocos teoremas que existen son los siguientes:
Teorema de los esquemas:
Los esquemas con función de aptitud media superior a la media de la población, de longitud pequeña y con un orden bajo aumentarán su presencia de forma exponencial en las sucesivas generaciones. La conclusión fundamental del mismo es que un AG es un “buen transmisor de esquemas pequeños” más que un buen transmisor de buenas soluciones.
Teorema del “No Free Lunch”:
Este teorema establece que no existe un AG “universal” válido para cualquier tipo de problema. Por lo que deberá encontrarse cual es el AG que mejor funciona para cada problema en particular. Es curioso, pero las características del método no garantizan que se encuentre el valor óptimo.






El ALGORITMO DE EVOLUCIÓN FLEXIBLE
Es un nuevo método evolutivo de optimización global, robusto, sin parámetros y capaz de guardar memoria de lo acontecido durante los procesos de optimización y que aprende durante los mismos.

El motor de aprendizaje aglutina los cálculos de las medidas estadísticas con el fin de comprobar en determinados momentos qué ocurre en el proceso de optimización, es decir, comprobar si hay estancamiento, convergencia prematura ó diversidad en las soluciones. Se implementaron cuatro medidas estadísticas diferentes: divergencia, convergencia, varianza y distancia euclídea. Las tres primeras son medidas fenotípicas, basadas en valores de función objetivo, mientras que la última es genotípica y se basa en información sobre las variables directamente.

 

En este sentido, es imprescindible dotar de cierta clase de “memoria” al algoritmo, para que se pueda almacenar qué procesos ó parámetros han sido de utilidad durante el proceso de optimización, como por ejemplo los que utilizan los sistemas clasificadores.


OPTIMOS LOCALES O EXTINCIÓN
Si el algoritmo llega a un óptimo local se producirá un enquistamiento. Entonces el sistema debe ser lo suficientemente bueno para rastrear otras posibles soluciones. En la evolución biológica ha sucedido lo mismo. Hagamos un somero repaso por las 5 ó 6  grandes extinciones que han sucedido a lo largo de la historia:
  1. Precámbrico Superior. Hace 670 millones de año. La vida animal se encontraba todavía diseminada y esa extinción en masa de especies de organismos diezmó la población de fitoplancton unicelular del océano, que fueron los primeros organismos que desarrollaron células con núcleos. Tras esta extinción apareció una gran diversidad de especies nuevas de organismos, cuyo aspecto era distinto a cualquier otro anterior.
  2. Paleozoico – Era primaria. Hace 435 millones de años. Una larga glaciación casi acaba con la vida marina, algunos peces sobreviven y los invertebrados pagan un duro tributo.
  3. Devónico. Hace 367 millones de años. Desaparecen un gran número de especies de peces y el 70% de los invertebrados marinos.
  4. Frontera Era primaria-Secundaria. Hace 251 millones de años. La más dramática de todas ya que perecieron el 90% de todas las especies marinas y terrestres, en ellos, el 98% de lo crinoideos, 78% de los braquiópodos, 76% de los briosos, 71% de cefalópodos, 21 familias de reptiles y 6 de anfibios, además de un gran número de insectos. Los conocidos trilobites desaparacieron para siempre con esta extinción en masa. Estudios recientes parecen demostrar que se debió al impacto de un asteroide de grandes proporciones en la costa noroeste de lo que actualmente es Australia.
  5. Triásico. Hace 210 millones de años. Desaparecieron el 75% de los invertebrados marinos. Y se extinguieron los reptiles mamiferianos, dando paso a los dinosaurios. Se desconocen los motivos de dicha extinción pero entre los más creíbles se encuentran una serie de erupciones volcánicas masivas que pudieron ocasionar un cambio climático.
  6. Cretácico. Hace   65 millones de años. Desaparecieron los dinosaurios y los amonites además de otro buen número de especies. Los mamíferos se extienden por los espacios terrestres y los peces se adueñan de los mares. La causa sería el impacto de un cometa en la Tierra.

Desde los albores de la vida en la Tierra, algunas especies de los diversos organismos que habitan en el planeta se han extinguido y han posibilitado el surgimiento y desarrollo de nuevas especies de organismos que pueden adaptarse mejor al medio ambiente. Cuando ocurre una extinción en masa de una o más especies se desarrollan nuevas especies. Esto hace que la extinciones de algunas especies de organismos desempeñen un función importante en la evolución de la vida en al Tierra. Si las especies no llegaran a extinguirse para dejar su espacio a organismos más avanzados, la vida en la Tierra no habría progresado hasta lo que es actualmente, y los únicos organismos que habitarían la Tierra serían los microorganismos primigenios con que empezó la vida en el mar.

Según el registro fósil, se ha calculado que durante los periodos de extinción normal, es decir, sin que intervenga ningún cataclismo, la pérdida es de una especie cada cuatro años.

Parece como si la existencia periódica de grandes extinciones fuera lo habitual. Tras cada época de gran extinción viene otra de explosión de biodiversidad y de complejidad. Es como si los grandes cataclismos fuesen necesarios para la evolución.

CONCLUSIÓN
Se puede constatar como los algoritmos genéticos tienen un gran paralelismo con la evolución, y sirve para además para avanzar:
v     Selección de los mejores adaptados.( Selección natural o elitismo)
v     Introducción de variaciones aleatorias. (Mutaciones)
v     Cruce de muestras. (Simbiosis)
v     Memoria del pasado. (Archivo Akasico de Erdwin Lazlo o Cámpos Mórficos de Rupert Sheldrake)

La evolución comprende periodos lineales donde parece cumplirse la teoría de Darwin y otros periodos de convulsos de extinción y explosión de nuevas especies.
Parece que la evolución se desarrolla llegando a un óptimo local, donde se enquista y sólo mediante una extinción se pueden llegar a otros óptimos mejores. Como dice el teorema de los esquemas, los algoritmos genéticos son buenos transmisores de soluciones parciales más que buenos transmisores de buenas soluciones.

Después de un periodo de extinción hay un breve periodo de explosión de biodiversidad (creatividad) y rápida evolución hasta llegar a otro óptimo local de mayor rango.

Los mecanismos para la selección de individuos son elitismo, mutación y cruce. Además hay que añadir otro que se emplean en los algoritmos de evolución flexible: memoria sobre lo acontecido y herramientas para la detección de enquistamiento.

Posiblemente no exista una algoritmo genético único, y en cada universo se desarrollará otro diferente cuya búsqueda será la creciente complejidad y la supervivencia.

El ser humano puede constituir un óptimo local o ser un mero eslabón en la montaña. Si es un óptimo local que se enquista, entonces estamos condenados a la extinción por algún cataclismo externo, interno, ... por el contrario si somos un eslabón seguiremos existiendo pero seremos inferior a otra especie venidera.

El propio Darwin llegó a decir: “Si se pudiera demostrar que existió cualquier órgano complejo sin posibilidades de haberse formado por numerosas modificaciones lees y sucesivas, mi teoría se derrumbaría totalmente”. Esto lo refuto Margulis con la formación de las células eucariotas (teoría simbiogénesis).

En otros capítulos desarrollaremos los conceptos de mutación, simbiosis, memoria, …