Swarm Intelligence
La inteligencia de enjambre es la resolución colectiva de problemas que surge cuando muchos agentes simples siguen reglas locales, como en las colonias de hormigas, la optimización por enjambre de partículas (PSO) y los enjambres de robots.
La inteligencia de enjambre (SI) es el comportamiento colectivo de sistemas descentralizados y autoorganizados en los que muchos agentes sencillos, cada uno siguiendo reglas locales y sin líder, resuelven juntos problemas que ninguno podría resolver por sí solo. Las colonias de hormigas encuentran rutas cortas hasta la comida, las bandadas de aves giran al unísono y las termitas construyen montículos ventilados, sin que ningún individuo tenga un plan. Gerardo Beni y Jing Wang introdujeron el término en 1989 para describir sistemas robóticos celulares. En la inteligencia artificial (AI), la inteligencia de enjambre tiene dos ramas principales: los algoritmos de optimización que imitan estas comunidades en software y la robótica de enjambres, que coordina muchos robots físicos del mismo modo.
Principios fundamentales#
Los sistemas de enjambre comparten algunas propiedades:
- Interacción local: Cada agente percibe y responde únicamente a sus vecinos y al entorno inmediato.
- Autoorganización: Los patrones globales, como la forma de una bandada o la red de senderos de una colonia, surgen de interacciones locales repetidas en vez de seguir un plan central.
- Robustez: Como ningún agente es imprescindible, el enjambre sigue funcionando cuando algunos individuos fallan.
- Escalabilidad: Añadir agentes aumenta la capacidad sin necesidad de rediseñar la lógica de control.
La coordinación puede ser directa o indirecta. El modelo boids de Craig Reynolds, de 1986, genera un comportamiento de bandada realista mediante tres reglas directas: separación (evitar aglomerarse con los vecinos), alineación (dirigirse hacia su orientación media) y cohesión (dirigirse hacia su posición media). Las hormigas se coordinan indirectamente mediante la estigmergia: cada una modifica el entorno depositando feromonas, y las demás responden al entorno modificado.
Algoritmos de optimización de enjambre#
Los algoritmos de optimización inspirados en enjambres exploran grandes espacios de soluciones mediante una población de soluciones candidatas que comparten información. Solo necesitan una forma de puntuar una candidata, no su gradiente, por lo que son adecuados para problemas ruidosos, no diferenciables o combinatorios.
La optimización por colonias de hormigas (ACO), introducida por Marco Dorigo en su tesis doctoral de 1992, resuelve problemas de rutas y planificación, como el problema del viajante. Las hormigas artificiales construyen rutas tramo a tramo y favorecen los tramos con más feromona; las rutas más cortas reciben más feromona, y la evaporación borra poco a poco los rastros que dejan de reforzarse. Así se evita que la colonia se aferre a una ruta mediocre elegida demasiado pronto:
La optimización por enjambre de partículas (PSO), presentada por James Kennedy y Russell Eberhart en 1995, funciona en espacios continuos. Cada partícula tiene una posición y una velocidad, recuerda la mejor posición que ha encontrado y conoce la mejor posición hallada por el enjambre; en cada paso, su velocidad combina el momentum actual con una atracción aleatoria hacia cada una de esas dos mejores posiciones. Este ejemplo con NumPy usa 30 partículas para minimizar la función de Rastrigin, cuya cuadrícula de mínimos locales atrapa a los métodos sencillos de búsqueda local:
import numpy as np
rng = np.random.default_rng(0)
def rastrigin(x):
"""Bumpy test function with many local minima and a global minimum of 0 at the origin."""
return 10 * x.shape[-1] + (x**2 - 10 * np.cos(2 * np.pi * x)).sum(axis=-1)
pos = rng.uniform(-5, 5, (30, 2)) # 30 particles in a 2-D search space
vel = np.zeros_like(pos)
best_pos, best_val = pos.copy(), rastrigin(pos) # each particle's personal best
start = best_val.min()
for _ in range(100):
swarm_best = best_pos[best_val.argmin()] # best position any particle has found
r1, r2 = rng.random((2, 30, 1))
# Inertia + pull toward the particle's own best + pull toward the swarm's best
vel = 0.7 * vel + 1.5 * r1 * (best_pos - pos) + 1.5 * r2 * (swarm_best - pos)
pos = pos + vel
val = rastrigin(pos)
improved = val < best_val
best_pos[improved], best_val[improved] = pos[improved], val[improved]
print(f"Best value: {start:.3f} at the start, {best_val.min():.6f} after 100 iterations")El mejor valor del enjambre pasa de 9,633 entre las posiciones iniciales aleatorias a 0,000000, el mínimo global en el origen. Con otras semillas aleatorias, el enjambre a veces se queda en un mínimo local cercano de 0,995; las variantes de PSO contrarrestan esta convergencia prematura con enjambres más grandes, reinicios o topologías de vecindad que ralentizan la propagación del mejor valor global. En el aprendizaje automático, PSO se utiliza para el ajuste de hiperparámetros, la selección de características y la búsqueda de arquitecturas neuronales, cuando no se dispone de gradientes.
Inteligencia de enjambre y conceptos relacionados#
- Algoritmos evolutivos: Mejoran una población mediante selección, cruce y mutación, y sustituyen a los individuos en cada generación. Las partículas de PSO persisten y mejoran compartiendo información sobre posiciones prometedoras.
- Aprendizaje en conjunto: Combina las predicciones de varios modelos entrenados en una única salida durante la predicción. Los agentes de enjambre intercambian información durante toda la búsqueda y modifican su comportamiento en respuesta.
- Sistemas multiagente: Campo más amplio de agentes que interactúan, que pueden ser sofisticados, estar coordinados de forma centralizada o competir entre sí. La inteligencia de enjambre se refiere a muchos agentes sencillos y cooperativos que solo disponen de información local.
Robótica de enjambres y visión#
La robótica de enjambres aplica los mismos principios a máquinas físicas, cada una sencilla y barata. Los enjambres de drones destinados a la búsqueda, la cartografía y la agricultura utilizan coordinación descentralizada para que el grupo siga funcionando aunque fallen drones individuales o pierdan el contacto. Cada agente puede ejecutar un detector compacto, como Ultralytics YOLO26, a bordo, y compartir con sus vecinos solo mensajes breves de detección —como la clase y la posición de un objeto— en lugar de transmitir vídeo a una estación base. Los espectáculos de luces con drones parecen enjambres, pero vuelan siguiendo trayectorias calculadas de antemano por un planificador central, sin que ningún dron reaccione a sus vecinos. La autoorganización funciona a gran escala: en 2014, investigadores de Harvard programaron 1024 Kilobots, pequeños robots que se desplazan con patas vibrantes, para formar figuras como una estrella, una llave inglesa y la letra K, usando solo mensajes infrarrojos intercambiados entre vecinos.










