城市里新成立了一支智能配送车队。队长给每台机器人装了两套“本能”。第一套来自蚂蚁:机器人经过路口时会留下一条电子“气味便签”,走过的车越多、路越短,气味越浓,后来的车顺着气味就能找到好路线。第二套来自鸟群:当机器人需要搜索某个目标时,每台车既记得自己发现过的最佳位置,也会通过无线电听同伴喊“我这儿有线索”,然后大家一边顾自己一边顾集体,渐渐收紧包围圈。这两样本事,正是今天的主角——蚁群算法与粒子群算法。它们让一群“不太聪明”的个体,通过简单规则与局部互动,涌现出令人惊叹的群体智慧。这篇文章会从两种算法的灵感讲起,一步步拆解它们的数学公式,再走进机器人路径规划、编队控制、任务分配、协同建图等真实战场,看看这支“配送车队”如何改变机器人协作的方式。

岗位关联

理解蚁群与粒子群,你就握住了群体机器人协作的钥匙——从多机调度到自主集群,这是 AI 工程师走向机器人一线必补的一课。

目录
  1. 可视化演示
  2. 概念溯源
  3. 蚁群算法原理
  4. 粒子群原理
  5. 路径规划应用
  6. 编队控制协同
  7. 任务分配调度
  8. 地图构建探索
  9. 应用场景挑战
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示蚁群优化路径规划、粒子群收敛过程及多机器人协同编队,揭示群体智能算法在机器人控制中的应用机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

蚁群优化路径规划 信息素轨迹:蚂蚁在路径上沉积信息素引导后续个体 正反馈机制:短路径获得更多信息素形成优势 挥发机制:信息素随时间挥发避免陷入局部最优 τ(t+1) = (1-ρ)·τ(t) + Δτ 蚁群算法通过群体协作涌现出最优路径规划能力

概念溯源

配送车队队长收到了两本“自然教科书”。第一本讲蚂蚁:蚂蚁没有 GPS,没有指挥官,却能轻松找到食物和巢穴之间最短的路。第二本讲鸟群:一群椋鸟在天空盘旋,没有领队,整个群体却能在瞬间整齐转向,流畅得像一个人。队长灵光一闪:如果机器人也能这样“笨笨地”协作,是不是就不必事事依赖中央电脑了?

这就是群体智能(Swarm Intelligence)的起点:大量简单个体,通过局部规则和局部互动,涌现出全局层面的智能行为。它的两个经典代表,一个来自蚂蚁——1992 年 Dorigo 提出的蚁群算法(ACO),一个来自鸟群——1995 年 Kennedy 和 Eberhart 提出的粒子群算法(PSO)。两者的共同点是:去中心化、个体简单、鲁棒自愈。

对机器人学来说,这个思路意义重大。传统单体机器人强调整体设计,而群体机器人主张“三个臭皮匠顶个诸葛亮”:一台机器人坏了,同伴补位;通信断断续续,靠局部规则也能坚持。这正好契合配送车队的需求——城市路况千变万化,不能事事等总部下令。

于是车队装上了两套本能:一套“气味便签”(蚁群),一套“集合喊话”(粒子群)。前者擅长在已知地图里找好路,后者擅长在未知世界里找目标。接下来,我们分别拆开这两样本事,看看里面的数学机关。

蚁群算法原理

餐厅开张第一天,骑手们谁也不知道哪条路最快。每个路口都有一块电子“人气牌”,谁走过就加一点人气值;走得快、走得多的路,人气涨得也快;人气高的路又被更多人选。这种“用环境记录历史”的协作方式,在学术上叫间接协同(stigmergy)——个体不直接对话,而是通过改变环境来影响彼此。

蚁群算法把地图抽象成一张图:路口是节点,路段是边。第 k 只“蚂蚁机器人”从路口 i 选择去哪个邻居 j,不是完全随机的,而是看两条线索:路上残留的信息素浓度 τ,以及这条路本身的“颜值”(一般是距离的倒数 η = 1/d)。两者加权后,得到状态转移概率:

选完路之后,还要更新“人气账本”。信息素不会永远累积,它会随时间挥发,就像便签会过期;而过期的速度由挥发率 ρ 控制。走完一条完整路径的蚂蚁,再按路径质量留下新信息素——路径越短,留下的越多:

