Algoritmos Genéticos en Inteligencia Artificial. Parte I: Introducción

Share on facebook
Share on twitter
Share on linkedin

Parte de la serie Algoritmos Genéticos en Inteligencia Artificial:

Parte 1: Introducción (lo estás leyendo ahora).
Parte 2: Funcionamiento.
Parte 3: Codificando algoritmos genéticos.

Introducción: La evolución biológica.

Desde los inicios de la vida en nuestro planeta hace aproximadamente 3600 millones de años y hasta nuestros días los individuos mejor adaptados a su entorno han sobrevivido. Sin embargo, no han mantenido una configuración biológica exacta. Esta configuración se ha transformado junto con ellos de manera que las especies que hoy en día conocemos, son especializaciones y mutaciones de las especies primitivas. Este proceso es conocido como evolución biológica.

El proceso de evolución y de adaptación de los organismos se da mediante un mecanismo llamado selección natural, expuesto por primera vez por Charles Darwin, en su libro El origen de las especies (1859). Esta teoría explica que los organismos que tienen mejores características para sobrevivir en su entorno, viven más tiempo, por lo que pueden reproducirse más veces y heredar sus características a su descendencia.

Un ejemplo interesante del proceso de evolución biológica sucedió en la isla de Flores, Indonesia. Esta isla se encuentra en un punto geográfico difícil de acceder, por lo que las especies que se desarrollaron ahí, quedaron aisladas y con una cantidad limitada de alimento, por ello a través del tiempo y de la recombinación genética, redujeron su tamaño para poder sobrevivir.

De ahí que surgieron dos especies peculiares: el elefante enano (Stegodon florensis insularis) y el hombre de flores (Homo floresiensis), este último es un pariente del homo sapiens sapiens que tenía características similares al homo erectus, un ancestro directo del hombre moderno, pero con la característica de que medía apenas un metro, pesaba unos 25 kilos y su cerebro tenía el tamaño de una naranja. https://elpais.com/sociedad

Selección natural
Fig. 1. Tamaños aproximados del Homo floresiensis y del Stegodon florensis insularis en comparación con el Homo sapiens sapiens y el Elephas maximus (tomada de https://twitter.com/cronicasdefauna/status)

Si bien el proceso de evolución biológica lleva a resultados interesantes e impresionantes, este proceso no se consigue de un momento a otro, sino que se da por medio de una larga cadena de eslabones en donde los individuos mejor adaptados sobreviven y heredan sus características.

Un ejemplo de lo anterior fue que para que el homo floresiensis disminuyera su tamaño, el proceso se desarrolló a través de varias generaciones, en las cuales los individuos con menor tamaño, necesitaban menos alimento y sobrevivían más tiempo que los de mayor tamaño, siendo que en cada generación heredaban a su descendencia esta característica genética disminuyendo gradualmente su estatura, hasta alcanzar un metro de estatura y 25 kg de peso. Un proceso similar ocurrió con los elefantes.

Funcionamiento General de los AG

En la inteligencia artificial, se han utilizado las ideas de la evolución biológica y la selección natural para resolver tareas complejas por medio de la computadora a través de AG. Los AG trabajan encontrando individuos con el mejor desempeño en sus tareas y utilizan sus características para producir individuos “mejor adaptados” en cada generación, es decir que sean mejores en su tarea que los individuos anteriores.

Los AG fueron propuestos por John Holland en los años 70’s y presentados en 1989 por David Goldberg como un método de optimización de problemas complejos, ya que su mecanismo explora todo el espacio de soluciones del problema, permitiendo superar posibles óptimos locales e ir en busca de óptimos globales.

De manera general podemos comentar que los AG describen las soluciones posibles del problema como individuos dentro de una población. Cada individuo se representa como una secuencia de caracteres donde cada caracter se llama gen y el conjunto de caracteres se llama cromosoma. Los individuos son evaluados midiendo que tan bien solucionan el problema.

Una vez evaluados, se seleccionan los mejores individuos y pasan a una etapa de recombinación genética en la cual se emplean estrategias de cruce y mutación para producir variedades de individuos diferentes a las de sus antecesores, las cuales se utilizan para poblar la siguiente generación del algoritmo.

Este ciclo se repite iterativamente y en cada generación se obtienen mejores individuos que heredan y modifican ligeramente las características de sus ancestros llegando a soluciones con un buen desempeño en la tarea que deseamos realizar.

Algoritmos genéticos
Fig. 2.  Proceso de evolución de los algoritmos genéticos

Ventajas, desventajas y uso

La ventaja principal del uso de los AG es que suelen llegar a soluciones muy creativas y optimizadas debido a su capacidad de explorar el espacio de búsqueda por caminos que normalmente no lo hacemos los humanos y diseñadores.

Los algoritmos evolutivos tienen la desventaja de ser altos en coste computacional y depender de muchos hiperparámetros: tamaño de cromosoma, probabilidad de cruce, probabilidad de mutación, número de generaciones, entre otros. Lo anterior hace difícil trabajar con ellos ya que son muy dependientes del problema.

Actualmente se siguen utilizando en algunos campos de las ciencias de la computación, que buscan optimización en espacios de búsquedas y combinatorios demasiado grandes como por ejemplo optimización de rutas, optimización de costos, espacios, etc.

Un ejemplo interesante es el presentado por la NASA (https://ti.arc.nasa.gov), en el cual se usaron algoritmos genéticos para evolucionar una antena que generara el mejor patrón de radicación de acuerdo a restricciones impuestas por las necesidades de la nave. La antena fue evolucionada en aproximadamente 4 semanas y lanzada al espacio de la nave ST5.

NASA evolución
Fig. 3.  Antena evolucionada de la nave espacial de la NASA ST5. Esta forma complicada fue encontrada por un programa evolutivo para crear el mejor patrón de la radiación. Tomada de (https://ti.arc.nasa.gov/m/pub-archive)

Los AG también presentan utilidad en la industria como por ejemplo el trabajo realizado por Orozco et. al para buscar yacimientos de sal a partir de imágenes sísmicas (Orozco del Castillo, et al. 2013). En este trabajo se utilizaron los AG para buscar filtros de imágenes sísmicas que faciliten la identificación y apoyen en la automatización de la detección de yacimientos salinos por parte de expertos humanos.

Lo anterior tiene relevancia en la industria petroquímica puesto que la presencia de yacimientos salinos es de utilidad para el descubrimiento de petróleo. Otro uso frecuente que se les da a los AG es para ajustar hiperparámetros de otros algoritmos para cumplir tareas complejas.

Un ejemplo en donde se pueden utilizar los AG consiste en encontrar una buena arquitectura de red neuronal representando la topología de la red como una cadena donde se representan el número de neuronas para cada capa de la red y el número de épocas necesarias para entrenarla.

Una función de evaluación posible para ese problema es la precisión de la red neuronal al correr con los datos del conjunto de prueba. Esta estrategia resulta cara computacionalmente, sin embargo, puede arrojar mejores resultados que el proceso de exploración tradicional, llegando a mejorar las topologías propuestas por los expertos humanos.

Si bien los AG han perdido algo de popularidad ante los increíbles avances obtenidos por las técnicas de Deep Learning, resultan una opción sumamente interesante para explorar problemas complejos que vale la pena conocer y estudiar.

Share on facebook
Share on twitter
Share on linkedin

No hay comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Conozcámonos mejor!

Te haremos llegar las novedades de SoldAI, ofertas exclusivas, notificaciones, y mucho más.

¡Deja tu correo, tenemos mucho que contarte!