想象一个夜市,几十个炭火烧烤摊挨在一起。没有总店长,没有中央喇叭,每个摊贩只留意自己周围几步内的情况:别撞到隔壁的手推车,跟着人流方向挪摊位,人多的地方就多备几个串儿。奇怪的是,这个没人指挥的夜市,却总能自发放置出合理的摊位格局,高峰期排队也井然有序。群体机器人学(Swarm Robotics)研究的正是这种“散兵游勇协作成军”的现象:让一群能力简单的机器人,像夜市摊贩一样只靠局部感知和简单规则,涌现出完成复杂任务所需的群体智慧。机器人的单价可以很低、计算可以很弱,但只要数量够多、规则设计得当,整个队伍就能爆发出远超单体的能力。

岗位关联

掌握去中心化协作原理,是设计大规模多智能体系统的看家本领——无论是无人机编队、仓储机器人还是灾后搜救,这套思维能让你从“逐台编程”升级为“规则设计”。

目录
  1. 可视化演示
  2. 一、群体智能原理
  3. 二、去中心化控制
  4. 三、通信协同机制
  5. 四、任务分配策略
  6. 五、典型应用场景
  7. 六、核心挑战问题
  8. 七、工程实践路径
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示群体机器人三大协作机制:编队运动、通信网络与任务分配,通过动态网络图直观呈现Swarm Robotics核心原理。

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

编队运动模式 8个机器人沿环形轨迹协同运动 相邻机器人保持等距连接 旋转扫描实现全域覆盖

一、群体智能原理

夜市边角有一个卖烤肠的夫妻摊,老板从不吆喝,只做三件事:和隔壁摊位保持一臂距离不乱挪;看旁边摊子忙起来就凑近一点;哪里人流多就往哪边挪半步。这三条小规则,让他的小摊稳稳融入夜市洪流。他从来没看过夜市平面图,也不知道自己在这个庞大系统里的“坐标”,却总能和周围的摊贩保持恰到好处的相处节奏。

这三个“小规则”正是群体智能的雏形。群体智能(Swarm Intelligence)源于对蚂蚁、蜜蜂、鸟群的观察——单个个体几乎只凭本能行动,但群体却能完成觅食、筑巢、迁徙等看似需要精心策划的壮举。1987 年,计算机图形学家 Reynolds 提出的 Boids 模型把这种默契提炼成了三条矢量规则:分离(Separation)、对齐(Alignment)、聚集(Cohesion),成为群体机器人最经典的底层模型。

把每个机器人看作一个带速度的粒子,它每帧计算邻居施加的三个力,加权叠加后更新自己的速度。权重的大小决定了这个群体偏向“疏散避碰”还是“聚团前进”,这也正是工程师调参的核心手感。

就像烤肠摊老板的三条小规则——保持距离、跟上节奏、向热闹靠近——单个机器人完全不需要知道“夜市全貌”,只需要反复执行这三条简单的局部法则,整个群体的集体运动形态就会在宏观上自然涌现。

v⃗i(t+1)=v⃗i(t)+ws s⃗i+wa a⃗i+wc c⃗i\displaystyle \vec{v}_i(t+1) = \vec{v}_i(t) + w_s\, \vec{s}_i + w_a\, \vec{a}_i + w_c\, \vec{c}_i
这个公式说:一台机器人的下一时刻速度,等于当前速度,加上三条局部规则各自贡献的修正量。整条街的秩序,就是每个摊贩反复执行这三次“加减法”算出来的。
  1. 当前时刻速度向量 \(\vec{v}_i(t)\)第 i 台机器人此刻的运动速度与方向,是所有计算的起点。
    v⃗i(t)\vec{v}_i(t)
  2. 下一时刻速度向量 \(\vec{v}_i(t+1)\)叠加三条规则修正后的新速度,决定机器人下一帧的位移。
    v⃗i(t+1)\vec{v}_i(t+1)
  3. 分离项 \(\vec{s}_i\)指向远离所有邻居的合向量,让个体保持安全间距,权重 \(w_s\) 控制避撞强度。
    s⃗i=∑j∈Nip⃗i−p⃗j∥p⃗i−p⃗j∥\vec{s}_i = \sum_{j \in N_i} \frac{\vec{p}_i - \vec{p}_j}{\|\vec{p}_i - \vec{p}_j\|}
  4. 对齐项 \(\vec{a}_i\)邻居速度的平均方向,让群体朝同一方向移动而不散开。
    a⃗i=1∣Ni∣∑j∈Niv⃗j\vec{a}_i = \frac{1}{|N_i|} \sum_{j \in N_i} \vec{v}_j
  5. 聚集项 \(\vec{c}_i\)指向邻居群体中心的方向向量,让团队保持聚拢。
    c⃗i=1∣Ni∣∑j∈Nip⃗j−p⃗i\vec{c}_i = \frac{1}{|N_i|} \sum_{j \in N_i} \vec{p}_j - \vec{p}_i

