- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
多智能体系统(Multi-Agent Systems,MAS)是《AI for Beginners》课程第 23 课(位于 lessons/6-Other/23-MultiagentSystems/README.md)的核心主题。本篇文章以该课文档为主线,系统讲解"涌现式(协同式)"智能如何由大量简单个体组合而成、智能体的分类体系与应用场景,并通过开源建模环境NetLogo给出可直接上手的实操路径:从模型库浏览、基础命令,到经典的 Flocking(鸟群)三规则与交通、人群等模拟实验,最后延伸至 BDI 架构的审慎型智能体原理。读完本文,你将理解多智能体系统的设计思想,并掌握用 NetLogo 快速搭建、调参、观察涌现行为的完整方法。
从"涌现"理解多智能体系统
课程开篇给出了一条不同于传统符号式或神经网络式 AI 的实现路径:涌现式(emergente)或协同式(sinérgico)方法。其核心观点是——大量相对简单的智能体(agent)组合在一起时,整体系统可以呈现出更复杂、甚至更"智能"的行为。这一思想在理论上扎根于三个概念:
- 集体智能(Inteligencia Colectiva):个体的简单规则汇总后形成群体层面的智能;
- 涌现主义(Emergentismo)/ 全球脑(Global Brain):更高层级的系统由低层级系统恰当组合后产生新的附加值;
- 演化控制论(Cibernética Evolutiva):即所谓的"元系统转换原则(principio de transición de metasistema)"——较低层系统的组合会带来高层系统质的提升。
该方向于 20 世纪 90 年代在 AI 领域兴起,其背景正是互联网与分布式系统的高速增长。经典 AI 教科书《Artificial Intelligence: A Modern Approach》便是从多智能体视角审视经典 AI 的代表著作。在整个课程体系中,这一课被安排在 lessons/6-Other 目录下的"其他 AI 方法"板块,与遗传算法、深度强化学习并列,属于课程主 README(README.md)所归纳的"不太主流的 AI 方法"之一,但其在仿真、游戏、自动化领域的实用价值正日益凸显。
智能体(Agent)的定义与分类
多智能体方法的核心概念是智能体:一个存在于某个环境之中、能够感知环境并对其施加作用的实体。这个定义非常宽泛,课程按三个维度给出了系统的分类体系:
| 分类维度 | 类型 | 行为特征 |
|---|---|---|
| 推理能力 | 反应式(reactivos) | 通常只有简单的"请求—响应"式行为 |
| 推理能力 | 审慎式(deliberativos) | 使用某种逻辑推理和/或规划能力 |
| 代码执行位置 | 静态(estáticos) | 运行在固定的网络节点上 |
| 代码执行位置 | 移动(móviles) | 可以在网络节点之间迁移自己的代码 |
| 行为目标 | 被动(pasivos) | 没有特定目标,可对外部刺激作出反应但不会主动发起动作 |
| 行为目标 | 主动(activos) | 追求某些明确目标 |
| 行为目标 | 认知(cognitivos) | 涉及复杂的规划与推理 |
其中"反应式 vs. 审慎式"的区分尤为关键,它贯穿全文:后文 NetLogo 中的智能体基本是反应式的,而课程最后讨论的 BDI 架构则属于审慎式。
现实中的应用场景
多智能体系统如今已应用于多个领域:
- 游戏:大量非玩家角色(NPC)使用某种 AI,可被视为智能体;
- 视频制作:涉及人群的复杂 3D 场景渲染,通常借助多智能体仿真完成;
- 系统建模:用多智能体方法模拟复杂模型的行为——例如已被成功用于预测 COVID-19 在全球的传播;类似的思路可用于建模城市交通,观察它对交规变化的响应;
- 复杂自动化系统:每个设备作为独立智能体运行,使整个系统不再是单一整体(monolítico),鲁棒性更强。
NetLogo:多智能体建模环境入门
课程只用一个建模示例来落地多智能体思想,这个工具就是NetLogo——一个基于改良版Logo语言的多智能体建模环境。Logo 语言最初用于向儿童教授编程概念,它允许你控制一个名为海龟(tortuga/turtle)的智能体,它移动时会留下轨迹,从而能画出复杂几何图形,是一种非常直观理解"智能体行为"的方式。
第一个命令:创建海龟并指挥它们
NetLogo 中用create-turtles创建多个海龟,再用ask让所有海龟执行动作。课程给出的最小示例:
create-turtles 10 ask turtles [ forward 10 ]执行后,10 只海龟会同时向前移动 10 个步长。当然,让所有海龟做同样的事并不有趣,所以可以用ask只指挥特定群体(例如位于某点附近的那些海龟)。还可以用breed [cats cat]创建不同品种的海龟——注意要同时给出复数与单数形式,因为不同命令为了语义清晰会分别使用不同形式。
✅ 课程并不打算深入讲解 NetLogo 语言本身,感兴趣可以查阅 Beginner's Interactive NetLogo Dictionary 官方入门资源。NetLogo 也可以从官网下载安装后自行尝试。
模型库(Models Library):无需从零开始的捷径
NetLogo 的一大优点是内置了大量可直接运行的工作模型。打开方式:File → Models Library,即可看到许多分类模型供选择。课程示例截图中展示了模型库的真实界面:
图片来源:Dmitry Soshnikov 的模型库截图(对应课程文档中的
translated_images/es/NetLogo-ModelLib.efe023afb4763c05.webp)。
例如可以打开Biology → Flocking(鸟群)模型,直接观察涌现行为。
主界面与核心机制
打开一个模型后进入 NetLogo 主屏幕,课程以"狼与羊种群(有限资源:草)"模型为例展示了界面:
图片来源:Dmitry Soshnikov 的截图(对应课程文档中的
translated_images/es/NetLogo-Main.32653711ec1a01b3.webp)。
主屏幕包含两个主要区域:
- **Interface(界面)**区,内含:
- 主场地(campo):所有智能体生存的区域;
- 各种控件:按钮、滑杆(slider)等;
- 图表:用于展示仿真参数的变化。
- **Code(代码)**标签页:NetLogo 程序的编写编辑器。
大多数模型界面都有Setup按钮(初始化仿真状态)和Go按钮(启动运行),它们由代码中对应的处理器(handler)实现,结构大致如下:
to go [ ... ]NetLogo 世界的三类对象
NetLogo 的"世界"由三种对象构成:
- 智能体(海龟):在场地中移动并做事的实体。用
ask turtles [...]语法向它们下命令,方括号内的代码由所有智能体以海龟模式(modo tortuga)并行执行。 - 补丁(Patches):场地中的方形区域,智能体就生活在这些区域上。你可以引用同一补丁上的所有智能体,修改补丁颜色及其他属性,也可以
ask patches让它们执行动作。 - 观察者(Observer):控制整个世界的唯一智能体,所有按钮处理器都以观察者模式(modo observador)运行。
✅ 多智能体环境的美妙之处在于:以海龟模式或补丁模式运行的代码,会被所有智能体同时、并行地执行。因此,只需写少量代码、定义好单个智能体的行为,就能创造出整个仿真系统的复杂行为——这正是"涌现"的工程化体现。
Flocking:三条规则涌现出鸟群智能
Flocking(群集行为)是多智能体行为的经典范例,其模式与鸟群飞行高度相似。表面上看鸟群仿佛在遵循某种集体算法、拥有"集体智能",但课程明确指出:这种复杂行为只源于每个个体(鸟)观察附近少量同类后遵循的三条简单规则:
- 对齐(Alineación):朝邻居智能体的平均方向转向;
- 凝聚(Cohesión):朝邻居的平均位置移动(远距离吸引);
- 分离(Separación):当离其他鸟太近时试图远离(短距离排斥)。
运行 Flocking 示例即可观察这一行为,并可通过滑杆调整参数,例如分离程度与视野范围(rango de visión)——后者定义每只鸟能看多远。注意两个极端现象:
- 把视野范围调到 0:所有鸟"失明",群集行为立即停止;
- 把分离调到 0:所有鸟挤成一条直线。
✅ 切换到Code标签页,观察三条规则(对齐、凝聚、分离)在代码中是如何实现的,注意代码如何只引用视野之内的智能体——局部感知是涌现的关键前提。
更多可探索的模型
课程还推荐了几个值得动手的模型:
- Art → Fireworks(烟花):展示烟花如何可被视为各条火焰流(个体)的集体行为;
- Social Science → Traffic Basic与Social Science → Traffic Grid:在 1D 与 2D 网格上、有无红绿灯条件下模拟城市交通。仿真中的每辆车遵循以下规则:
- 若前方空间为空,则加速(直至某个最大速度);
- 若检测到前方障碍物,则刹车(可调节"驾驶员"能看多远);
- Social Science → Party(聚会):模拟鸡尾酒会上人群如何聚集成群。可以通过调整参数组合,寻找让群体"幸福感"最快上升的配置。
这些示例表明:多智能体仿真是一种理解复杂系统的有效手段——尤其是那些由遵循相同或相似逻辑的个体组成的系统;它同样可用于控制虚拟智能体,如视频游戏中的 NPC,或 3D 动画世界中的角色。
审慎式智能体(Agentes Deliberativos)与 BDI 架构
前面讨论的智能体都很简单——它们只是用某种算法对环境变化作出反应,属于反应式智能体。但有时智能体需要推理并规划自身行动,这类被称为审慎式(deliberativos)智能体。
课程给出的典型例子是:一个个人智能体受人类委托预订度假套餐。假设互联网上有很多能提供帮助的智能体,那么这个智能体需要联系其他智能体,查询可用的航班、不同日期的酒店价格,并尝试谈判到最优价格;当度假计划完备且得到主人确认后,再执行预订。可见审慎式智能体不仅要被动反应,还要能主动发起行动,因此远比反应式复杂。
智能体之间如何通信
要让上述协作成立,智能体必须能够通信,而成功的通信需要以下四类基础设施:
- 标准的知识交换语言:如 Knowledge Interchange Format (KIF) 和 Knowledge Query and Manipulation Language (KQML),二者基于言语行为理论(Speech Act theory) 设计;
- 谈判协议(protocolos para negociaciones):通常基于不同类型的拍卖(subastas)机制;
- 公共本体论(ontología común):确保各方对同一概念有相同语义理解;
- 能力发现机制:一种基于本体论去"发现"其他智能体能做什么的方式。
BDI 模型:信念—愿望—意图
课程介绍了一种经典的审慎式智能体架构——BDI(Belief-Desire-Intention,信念—愿望—意图):
- 信念(Creencias/Beliefs):智能体对环境的知识集合,可组织为知识库或一组规则,用于在特定环境情境下做推理;
- 愿望(Deseos/Desires):智能体想做什么,即它的目标。例如前述个人助理智能体的目标是预订度假套餐,而酒店智能体的目标则是最大化利润;
- 意图(Intenciones/Intentions):智能体为达成目标而规划的具体行动。这些行动通常改变环境,并引发与其他智能体的通信。
此外,课程还提到构建多智能体系统的可用平台,如 JADE,并推荐了一篇综述论文(arXiv 2007.08961),其中包含多智能体平台回顾、系统简史及多种使用场景。
结论、课后挑战与作业
结论:多智能体系统可以呈现非常多样的形态、应用于众多不同场景;它们都聚焦于单个智能体的简单行为,并借助协同效应(efecto sinérgico)使整体系统涌现出更复杂的行为。
课后挑战(🚀 Challenge):把本课知识带到现实世界,尝试构思一个能解决实际问题的多智能体系统。例如:
- 多智能体系统要优化一条校车线路,需要做些什么?
- 它如何在一家面包店中运转?
复习与自学(Review & Self Study):调研此类系统在工业界的应用——选择一个领域(如制造业或游戏行业),了解多智能体系统如何解决该领域的独特问题。
配套作业(NetLogo Assignment):课程配套了 作业文件(西班牙语版见 translations/es/lessons/6-Other/23-MultiagentSystems/assignment.md),要求:
- 从 NetLogo 模型库中选取一个模型,尽可能真实地模拟一个现实情境——一个很好的例子是调整 "Alternative Visualizations" 文件夹中的Virus 模型,用它建模 COVID-19 的传播:你能否构建一个模仿真实病毒传播的模型?
- 保存副本并制作一段视频演示,解释该模型与现实情境之间的关联。
完成本课学习后,你可以回到课程主目录 README.md,按 24 课的整体路线继续探索;本节所属的 6-Other 板块还包含遗传算法(21-GeneticAlgorithms)与深度强化学习(22-DeepRL)等同样"从简单规则涌现复杂行为"的 AI 方法,可作为延伸阅读。
- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
相关推荐
如何五步快速定位 FlexLayout 布局问题:一篇讲透布局调试的实战指南
如何五步快速定位 FlexLayout 布局问题:一篇讲透布局调试的实战指南 做 iOS 开发,用 FlexLayout 时你多半踩过这些坑:属性明明全写完了,
教程人工智能机器学习深度学习AI-For-Beginners 第 23 课:多智能体系统(Multi-Agent Systems)与 NetLogo 涌现式建模实战
AI For Beginners 第 23 课:多智能体系统(Multi Agent Systems)与 NetLogo 涌现式建模实战 导读:多智能体系统(M
教程人工智能机器学习深度学习AI-For-Beginners 课程深度解析:多智能体系统(Multi-Agent Systems)与 NetLogo 建模实战
AI For Beginners 课程深度解析:多智能体系统(Multi Agent Systems)与 NetLogo 建模实战 多智能体系统(Multi A
教程人工智能机器学习深度学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考