miércoles, 8 de septiembre de 2010

Enjambrenoides.


Cuando observamos la decidida actividad colectiva de las hormigas y otros insectos sociales tenemos la sensación de que es inteligente. Puede que sea una ilusión. Pero puede que sea una ilusión lo suficientemente buena como para que los expertos en computación saquen provecho de ella. Los intentos de conseguir inteligencia artificial (IA) basados en modelos de redes neuronales del cerebro humano han sido un completo fracaso. Los basados en el comportamiento de las hormigas, sin embargo, están teniendo algo de éxito. ¿Será que la base de la inteligencia tiene el mismo fundamento que el de las colonias de hormigas? ¿Estará la base de la consciencia en el funcionamiento de los enjambres de abejas? ¿Seremos enjambrenoides?

Las hormigas llamaron la atención de los ingenieros de software a comienzos de los años 90. Una sola hormiga no puede hace mucho por sí misma, pero la colonia como un todo resuelve problemas complejos como construir un nido muy elaborado, mantenerlo y llenarlo de comida. Esto llamó la atención de personas como Marco Dorigo, ahora en la Universidad Libre de Bruselas (Bélgica), que fue uno de los fundadores de lo que ahora se conoce como inteligencia de enjambre.

En concreto Dorigo se centró en la habilidad de las hormigas a la hora de elegir la ruta más corta posible entre una fuente de alimento y su nido. Esto recuerda a un viejo problema computacional conocido como problema del viajante. Dada una lista de ciudades y las distancias que las separan, el viajante debe encontrar la ruta más corta para visitar cada ciudad una vez. Conforme crece el número de ciudades el problema se hace más complicado, consumiendo cada vez más capacidad de procesamiento en un ordenador. La razón por la que el problema del viajante es tan interesante es que muchos otros problemas complejos, incluido el diseño de chips de silicio y el montaje de secuencias de ADN, al final vienen a ser una versión modificada del mismo.

Las hormigas resuelven su propia versión del problema mediante señales químicas llamadas feromonas. Cuando una hormiga encuentra comida, la lleva de regreso al hormiguero dejando tras de sí un rastro de feromonas que atraerá a otras hormigas. Cuantas más hormigas sigan el rastro más intenso se vuelve. Pero las feromonas se evaporan rápidamente, por lo que una vez que la comida ha sido recogida el rastro desaparece con igual velocidad. Por otra parte, la rápida evaporación significa que las rutas largas son menos atractivas que las cortas, todo lo demás igual. Las feromonas, por tanto, amplifican la limitada inteligencia de las hormigas individuales.

En 1992 Dorigo y su grupo comenzó a desarrollar Ant Colony Optimisation (ACO, Optimización Colonia de Hormigas), un algoritmo que busca soluciones a un problema simulando un grupo de hormigas deambulando por un área y depositando feromonas. ACO resultó ser un buen algoritmo para la resolución de problemas como el del viajante. Desde entonces y a partir de él se ha desarrollado toda una familia de algoritmos que han tenido aplicaciones prácticas.

Como era de esperar la aplicación con más éxito ha estado en la logística. Tanto Migros, una cadena de supermercados suiza, como Barilla, el principal fabricante de pasta italiano, gestionan sus repartos diarios desde almacenes centrales a las tiendas u otros almacenes usando AntRoute (RutaHormiga). AntRoute es un programa desarrollado por AntOptima, una empresa surgida del Instituto de Inteligencia Artificial Dalle Molle de Lugano (Suiza; IDSIA, por sus siglas en italiano), uno de los centros a la vanguardia de la investigación en inteligencia de enjambre en Europa. Cada mañana las “hormigas” del programa calculan las mejores rutas y secuencias de reparto, dependiendo de la cantidad de mercancía, sus destinos, ventanas de suministro y camiones disponibles.

Los “algoritmos de hormiga” también han sido aplicados al problema de conducir la información a través de las redes de comunicación. Dorigo y Gianni di Caro, un investigador del IDSIA, han desarrollado AntNet (RedHormiga), un protocolo de enrutamiento en el que los paquetes de información saltan de nodo a nodo, dejando un rastro que indica la “calidad” de su viaje conforme lo hacen. En las simulaciones por ordenador y en ensayos en redes a pequeña escala, AntNet ha demostrado ser superior a los protocolos de enrutamiento existentes. Es mejor a la hora de adaptarse a condiciones cambiantes (un incremento de tráfico, por ejemplo) y es más robusto frente a fallos en los nodos.

El enrutamiento, ya sea de bytes o de camiones, es lo que los matemáticos llaman un problema discreto, con un número fijo, aunque sea grande, de soluciones. Para los problemas continuos, con un número de soluciones potencialmente infinito (como el de encontrar la mejor forma para el ala de un avión) hay otro tipo de inteligencia de enjambre que funciona mejor. La Particle Swarm Optimisation (PSO, optimización de enjambre de partículas), que fue inventada por James Kennedy (Departamento del Trabajo de los Estados Unidos) y Russell Eberhart (Universidad de Purdue, EE.UU.) a mediados de los años 90, se basa más en los pájaros que en los insectos. Cuando colocas un comedero para pájaros en el balcón, es necesario algún tiempo para que el primer pájaro lo encuentre pero, una vez encontrado, en poco tiempo muchos otros se unirán a ese primero. Los algoritmos PSO intentan recrear este efecto. Los pájaros artificiales vuelan por ahí al azar, pero siempre tienen un ojo en los demás y siempre siguen al que está más próximo a la “comida”. Existen en este momento unas 650 aplicaciones comprobadas de PSO, que van desde el análisis de imágenes y video al diseño de antenas, de sistemas de diagnóstico en medicina a la detección de fallos en máquinas industriales.