二、去中心化控制

夜市没有“总店长”,摊贩们不请示、不汇报,自己决定几点出摊、备多少货、要不要提前收工。这跟现代超市的中央调度完全不同——超市有总部系统统一排班,但夜市这套松散组织反而更灵活:某个摊贩临时有事撤摊,其他人根本不需要“上报”,生活照旧。

这种没有中心节点的组织方式,在群体机器人中叫去中心化控制(Decentralized Control)。每个机器人的“大脑”只输入两类信息:自己的状态,以及感知半径 r 内邻居的状态。它不向任何中央服务器上传数据,也不等待任何指令再做决定。所谓“智能”,不在任何一个个体里,而在个体之间反复发生的局部交互里。

严格定义下来,一切决策都只依赖于一个局部邻居集合:

这种设计的最大红利是鲁棒性:任何一台机器损坏,它的邻居只是“看不见它了”,群体立即重新平衡,没有人需要接管它的职责,整个系统不会因此宕机。夜市里一位摊贩临时收摊,周边摊子不会打电话问“总部怎么办”,只是自然地补上空当,秩序照旧。

Ni={ j∈R∣∥p⃗j−p⃗i∥<r }\displaystyle N_i = \{\, j \in \mathcal{R} \mid \|\vec{p}_j - \vec{p}_i\| < r \,\}
这个集合画了一个看不见的圆圈:只有落在这个感知半径内的机器人,才算“邻居”,才参与决策。视野之外的一切,与个体无关。
  1. 邻居集合 \(N_i\)第 i 台机器人的邻居集合,是它决策时能“看见”的全部对象。
    NiN_i
  2. 欧氏距离 \(\|\vec{p}_j - \vec{p}_i\|\)两台机器人位置向量的直线距离,是判断是否为邻居的标尺。
    ∥p⃗j−p⃗i∥\|\vec{p}_j - \vec{p}_i\|
  3. 感知半径 \(r\)机器人传感器的探测范围边界,只有落入半径内的个体才进入决策视野。
    rr

三、通信协同机制

烤串的香味、人群的喧哗、灶台的火光——夜市没有广播站,但每个摊贩都在向环境“留言”,也都在读取环境的“留言”。炭火的热度告诉隔壁“这里刚收摊”,排队的长短告诉路人“这家好吃”。信息不需要喊出来,环境本身就是一本公开的笔记本。

群机器人通信也分两大类。一类是隐式通信(Stigmergy):个体之间不直接对话,而是通过改变共享环境留下痕迹来间接影响他人——蚂蚁的信息素是教科书级的案例。另一类是显式通信:通过无线射频、红外等物理链路直接传递数据包,相当于夜市里隔摊喊一嗓子“老张,借个火”。

蚁群算法的信息素更新,是隐式通信最经典的数学模型:

实际群机器人系统通常混合使用两种通信:短距无线广播负责邻居间的显式交互,而覆盖轨迹、地面标记(比如喷洒的荧光颜料)构成隐式沟通。夜市高效的秘诀,就是“每个摊位都在给环境留线索,又从环境里读线索”——你留下的炭火余温,就是下一摊的决策依据。