这套机制的精髓是“正反馈加负反馈”:短路径不断被强化,长路径不断被挥发削弱。车队的骑手不需要开会,路口的“人气牌”就是无声的会议记录。这正是蚁群算法能解决路径规划、任务分配等组合优化问题的根本原因。

Pijk(t)=[τij(t)]α×[ηij]β∑l∈allowedk[τil(t)]α×[ηil]β\displaystyle P_{ij}^{k}(t)=\frac{[\tau_{ij}(t)]^{\alpha}\times[\eta_{ij}]^{\beta}}{\sum_{l \in \mathrm{allowed}_{k}}[\tau_{il}(t)]^{\alpha}\times[\eta_{il}]^{\beta}}
通俗讲:每天的“人气值”先打个折扣(挥发),再把今天所有走过的车加的新人气累加回去。这样旧路线不会被永久霸榜,新路线才有翻身机会。
  1. 挥发率取 0 到 1 之间的小数,决定旧气味每天散掉多少。
    0<ρ<10 < \rho < 1
  2. 残留信息素挥发后上一轮剩下来的气味,是历史的“记忆”。
    (1−ρ)×τij(t)(1-\rho)\times\tau_{ij}(t)
  3. 新增信息素第 k 只蚂蚁走完某条路后留下的气味,总长 L 越短,单只留下得越多(Q 为常量)。
    Δτijk=QLk\Delta\tau_{ij}^{k}=\frac{Q}{L_{k}}
  4. 总量更新残留量加上所有蚂蚁的新增量,得到下一时刻的信息素浓度。
    τij(t+1)=(1−ρ)×τij(t)+∑k=1mΔτijk\tau_{ij}(t+1)=(1-\rho)\times\tau_{ij}(t)+\sum_{k=1}^{m}\Delta\tau_{ij}^{k}

粒子群原理

另一本教科书是鸟群。假设车队要在广阔区域寻找一个信号源,每台机器人就是一只“粒子鸟”。它不知道自己该往哪飞,只记得两件事:自己飞过的最佳位置(个体最优 p),以及整个队伍广播出来的全局最佳位置(全局最优 g)。没有队长指路,只有“我的经验”加“大家的经验”。

每一步飞行,粒子按下述规则调整速度:保留一部分原有惯性,加上一股“回自己好运点”的拉力,再加上一股“向队伍好运点”的拉力。写成公式就是:

速度更新之后,位置更新就简单了:新位置等于旧位置加上新速度,一步一个脚印地飞。

惯性权重 w 是粒子群最重要的旋钮:w 大,粒子飞得远、探索广、收敛慢;w 小,粒子被迅速拉向已知最优、收敛快但容易困在局部最优。工程上常用“先大后小”的策略——迭代初期 w 大,广撒网;后期 w 小,精捕捞。

对比蚁群:蚁群靠环境间接协作,粒子群靠显式共享全局最优。配送车队的无人机就像粒子一样,一边喊“我这儿有线索”,一边调整航向,最后集体悬停在目标上空。这套“记忆加共享”的机制,让粒子群特别擅长连续空间搜索。

vi(t+1)=w×vi(t)+c1×r1×(pi−xi(t))+c2×r2×(g−xi(t))\displaystyle v_{i}(t+1)=w\times v_{i}(t)+c_{1}\times r_{1}\times(p_{i}-x_{i}(t))+c_{2}\times r_{2}\times(g-x_{i}(t))
通俗讲:位置公式就是“往东走了多少步,就往东移多少米”。粒子群的所有智能,都浓缩在这条朴素等式里。
  1. 当前位置这台机器人此刻在搜索空间中的坐标。
    xi(t)x_{i}(t)
  2. 位置更新沿新速度方向跨出一步,得到下一时刻的新坐标。
    xi(t+1)=xi(t)+vi(t+1)x_{i}(t+1)=x_{i}(t)+v_{i}(t+1)

路径规划应用

回到配送车队:每天有成百上千个订单,地图相对固定但路况动态变化。蚁群算法做全局路径规划非常合适:把订单目的地当成“食物源”,让“蚂蚁”在路网图上反复游走,信息素逐渐标出从仓库到各个目的地的最短路线。路线越短,返回的蚂蚁越早,留下的“新气味”也越多,好路线就被反复选中。

