Swarm Intelligence
群体智能是许多简单智能体遵循局部规则时涌现出的集体问题解决能力,蚁群、PSO 和机器人群都是例子。
群体智能(SI)是去中心化、自组织系统的集体行为:许多简单智能体各自遵循局部规则,没有领导者,却能协同解决任何单个智能体都无法独立解决的问题。蚁群能找到通往食物的短路径,鸟群能整齐转向,白蚁能建造通风的蚁丘,但没有任何个体掌握全盘计划。Gerardo Beni 和 Jing Wang 于 1989 年提出这个术语,用来描述蜂窝机器人系统。在人工智能(AI)领域,群体智能主要分为两个分支:在软件中模仿这类集体行为的优化算法,以及以相同方式协调许多实体机器人的群体机器人学。
核心原则#
群体系统有几个共同特性:
- 局部交互: 每个智能体只感知并响应其邻居和周围环境。
- 自组织: 鸟群的队形或蚁群的路径网络等全局模式,是反复局部交互的结果,而非中央计划的产物。
- 鲁棒性: 由于没有任何一个智能体不可或缺,即使个别智能体失效,群体仍能继续运作。
- 可扩展性: 增加智能体即可提升能力,无需重新设计控制逻辑。
协调可以是直接的,也可以是间接的。Craig Reynolds 于 1986 年提出的 boids模型通过三条直接规则生成逼真的群飞行为:分离(避免与邻居拥挤)、对齐(朝邻居的平均航向移动)和聚合(朝邻居的平均位置移动)。蚂蚁通过迹象机制间接协调:每只蚂蚁通过释放信息素改变环境,其他蚂蚁则对改变后的环境做出响应。
群体优化算法#
受群体行为启发的优化算法会利用一群候选解搜索庞大的解空间,并在候选解之间共享信息。这类算法只需要一种评估候选解的方法,不需要候选解的梯度,因此适用于含噪声、不可微或组合优化问题。
蚁群优化 (ACO)由 Marco Dorigo 于 1992 年在博士论文中提出,可解决旅行商问题等路径规划和调度问题。人工蚂蚁逐边构建路径,并优先选择信息素较多的边;较短路径会获得更多信息素,而蒸发过程会逐渐清除不再得到强化的路径痕迹,从而避免蚁群过早锁定在一条表现平平的路径上:
James Kennedy 和 Russell Eberhart 于 1995 年提出的粒子群优化(PSO)适用于连续空间。每个粒子都有位置和速度,会记住自己找到的最佳位置,也知道群体找到的最佳位置;每一步中,粒子的速度都会结合当前动量,并随机朝这两个最佳位置移动。下面的 NumPy 示例使用 30 个粒子来最小化 Rastrigin 函数;该函数的局部极小值网格会困住简单的局部搜索:
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")群体的最佳值从随机起始位置中的 9.633 降至 0.000000,即原点处的全局最小值。使用其他随机种子时,群体有时会停在相邻的局部最小值 0.995,这就是 PSO 的过早收敛问题;变体会通过扩大群体、重新启动,或使用能减缓全局最佳值传播速度的邻域拓扑来应对。在机器学习中,PSO 可用于超参数调优、特征选择和神经架构搜索,尤其适用于无法获得梯度的情况。
群体智能与相关概念的比较#
- 进化算法: 通过选择、交叉和变异来改进种群,并在每一代替换个体。PSO 粒子会持续存在,并通过共享优良位置的信息不断改进。
- 集成学习: 在预测时将多个已训练模型的预测结果合并为一个输出。群体智能中的智能体会在整个搜索过程中交换信息,并据此改变行为。
- 多智能体系统: 研究智能体相互作用的更广泛领域;这些智能体可以很复杂,可以由中央协调,也可以彼此竞争。群体智能则是其中由许多简单、合作且仅掌握局部信息的智能体组成的情形。
群体机器人学与视觉#
群体机器人学将相同原理应用于简单、低成本的实体机器。无人机群可用于搜索、测绘和农业,并通过去中心化协调,使无人机个体失效或失去联系时整个群体仍能正常运作。每个智能体都可以在机载端运行轻量检测器,例如 Ultralytics YOLO26,只与邻机分享简短的检测消息(例如目标类别和位置),而不是向基站传输视频。无人机灯光秀看起来像群体飞行,但其轨迹是由中央规划器预先计算的,没有无人机会根据邻机做出响应。自组织能够扩展到大规模群体:2014 年,哈佛大学研究人员为 1,024 个 Kilobot 编程,让这些靠振动腿缓慢移动的小型机器人仅通过邻居之间交换的红外消息,就能组装成星形、扳手形和字母 K 等形状。










