本文介绍《Artificial Intelligence: A modern approach》的第二章,介绍人工智能的基本概率,包括什么是Agent,它的内部构造是什么样的,以及什么样的Agent的是“好”的,还包括对agent所处环境的介绍。
第二章 智能环境
1 Agent和环境
Agent通过传感器感知环境,通过执行器与环境交互。
感知:任何时刻Agent的感知输入;感知序列:所有历史输入数据的集合。
Agent函数:将给定感知序列映射为行动;Agent程序:Agent函数的具体实现,是在物理系统内部运行的。
2 什么是“好”的行为:理性的概念
性能度量:对环境状态的任何给定序列进行评估,而不是Agent的内部状态。
性能度量的标准很多,最好根据实际环境中希望得到的结果来设计性能度量。
2.1 理性
理性的判断标准:
良好定义的性能度量
Agent对环境的先验知识
Agent可以完成的动作
Agent截至此刻的感知序列
理性Agent:对于每一个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent应该选择能使其性能度量最大化的动作。
2.2 全知者、学习者和自主性
理性 不等于 全知: 理性是使期望性能最大化,而完美则是实际性能最大化。
理性的Agent要求主动的收集信息,并从感知到的信息中学习。
Agent最初的设定反映了对环境的先验知识,随着学习的过程,先验知识会被修改和增加。如果Agent一直依赖于先验知识,那么就缺乏了自主性。
3 环境的性质
任务环境:理性Agent要求解的基本问题。
3.1 任务环境的规范描述
任务环境的PEAS描述:Performance(性能),Environment(环境),Actuator(执行器),Sensors(传感器)
3.2 任务环境的性质
描述 | 分类 | |
---|---|---|
可观察 | 传感器是否可以在任何时刻获得环境的完整状态 | 完全可观察/部分可观察 |
Agent数目 | A的行为是否影响到B的性能最大化 | 单Agent/多Agent |
随机性 | 环境的下一个状态是否完全取决与当前状态和Agent执行的动作 | 确定的/随机的 |
片段性 | 下一个片段是否依赖于上一个片段采取的行动 | 片段式/延续式 |
动态性 | 环境在Agent计算时候是否会变化 | 静态/动态 |
连续性 | 状态是否连续性变化 | 离散/连续 |
已知与未知 (Agent) | 所有行动的结果是否是给定的 | 已知/未知 |
4 Agent的结构
Agent程序:将感知信息映射到行动;体系结构:具备物理传感器和执行器的计算装置。
Agent = 体系结构+程序
本书绝大部分介绍设计Agent的程序。
4.1 Agent的程序
Agent的程序以当前感知作为输入,而Agent的函数以整合历史感知信息作为输入。如果Agent的行动依赖于整个感知序列,那么Agent必须要记住感知信息。
四种基本的Agent | 描述 | 图示 |
---|---|---|
简单反射Agent | 基于当前感知,不关注历史 条件-行为规则 局限:环境需要完全可观察 | ![]() |
基于模型的反射Agent | 跟踪记录历史,维持内部状态 更新内部状态需要的两类知识:独立于Agent发展的信息、Agent的动作如何影响世界的信息 | ![]() |
基于目标的Agent | 目标信息:描述想要到达的状态 | ![]() |
基于效用的Agent | 效用函数:度量性能的内在化 期望效用最大化 | ![]() |
4.2 学习的Agent
Agent程序的形成需要大量的工作量,所以需要建造可以学习的机器。分为四个部分:
学习元件(负责改进提高);
性能元件(选择外部行动);
评判元件(外部评价);
问题产生器(建议探索性的行动)
4.3 Agent程序各种组件之间如何工作
组件以不同的方式表示环境:
原子表示,每个状态是不可见的,没有内部结构,算法:搜索和博弈论,隐马尔可夫模型,马尔可夫决策过程。
要素化表示:状态表示为特征的集合,算法:约束满足算法,命题逻辑,规划,Bayesian网。
结构化表示:考察事物之间的关联,算法:关系数据库,一阶逻辑,一阶概率模型,基于知识的学习,自然语言处理。