但路况会变,今天修路,明天堵车。机器人不会死守旧路:信息素挥发机制让旧路线热度下降,蚂蚁选择的随机性又给了绕行路线探索机会。这等价于骑手遇到堵车,低头看一眼路口的电子人气牌,发现旁边绕路的气味更浓,立刻改道。

粒子群则擅长处理“动态重规划”。当机器人被突发障碍困住时,用 PSO 在局部区域快速搜索绕过障碍的候选航点,再把新航点接回原路径。两者配合的分工是:蚁群定“大方向”,粒子群收拾“小意外”。在大规模协同场景中,多台机器人还会各自维护局部信息素地图,只与邻居交换关键信息,避免全网通信风暴。

队长的体会是:蚁群是“经验派”,靠走过的路积累口碑;粒子群是“行动派”,靠实时反馈快速纠偏。一个负责稳定,一个负责应变,合在一起,就是车队完整的出行方案。

编队控制协同

车队有时必须“一起出发”:三台冷藏车护送一批冷链订单,必须保持固定队形穿过街区。最简单的协作模式是领航-跟随:一台车当领航员,其余车模仿它的轨迹,同时保持各自的期望相对位置。每台跟随车实时计算自己相对领航车的实际位移,与期望站位做差,得到队形误差:

如何让误差快速归零?一个实用技巧是把 PSO 嵌入控制器:把“误差最小化”当作搜索目标,用粒子群在线微调 PID 增益或期望偏向角。更关键的是去中心化——不是所有车都直接跟领航员通信,而是每台车只和几个邻居互相校正,队形照样保持。这就是分布式共识思想:不需要一个中心发号施令,邻居之间的局部对齐就能让全局井然有序。

比喻回扣:领航车像排头兵,跟随车像队列中的士兵,每个人只看前一个人的步伐就能走得整整齐齐。如果某台车坏了,后面的车自动补位,队形不乱。这种分布式编队,让车队在狭窄道路、临时绕行时依然井然有序。

ei(t)=∥(xi(t)−x0(t))−di∥\displaystyle e_{i}(t)=\left\|(x_{i}(t)-x_{0}(t))-d_{i}\right\|
通俗讲:每个队员心里都有一个“该站的位置”,误差就是“我现在站的位置”和“该站的位置”差多远。误差越小,队形越整齐。
  1. 跟随者位置第 i 台跟随车此刻的坐标。
    xi(t)x_{i}(t)
  2. 期望相对位移队形设计中跟随者相对领航车应该保持的距离和方向,比如“右前方两米”。
    did_{i}
  3. 队形误差实际相对位移减去期望相对位移的范数,趋近 0 时队形完美保持。
    ei(t)=∥(xi(t)−x0(t))−di∥e_{i}(t)=\left\|(x_{i}(t)-x_{0}(t))-d_{i}\right\|

任务分配调度

订单高峰期,车队队长最头疼的问题是:哪个骑手去接哪一单?传统做法是中央系统统一派单,但订单一多、位置一变,中央就成了瓶颈。蚁群算法给了我们一种分布式答案:把每个任务当作“食物源”,信息素浓度代表任务吸引力——距离近的、时限急的,吸引力更高。

每台机器人像蚂蚁一样,按之前的状态转移概率公式选择下一个任务,完成后再留下信息素。哪个区域任务完成得快,那片区域相关路径的信息素就增强,会引导其他机器人优先处理类似订单。这样,订单分配不是“上面派下来的”,而是“系统里长出来的”。

不过,光有效率还不够,还得防着“能者多劳、弱者闲死”。引入工作量均衡指标——所有机器人任务量的标准差 σ:

在蚁群选择概率里加入“当前任务量”的惩罚项——任务越多,吸引力越低——就能在效率和公平之间取得平衡。信息素让任务“喊出声来”,机器人像拼手速的外卖骑手,谁离得近、谁手上没活儿,谁就更可能接单。队长不需要逐个派活,忙闲均匀的分工局面自然涌现。