τij(t+1)=(1−ρ) τij(t)+∑k=1mΔτijk\displaystyle \tau_{ij}(t+1) = (1-\rho)\,\tau_{ij}(t) + \sum_{k=1}^{m} \Delta\tau_{ij}^{k}
这条公式描述“环境留言”的写入与遗忘:路径上原有的信息素会随时间挥发,新的机器人路过又会补上一笔。环境既是记忆,也是信使。
  1. 当前信息素浓度 \(\tau_{ij}(t)\)t 时刻路径 (i,j) 上的信息素存量,记录该路径的“历史热度”。
    τij(t)\tau_{ij}(t)
  2. 挥发残留项 \((1-\rho)\tau_{ij}(t)\)信息素随时间挥发,\(\rho \in (0,1)\) 是挥发速率,此项表示上一时刻留下的部分。
    (1−ρ) τij(t)(1-\rho)\,\tau_{ij}(t)
  3. 新增信息素总量 \(\sum_{k=1}^{m} \Delta\tau_{ij}^{k}\)所有经过这条路径的个体留下的信息素增量之和,路径越热门,增量越大。
    ∑k=1mΔτijk\sum_{k=1}^{m} \Delta\tau_{ij}^{k}

四、任务分配策略

夜市最忙的摊子前顾客排到三米开外,旁边的空摊位老板二话不说支起锅灶帮忙炸串。没人下命令,大家自动补位。而收摊后,这位帮忙的老板依然只关心自己的串卖得好不好——他的“帮忙”不是发自团队精神,而是被眼前的排队长度刺激出来的。

这正是群机器人中的任务分配(Task Allocation)问题。最经典的模型是响应阈值模型(Response Threshold Model):每个个体有一个“耐受阈值” \(\theta\),当外部任务刺激 \(S\)(排队长度、报警强度、货物积压量)超过自身阈值时,个体放下当前动作,转而承担新任务。低阈值个体是“勤快人”,高阈值个体是“淡定哥”,两者混搭让群体既有响应速度又有稳定性。

承担任务的概率由如下函数刻画:

那个帮忙的老板,是因为“排队长度 S”超过了他的“袖手旁观阈值 \(\theta\)”。群体没有排班表,却总是动态均衡地补位——这就是自组织协作的微妙之处。

Pi(S)=S2S2+θi2\displaystyle P_i(S) = \frac{S^2}{S^2 + \theta_i^2}
这个 S 形曲线说明:刺激越强、阈值越低,个体越大概率“出手”。群体里没有排班表,但总有人恰到好处地顶上。
  1. 任务刺激强度 \(S\)任务紧急程度的外部量化,比如排队长度、报警信号强度。
    SS
  2. 个体响应阈值 \(\theta_i\)个体对刺激的敏感度阈值,阈值低则“勤快”,阈值高则“淡定”。
    θi\theta_i
  3. 平方和 \(S^2 + \theta_i^2\)平方项让响应概率在阈值附近平滑但迅速地翻转,避免“一刀切”的抖动。
    S2+θi2S^2 + \theta_i^2
  4. 任务概率 \(P_i(S)\)个体承担任务的概率,范围在 0 到 1 之间,关于 S 单调递增。
    Pi(S)∈[0,1]P_i(S) \in [0, 1]

五、典型应用场景

夜市这套“散兵协作”的打法,今天已被复制到现实世界的各种战场。灾后废墟里,几十台手掌大的爬行机器人分区探寻生命迹象;电商仓库里,数百台搬运机器人像蚂蚁一样把货架搬到拣货员面前;海面上,网球大小的漂流浮标群体追踪污染带的边界;未知洞穴中,无人机编队按覆盖规则完成三维地形扫描。

这些场景共享同一个收益模型:当更多机器人参与覆盖时,系统覆盖率呈饱和型增长,也就是“人多力量大,但力量的增长越来越慢”:

夜市也不会把整条街都摆满烧烤摊——过密反而堵路。放多少摊位,取决于人流和面积的“覆盖拐点”;群机器人部署多少台,同样要画这条饱和曲线来寻找最优规模。

C(t)=1−e−λNt\displaystyle C(t) = 1 - e^{-\lambda N t}
这条饱和曲线揭示了一个反直觉的结论:不是机器人越多越好。当数量 N 足够大之后,新增机器人带来的覆盖率增量趋近于零,但成本依然线性上升。
  1. 覆盖率 \(C(t)\)t 时刻已完成探测的目标区域占总区域的比例,取值 0 到 1。
    C(t)C(t)
  2. 累计工作量 \(\lambda N t\)单机有效覆盖速率 \(\lambda\) 乘以机器人数量 N 和时间 t,刻画群体的累计探测总量。
    λNt\lambda N t
  3. 饱和函数 \(1 - e^{-x}\)覆盖率随累计工作量增长而趋向 1 的饱和型曲线,体现“边际递减”效应。
    1−e−x1 - e^{-x}

