一只蚂蚁是笨的。它没有地图、没有导航、没有指挥官,甚至连方向感都称不上可靠。可把几万只蚂蚁放进一片泥地,它们却能在蚁巢与食物源之间,自发地"长"出一条近乎最优的运输高速路——没有谁规划过这条路的走向,它就是涌现出来的。
Sebastian Lague 的这期《Coding Adventure: Ants and Slime Molds》,把这件让人着迷了半个世纪的事,拆成了一段任何程序员都能跟着复现的代码冒险:他用粒子模拟蚂蚁的觅食,用另一套粒子系统复现黏菌的网状生长,然后让你亲眼看到——没有中心控制、没有全局规划,纯粹靠"感知—决策—行动"的局部规则,复杂到令人发指的网络结构是如何从混沌里自我组装出来的。
它解决的不是某个具体的工程问题,而是一个更根本的认知问题:一个由愚蠢个体组成的系统,到底凭什么能变得聪明? 对于写代码的人来说,这是一节关于"分布式系统""涌现设计""基于智能体的建模(agent-based modeling)"的活体教材,而它的可读性,远胜任何一本教科书。
| 项目 | 内容 |
|---|---|
| 视频标题 | Coding Adventure: Ants and Slime Molds |
| 频道 | Sebastian Lague |
| 时长 | 约 23 分钟 |
| 播放量 | 1300 万+ |
| 核心主题 | 用代码模拟蚂蚁觅食与黏菌网络生长,理解群体智能的涌现机制 |
Lague 的第一个实验,是模拟一群蚂蚁找食物。最开始,所有蚂蚁从巢穴出发后几乎是在瞎逛——它们的初始方向是随机的,撞墙、绕圈、互相擦肩而过。绝大多数蚂蚁根本碰不到食物。
转机发生在第一只偶然撞见食物的蚂蚁身上。它在回巢的路上,会沿脚下释放"信息素(pheromone)"。其他出巢的蚂蚁不再纯随机游走,而是有一定概率偏向信息素浓度更高的方向。于是更多蚂蚁循着这条若隐若现的痕迹走到食物,再沿路返回并加固痕迹。正反馈就此启动:信息素越浓的路径,吸引的蚂蚁越多;走过的蚂蚁越多,信息素又越浓。短短几百个仿真步,一条清晰的"高速路"就从混沌中浮现。
这里的关键细节是信息素挥发(evaporation)。Lague 没有让信息素永久存在,而是让它在每个时间步衰减一小部分。这个看似多余的设定其实至关重要:它让系统具备了"遗忘"能力,能把那些不再被走过的旧路径自然抹掉,从而允许更短、更优的新路径不断涌现并取代旧路。没有挥发,系统会被最早形成的任意一条路径锁死——这正是早期蚁群算法跑不出最优解的常见坑。
这段是视频的核心实验,但视频没有展开讲理论起源。补充一点背景:蚂蚁通过环境而非直接交流来完成协作的现象,法国昆虫学家 Pierre-Paul Grassé 在 1959 年称之为 stigmergy(间接协同)——个体通过改变环境来影响其他个体的行为,是群体智能得以涌现的底层机制。
视频里的仿真本质上是一个蚁群优化(Ant Colony Optimization, ACO) 的可视化版本。ACO 由比利时学者 Marco Dorigo 在 1992 年的博士论文中正式提出,他受蚂蚁觅食启发,设计出一套解决组合优化问题的元启发式算法,最经典的应用是旅行商问题(TSP)。
ACO 的数学骨架其实很简洁:蚂蚁选择下一条边的概率,正比于该边上信息素浓度(启发"记忆")与某种启发式信息(比如距离的倒数)的加权和;遍历完成后,按路径总长度更新信息素——路径越短,留下的信息素越多。配合挥发机制,整个蚁群会在若干轮迭代后收敛到一条接近最优的路线。
对程序员而言,真正值得带走的是这个模型背后的设计哲学:用一群简单的、可并行的、彼此近似的"探针"去搜索解空间,靠正反馈放大好的发现、靠挥发淘汰过时的判断。 这套思路不止用于 TSP,在车辆路径规划(VRP)、调度、网络路由甚至蛋白质折叠里都有身影。视频虽然没有写出一个完整的 ACO 求解器,但它把"为什么这套机制管用"用画面讲透了,这比直接给你一段伪代码更有价值。
视频的后半段画风一转,从蚂蚁换成了多头绒泡菌(Physarum polycephalum)——一种没有神经系统、没有大脑、甚至连明确器官都谈不上,却能在迷宫里找到最短路径、在培养皿里"设计"出高效交通网的真核生物。
Lague 用一套粒子系统来模拟黏菌:每个粒子在管状网络里流动,遇到养分时增殖,养分耗尽时萎缩。调一调参数,那些粒子就会自发聚拢在连接各食物源的"主干道"上,而那些低利用率的细枝末节则逐渐消融。最终呈现出来的网络,既有冗余又不过度,连接了所有节点却几乎不浪费材料——与人类工程师反复迭代才得到的方案惊人地接近。
这个实验最震撼的地方,是它的现实原型。2008 年,日本研究者中垣俊之(Toshiyuki Nakagaki)把黏菌放在以东京为中心、用燕麦片模拟各卫星城的培养皿里。一天之后,黏菌长出的管状网络,在拓扑结构上与东京都市圈的铁路网高度重合——而东京铁路网是几十位工程师几十年的心血。这项工作 2010 年发表在《Science》上(Tero 等人,Rules for Biologically Inspired Adaptive Network Design),成为生物启发计算的一座里程碑。
这一段属于延伸分析:视频聚焦于"怎么用代码模拟",而真正让它从"有趣玩具"升级为"严肃科学"的,是 Tero 等人那篇论文揭示的规则——黏菌网络遵循"管径随流量自适应"的三条简单规则,就能逼近工程意义上的最优解。
把蚂蚁和黏菌放在一起看,Lague 想讲清的其实只有一个词:涌现(emergence)。
涌现说的是:系统的整体行为无法从单个组件的行为中直接推导出来。一只蚂蚁只能感知到脚下几毫米的信息素,一个黏菌粒子只能感知到局部流速,没有任何一个个体拥有"全局地图"。可当几万个这样的局部规则叠加,并且彼此通过共享的环境(信息素、管径)耦合在一起时,系统层面上就出现了"决策""优化""记忆"这些高级功能。
这给程序员带来了一个反直觉的设计范式:与其设计一个无所不知的中央控制器,不如设计一群遵从简单规则的智能体,让它们自己去算。 这正是基于智能体的建模(Agent-Based Modeling, ABM)和多智能体系统(Multi-Agent Systems)的思想内核。在交通仿真、流行病传播、金融市场的模拟,乃至今天的 swarm AI、群体机器人里,这套思路无处不在。
从纯编程的角度拆,Lague 的两类仿真其实共用同一个骨架——经典的 Sense–Think–Act 循环:
环境是所有智能体共享的"黑板",它们不直接对话,只通过修改这块黑板来间接沟通(这正是 stigmergy 的工程实现)。这种"高内聚、低耦合"的结构天然适合并行:每个智能体的更新彼此独立,可以用 GPU 或多核轻松加速。Lague 在视频里用 Unity 的 Job System / Burst 把成千上万个粒子跑到了实时帧率,这本身就是一份分布式/并行编程的实战示范。
一个被视频轻描淡写、却让所有动手复现的人吃尽苦头的真相:这套系统对参数极度敏感。
信息素挥发太快,路径还没成型就消失了,蚁群永远在随机游走;挥发太慢,第一条偶然形成的次优路径被锁死,再也优化不动。感知半径太小,蚂蚁看不见信息素,等同没有协同;感知半径太大,所有蚂蚁瞬间塌缩到同一条路,失去探索能力。黏菌的扩张率与萎缩率一旦失衡,要么长成一团乱麻,要么瞬间饿死成几根枯枝。
这揭示了一个深层共性:涌现型系统是非线性的。参数的微小变化会导致定性的、而非定量的行为改变——这在动力学里叫分岔(bifurcation),在工程上则意味着你必须把调参当成设计的一部分,而不是事后的修修补补。Lague 在视频里反复试错、屏幕上参数滑块拖来拖去的画面,恰恰是涌现系统开发的真实日常:没有一劳永逸的"正确参数",只有在你想要的那个行为相区里的、经过校准的参数组合。
最后想说一句我自己的判断。今天我们谈编程,越来越倾向于"上层抽象"——调库、拼 API、写 prompt。这没错,但它有一个副作用:让我们离"系统到底是怎么动起来的"越来越远。
Lague 这类视频的价值,在于它把你拽回第一性原理。他用最朴素的数据结构(数组、网格、粒子)、最直白的循环,重新组装出自然界里最精巧的智能。看完你会意识到:复杂不等于难写。很多看起来高深的能力——优化、决策、记忆、自适应——本质上可以由极简的规则在足够多的个体上涌现出来。这种"去神秘化"的认知冲击,比任何一行具体代码都更值钱。
graph TD
A[群体智能 Swarm Intelligence] --> B[蚂蚁觅食仿真]
A --> C[黏菌网络仿真]
B --> B1[随机游走 Random Walk]
B --> B2[信息素释放 Pheromone Deposit]
B --> B3[信息素挥发 Evaporation]
B --> B4[路径选择加权概率]
B2 --> B5[正反馈放大]
B3 --> B5
C --> C1[粒子流 Particle Flow]
C --> C2[管径随流量自适应]
C --> C3[低利用率管道萎缩]
C2 --> C4[最优网络涌现]
B5 --> D[涌现 Emergence]
C4 --> D
D --> E[底层机制: Stigmergy 间接协同]
D --> F[工程范式: Agent-Based Modeling]
F --> G[Sense 感知]
F --> H[Think 决策]
F --> I[Act 行动]
G --> H --> I -->|修改环境| G
B4 -.-> J[理论: 蚁群优化 ACO<br/>Dorigo 1992]
C2 -.-> K[理论: 自适应网络设计<br/>Tero et al. Science 2010]
style A fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
style D fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
style F fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
如果你想真正吃透这套思路,建议照着视频亲手写一遍蚂蚁仿真。 不要用任何花哨的引擎,先用最熟悉的语言(Python、JS 都行)搭一个二维网格:定义一个"信息素场"二维数组,定义一群带朝向的蚂蚁,让每只蚂蚁每一步读前方几个格子的浓度、按概率选个方向走、走过留痕、全场每步挥发一点。跑起来你会立刻遇到 Lague 遇到的所有问题:路径飘忽、参数难调、性能瓶颈。解决它们的过程,就是你真正理解群体智能的过程。
对工程实践的迁移价值有三点。 第一,当你要设计一个分布式系统,且全局信息难以获取时,优先考虑"局部规则 + 共享环境"的 stigmergy 模式,而不是硬上一个中心化的调度器——它更鲁棒、更可扩展,也更容易调试。第二,遇到组合优化问题(路径、调度、分配)时,ACO 和它的表亲粒子群(PSO)、模拟退火都是值得放进工具箱的元启发式方法,尤其在解空间巨大、精确算法跑不动时。第三,做任何"涌现型"系统(包括今天的多智能体 LLM 编排),都要把参数校准和"行为相区"的识别作为核心工程活动,而非事后打磨。
一个更哲学的收获: 视频其实在示范一种"自下而上"的构建世界观。复杂的结果不必来自复杂的设计,它可以来自简单规则在大量个体上的迭代耦合。这种思维方式一旦内化,你看系统设计、看组织管理、甚至看城市规划,都会多出一个全新的解释维度。
这期视频用最朴素的代码告诉你:智能不必被设计,它可以被"长"出来——只要规则足够简单、个体足够多、反馈足够诚实。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