σ=1n∑i=1n(Li−Lˉ)2\displaystyle \sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\left(L_{i}-\bar{L}\right)^{2}}
通俗讲:标准差衡量的是“忙闲差距”。σ 越小,说明每台车手里的任务量越接近,分工越均匀;队长只要让 σ 尽量小,就不会有人忙到爆、有人闲到慌。
  1. 任务量第 i 台机器人当前接到的任务数量或工作负荷。
    LiL_{i}
  2. 平均任务量所有机器人任务量的算术平均值,代表“平均水平线”。
    Lˉ=1n∑i=1nLi\bar{L}=\frac{1}{n}\sum_{i=1}^{n}L_{i}
  3. 标准差各台车任务量与平均值的偏离程度,数值越小分工越均衡。
    σ=1n∑i=1n(Li−Lˉ)2\sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(L_{i}-\bar{L})^{2}}

地图构建探索

车队进入一座没有地图的新城区。每台车都装了激光雷达和摄像头,但只能看清自己周围一小块。怎么拼出全城地图?答案还是群体协作:大家分头探索,把各自的观察结果“报数”到一张共享地图上。每个网格的置信度,是所有机器人观测增量的累加:

探索策略上,粒子群也有用武之地。把“地图的未知程度”当作待搜索的目标函数,粒子群引导机器人群逐步走向信息量最大的未探索区域,避免大家挤在一起重复扫同一片街区。定好分区后,各机在自己的分区内,用蚁群思路规划遍历路径,参考覆盖率决定要不要跨区支援。

几个骑手分头逛新区,每人都往群里发“街景快照”,群里自动拼成一张越来越完整的地图;还没人去的街角会像“发光点”一样高亮,吸引更多骑手去看。盲人摸象,摸的人多了,大象的全貌也就出来了。

M(st+1)=M(st)+∑i=1nΔMi(st)\displaystyle M(s_{t+1})=M(s_{t})+\sum_{i=1}^{n}\Delta M_{i}(s_{t})
通俗讲:这张地图就像一块大白板,每台巡逻车回来就在上面添几笔。你画东街,我画西巷,白板上的信息越积越全——这和蚂蚁留信息素是同一个道理:看过的世界会留下痕迹。
  1. 地图置信度t 时刻网格 s 上“这里是什么地形”的把握程度,数值越大越有把握。
    M(st)M(s_{t})
  2. 单机观测增量第 i 台机器人此刻对该网格新增的观测信息,相当于它刚“看了一眼”的收获。
    ΔMi(st)\Delta M_{i}(s_{t})
  3. 多机信息融合所有机器人的观测累加到同一张地图上,各自盲区互相补齐。
    M(st+1)=M(st)+∑i=1nΔMi(st)M(s_{t+1})=M(s_{t})+\sum_{i=1}^{n}\Delta M_{i}(s_{t})

应用场景挑战

从原理到落地,这支“配送车队”正变成真实的机器人军团。最典型的战场是智能仓储:亚马逊 Kiva 让几百台搬运机器人同时穿行货架,用蚁群算法调度路径,用任务分配机制均衡负载,订单处理速度提升数倍。每台机器人只跟附近几台交换信息素热区图,就能避开拥堵,这是群体智能在工业界的代表作。

另一片战场是灾后搜救。无人机群用 PSO 快速锁定生命信号热点——每架飞机把自己探测到的“疑似信号最强点”广播出去,机群像粒子一样向热点收拢;再用编队控制保持覆盖不留死角,与传统“一台大无人机慢慢搜”相比,更快、更便宜、也更抗单点故障。

但挑战同样真实。通信开销随规模平方增长:10 台机器人两两互联约 45 条链路,100 台就是约 4950 条,电台频道会被吵翻天;算法参数敏感(α、β、w、c₁、c₂ 都要调);群体失控的安全隐患也让人警惕。工程上常用邻域通信、局部信息素地图、参数自适应来缓解。

队长的感慨是:车队的车越来越多,街上的“气味便签”会越来越密,电台频道会越来越吵。真正聪明的车队会学会“只和附近的车小声说话”,让城市安静,让协作继续。群体机器人亦是如此——简单、局部、鲁棒,才是大规模协作的未来。

AI 应用场景

智能仓储物流的“骑手军团”

阶段:多机路径规划与任务调度