六、核心挑战问题

夜市办大了也有烦恼:人群太挤走不动道,有摊子用高音喇叭抢占注意力,个别摊贩乱摆导致局部通道堵死。人越多,摩擦越多,协调成本越高。群机器人同样面临四大挑战,其中最硬核的是扩展性(Scalability)。如果所有机器人两两直接通信,链路数会呈现平方级爆炸:

其余三项挑战同样棘手:安全性(恶意节点注入假信息可能把整个群体带偏)、行为预测(涌现行为难以形式化验证,出了问题很难定位是哪条规则引发的)、能源管理(机器人离队充电时群体如何自动再平衡)。夜市用“谁离得近谁帮忙”替代高音喇叭,本质上就是把通信从“全场广播”降级为“邻摊私语”——这是破解扩展性危机的最朴素智慧。

L=N (N−1)2=O(N2)\displaystyle L = \frac{N\,(N-1)}{2} = O(N^2)
这个组合公式是一盆冷水:100 台机器人两两通信会产生 4950 条链路,涨到 1000 台时暴增到接近 50 万条。通信负载的爆炸,是群体规模化的第一道天花板。
  1. 链路总数 \(L\)N 台机器人两两建立通信连接时的连接总数。
    LL
  2. 两两组合数 \(\frac{N(N-1)}{2}\)每台机器人与其它 N-1 台各建一条链路,但每条链路被两端各数了一次,因此除以 2。
    N(N−1)2\frac{N(N-1)}{2}
  3. 渐近复杂度 \(O(N^2)\)表示当 N 翻倍时链路数约翻 4 倍,揭示扩展成本的增速。
    O(N2)O(N^2)

七、工程实践路径

聪明的夜市创业者不会直接包下半条街,而是先在家门口摆两张桌子试营业,把备货、排队、收账的流程跑顺了再逐步扩摊。群机器人工程落地的黄金路径也是这种“小步快跑”:先在仿真平台里跑几千轮参数组合,观察涌现行为是否符合预期;再用 10 到 20 台真实设备验证模型假设;接着针对速度、密度、通信范围做网格搜索调优;最后用成本效率指标决定是否继续扩容。

评估的核心指标是“单位成本的产出”,即任务效率:

当 η 不再随 N 增大而显著下降,说明该规模下的边际收益已经见底,应停止扩容。两张桌子验证了“排队分流”规则,才敢在整条街复制——群机器人同样相信:先在仿真里跑出一千个“虚拟夜市”,再让真实机器人在广场上自由协作。

η=TtaskN×Eˉ\displaystyle \eta = \frac{T_{\text{task}}}{N \times \bar{E}}
这个比率把一个任务的总耗时和总能耗压缩成一个数字:η 越小,说明完成同样任务投入的资源越少,系统越“划算”。
  1. 任务总耗时 \(T_{\text{task}}\)从任务开始到完成所经过的总时间。
    TtaskT_{\text{task}}
  2. 群体规模 \(N\)参与任务的机器人总数。
    NN
  3. 平均能耗 \(\bar{E}\)单台机器人单位时间能耗的平均值,代表资源成本。
    Eˉ\bar{E}
  4. 效率指标 \(\eta\)综合时间与能源的产出效率,η 越小成本越低。
    η\eta

AI 应用场景

场景 1:智能仓储的“蚂蚁军团”

阶段:任务分配与路径规划

解决的问题:传统仓储依赖中央 WMS 系统逐台下发搬运指令,订单高峰时调度耗时陡增,且中央服务器一旦宕机整个仓库瘫痪。引入响应阈值模型后,每台搬运机器人根据“货架等待时长”这一刺激强度自主决定是否接单,不需要中央逐单调度——就像夜市摊贩看到排队变长就主动补位。

具体案例:某电商仓部署 200 台搬货 AGV,每台只感知半径 15 米内的货架需求与空闲车辆。当某个货架的等待刺激超过阈值,就近的“闲车”自动响应。试点三个月后,单均搬运时长下降 38%,任意一台 AGV 宕机都不影响整体出货。

场景 2:地震废墟的生命搜索

阶段:区域覆盖与群体感知

