ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

多智能体系统入门:用 NetLogo 理解涌现智能与 Agent 建模

多智能体系统入门:用 NetLogo 理解涌现智能与 Agent 建模 教程人工智能机器学习深度学习【免费下载链接】AI-For-Beginners12 Weeks, 24 Lessons, AI for All!项目地址https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners点击查看免费下载本课是 AI-For-Beginners 课程第 23 课属于 Other AI Techniques 部分聚焦Multi-Agent Systems多智能体系统。文章从涌现emergent智能这一核心思想出发介绍智能体Agent的定义与分类、多智能体系统的典型应用场景并通过开源的多智能体建模环境NetLogo手把手演示如何用极简规则模拟鸟群、交通、人群等复杂系统最后深入深思式智能体Deliberative Agents的通信要素与 BDI 架构。读完本文你将能独立打开并运行 NetLogo 内置模型、理解create-turtles/ask/breed等核心建模语法并具备为一个真实问题设计多智能体解决方案的思维框架。什么是多智能体系统协同产生智能多智能体系统Multi-Agent Systems在 1990 年代作为人工智能的一个研究方向兴起其背景是互联网与分布式系统的快速成长。经典 AI 教科书《Artificial Intelligence: A Modern Approach》在介绍 AI 时正是从多智能体系统的视角展开论述的。这一方向所依赖的核心思想被称为涌现emergent或协同synergetic方法其基本论断是许多相对简单的智能体agents组合在一起后其整体行为可能比系统本身更加复杂或更加智能。理论上这一思想建立在集体智能Collective Intelligence、涌现论Emergentism与演化控制论Evolutionary Cybernetics等原则之上。它们共同指出当低层级系统被合理地组合成高层级系统时高层级系统会获得某种额外价值——这就是所谓的元系统跃迁原则principle of metasystem transition。换句话说智能不一定要写进某个单一的程序里它可以从大量简单个体的交互中冒出来。这正是多智能体系统与传统单智能体 AI 最本质的差异。智能体Agent的定义与分类多智能体方法的核心概念是Agent智能体——一个生活在某个环境中、能够感知环境并对环境施加影响的实体。这是一个非常宽泛的定义因此智能体有许多不同的类型与分类方式分类维度类型特征描述推理能力反应式Reactive通常只有简单的请求—响应式行为看到什么就做什么推理能力**深思式Deliberative具备某种逻辑推理和/或规划能力代码执行位置静态Static运行在某个固定的网络节点上代码执行位置移动Mobile可以在不同网络节点之间迁移自己的代码行为模式被动Passive没有明确目标只会对外部刺激做出反应不会主动发起行动行为模式主动Active拥有自己要追求的目标行为模式认知Cognitive涉及复杂的规划与推理从上表可以看出智能体这个概念横跨了从极简触发器到复杂推理器的整个光谱。后面我们会在 NetLogo 中看到最简单的反应式智能体如何工作也会讨论更复杂的深思式智能体需要具备哪些能力。多智能体系统的典型应用场景多智能体系统如今已广泛应用于众多领域以下四类最为典型游戏领域大量非玩家角色NPC都运行着某种 AI 逻辑它们本质上就是一个个智能体。视频制作渲染包含人群的复杂 3D 场景时通常采用多智能体模拟来生成逼真的人群行为。系统建模用多智能体方法模拟复杂系统的行为。例如多智能体方法曾被成功用于预测 COVID-19 的全球传播同样的思路也可以用来模拟城市交通观察交通规则的改变会如何影响整体车流。复杂自动化系统让每个设备都作为独立智能体工作使整个系统不再是一个僵化的单体monolith从而更加健壮、更具弹性。理解多智能体系统的直观途径是多智能体建模Multi-Agent Modeling。下面我们就用开源建模环境NetLogo亲手体验一把。上手 NetLogo一个面向多智能体建模的编程环境NetLogo 是一个基于 Logo 编程语言改进而来的多智能体建模环境。Logo 语言最初是为了向儿童传授编程概念而设计——你可以控制一个名为turtle海龟的智能体让它移动并留下轨迹从而绘制出各种复杂的几何图形。这种可视化理解智能体行为的方式让 NetLogo 成为学习多智能体系统的绝佳起点。你可以从 NetLogo 官网下载安装程序并本地运行。安装完成后打开任意模型即可体验。核心语法创建与指挥智能体在 NetLogo 中可以用create-turtles命令一次性创建多个 turtle然后用ask让所有 turtle 执行某组动作。例如下面的代码创建 10 只 turtle并让它们全部向前移动 10 步create-turtles 10 ask turtles [ forward 10 ]当然让所有 turtle 做完全相同的事并不有趣因此我们可以用ask有选择地指挥某一类turtle——例如那些位于某个点附近的 turtle。我们还可以通过breed命令创建不同品种breed的 turtlebreed [cats cat]注意breed需要同时给出复数形式和单数形式这里是cats和cat因为不同命令会使用不同形式以增强代码可读性。✅ 本课不深入讲解 NetLogo 语言本身。如果你想系统学习可以参考社区著名的 Beginners Interactive NetLogo Dictionary 资源。模型库无需从零开始的起点NetLogo 的一大优势是内置了一个可运行模型库Models Library。打开菜单File → Models Library你会看到按类别整理的大量模型比如我们可以打开Biology → Flocking鸟群模型直接观察多智能体行为的经典案例。主界面与世界的构成打开模型后你会进入 NetLogo 主界面。以自带的狼与羊捕食Wolf Sheep Predation模型为例该模型模拟了在有限资源草条件下狼群与羊群的数量变化在这个界面上可以看到Interface界面部分其中包含主场地field所有智能体生活与活动的区域各类控件按钮、滑块sliders等用于控制与调整模拟参数图表graphs用于展示模拟过程中的参数变化例如种群数量曲线。Code代码标签页内置编辑器在这里编写 NetLogo 程序。在绝大多数模型中界面都设有Setup按钮初始化模拟状态与Go按钮开始执行。它们由代码中对应的处理过程handler实现结构大致如下to go [ ... ]NetLogo 的世界由以下三类对象构成Agentsturtles智能体/海龟可以在场地上移动并执行动作。通过ask turtles [...]语法指挥它们方括号中的代码由所有智能体以turtle 模式turtle mode执行。Patches瓦片场地上的正方形小区域智能体生活其上。你可以引用同一瓦片上的所有智能体也可以改变瓦片颜色等属性同样可以用ask patches让瓦片执行动作。Observer观察者一个独一无二的上帝视角智能体控制整个世界。所有按钮的处理过程都以observer 模式observer mode执行。✅ 多智能体环境的美妙之处在于运行在 turtle 模式或 patch 模式下的代码会被所有智能体在同一时刻并行执行。因此只需编写很少的代码、定义好单个智能体的行为就能让整个模拟系统表现出极其复杂的行为。这正是小规则 → 大涌现的生动体现。Flocking 模型三个简单规则如何造就鸟群作为多智能体行为的经典范例我们重点分析Flocking鸟群模型。鸟群飞行是一种复杂的集体模式看着一群鸟飞翔你会以为它们遵循某种集体算法甚至拥有某种集体智能。然而这种复杂行为实际上只源于一个朴素的机制——每只鸟个体智能体只观察短距离内的少数同伴并遵循三条简单规则对齐Alignment朝邻近智能体的平均朝向heading转向聚合Cohesion尝试朝邻近智能体的平均位置转向可理解为长距离吸引分离Separation当离其他鸟过近时试图移开可理解为短距离排斥。你可以运行 Flocking 示例直观观察这些行为并调整参数例如分离程度degree of separation视野范围viewing range定义每只鸟能看到多远。两个很有启发性的实验把视野范围调为0所有鸟都失明鸟群行为立刻停止把分离程度调为0所有鸟聚集到一条直线上。✅ 切到Code标签页你会看到对齐、聚合、分离这三条规则在代码中的实现位置。注意观察代码是如何只引用那些在视野内的智能体的——这是整个鸟群现象成立的关键前提。值得动手尝试的其他内置模型模型库中还有几个很有教育价值的模型Art → Fireworks烟花展示一场烟花如何被看作多股独立火光流的集体行为Social Science → Traffic Basic与Social Science → Traffic Grid分别模拟一维与二维网格上的城市交通带/不带红绿灯。每辆车遵循以下规则若前方空间为空——加速直到某个最大速度若看到前方障碍物——刹车你还可以调节司机的可视距离Social Science → Party聚会模拟人们在鸡尾酒会上如何聚集成群。你可以尝试找到使群体幸福感最快上升的参数组合。从这些例子可以看出多智能体模拟是一种理解复杂系统的非常有效的方式——特别是当系统由许多遵循相同或相似逻辑的个体组成时。同样的技术也可以用来控制虚拟智能体例如电脑游戏中的 NPC或 3D 动画世界中的角色。深思式智能体从反应走向推理与规划上面在 NetLogo 中看到的智能体都非常简单它们只是按照某种算法对环境变化做出反应因此属于反应式智能体reactive agents。然而有些智能体能够推理并规划自己的行动这类智能体被称为深思式智能体deliberative agents。一个典型例子是一个人工智能个人助理接到主人的指令——预订一趟度假行程。假设互联网上存在许多能帮忙的智能体那么它需要逐一联系其他智能体查询哪些航班可用、不同日期酒店的价格并尝试协商出最优价格。当度假计划完成后并得到主人确认它才能继续执行预订。要完成这样的协作智能体必须能够通信communicate。成功的通信需要具备以下要素标准的知识交换语言例如知识交换格式Knowledge Interchange FormatKIF与知识查询与操作语言Knowledge Query and Manipulation LanguageKQML。这类语言的设计基于言语行为理论Speech Act theory协商协议基于不同的拍卖类型auction types设计谈判流程共同本体common ontology所有智能体引用同一套概念并理解其语义避免各说各话能力发现机制基于某种本体让智能体能够发现其他智能体各自能做什么。BDI 架构信念—愿望—意图深思式智能体远比反应式智能体复杂因为它们不仅要对环境变化做出反应还要能主动发起行动。为此学界提出了一种经典架构——BDI 智能体Belief-Desire-Intention信念—愿望—意图Beliefs信念智能体关于其环境的知识集合。它可被组织为知识库knowledge base或一组规则智能体可将其应用于环境中某个具体情境。Desires愿望定义智能体想做什么即它的目标。例如上面个人助理智能体的目标是预订行程而酒店智能体的目标是利润最大化。Intentions意图智能体为实现目标而计划执行的具体行动。行动通常会改变环境并引发与其他智能体的通信。面向多智能体系统的构建平台市面上已有一些用于构建多智能体系统的平台例如JADEJava Agent DEvelopment Framework。此外业界还有综述论文对多智能体平台做过系统梳理并回顾了多智能体系统的历史与各种使用场景。结论协同效应是多智能体系统的灵魂多智能体系统可以呈现非常多样的形态应用于许多不同的场景。但它们的共同点是一致的系统设计者聚焦于单个智能体的简单行为而系统的整体复杂性则来自个体之间交互所产生的协同效应synergetic effect。理解这一点就能理解为什么多智能体系统既是一种建模工具也是一种关于智能如何产生的深刻视角——复杂行为可以从简单规则的组合中自然涌现。 实战挑战把本课带到现实世界尝试构思一个能解决实际问题的多智能体系统。例如校车路线优化一个多智能体系统需要做什么才能优化校车路线面包房运营多智能体系统在面包房里可以如何工作尝试回答系统中的智能体是谁它们的信念、愿望与意图分别是什么它们需要如何通信课后练习NetLogo 作业本课配套的 NetLogo 作业 要求你从 NetLogo 模型库中选取一个模型尽可能贴近真实地模拟一个现实情境一个好例子是调整Alternative Visualizations文件夹下的Virus病毒模型用它模拟 COVID-19 的传播——你是否能构建出一个贴近真实病毒传播过程的模型保存你的工作副本并录制视频演示说明模型与真实世界情境之间的联系。这份作业非常适合用来巩固本课学到的全部核心概念定义智能体、设计简单规则、观察涌现行为、评估模型与现实的契合度。赞分享教程人工智能机器学习深度学习【免费下载链接】AI-For-Beginners12 Weeks, 24 Lessons, AI for All!项目地址https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners点击查看免费下载相关推荐VoltAgent多智能体系统构建Supervisor与Sub-Agent协调实战VoltAgent多智能体系统构建Supervisor与Sub Agent协调实战 VoltAgent是一个强大的开源TypeScript AI Agent框人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音多智能体系统优化指南用Agent Lightning精准提升关键智能体多智能体系统优化指南用Agent Lightning精准提升关键智能体 在多智能体系统开发中企业常面临智能体性能参差不齐、关键模块优化困难的挑战。传统优化方人工智能强化学习AI Agent大模型如何利用Marquez解决数据治理难题7个真实场景案例分析如何利用Marquez解决数据治理难题7个真实场景案例分析 Marquez是一款强大的开源数据治理工具专注于收集、聚合和可视化数据生态系统的元数据帮助团队后端大数据上一篇从现实世界到MinecraftArnis 3.0城市生成工具深度解析下一篇横扫15项SOTA的音频AI六边形战士Kimi-Audio-7B开源全解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表