当前课程知识点:人工智能 > 第一章 绪论 > 1.2 什么是理性智能体 > 1.2理性智能体
智能体指任何能通过传感器感知环境和
通过执行器作用于环境的实体
比如说像人它就是一个智能体 它有眼睛有鼻子有
耳朵可以感知外部环境
有手和脚可以作用于外部环境
像机器人也是一个智能体
它有摄像头和红外测距仪感知外部环境
有各种马达作用于外部环境
所以智能体就是有感知器可以感知外部环境
接受外部环境的信息
然后通过这个智能体的大脑 智能体程序
智能体函数
把这个感知到的信息映射成动作
通过这个执行器作用于外部环境
那么比如说我们的真空吸尘器智能体
能够感知它所处的位置和它所处位置脏
还是不脏 比如说它能够感知它现在在A房间
A房间比较脏
它能够向左移动 向右移动 吸尘 还有原地休息
那么什么样的智能体才能称得上是理性的呢
理性智能体会选择什么样的动作来执行呢
对于每种可能的感知序列 理性智能体它是选择
一个这样的动作来执行
这个动作会使得它的性能度量期望最大化
在它所具有的知识条件下
能够感知到的信息条件下
它会选择一个动作使得它的性能度量期望最大化
这里要注意的就是理性和无所不知
无所不能是不一样的概念
理性不能保证它的性能度量实际最大化
也就是说理性不等于完美
因为智能体它所处的环境可能是部分可观察的
可能充满了不确定性和随机性
所以它不能保证它的性能度量实际最大化
只能是期望最大化
这个就是理性的严格数学定义
设计一个理性智能体之前
我们必须首先明确四大要素
这四大要素呢 简称PEAS
P指的就是我们的性能度量
也就是说先要明确下来怎么样客观的测量
我们智能体的性能 评估智能体的成功程度
第二要明白智能体它所处的环境是什么样子
她将来要打交道的对象是那些
第三要明白你所设计的智能体
会有一些什么样的执行器 能够做什么样的动作
最后要明白智能体它会有一些什么样的传感器
能够感知一些什么样的信息
只有在知道了它能感知什么样的信息
它具有什么样的知识 能做什么动作
它的环境是什么样子的
它的性能度量指标是什么样的
在这些情况都确定下来之后
才有可能去设计理性智能体的大脑
理性智能体程序
比如说我们的自动出租车智能体它的PEAS
它的性能度量我们要考虑它的安全
它的快速性 还要不能触犯交通法规
还要让顾客感到舒服 当然还要利润最大化
那么这种出租车智能体
他将来要处的环境就是道路啊
其他的交通工具啊 行人啊 还有顾客
然后呢它能够做一些什么动作呢
它具有什么样的执行器呢
它能够控制方向 它能够控制油门
它能够刹车 它能够发出信号灯 它能够按喇叭
然后它会有一些什么样的传感器呢
它会有摄像头 它会有声呐测距仪 还要测速仪
还有GPS 还有里程表 还有发动机传感器
还有键盘来接收顾客的输入
还可以有麦来接收顾客的语音输入等等
也就是说智能体是由一个把感知序列映射到
动作的这么一个函数来确定的
那么我们人工智能的目标就是找到实现
这么一个映射 实现这么一个理性智能体函数的
简洁方法 设计出这么一个理性的智能体函数的
程序出来
那么比如说像这里有一个查表
或者说表驱动智能体的一个程序
它的思想很简单
你不是要设计出来一个把感知序列映射到动作的
这么一个程序吗 那么我就把这个函数映射表先给
你建立起来 那么我的智能体每一次感知到新的
信息之后 只要根据这个感知序列去查这个表
找到相应的动作去执行就行了
所以呢这个程序叫做表驱动智能体程序
它需要一个感知序列表来储存感知到的感知序列
那么一开始的时候呢 这个表是空的
另外还有一个表就是我们的程序设计者事先建立
好的 完整的建立好的一个把感知序列映射到
动作的一个函数表
那这个表呢要把所有的感知序列都考虑到
这样我们的智能体就能够查到相应的动作去执行
智能体把它当前感知到的信息
加到这个感知序列表的末尾去
形成一个新的感知序列 然后根据这个感知序列
到这个函数映射表里面去查
对应着这个感知序列我应该执行什么动作
然后把这个动作返回给我们的智能体去执行
这个智能体程序思想很简单 就是预先设定好
告诉你什么样的感知序列做什么样的动作
思想很简单 但是要实现起来就面临着很多的问题
甚至是不可能的 也就是说这种表驱动智能体
具有很多的缺点 第一这个函数映射表可能会非常
非常的大如果你的智能体生命周期长 时间长
然后你感到的信息比较多的话
那么这个要穷尽所有可能的感知序列
那不得了 这个表的条目太多太多
要花很长很长的时间来建这个表
甚至是不可能建得了
并且我们看到这种查表 这种智能体
它是没有学习能力的 不会自主去学习这个
什么样的感知序列应该做什么样的动作
它完全是预先设定好的
所以呢它不可能适应新的环境 新的变化
如果有一个新的感知 发现表里面没有这个表条目
它就不知道该干什么
即使你给这个智能体设计他有这个学习能力
对于这么一个巨大的表也要花很长时间来学习
所以这种看似思想很简单的一个查表智能体
在实际当中是不可行的
再看第二个例子 第二个例子是我们的反射型
真空吸尘器智能体程序
为什么称它为反射型呢
因为它在选择什么样的动作执行的时候
只依赖于当前感知到的信息
它不储存历史感知信息
也就是说它不是依赖于感知序列来判断的
而是只依赖于当前感知到的感知信息
比如说我们前面介绍的那个简单的真空吸尘器
它能够感知它当前所处的位置
和当前所处位置的状态 脏还是不脏
那么一旦它发现它当前所处位置是脏的
它就返回一个吸的动作让智能体去执行
否则它就判断我是不是在A房间
或者是A格子里面
如果是那么它就返回一个向右的动作
让智能体去执行 也就是说现在A格子里是干净的
那么我应该到B格子里去
否则的话如果它发现它在B格子里面
然后它就返回向左的动作让智能体去执行
那么这么一个反射型的真空吸尘器智能体程序
在我们的理性的定义下算不算得上是理性的呢
那要看它的性能度量是什么
如果我的性能度量定义成每个时间步
每清洁一个格子加一分
在这种意义下反射型的真空吸尘器智能体程序
就是理性的 因为它不断地左右检查
从而它能够保证单位时间步里面
清洁到的格子数目最多
但是如果我把性能度量定义成
每清洁一个格子加一分
而且每移动一步减一分
那么在这种意义下这个智能体就不是理性的
因为它不能保证它的性能度量指标最大化
因为它发现A房间干净它就往右走
有可能B房间也是干净的 它没有必要走这一步
但是由于它只根据它当前所感知到的信息
来决定它的动作
所以呢它不能使得第二种性能度量期望最大化
所以在第二种性能度量意义下它不是理性的
再假设如果我们的智能体
不是对它所处环境的地形完全了解 就像这里一样
他知道我所处的环境只有AB两个位置
那么我不是A就是B 那么假设这个智能体
所处的环境还有其他的地形
那么这个智能体要成为理性
还需要去探索其他的环境
做出相应的动作才能称得上是一个理性智能体
这个理性这个概念取决于性能度量是什么
取决于它所处的环境 取决于它能感知到什么
取决于它能做什么
只有在这四大指标 四大要素都确定下来之后
你才有可能去设计一个理性智能体程序
-1.1 人工智能概念
-第一章 绪论--1.1 人工智能概念
-1.2 什么是理性智能体
--1.2理性智能体
-第一章 绪论--1.2 什么是理性智能体
-2.1.1问题求解智能体
-第二章 无信息搜索策略--2.1.1问题求解智能体
-2.1.2问题形式化
--Video
-2.1.3 树搜索算法
--Video
-第二章 无信息搜索策略--2.1.2问题形式化
-2.1.4树搜索算法的实现
--Video
-2.2.1搜索策略
--Video
-第二章 无信息搜索策略--2.1.3树搜索算法
-2.2.2宽度优先搜索
--Video
-2.2.3一致代价搜索
--Video
-第二章 无信息搜索策略--2.1.4树搜索算法的实现
-2.3.1深度优先搜索
--Video
-2.3.2有限深度搜索
--Video
-2.3.3迭代深入搜索
--Video
-第二章 无信息搜索策略--2.2.2宽度优先搜索
-2.3.4迭代深入深度搜索性能分析
--Video
-2.4无信息搜索策略小结
--Video
-第二章 无信息搜索策略--2.2.3一致代价搜索
-第二章 无信息搜索策略--2.3.1深度优先搜索
-第二章 无信息搜索策略--2.3.2有限深度搜索
-第二章 无信息搜索策略--2.3.3迭代深入搜索
-第二章 无信息搜索策略--2.3.4迭代深入深度搜索性能分析
-第二章 无信息搜索策略--2.4无信息搜索策略小结
-3.1贪婪搜索算法
--Video
-3.2.1A星搜索算法
--Video
-第三章 有信息搜索策略--3.2.1A星搜索算法
-3.2.2A星搜索算法的最优性
--Video
-3.2.3可采纳的启发式函数
--Video
-第三章 有信息搜索策略--3.2.2A星搜索算法的最优性
-3.3爬山搜索算法
--Video
-3.4模拟退火搜索算法
--Video
-第三章 有信息搜索策略--3.2.3可采纳的启发式函数
-3.5遗传算法
--Video
-第三章 有信息搜索策略--3.3爬山搜索算法
-第三章 有信息搜索策略--3.5遗传算法
-4.1.1什么是约束满足问题
--Video
-第四章 约束满足问题--4.1.1什么是约束满足问
-4.1.2约束满足问题的标准搜索形式化
--Video
-4.2.1回溯搜索算法
--Video
-第四章 约束满足问题--4.1.2约束满足问题的标准搜索形式化
-4.2.2回溯搜索的变量赋值顺序策略
--Video
-4.2.3回溯搜索的前向检查及约束传播
--Video
-第四章 约束满足问题--4.2.1回溯搜索算法
-4.2.4 AC-3弧相容算法
--Video
-4.3约束满足问题的局部搜索方法
--Video
-第四章 约束满足问题--4.2.2回溯搜索的变量赋值顺序策略
-第四章 约束满足问题--4.2.3回溯搜索的前向检
-第四章 约束满足问题--4.3约束满足问题的局部搜索方法
-5.1博弈及极小极大值概念
--Video
-5.2极小极大值决策算法
--Video
-第五章 对抗搜索--5.2极小极大值决策算法
-5.3.1剪枝的概念
--Video
-5.3.2 alpha-beta算法
--Video
-5.3.3 alpha-beta剪枝示例
--Video
-5.4 不完美的实时决策
--Video
-第五章 对抗搜索--5.3.3 alpha-beta剪枝示例
-第五章 对抗搜索--5.4 不完美的实时决策
-6.1不确定性量化
--Video
-第六章 不确定性推理--6.1不确定性量化
-6.2使用完全联合分布进行推理
--Video
-6.3贝叶斯规则及其应用
--Video
-6.4贝叶斯网络推理
--Video
-第六章 不确定性推理--6.2使用完全联合分布进行推理
-6.5隐马尔可夫模型
--Video
-6.6卡尔曼滤波器
--6.6
-第六章 不确定性推理--6.4贝叶斯网络推理
-第六章 不确定性推理--6.3贝叶斯规则及其应用
-第六章 不确定性推理--6.6卡尔曼滤波器
-结课测试