解决的问题:传统搜救依赖人力逐格排查,速度慢且救援人员面临二次坍塌风险。群机器人采用夜市摊贩的“分离-对齐-聚集”规则在废墟表面自主扩散,热成像与麦克风阵列通过局部协作定位生命迹象。

具体案例:某地震救援演练中,团队部署 60 台手掌大小的爬行机器人,只按三条局部规则在瓦砾间散布,通过隐式通信(荧光颜料标记已搜索区域)避免重复搜索。12 小时完成 4 万平方米的搜索,而人工排查需要 3 天。

场景 3:海洋污染带追踪

阶段:分布式感知与信息融合

解决的问题:水面浮油监测以往靠卫星影像,重访周期长、分辨率低。微型漂流机器人群体布撒后,通过邻居间无线组网实时共享浓度读数,群体边沿自动延伸,像摊贩沿人流方向移动一样,沿着浓度梯度包围污染边界。

具体案例:某海湾溢油事故处置中,50 台网球大小的漂流浮标被投放在泄漏点周围。它们不追踪“油带中心”,而是各自追踪浓度梯度,通过 LoRa 无线在邻居间交换边界浓度数据,40 分钟自动勾勒出完整的污染轮廓,为清污船提供了实时作业依据。

Python 演示

python72 行
import mathimport random  class SwarmBot:    """一只夜市摊贩: 只感知邻居, 本地决策."""     def __init__(self, x, y):        self.x = x        self.y = y        self.vx = random.uniform(-1.0, 1.0)        self.vy = random.uniform(-1.0, 1.0)     def update(self, bots, radius, w_sep, w_ali, w_coh):        """执行分离/对齐/聚集三条局部规则."""        sep_x = sep_y = ali_x = ali_y = coh_x = coh_y = 0.0        count = 0        for other in bots:            if other is self:                continue            dx = self.x - other.x            dy = self.y - other.y            dist = math.hypot(dx, dy)            if 0 < dist < radius:                sep_x += dx / dist                sep_y += dy / dist                ali_x += other.vx                ali_y += other.vy                coh_x += other.x                coh_y += other.y                count += 1        if count > 0:            sep_x /= count            sep_y /= count            ali_x /= count            ali_y /= count            coh_x = coh_x / count - self.x            coh_y = coh_y / count - self.y        self.vx += sep_x * w_sep + ali_x * w_ali + coh_x * w_coh        self.vy += sep_y * w_sep + ali_y * w_ali + coh_y * w_coh        speed = math.hypot(self.vx, self.vy)        if speed > 2.5:            self.vx = self.vx / speed * 2.5            self.vy = self.vy / speed * 2.5        self.x += self.vx        self.y += self.vy  def run_simulation(steps=200, count=30, radius=60.0):    """让 count 只机器人在 400x300 空间里自主协作运动."""    width, height = 400.0, 300.0    bots = [        SwarmBot(random.uniform(0, width), random.uniform(0, height))        for _ in range(count)    ]    for _ in range(steps):        for bot in bots:            bot.update(bots, radius, 0.05, 0.03, 0.01)            bot.x %= width            bot.y %= height    return bots  if __name__ == "__main__":    final_bots = run_simulation()    xs = [round(b.x, 1) for b in final_bots]    ys = [round(b.y, 1) for b in final_bots]    print("仿真完成: 30 只机器人的最终位置")    print("x 坐标:", xs)    print("y 坐标:", ys)    print("群体中心:", (round(sum(xs) / len(xs), 1),                         round(sum(ys) / len(ys), 1)))
目的:用 60 行 Python 实现一个完整的多机器人协作仿真,30 台“摊贩机器人”只靠分离、对齐、聚集三条局部规则,就能涌现出整齐的群体运动。
  1. self.vx += sep_x * w_sep + ali_x * w_ali + coh_x * w_coh三条局部规则加权为一条速度更新指令,等价于摊贩“保持距离、跟上节奏、向热闹靠”的直觉。
  2. if 0 < dist < radius:只把感知半径内的邻居纳入计算,这就是去中心化的“局部视野”。
  3. for other in bots:遍历所有机器人,但靠半径过滤来决定谁算邻居,谁只是“路人”。
  4. if speed > 2.5:对速度做限幅,防止群体因合力过大而发散,对应夜市里“跑太快会撞翻摊子”的物理约束。
  5. run_simulation(steps=200, count=30, radius=60.0)仿真入口:200 步、30 台机器人、感知半径 60,用来验证“简单规则能否涌现秩序”。
  6. bot.x %= width环形边界处理:走出左边界就从右边界回来,让群体在有限世界里持续演化。