解决的问题:传统仓库靠人肉拣货或固定传送带,路径僵化、任务不均、扩展困难。采用蚁群算法后,每台搬运机器人以货架为节点、以订单为“食物源”,通过信息素实时标注热门路线与拥堵路段,再结合工作量标准差做任务均衡,让几百台机器人在不撞车的前提下高效运转。

具体案例:某电商仓库引入类 Kiva 机器人车队,将系统任务建模为“蚂蚁找食物”:信息素浓度随订单时效动态变化,机器人按转移概率抢单,同时每次完成订单后更新信息素,订单平均履约时效提升约 30%。

灾后废墟搜救无人机群

阶段:协同搜索与目标定位

解决的问题:单机搜救速度慢、盲区多、单点故障风险高。粒子群让每一架无人机共享“疑似生命信号最强点”,机群像鸟群一样持续朝热点汇聚;同时用领航-跟随编队保证覆盖范围不重叠,把搜索效率从“小时级”压缩到“分钟级”。

具体案例:地震后的建筑废墟上,8 架无人机以 PSO 搜索红外热信号热点,每 5 秒广播一次全局最优位置,机群从散乱搜索逐步收拢到信号最强区域,配合地面机器人定点确认,整体搜救区域扫描时间从 4 小时缩短到 50 分钟。

智慧农田巡检编队

阶段:协同建图与区域覆盖

解决的问题:大田块人工巡检又慢又累,单台机器人扫一整天也看不完千亩果园。机器人分队并行探索,用地图信息融合把各自视野拼成全局图,再用“探索收益”引导补漏,避免重复劳动。

具体案例:某智慧农业基地投入 5 台巡检机器人,分区并行扫描果园,果实位置与病虫害标记实时融合到共享地图上,系统据此生成每日“作业热点图”,植保无人机按图精准喷洒,农药用量下降 20%。

Python 演示

python45 行
import mathimport random TARGET_X, TARGET_Y = 2.0, 3.0 def distance(x, y):    return math.sqrt((x - TARGET_X) ** 2 + (y - TARGET_Y) ** 2) class Robot:    def __init__(self):        self.x = random.uniform(-10, 10)        self.y = random.uniform(-10, 10)        self.vx = random.uniform(-1, 1)        self.vy = random.uniform(-1, 1)        self.best_x = self.x        self.best_y = self.y        self.best_fit = distance(self.x, self.y)     def update(self, gx, gy, w, c1, c2):        f = distance(self.x, self.y)        if f < self.best_fit:            self.best_fit = f            self.best_x, self.best_y = self.x, self.y        r1, r2 = random.random(), random.random()        self.vx = w * self.vx + c1 * r1 * (self.best_x - self.x) + c2 * r2 * (gx - self.x)        self.vy = w * self.vy + c1 * r1 * (self.best_y - self.y) + c2 * r2 * (gy - self.y)        self.x += self.vx        self.y += self.vy def run_swarm(n=30, steps=100, w=0.7, c1=1.5, c2=1.5):    robots = [Robot() for _ in range(n)]    gx, gy, gbest = 0.0, 0.0, float("inf")    for s in range(steps):        for r in robots:            r.update(gx, gy, w, c1, c2)            f = distance(r.x, r.y)            if f < gbest:                gbest, gx, gy = f, r.x, r.y        if s % 10 == 0:            print("step=%3d gbest=(%6.3f, %6.3f) error=%.3f" % (s, gx, gy, gbest))    return gx, gy, gbest if __name__ == "__main__":    x, y, best = run_swarm()    print("final gbest=(%.3f, %.3f) error=%.3f" % (x, y, best))
目的:用 30 个“机器人粒子”组成粒子群,在二维平面内搜索目标点 (2.0, 3.0),演示速度更新、个体最优与全局最优的协作收敛过程。
  1. class Robot:每台搜索机器人就是 PSO 中的一个粒子,携带位置、速度和“个体记忆”。
  2. self.best_x = self.x个体最优初始化为自身出生位置,之后只在发现更好位置时更新。
  3. r1, r2 = random.random(), random.random()两股吸引力的随机扰动,是算法保持探索性的关键。
  4. self.vx = w * self.vx + c1 * r1 * (self.best_x - self.x) + c2 * r2 * (gx - self.x)速度更新的“三股力量”:惯性、回个体最优、奔全局最优。
  5. if f < gbest:用当前误差刷新全局最优,等价于无人机群“谁发现线索谁就广播”。
  6. if s % 10 == 0:每 10 步打印一次收敛进度,方便观察群体由散乱到聚拢的过程。

