第二章 智能Agent
- Agent和环境
- Agent通过感知器感知环境并通过执行器对所处环境产生影响
- 用感知来表示任何给定时刻Agent的感知输入
- Agent的感知序列是该Agent所收到的所有输入数据的完整历史
- Agent在任何给定时刻的行为选择依赖于那个时刻为止该Agent的整个感知序列
- Agent函数:抽象的数学描述
- Agent程序:具体的实现
- 好的行为:理性的概念
- 理性Agent是做正确的Agent,何为正确,一般引用性能度量表示(对环境状态任意给定的序列进行评估),即当一个Agent针对收到的感知信息生成一个行为序列。这个行为序列导致环境经历一系列的状态变化,如果该系列正是渴望的,那么这个Agent性能就是良好的
- 理性
- 理性的判定依据:
- 定义成功标准的性能度量
- Agent对环境的先验知识
- Agent可以完成的行为
- Agent截止到此时的感性序列
- 理性Agent的定义:
- 理性的判定依据:
对理性的定义不要求全知,因为理性的选择只依赖于当前为止的感知序列
-
- 全知者、学习和自主性
- 全知者Agent:明确的知道它的行为产生的实际结果并且做出响应的动作
- 理性Agent:使期望的性能最大化
- 完美Agent:使实际的性能最大化
- 信息收集 是理性的重要部分、不仅如此,还要求理性Agent从它所感知的信息中尽可能多的学习
- Agent依赖于设计人员的先验知识而不是自身的感知信息,我们说该Agent缺乏自主性
- 全知者、学习和自主性
- 环境的性质
- 任务环境的规范描述
- 任务环境(PEAS)包括:性能度量、环境、执行器、传感器
- 任务环境的性质
- 完全可观察的和部分可观察的
- 如果Agent的传感器在每个时间点上都能够获取环境的完整状态,那么我们说该任务环境是完全可观察的
- 如果传感器能够检测所有与行动决策相关的星系,那么该任务环境是有效完全可观察的
- 单Agent和多Agent
- 确定的与随机的
- 如果环境的下一个状态完全取决于当前状态和Agent执行的动作,那么我们说该环境是确定的,否则它是随机的
- 片段式的与延续式的
- 在片段式的任务环境中,Agent的经历被分成了一个个原子片段,在每个片段中Agent感知信息并完成单个行动。下一个 片段不依赖于以前的片段中采取的行动。
- 在延续式的环境中,当前的决策会影响到所有任务的决策。
- 静态的与动态的
- Agent的环境是动态的:环境在Agent计算的时候会变化,否则是静态的
- 环境本身不随时间变化而变化,但是Agent的性能评价随时间变化,那么我们称这样的环境是半动态的
- 静态环境相对容易处理,Agent在决策的时候不需要观察世界,亦无需顾虑时间的流逝。
- 离散的与连续的
- 环境的状态、时间的处理方式、以及Agent的感知信息和行为都有离散/连续之分。
- 已知的与未知的
- 这种区分指的不是环境本身,指的是Agent的知识状态。
- 要注意已知未知与部分可观察完全可观察有所区别。
- 完全可观察的和部分可观察的
- 任务环境的规范描述
- Agent的结构
- AI的任务是设计Agent程序,它实现的是把传感信息映射到行为的Agent函数。
- 若该程序要在某个具备物理传感器和执行器的计算装置上运行,我们称之为体系结构
Agent = 体系结构 + 程序
-
- Agent程序
- 输入:从传感器得到的当前感知信息
- 返回:执行器的行为抉择
- Agent函数的输入:以整个感知历史作为输入
- 简单反射的Agent
- 基于当前的感知选择行动,不关注感知历史
- 条件—行为规则:如果….,那么
- 基于模型的反射Agent
- 处理部分可观测环境的最有效途径是让Agent跟踪记录现在看不到的那部分世界,即Agent应该根据感知历史维持内部状态,从而至少反映出当前状态看不到的信息。
- 关于“世界”是如何运转的知识,无论是用简单的布尔电路还是用完备的科学理论实现,都被称之为“世界模型”,使用这种模型的Agent被称为基于模型的Agent。
- Agent程序
-
- 基于目标的Agent
- 除了当前状态的描述,Agent还需要目标信息来描述想要达到的状态。
- 搜索和规划是寻找达到Agent目标的行动序列的方法。
- 基于目标的Agent
-
- 基于效用的Agent
- Agent的效用函数是性能度量的内在化。
- 理性的基于效用的Agent选择使其期望效用最大化的行动,即Agent在给定没个结果的概率和效用下,期望得到的平均效用
- 任何理性Agent必须表现出他拥有效用函数,并尽量使数值最大化。
- 如果内在的效用函数和外在的性能度量是和谐的,那么选择最大效用行动的Agent根据外在的性能度量也是理性的。
- 优势:
- 当多个目标发生冲突时,只有其中一些目标可以达到,效用函数可以在他们之间适当的折中。
- 当Agent有几个目标,但没有一个有把握达到时,效用函数可以根据目标的重要性对成功的似然率加权。
- 基于效用的Agent
-
- 学习Agent
- 学习的优点:使得Agent可以在初始位置的环境中运转,并逐渐变得比只具有初始只是得时候更有竞争力。
- 学习Agent可以被划分为四个概念上的组间:
- 学习元件:负责改进提高,可以更改Agent结构图中的任何“知识组件”。
- 性能元件:选择外部行动
- 评判元件:反馈评价Agent做的如何。
- 问题产生器:负责可以得到新的和 有信息的经验的行动提议,建议探索性行为
- 性能元件接受感知信息并决策,学习元件利用来自评论元件的反馈确定应该如何修改性能元件以得到更好行为。
- 学习Agent
-
- Agent程序的各组间是如何工作的
- 原子、要素、结构
- 原子表示:世界的每个状态是不可见的,搜索、博弈论、隐马尔可夫模型、马尔可夫决策过程中得算法都用的是原子表示。原子表示可以表示不确定性。Ai的一些重要领域都是基于原子表示的,包括约束满足算法、命题逻辑、规划、bayesian、以及18、19、20章的机器学习算法。
- 要素化表示法:将各状态表示为变量或特征的集合,每个变量或特征都有可能有值。
- 结构化表示:显示的描述两个对象之间的关系,结构表示是关系数据库和一阶逻辑,是一阶概率模型、基于知识的学习、自然语言理解的基础。
- 当两个不同的原子表示没有共同点时,两个不同的要素化表示可以共享一些特征。
- 原子、要素、结构 表达能力依次增强,表达力强的表示可以获取表达力弱的表示的全部信息,表达力强,推理和学习也越复杂。
- 原子、要素、结构
- Agent程序的各组间是如何工作的
- 本章小结