常见误区

误区我一直以为要让机器人协作,必须让它们通过 Wi-Fi 实时交换状态,不然它们“不知道怎么配合”。

正解实际上,隐式通信(Stigmergy)完全不需要直接对话。蚂蚁不打电话,靠信息素;夜市摊贩不喊话,靠“看排队长度”。群机器人同样可以用环境痕迹作为媒介:地面荧光标记、温度残留、路径遮盖物都是信息。通信越少,系统的扩展性反而越好——这正是破解链路爆炸问题的关键思路。

为何常见:因为我们习惯了互联网时代“信息要显式传递”的直觉,忽略了自然界大量“沉默协作”的样本。

误区既然群体智能就是人多力量大,那我直接上 1 万台机器人,覆盖和效率一定碾压 100 台。

正解通信链路数与机器人数量呈平方关系。当 N 从 100 涨到 1000,两两通信链路从 4950 涨到 499500——暴增约 100 倍。而且覆盖收益饱和:覆盖率 \(C(t)=1-e^{-\lambda N t}\),当 N 很大时新增机器人带来的增量趋近于零。最佳规模不是“最大”,而是“边际收益等于边际成本”的那个拐点。

为何常见:线性思维惯性——总觉得投入和产出成正比,忽略了分布式系统的非线性耦合成本。

误区要让 100 个机器人排队进仓库,肯定要有个“大脑”统一规划路径,不然它们会乱成一团。

正解群机器人恰恰相反——中央规划是单点故障和通信瓶颈的来源。去中心化方案中,每个个体只做局部决策:旁边是否拥堵、任务刺激是否超阈值,全局秩序是涌现的结果。Boids 鸟群里没有“领头鸟规划路线”,但队形照样形成。当然,去中心化不保证全局最优,这需要靠任务分配规则来逼近“满意解”。

为何常见:人类管理组织习惯于金字塔结构,很难相信“没有领导”也能高效运转。

误区既然要完成复杂任务,每个机器人至少得配备激光雷达、高精地图和强大的规划算力,否则就是“笨机器人”。

正解群体智能的核心假设是“个体简单、群体聪明”。成本 200 元的微型机器人(只有碰撞传感器加短距无线模块)组成 1000 台群体,能完成的覆盖任务可能超过一台 200 万元的“超级机器人”。简单的反应式规则——“看到光往这边走,碰到墙就转开”——在群体层面就能形成复杂模式。个体智能的性价比远低于群体规模。

为何常见:受单机人工智能范式影响,习惯了“越强的单体能力等于越好的系统”,没意识到群智可以靠规模换能力。

面试题

Q1. 群体机器人的核心思想是什么?

单选题 · easy

  • A.每台机器人都要有全局视野
  • B.局部简单规则涌现全局智能← 正确答案
  • C.必须依赖中央控制器调度
  • D.所有机器人需要实时通信

答案:B。群体机器人学的核心是“简单个体 + 局部交互 = 群体智能”,就像夜市摊贩各管一亩三分地,整体秩序却自动涌现。A 错在全局视野违背局部感知原则;C 错在中央控制器正是去中心化要避免的单点故障;D 错在实时通信既非必要也做不到——蚂蚁靠信息素这种隐式通信就足够了。

Q2. 关于“涌现智能”的正确理解是?

单选题 · easy

  • A.群体智能来自中央精心规划
  • B.群体智能是预先编写剧本
  • C.局部规则的宏观自组织结果← 正确答案
  • D.每个个体需理解全局意图

答案:C。涌现智能不是设计者逐台编好剧本,而是简单局部规则在大量个体交互中产生的宏观结果,就像夜市没人设计排队路线,队伍却总能自然形成。A、B 都暗示了中心设计者,D 要求个体理解全局目标,都违背了群智“个体无需知道全局”的底层假设。

Q3. 隐式通信 Stigmergy 是指什么?

单选题 · mid

  • A.机器人靠无线电台直接对话
  • B.改变共享环境来间接传信息← 正确答案
  • C.通过视觉识别队友的位置
  • D.通过扬声器播放声音信号

