Sergio Ciruela Martín
Dpto. Ciencias de la Computación e Inteligencia Artificial, Universidad de Granada, España
Los seres vivos han sido capaces de adaptarse a los cambios del entorno durante millones de años utilizando técnicas que parecen inteligentes. El comportamiento colectivo de algunos seres vivos puede ayudar a encontrar algoritmos capaces de resolver problemas complejos. Un claro ejemplo es el caso de las colonias de hormigas que, gracias a su trabajo colaborativo, consiguen superar un gran número de barreras.
Después de millones de años de evolución, los seres vivos han desarrollado soluciones eficaces para resolver un gran número de problemas. Esto ha hecho que los científicos se inspiren en la naturaleza para resolver problemas mediante la unión de tecnología y biología. Por ejemplo, algunos robots han sido diseñados para imitar los movimientos de los insectos o se han sintetizado materiales muy resistentes basándose en la tela de las arañas. Inspirarse en la naturaleza para resolver problemas de computación es una estrategia que ha ido ganando importancia y que aún tiene mucho que ofrecer.
Algunos sistemas sociales animales presentan un comportamiento colectivo inteligente a pesar de estar compuestos por individuos con capacidades limitadas. Las soluciones inteligentes a problemas emergen de una forma natural gracias a la auto-organización y la comunicación entre estos individuos. Estos sistemas sugieren procesos que pueden usarse en el desarrollo de sistemas inteligentes artificiales.
Biológicamente, las hormigas son simples insectos con una memoria limitada y únicamente capaces de realizar un número limitado de acciones sencillas. Sin embargo, una colonia de hormigas tiene un comportamiento colectivo complejo, proporcionando soluciones inteligentes a problemas como el transporte de grandes objetos, la creación de puentes y la búsqueda de las rutas más cortas desde el nido a la fuente de alimentación (Dorigo y Stützle, 2004).
Una hormiga no tiene conocimiento global sobre las tareas que está realizando. Las acciones de las hormigas están basadas en decisiones locales y son inflexibles. El comportamiento inteligente emerge como una consecuencia de la auto-organización y la comunicación entre hormigas. Esto es lo que se llama comportamiento o inteligencia emergente.
En la naturaleza existen otros muchos ejemplos de comportamientos emergentes, p.ej., en las colonias de bacterias, enjambres de abejas, etc. Incluso existen teorías que explican la consciencia humana como un comportamiento emergente de las interacciones y la auto-organización entre neuronas individuales. El sorprendente comportamiento de las hormigas ha inspirado a los científicos para crear nuevos enfoques basados en algunas de las habilidades que tienen a la hora de trabajar de forma colaborativa (Dorigo y Gambardella, 1997).
Un ejemplo es el problema de encontrar el camino entre dos nodos dentro un grafo. Informalmente, un grafo es un conjunto de puntos (nodos) unidos por enlaces. Puede servir, p.ej., para representar relaciones entre conceptos en una memoria semántica, o rutas entre ciudades en un mapa. Encontrar el camino más corto entre dos puntos permite resolver una variedad de problemas, según qué se esté representando mediante el grafo.
Para resolver este problema, son útiles dos características de las colonias de hormigas: el modo en que encuentran la ruta más corta entre el hormiguero y la fuente de alimento, que será usada para encontrar y optimizar un camino dentro del grafo; y la sencillez de cada hormiga, lo que facilita implementarla como un elemento capaz de ejecutar un programa sencillo (un agente) dentro de un sistema más complejo, multi-agente.
Las hormigas utilizan un sistema de señales basado en la huella de feromonas que van dejando sobre la ruta que siguen. Aunque una única hormiga se mueve aleatoriamente, cuando encuentra un rastro de feromonas en el sendero hay una gran probabilidad de que decida seguirlo. Cuando una hormiga encuentra una fuente de alimento, vuelve al hormiguero, fortaleciendo su sendero de feromonas. Otras hormigas en sus proximidades son atraídas por esta sustancia y deciden seguir ese camino. Así, no sólo alcanzan el objetivo de encontrar la comida, sino que fortalecen el rastro para atraer más compañeras. Transcurrido un cierto tiempo, los caminos más cortos entre dos puntos son recorridos más veces por un mayor número de hormigas que otros caminos más largos. Pronto, la gran mayoría transitará sólo por el camino más corto, y el problema habrá sido resuelto (véase la Figura 1).
Figura 1.- Algoritmo usado por una colonia de hormigas para encontrar el camino más corto entre dos puntos.
Es fácil identificar la similitud entre el comportamiento de las hormigas a la hora de ir a buscar alimento y un problema de búsqueda dentro de un grafo. Se puede pensar que los nodos son diferentes lugares y los enlaces entre ellos son caminos que los unen. Las hormigas se mueven por el grafo dejando su trazo de feromonas y siguiendo la ruta que tiene más feromonas.
En el dominio de la Inteligencia Artificial (Jennings, 2000), un agente software es una entidad autónoma que interactúa con un entorno. Los agentes tienen una representación parcial y dinámica de su entorno, que cambia en función de sus capacidades de detección. También pueden realizar acciones basadas en percepciones locales y en su representación interna del entorno. Estas acciones pueden afectar al entorno, al propio agente, o a otros agentes. El comportamiento de una hormiga puede ser simulado por un agente software relativamente sencillo. Una colonia de tales agentes puede, por tanto, resolver problemas complejos representados mediante grafos.
El empleo de técnicas que emulan colonias de hormigas permite crear sistemas inteligentes que simulan un comportamiento emergente o proceso cognitivo de aprendizaje y adaptación, sin contar con ningún dato previo. Los agentes artificiales pueden resolver problemas como encontrar el camino más corto entre dos ciudades dentro de un mapa sin tener previo conocimiento del mismo, aprendiendo de forma dinámica según van recopilando información de las distintas búsquedas realizadas y adaptándose a los imprevistos que surgen, como pueden ser unas obras o un accidente.
La sabiduría de la Naturaleza puede, así, ayudarnos a resolver problemas de la vida real de una manera sencilla e inteligente. Hoy en día, con el incremento del uso de los dispositivos móviles, este tipo de técnicas pueden ser muy útiles para generar soluciones colectivas a problemas de procesamiento de información entre una colonia de personas. De esta forma, por ejemplo, un turista podrá tener una guía actualizada de locales gastronómicos, con orientaciones basadas en la cantidad de personas que los visitan y en la satisfacción de la experiencia previa de clientes anteriores o de él mismo en locales similares. Ahí es donde la Computación Flexible (Zadeh, 1994) y la Teoría de Agentes pueden combinarse en la búsqueda de comportamientos emergentes menos precisos y predecibles que el de las hormigas en busca del camino más corto hacia su objetivo.
Referencias
Dorigo, M. y Gambardella, L.M (1997) Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, 1, 53-66.
Dorigo, M. y Stützle, T. (2004) Ant Colony Optimization. Cambridge: MIT Press.
Jennings, N.R (2000) On agent-based software engineering. Artificial Intelligence, 117, 277-296.
Zadeh, L. A. (1994) Fuzzy logic, neural networks, and soft computing. Communications of the ACM, 37, 77-84.