Inteligencia colectiva en sistemas multiagente

Los términos ‘’inteligencia colectiva’’ y ‘’sistemas multiagente’’ podrían resultar extraños la primera vez que se escuchan; sin embargo, el lector se sorprenderá de lo familiar que en realidad son estos conceptos y lo sencillo que es reconocerlos en la naturaleza. Por ejemplo, podemos observar conductas sociales complejas en una colonia de hormigas trabajando en conjunto para construir puentes colgantes empleando nada más que sus pequeños cuerpos como piezas estructurales. También podemos ver el orden que surge en grupos de aves migrando durante un cambio estacional, pero ¿Has pensado alguna vez cómo una colonia de hormigas es capaz de edificar un puente? ¿Has presenciado el vuelo coordinado de una parvada? ¿Te has preguntado cómo las hormigas y las aves llegan a producir 

estos comportamientos?

Utilizando los ejemplos anteriores, podemos contestar dos preguntas clave para el desarrollo de este artículo: ¿Qué es un agente? Y ¿Cómo se genera el comportamiento emergente? Podemos decir que un agente es un ente que actúa; por ejemplo, una hormiga o un ave, y que el comportamiento emergente aparece de forma espontánea cuando varios entes actúan coordinadamente; por ejemplo, para construir un puente o para generar una formación de vuelo, dando la impresión de una inteligencia colectiva. Podemos afirmar que “la inteligencia colectiva emerge de la colaboración y la competencia entre varios entes y del consenso en los procesos decisivos”.

La inteligencia colectiva como comportamiento emergente en un sistema multiagente es muy interesante desde un punto de vista práctico, y bella desde un punto de vista estético. Si ponemos atención y observamos con detenimiento, veremos que no existe un líder que coordine; sin embargo, el grupo, como un todo, parece estar altamente organizado. Entonces, ¿Cómo es posible que un grupo de animales trabaje de manera colectiva y organizada cuando nadie está a cargo? Esta característica fundamental es precisamente la que define a estos grupos de agentes: no existe una fuerza global coordinadora, los miembros del sistema solo pueden comunicarse entre ellos de manera local con sus vecinos más cercanos. Sin embargo, es a través de este tipo de comunicaciones que vemos grupos de animales trabajando en armonía para responder ante amenazas de formas que aún no entendemos completamente. 

En 1986 Craig Reynolds desarrolló un programa computacional que imita el movimiento coordinado de diferentes grupos de animales. En el caso particular de una parvada, este programa sólo requiere de tres reglas sencillas para modelar su vuelo sincronizado:

Regla 1.Cada ave evita colisiones con sus vecinos.

Regla 2.Cada ave se alinea con sus vecinos.

Regla 3.Cada ave se mueve hacia el centro 

        del grupo.

Increíblemente, usando estas tres reglas sencillas se puede reproducir el vuelo coordinado de las aves. ¡Es genial este comportamiento natural! 

En las líneas anteriores, empleamos sin mayor discusión la palabra “modelo”. En términos matemáticos, un modelo es un conjunto de ecuaciones que podemos usar para describir, y tratar de predecir y controlar, el comportamiento de un sistema multiagente. La idea de obtener un modelo capaz de predecir la evolución de un sistema a medida que transcurre el tiempo es clave.  Aunque complicado, es posible emplear modelos no solo en el ámbito de sistemas multiagente, también se pueden usar en una gran variedad de campos de la ciencia como en física, ingeniería, mecánica, electrónica y economía, por nombrar algunos.

Algunas preguntas que podemos formular a partir de los ejemplos descritos son las siguientes ¿Cómo podemos aprovechar este conocimiento para el bien de la sociedad? ¿Podemos extraer información de sistemas biológicos y desarrollar modelos que nos permitan diseñar sistemas robóticos en beneficio de la humanidad? O viceversa, a través de un sistema con múltiples robots, ¿Seremos capaces de entender procesos más complejos como la diferenciación celular? Las preguntas anteriores, y otras similares, se tratan de responder en la División de Control y Sistemas Dinámicos del IPICYT en el marco del estudio de sistemas multiagente e inteligencia colectiva. Lo interesante de los conceptos expuestos es que los podemos alinear a una gran cantidad de aplicaciones prácticas. Podemos pensar en sistemas de distribución de energía, en redes de comunicación, en tráfico aéreo y vehicular, en propagación de epidemias e incluso en el comportamiento humano durante una catástrofe y tratarlos como un sistema multiagente. Es claro entonces que este tipo de sistemas son muy flexibles y tienen un enorme potencial. Es también fascinante como la combinación de componentes relativamente sencillos se convierte en un sistema realmente complejo capaz de exhibir inteligencia colectiva. 

Un reto tecnológico que surge de manera orgánica es como diseñar sistemas robóticos y algoritmos de cooperación que imiten el comportamiento emergente que observamos en la naturaleza. 

Para dar solución a algunos de los retos planteados en este artículo, podemos emplear el análisis matemático para generar un “catálogo” de los componentes de un sistema multiagente y de sus interconexiones. A este catálogo le llamamos “gráfica” y decimos que cada agente es un “nodo” de la gráfica y que las interacciones entre los nodos ocurren a través de los “enlaces”. Esta representación abstracta a través de gráficas ofrece un lenguaje universal para estudiar sistemas que pueden ser completamente diferentes en naturaleza y apariencia. Dos, tres o más sistemas completamente diferentes, pueden representarse con la misma gráfica; por ejemplo: en el contexto de relaciones humanas, los enlaces representan los lazos de afecto entre dos personas y la forma en que definamos dichos enlaces dictarán las preguntas que podamos explorar. Como otro ejemplo, en el contexto de grupos de animales, los biólogos tratan de entender cuáles son los enlaces (o interacciones) que explican la cooperación que observamos en la naturaleza. 

Actualmente, en la División de Control y Sistemas Dinámicos se buscan las reglas adecuadas para el diseño de enlaces de comunicación entre múltiples agentes robóticos con el objetivo principal de generar comportamientos emergentes parecidos a los que observamos en la naturaleza. En particular, nos enfocamos en resolver problemas de consenso. Aquí, usamos consenso como un sinónimo de “acuerdo”, acuerdo sobre ciertas cantidades de interés a las cuales el grupo de agentes debe llegar de manera autónoma. Podemos, por ejemplo, llegar a un acuerdo en posiciones y velocidades de tal suerte que un grupo de robots sea capaz de imitar la formación de vuelo en V de un grupo de aves migrando.  Sin duda, los sistemas multiagente tendrán un gran impacto en el futuro próximo con aplicaciones que van desde procesos de manufactura y cadenas de suministro hasta distribución de energía y misiones de rescate. Aún queda mucho camino por recorrer y muchas ideas que explorar, y en el IPICYT estamos trabajando arduamente en el diseño de estrategias y mecanismos de cooperación y coordinación en el contexto de sistemas multiagente con el objetivo de contribuir al desarrollo de una sociedad más justa y avanzada.

El Dr. Adrián Ramírez es investigador de la División de Control y Sistemas Dinámicos 

del IPICYT

La División de Control y Sistemas Dinámicos del Instituto Potosino de Investigación Científica y Tecnológica (IPICYT) usa las matemáticas para estudiar el comportamiento colectivo en agentes robóticos interconectados y cómo dicho comportamiento puede ser aprovechado en beneficio de nuestra sociedad. 

¿Te gustaría más información sobre el tema? Envía un correo electrónico a:

adrian.ramirez@ipicyt.edu.mx

¿Quieres conocer más del IPICYT?, contáctanos:

comunicacion@ipicyt.edu.mx