常见误区

误区以为蚂蚁和机器人靠直接对话商量路线,动画里经常画成蚂蚁碰触角、机器人互发消息,感觉群体决策必须靠互相喊话才能完成。

正解蚁群寻路的真正主角是“环境便签”——信息素(间接协同)。蚂蚁把信息素留在路上,后来者通过读气味间接获得前人的经验,不需要谁直接告诉谁。配送车队也一样:把“口碑”留在路网里,比逐个通知高效得多。直接通信成本高、易拥塞,间接协作才是群体智能的精髓。

为何常见:我们习惯人际沟通靠说话,看到蚂蚁碰触角就脑补成“开会”,忽略了环境媒介的作用。

误区觉得气味越浓路就越好,最好永远不挥发,这样所有蚂蚁立刻都走最短的路,效率最高。

正解没有挥发的算法会“锁定”第一条被走过的路——哪怕它不是最短的。挥发率 ρ 是负反馈机制,让旧路线热度下降,给新探索腾出空间。配送车队里,电子便签必须“过期”,否则修路之后骑手们还会涌向死路。

为何常见:正反馈直觉太强:人多→气味浓→人更多,看起来是良性循环,忽略了“循环必须留一扇逃生门”。

误区看了演示动画,粒子最后都聚到红点,就觉得粒子群算法保证找到全局最优解,失败只可能是代码写错。

正解粒子群是启发式搜索,没有任何最优性保证,可能全体粒子收敛到局部最优——就像无人机群集体扑向一个“假目标”。工程上要靠递减惯性权重、多组重启、混合其他算子来降低风险。

为何常见:教学演示只展示成功收敛的画面,隐藏了参数不当、多峰函数下反复失败的过程。

误区觉得“三个臭皮匠顶个诸葛亮”,队伍越大越好,100 台的效率应该是 10 台的 10 倍。

正解通信链路按平方规模增长,O(n²) 的全互联在 100 台时就接近 5000 条链路,加上互相干扰和任务重复,收益会被抵消,甚至出现“过度拥挤”导致效率下降。实际工程用邻域通信、分区调度控制规模,效率和规模之间存在最优区间。

为何常见:“人多力量大”的生活直觉,忽略了机器人的通信带宽和物理碰撞约束。

误区看到的蚁群算法案例全是“最短路径”,就以为它只能干这一件事,跟任务分配、调度这些没关系。

正解蚁群算法本质是“正反馈驱动的组合优化框架”。只要把问题映射成“图上的路径搜索”,它就能工作:任务分配、调度排班、聚类、车辆路径、选址布局都可以。配送车队的“派单”和“找路”,用的其实是同一套气味逻辑。

为何常见:科普动画都拿“蚂蚁找路”当招牌,导致大家以偏概全。

面试题

Q1. 蚁群算法的灵感来源于哪种生物行为?

单选题 · easy

  • A.蜜蜂采蜜的圈圈舞通信
  • B.蚂蚁觅食时的信息素寻路← 正确答案
  • C.萤火虫群体的闪光同步
  • D.候鸟迁徙的队形变换策略

答案:B。蚁群算法取材于蚂蚁觅食:蚂蚁靠信息素浓度选择路径,食物越近的路径信息素积累越快。蜜蜂舞蹈是通信行为但不是蚁群算法的灵感,萤火虫和候鸟对应的是其他群体研究,与蚁群算法无关。

Q2. 粒子群算法的核心思想更接近下列哪种比喻?

单选题 · easy

  • A.共享最佳发现并集体飞向目标← 正确答案
  • B.单只蚂蚁深入腹地独自寻路
  • C.电脑病毒在网络中的自我复制
  • D.树木年轮逐圈均匀向外生长

答案:A。粒子群模拟鸟群:每只鸟(粒子)记住自己的最佳位置,同时共享群体最佳位置,两者共同决定下一步飞行方向。B 是蚁群的孤独探索版,C 是传播模型,D 与群体搜索无关。

Q3. 蚁群算法中“信息素蒸发系数 ρ”的主要作用是什么?

