Luciérnagas, leones y pollos: siete algoritmos que se comportan como animales
Hay una experta en programación que lleva en el oficio desde que el mundo es mundo. Programó el modo en que recolectan las hormigas, la manera en que cazan las ballenas, el orden que rige el vuelo de las bandadas de pájaros... El portfolio de la madre naturaleza abarca más de 3.000 millones de años de evolución biológica. ¿Cómo no íbamos a plagiar su obra?
En lo que a tecnología se refiere, esta copia sistemática de las leyes del reino animal tiene por resultado una rama entera en el árbol de los algoritmos. Es lo que se conoce como computación bionspirada, una aproximación emergente que se basa en los principios e inspiración de la evolución biológica de la naturaleza para desarrollar nuevas y más robustas técnicas de competición. Aquí te traemos algunos animales que ya tienen su algoritmo y las peculiaridades de su comportamiento que inspiraron a la comunidad científica para crearlos.
Enjambre de pollos
En contra de lo que pueda parecer, los gallineros tienen sus normas. Sus habitantes se organizan en grupos que integran, un gallo, un número variable de gallinas y los polluelos de estas. Cada ave tiene su papel en esta sociedad cacareante. Los pollos más mandones del averío dominarán a los débiles y cada nuevo habitante provocará una disrupción temporal del orden social hasta que se establece un nuevo orden jerárquico.
Así lo explican los tres investigadores que desarrollaron el algoritmo de optimización de enjambres de pollos (Chicken Swarm Optimization Algorithm), en su paper fundacional. La clave de esta organización es que el cerebro de un pollo solitario no da para mucho, pero la coordinación que se establece entre un grupo ellos da como resultado lo que se conoce como inteligencia de enjambres. Así, el pollo inepto se une a un equipo de pollos y es capaz de buscar comida bajo una jerarquía específica. Esto, traducido en algoritmo da como resultado un prometedor sistema de optimización de problemas que presenta "un buen equilibrio entre aleatoriedad y determinación para encontrar el resultado óptimo".
Búsqueda de monos
Directamente desde las ramas de los árboles llega este algoritmo, inspirado en la manera en que los monos se mueven por sus copas para recolectar alimentos. En la naturaleza, los simios exploran los árboles para determinar el camino óptimo hasta la comida más apetecible. En el algoritmo, el árbol se convierte en un abanico ramificado de posibles soluciones hasta las que deben escalar esos monos imaginarios. Cada vez que encuentran una solución mejor, regresan a las raices y almacenan ese resultado antes de continuar trepando.
El sonar de los delfines
Como muchos cetáceos, los delfines no necesitan verte nadando en sus narices para saber donde estás. Tiran de una práctica habilidad llamada ecolocalización para emitir ráfagas de sonidos -clics- cuyas vibraciones rebotan en los objetos circundantes, como una suerte de sonar natural. Una vez localizado un punto de interés, el delfín emite nuevos clics para ampliar la información sobre su distancia y dirección. Cuanto más interesante es el objeto, más clics entran en acción.
Este sistema de optimización también puede convertirse en algoritmo. En la naturaleza el delfín emite clics para localizar la mejor presa. En el algoritmo, se localiza la solución óptima, pero siguiendo la lógica del cetáceo: primero se explora todo el espacio disponible para hacer una búsqueda global y después se profundiza en la investigación de los puntos que ofrecen mejores resultados.
Leones orgullosos
Si has visto el Rey León ya tenemos la mitad del camino hecha. Sabes que los leones son sociales y se organizan en manadas. Y sabes que en sus territorios puede haber nómadas que no están integrados (Scar). A la hora de cazar, cada leona tiene su papel: algunas rodean a la presa y otras esperan a que esta se mueva hacia ellas. Además, cuando más compleja se presenta la caza, mayor es la disposición a coperar de los felinos.
Dinámicas similares a estas se establecen dentro de la manada para hacer rondas de vigilancia (tarea de los leones) y en momentos de migración, entre otras, creando así un nutrido grupo de normas a imitar por los algoritmos. El algoritmo de optimización de manada de leones trabaja con agentes que se organizan por grupos y asumen diferentes roles en función de su "género".
Luciérnagas seductoras
El centelleo de las luciérnagas tampoco es casual. Su función es establecer un sistema de señales para atraer a otras luciérnagas. Cuanto más brillo, más poder de seducción. Si todas brillan lo mismo, el movimiento de aquella que está recibiendo las señales se torna aleatorio. Estas rutinas permiten al enjambre de libélulas tener un sistema de comunicación que esta vez no se aplica a la búsqueda de comida, sino al intento de no ser comidas. Esto, en el lenguaje de los algoritmos, se ha aplicado a la resolución de problemas en sistemas fotovoltaicos: desde optimizar las predicciones de las radiaciones solares hasta minimizar pérdidas y mejorar la calidad del voltaje.
Arañas sociales
La industria tecnológica puede hacer algo más que copiar los andares de las arañas en sus robots. Puede imitar las técnicas de recolección de alimentos de las más sociables de la especie.
Como sospecharás por tus encuentros con ellas, la mayoría de estos insectos son solitarios (gracias al cielo). Pero hay unas 35.000 especies que comparten telarañas y hasta son capaces de distinguir las vibraciones que emitiría una presa de las que generarían sus congéneres. Sus acciones cooperativas en la aproximación a la fuente de comida atrapada en la telaraña son lo que ha inspirado el algoritmo de optimización de arañas sociales.
Cuervos mangantes
Los cuervos tienen un cerebro relativamente grande, y lo aprovechan bien. Pueden recordar la cara de otros cuervos, se avisan entre ellos cuando aparece un cuervo enemigo, almacenan la comida sobrante en escondites para recuperarla cuando la necesidad apremia e incluso roban alimentos a otros cuervos.
El cuervo ladrón piensa que todos son de su condición e incrementa sus precauciones con la mercancía robada: llega hasta el extremo de cambiar sus escondrijos para evitar caer en la trama de otras aves chorizas. Esta constante monitorización, protección y modificación de escondrijos también puede aplicarse, convertida en algoritmo, a la gestión de redes eléctricas para minimizar pérdidas.