Agent 系统与多 Agent 系统
北京大学软件与微电子学院 周立新《软件体系结构》课程 Lecture-4 原文件:ailecture3-Agent.ppt(PowerPoint 97-2003 二进制格式,46KB) 文本提取方法:OLE 复合文档 UTF-16LE 文本提取
一、分布式人工智能(DAI)
1.1 DAI 定义
分布式人工智能(Distributed Artificial Intelligence,DAI) 研究在逻辑上或物理上分散的智能系统如何并行地、相互协作地实现问题求解。
1.2 DAI 的三大特点
- 数据、知识与控制分布 — 系统中的数据、知识以及控制不但在逻辑上分布,而且物理上也分布
- 网络互连 — 各个求解机构由计算机网络互连
- 相互协作 — 系统中诸机构能够相互协作,来求解单个机构难以解决,甚至无法解决的问题
1.3 DAI 的意义
DAI 的实现可克服原有专家系统、学习系统等弱点,提高系统的性能。
二、DAI 的两大分支
DAI 分为两大分支:分布式问题求解(DPS) 和 多 Agent 系统(MAS)。
Agent 的计算将成为软件开发的下一个重要的突破口。
2.1 分布式问题求解(DPS)
核心问题:怎样将一个特殊问题求解工作在多个合作的、知识共享的模块或结点之间划分。
两种基本方式:
- 任务分担(Task Sharing)
- 结果共享(Results Sharing)
DPS 的四步流程:
- 任务分解
- 任务分配
- 子问题求解
- 结果综合
典型的任务分解和任务分配方法:
- 合同网(类似于”招标”)
- 动态层次控制
- 自然分解
- 固定分解
- 部分全局规划
DPS 中常用的通信方式:黑板模型是 DPS 中使用较多的框架结构。
2.2 多 Agent 系统(MAS)
核心问题:主要研究自主的智能 Agent 之间智能行为的协调。
与 DPS 的区别:MAS 更强调 Agent 的自主性和智能行为协调,而 DPS 更强调任务的分解与共享。
三、Agent 的概念
3.1 广义定义
Agent 是具有自主性、社会能力(交互性)和反应特征的计算机软/硬件系统。
更完整地说:能够自主连续地在一可动态变化的、存在其它 Agent 的环境中运行的 Agent。
3.2 Agent 的三大类型
- 软件 Agent
- 智能 Agent
- 移动 Agent
四、Agent 的 13 大特性
| 序号 | 特性 | 说明 |
|---|---|---|
| 1 | 自治性 | 对自己的行为和内部状态有一定的控制权 |
| 2 | 社会性/可通信性 | 能够通过某种 Agent 通信语言与其它 Agent 进行信息交换;Agent 的协作、协商等均以通信为基础 |
| 3 | 反应性 | 对环境的感知和响应 |
| 4 | 主动性 | 主动感知周围环境的变化,主动采取行动 |
| 5 | 协作性 | 通过协作提高多 Agent 系统的性能 |
| 6 | 持久性 | 在”相当长”的时间内连续运行 |
| 7 | 自适应性 | 根据过去的经验积累知识,适应环境变化 |
| 8 | 情态特性 | 具有信念、意图、愿望等情态 |
| 9 | 可推理性 | 可根据当前知识和经验进行推理 |
| 10 | 可移动性 | 可从一个地方移动到另一个地方而保持其内部状态不变;Agent 可以携带数据 |
| 11 | 诚实性 | 不会故意提供错误信息 |
| 12 | 友善性 | Agent 之间不存在互相冲突的目标 |
| 13 | 理性 | 行为符合理性原则 |
五、Agent 研究的两个层面
5.1 微观层面 — Agent 本身
研究 Agent 基本特性、相应理论、内部实现框架。
5.2 宏观层面 — Agent 与环境及其它 Agent 的关系
研究内容包括:
- Agent 系统体系结构
- Agent 通信语言
- Agent 交互与协商
- Agent 协作与合作
- 多 Agent 知识交互与信息共享
- 多 Agent 学习
六、Agent 理论
6.1 理性 Agent(Rational Agent)
定义:只有保持信念(Belief)、**愿望(Desire)和意图(Intention)**的理性平衡,Agent 的行为才符合环境的特性。
其中环境特性不仅仅指环境的客观条件,还包括其它 Agent 的存在。在 Agent 内部知识的基础上,使 Agent 的性能测度为最大。
6.2 BDI Agent 模型
BDI 模型是 Agent 理论的核心模型:
- Belief(信念) — Agent 对世界的认知
- Desire(愿望) — Agent 希望达到的状态
- Intention(意图) — Agent 承诺要执行的行动
6.3 动作理论
情景演算(Situation Calculus) 是主要的描述动作的形式逻辑框架。
π 演算是一种基于命名概念的并发计算模型。
6.4 次协调理论
为了克服”逻辑全知”问题(即假设 Agent 知道所有逻辑推论,这在现实中不可能)。
七、Agent 结构
7.1 反应 Agent(Reactive Agent)
只是简单地对外部刺激产生反应,没有内部状态和推理能力。
类似行为主义 AI:感知 → 动作的直接映射。
7.2 认知 Agent(Cognitive Agent)
是具有内部状态的主动软件,Agent 是一种基于知识的系统。
具有符号表示的内部状态,进行推理、规划、决策。
7.3 混合结构(Hybrid)
结合反应式和认知式的优点:
- 低层:快速反应(应对紧急情况)
- 高层:审慎推理(处理复杂问题)
八、Agent 通信
8.1 KQML 与 KIF
-
KQML(Knowledge Query and Manipulation Language,知识查询与处理语言)
- 定义了一种 Agent 之间传递消息的标准语法
- 定义了一些”动作表达式”:Tell、Perform、Reply 等
- 关注通信的行为和协议
-
KIF(Knowledge Interchange Format,知识交互格式)
- 给信息的内容提供一种语法
- 关注知识的表示格式
8.2 ACL(Agent Communication Language)
通过 Agent 的情态来描述 Agent 的抽象特性、Agent 执行模式和认知结构。
FIPA-ACL 是另一种重要的 Agent 通信语言标准。
九、Agent 的协调与协作
9.1 协调(Coordination)
定义:一组 Agent 完成一些集体活动时相互作用的性质。
协调的四个要点:
- 协调是对环境的适应
- 协调一般会改变 Agent 的意图
- 协调的原因是由于其它 Agent 的意图存在
- 协调是为了解决冲突
9.2 协作(Cooperation)
定义:非对抗的 Agent 之间保持行为协调的一个特例。
协作的产生场景与意义:
- 当单个 Agent 无法独立完成目标,需要其它 Agent 帮助时
- 协作不仅能提高单个 Agent 以及多 Agent 系统的整体性能,还能提高解决问题的能力
- 通过协作,Agent 系统能解决更多的实际问题
协作的类型:
- 协作型
- 自私型
- 完全自私型
- 完全协作型
- 协作与自私结合型
9.3 基于计算生态学的协作
计算生态学是研究关于开放系统中决定计算结点的行为与资源使用的交互过程的学科。
十、协商(Negotiation)
10.1 协商的概念
在多 Agent 系统中,Agent 之间一对一直接协商。
协商的五个要点:
- 所有协商活动的目的是在一组独立工作的 Agent 之间建立协作
- 协商时,Agent 可有自己的目标
- 协商协议要提供可能的协商形式的基本规则、协商过程和通信基础
- 协商策略取决于具体的 Agent
- 从单个 Agent 看,Agent 或请求帮助,或提供帮助
10.2 六种协商方法
| 方法 | 说明 |
|---|---|
| A) 基于对策论的协商方法 | 以效用集为基础 |
| B) 面向领域的协商方法 | 若存在双方满意的效用分配 |
| C) 最佳平衡协商方法 | 所有 Agent 均使用最佳平衡策略 |
| D) 集中式协商方法 | 用一个”master agent”或组投票机制以达成协议 |
| E) 基于意图的协商 | 通过意图识别和调整达成一致 |
| F) 基于范例推理的合同网协商 | 结合范例推理与合同网模型 |
十一、移动 Agent
11.1 定位
移动 Agent 是传统的 C/S 分布计算的扩展方式。
11.2 核心概念
- 移动 Agent 是代码、数据及执行环境的软件包 — 三位一体,不是单纯的代码移动
- 移动 Agent 在称为位置(place)的执行环境中移动 — 保持 Agent 执行的语境
- Telescript 是比较著名的移动 Agent 系统 — General Magic 公司开发,早期移动 Agent 代表
- 便携性与安全性是对移动 Agent 系统的最基本的要求 — 移动代码必须解决安全问题
十二、总结与关联
Agent 架构是软件架构中一种重要的分布式自主组件风格,与以下知识体系相关联:
- 软件架构风格总览 — Agent 风格属于独立/分布式组件类
- 管道过滤器架构风格 — 另一种数据流风格的分布式架构
- 黑板架构风格 — DPS 中的黑板模型是经典框架
- 微服务架构 — 现代分布式系统的实践形态,与 Agent 有相通之处
- BDI Agent模型 — 理性 Agent 的核心理论模型
关键洞见:Agent 范式的核心是自主性 + 协作性,从单体系统到分布式系统的演进中,Agent 提供了一种比对象更高级的抽象——对象被动接收消息,Agent 主动感知环境并自主决策。这一思想对现代微服务、分布式系统、自动驾驶、机器人等领域有深远影响。