单选题 · mid

  • A.让路径选择变得完全随机化
  • B.提升机器人硬件运行效率
  • C.防止过早收敛到次优路径← 正确答案
  • D.强制所有蚂蚁走同一条路

答案:C。挥发率 ρ 让旧信息素随时间衰减,防止正反馈把队伍锁死在第一条被走过的路上,给探索新路留出机会。A 说“完全随机”不对,B 是硬件话题,D 恰好是挥发机制要避免的情况。

Q4. 粒子群速度更新公式中“社会认知项”表示什么?

单选题 · mid

  • A.粒子向自己历史最佳位置靠拢
  • B.粒子保持上一时刻的飞行惯性
  • C.粒子在搜索空间内随机漫游
  • D.粒子向全局最佳位置靠拢← 正确答案

答案:D。速度更新由三项组成:惯性项、个体认知项、社会认知项。社会认知项中的 “(g−x)“ 把粒子拉向全局最优,正是”队伍广播”的数学表达;A 是个体认知项,B 是惯性项,C 是随机游走。

Q5. 粒子群算法中惯性权重 w 调大的典型效果是什么?

单选题 · mid

  • A.粒子数量自动缩减至一半
  • B.探索范围更大全搜索能力更强← 正确答案
  • C.收敛更快但易陷入局部最优
  • D.信息素挥发速度显著加快

答案:B。惯性权重 w 决定粒子保留上一时刻速度的比例。w 大,粒子惯性大、飞得更远,全局探索能力强;w 小,粒子被快速拉向已知最优,收敛快但容易困在局部最优。

Q6. 蚁群通过环境残留标记来间接影响同伴行为的机制称为什么?

单选题 · hard

  • A.趋同演化的自然选择效应
  • B.中央调度统一指挥的决策机制
  • C.个体通过环境间接协作的机制← 正确答案
  • D.正反馈加速收敛的倍增效应

答案:C。蚁群不直接交换信息,而是通过改变环境(留下信息素)来影响其他个体的行为,这种机制叫“间接协同”(stigmergy)。A 是演化概念,B 是中央控制,D 描述的是正反馈现象而非协作机制名称。

Q7. 当机器人群体规模从 10 台增至 100 台,理论全互联通信开销如何变化?

单选题 · extreme

  • A.通信开销线性增长约十倍
  • B.通信开销平方增长约百倍← 正确答案
  • C.通信开销保持不变总量恒定
  • D.通信开销呈对数缓慢增长

答案:B。两两全互联时,10 台约 45 条链路,100 台约 4950 条,近似平方级增长百倍。工程上采用邻域通信、虚拟领导者、局部信息素交换等方式来降低复杂度。

Q8. 下列哪些属于群体智能系统的典型特征?

多选题 · easy

  • A.去中心化的个体行为规则← 正确答案
  • B.全局涌现出群体智能行为← 正确答案
  • C.依赖中央指挥官统一调度
  • D.个体简单且仅局部感知← 正确答案

答案:ABD。群体智能的三大特征是个体遵循简单局部规则、去中心化、全局涌现复杂行为。C“依赖中央指挥官”恰恰是群体智能要避免的——中央一旦故障,全队瘫痪。

Q9. 蚁群算法在机器人领域可应用于哪些任务?

多选题 · mid

  • A.多机器人协同路径规划← 正确答案
  • B.任务分配与动态调度← 正确答案
  • C.未知环境协同地图探索← 正确答案
  • D.图像风格迁移与滤镜

答案:ABC。蚁群把任务映射成图上的路径选择,可解决多机路径规划、任务分配与动态调度,也可用于协同探索时规划遍历顺序。图像风格迁移属于深度学习与生成模型范畴,与蚁群算法无关。

Q10. 关于粒子群与蚁群的对比,下列说法正确的有?

多选题 · hard

  • A.蚁群依赖信息素间接协作← 正确答案
  • B.粒子群共享全局最优引导← 正确答案
  • C.蚁群算法必然找到全局最优
  • D.两者同属群体智能算法← 正确答案

答案:ABD。蚁群靠信息素间接协作,粒子群靠共享全局最优直接引导,两者都是群体智能算法。C 错误——蚁群同样可能因信息素过强而陷入局部最优,没有任何启发式算法能“必然”找到全局最优。