Los pájaros y las hormigas digitales están bien para encontrar soluciones a los problemas, pero Dorigo está ahora trabajando en algo que puede actuar además de pensar: robots. Un enjambre de robots pequeños y baratos puede conseguir mediante cooperación los mismos resultados que robots más grandes y caros, pero con mayor flexibilidad y con mayor robustez: si un robot queda fuera de servicio, el enjambre sigue trabajando.

El proyecto Swarmanoid (Enjambrenoide) finalizará este 30 de septiembre. Se basa en tres clases de pequeños robots sencillos, cada uno con una función diferente, que pueden cooperar a la hora de explorar el entorno. Los “Eye-bots” (Robojos) exploran y localizan objetos interesantes. Los “Foot-bots” (Robopiés) transportan a los “Hand-bots” (Robomanos) a los lugares identificados por los Robojos. Los robots, además, poseen un sistema que permite a los robots detectar cuándo un miembro del enjambre no está funcionando bien, basado en la forma en la que algunas luciérnagas sincronizan sus emisiones de luz de tal manera que árboles completos se encienden y apagan al unísono. Los robots hacen lo mismo, y si una luz se apaga por mal funcionamiento los otros robots pueden reaccionar rápidamente, ya sea aislando al averiado de forma que no cause problemas o llamando a la base para que sea retirado. Toda esta actividad la realizan sin un plan previo o una coordinación central. Se basa sólo en las interacciones entre robots individuales. Los robots se pueden ver en la página web del proyecto, aquí.

Todo lo anterior es muy alentador. Pero cualquiera que esté realmente interesado en el la cuestión de la inteligencia no puede evitar volver al cerebro humano y preguntarse qué pasa en él realmente: y están aquellos que piensan que, en vez de ser una ilusión de inteligencia, lo que Dorigo y sus colegas han conseguido podría ser una buena analogía del proceso base de la inteligencia.

Por ejemplo, según Vito Trianni del Instituto de Ciencias y Tecnologías Cognitivas (Italia), la forma en la que las abejas seleccionan los lugares donde hacer colmenas es sorprendentemente parecido a lo que ocurre en el cerebro. Las abejas exploradoras recorren un área en busca de lugares apropiados. Cuando descubren un buen sitio vuelven a la colmena, donde realizan una danza (similar a la que indica la posición de flores ricas en néctar) para reclutar a más exploradoras. Cuanto mayor es la calidad percibida del sitio, más larga es la danza y mayor el reclutamiento, hasta que se han reclutado suficiente número de exploradoras y el resto del enjambre las sigue. Sustituyamos ahora abejas por neuronas y danza por actividad eléctrica y tendremos una buena descripción de lo que ocurre cuando un estímulo produce una respuesta en el cerebro.

Los que proponen la, así llamada, cognición de enjambre, como Trianni, piensan que el cerebro podría funcionar como un enjambre de células nerviosas, sin coordinación de arriba abajo. Incluso las funciones cognitivas complejas, como el razonamiento abstracto o la consciencia podrían surgir simplemente de las interacciones a nivel local de las células nerviosas haciendo sus danzas. Podríamos hablar entonces, quizás, de inteligencia o consciencia enjambrenoides; por cierto, más cercanas a la mecánica estadística que a la mecánica cuántica, pero este es otro tema.

6 comentarios:

Dani dijo...

Un tema tremendamente interesante. Me ha recordado una historia de Isaac Asimov que leí hace mucho tiempo sobre insectos inteligentes (funcionaban de forma parecida a lo que cuentas). La ciencia ficción siempre tan sorprendente.

Me ha intrigado especialmente el final de tu artículo referente a la mecánica cuaántica vs mecánica estadística... ¿?

Enhorabuena

emejota dijo...

Genial post, he disfrutado este post. Y feliz de seguir aprendiendo. Un abrazo.

César dijo...

Gracias por el comentario, Dani.

Para la consciencia se buscan teorías de lo más peregrino. Hay una muy famosa basada en la mecánica cuántica que desarrollaron el físico Penrose y el anestesista Hameroff. Y a lo mejor no hay que complicarse tanto.

Un cordial saludo.

Eduardo dijo...

Yo creo que sobre la conciencia falla nuestro modo materialista de ver el mundo (partículas y campos). La conciencia no es algo con efectos exteriores, solo podemos conocer la nuestra.

Pero saco otro punto de vista sobre cuántica vs estadística: si damos por bueno que no hace falta la mecánica cuántica para estudiar el cerebro, ¿será útil algún día la computación cuántica?

Anónimo dijo...

Se que sonara extraño... pero tengo una duda que quizas puedas resolverme, recuerdo cuando explicaste en dos lineas, hablando de un coche en punto muerto y un lanzador de bolas de tenis, una teoria sobre laser... podrias explicarme, por favor, que es la teoría de cuerdas y la teoría M en 2 o 3 frases?

César dijo...

Gracias emejota y Eduardo por los comentarios.

@Anónimo: explicar una teoría es mucho más difícil que explicar un mecanismo. He necesitado dos párrafos: uno introductorio y el de exposición. Los he publicado como artículo.