答案:B。隐式通信指个体通过改变共享环境间接传递信息,蚂蚁的信息素、机器人的地面荧光标记都是典型例子。A、D 是显式通信(直接传数据/声音),C 只是感知而非通信——个体并没有主动留下信息给同伴。

Q4. 属于 Boids 聚群规则的有哪些?

多选题 · mid

  • A.分离:避免与邻居碰撞← 正确答案
  • B.对齐:速度匹配相邻个体← 正确答案
  • C.聚集:向群体中心靠拢← 正确答案
  • D.追随:复制领导的移动路线

答案:ABC。Boids 模型的三条规则是分离、对齐、聚集,分别对应避障、速度匹配、向中心靠拢。D 的“追随领导者”不是 Boids 规则——群体里没有领导概念,图案是自组织涌现的,而不是被某只“头鸟”带出来的。

Q5. 响应阈值模型中,个体阈值与任务概率的关系是?

单选题 · mid

  • A.阈值越高任务概率越大
  • B.阈值越低任务概率越大← 正确答案
  • C.阈值对任务概率无影响
  • D.阈值只影响任务完成质量

答案:B。响应概率公式 \(P_i(S) = S^2 / (S^2 + \theta_i^2)\) 中,阈值 \(\theta_i\) 出现在分母上:阈值越低,同样的刺激 S 产生的概率越高,个体越“勤快”;阈值越高,个体越“淡定”。所以 B 正确,A 正好说反了。

Q6. 去中心化群控制的优势包括哪些?

多选题 · hard

  • A.不存在单点故障隐患← 正确答案
  • B.对个体失效具有鲁棒性← 正确答案
  • C.保证全局最优的任务调度
  • D.更好适应动态变化环境← 正确答案

答案:ABD。去中心化系统没有中心节点,因此没有单点故障,个体损坏后群体能自动再平衡,也更容易适应动态环境。但 C 错:每个个体只掌握局部信息,决策是“满意解”而非“全局最优解”——就像夜市摊位布局永远不是数学最优,但足够好用。

Q7. N 个机器人两两通信,链路数随数量增长的复杂度是?

单选题 · mid

  • A.O(N) 线性增长
  • B.O(log N) 对数增长
  • C.O(N²) 平方增长← 正确答案
  • D.O(N!) 阶乘增长

答案:C。N 台机器人两两通信的链路数是组合数 \(N(N-1)/2\),渐近复杂度为 O(N²)。这意味着机器人数量翻倍时,通信负载约翻 4 倍,这是群体规模化的第一道天花板。

Q8. 信息素更新公式中的 ρ 表示什么?

单选题 · hard

  • A.信息素的挥发速度系数← 正确答案
  • B.信息素的最大容量上限
  • C.蚂蚁释放信息素的剂量
  • D.蚂蚁感知信息素的范围

答案:A。在 \(\tau_{ij}(t+1) = (1-\rho)\tau_{ij}(t) + \sum\Delta\tau\) 中,ρ 是挥发速率,\((1-\rho)\tau_{ij}(t)\) 表示上一时刻信息素挥发后残留的部分。ρ 越大,信息素消失越快,历史路径被遗忘得越快,群体对变化的适应也越敏捷。

Q9. 下列哪些做法能降低群机器人通信负载?

多选题 · hard

  • A.限制单跳通信的范围半径← 正确答案
  • B.仅与局部邻居交换信息← 正确答案
  • C.全局广播所有状态信息
  • D.用隐式通信替代显式通信← 正确答案

答案:ABD。降低负载的三个方向是:限制通信半径、只与邻居交换信息、用环境痕迹(隐式通信)替代显式广播。C 的全局广播恰恰是负载爆炸的根源——让所有机器人听到所有消息,等价于把链路数推回 O(N²)。

Q10. 群体机器人落地的最佳工程路径是?

单选题 · easy

  • A.直接部署大规模真实集群
  • B.仿真再小规模试验再调优迭代← 正确答案
  • C.先研发单体超级智能机器
  • D.跳过测试直接投入实际生产

答案:B。业界标准路径是“仿真验证 → 小规模试验 → 参数调优 → 迭代部署”,先在虚拟世界跑熟规则,再小批量验证,最后逐步扩容。A、D 跳过了验证环节,风险极高;C 违背了群智“以多取胜、个体简单”的初衷。