Agent
文章目录
理性Agent 的概念是我们的人工智能方法的核心。
1 Agent 和环境
我们用感知来表示任何给定时刻Agent的感知输入。
Agent 的感知序列是该Agent 所收到的所有输入数据的完成历史。
Agent 函数:描述了Agent 的行为,将任意给定感知序列映射为行动。
从Agent内容来看,人造Agent 的Agent函数通过Agent程序实现。
举例:
2 好的行为:理想的概念
理想Agent是做事正确的 Agent
最好根据实际在环境中希望得到的结果来设计性能度量,而不是根据Agent表现出的行为。
2.1 理性
理性的判断依赖:
- 定义成功标准的性能度量
- Agent 对环境的先验知识。
- Agent可以完成的行动。
- Agent 截止到此时的感知序列。
由此可以导出理性Agent的定义:
对每一个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent应该选择能使其性能度量最大化的行动。
2.2 全知者、学习和自主性
区别: 理想 vs 全知
一个全知的Agent 明确地知道它的行动产生的实际结果 并且做出相应的动作。
为了修改未来的感知信息而采取行动(信息收集) 是理性的重要部分。
要求Agent从它所感知的信息中尽可能多的学习。
Agent 最初的设定可能反映的是环境的先验知识,但随着Agent 经验的丰富,这些知识会被改变或者增加。
Agent 依赖于设计人员的先验知识 而不是它自身的感知信息,这种情况我们会说该Agent 缺乏自主性。
3 环境的性质
3.1 任务环境的规范描述
必修规定性能度量、环境以及Agent 的执行器和传感器。
这些归在一起,都属于任务环境 。
根据首字母的缩写,我们称之为PEAS描述。
- Performance 性能
- Environment 环境
- Actuactors 执行器
- Sensors 传感器
设计Agent 时,第一步就是尽可能完整地详细说明任务环境。
3.2 任务环境的性质
- 完全可观察的 vs 部分可观察的
- 单Agent vs 多Agent
- 确定的 vs 随机的
- 片段式的 vs 延续式的
- 静态的 vs 动态的
- 离散的 vs 连续的
- 已知的 vs 未知的
4 Agent的结构
AI 的任务是设计Agent 程序。
Agent程序实现的是 把感知信息映射到行动的Agent 函数。
Agent = 体系结构+程序
体系结构 为程序提供来自传感器的感知信息,运行程序 ,并把程序计算出的行动决策 送达 执行器。
4.1 Agent 程序
function TABLE-DRIVEN-AGENT(percept) returns an action
persistent : percepts, a sequence ,initally empty
table , a table of actions, indexed by percept sequences, initially fully specified
append percept to the end of percepts
action ← LOOKUP(percepts, table)
return action
出现新的感知信息时调用TABLE-DRIVEN-AGENT程序,每次返回一个行动。
内存中记录完整感知序列。
接下来将概述4种基本的Agent程序:
- 简单反射Agent
- 基于模型的反射Agent
- 基于目标的Agent
- 基于效用的Agent
4.2 简单反射Agent
这是最简单的Agent,这类Agent 基于当前的感知感知选择行动,不关感知历史。
条件-行为规则: 如果前方有车辆正在刹车,那么开始刹车。
简单Agent具有极好的简洁性,但是其智能有限。