当前课程知识点:人工智能 > 第二章 无信息搜索策略 > 2.1.1问题求解智能体 > 2.1.1问题求解智能体
这里有一个罗马尼亚的例子
假设我们的智能体在罗马尼亚度假
它现在在Arad这个城市
然后它要乘坐第二天从Bucharest起飞的航班
所以它需要从Arad开车赶到Bucharest
那么这么一个问题怎么样来求解呢?
我们如何来设计这个问题求解智能体呢?
我们前面讲,理性智能体就是要使得它的性能度量最大化
假设我们的智能体,它有一个明确的目标
那么这个性能度量就被简化了
我们智能体的任务是找到一个行动序列
然后告诉自己现在或者是将来应该做什么样的行动
能够使得它自己到达这个目标状态,那么它就能够解决这个问题
找到行动序列使自己到达目标状态的这么一个过程就称为搜索
搜索算法的输入就是这个问题,它的输出就是一个行动序列
也就是说它的解就是一个行动序列,也使得它能够到达目标状态
所以对于这个问题,智能体的设计
我们只需要将这个问题形式化
然后通过搜索算法找到一个使得它能到达目标状态的行动序列
然后将这个搜索到的行动序列让智能体去执行
那么就完成了一个问题求解智能体的设计
所以关键是先要将实际的问题进行形式化
那么比如说我们的罗马尼亚问题
我们首先要将它的目标进行形式化
也就是说它的目标就是到达罗马尼亚的首都Bucharest
然后它的状态应该怎么样来描述呢?
也就是说根据这个目标,根据这个问题的情形我们应该考虑哪些状态
也就是说像这个罗马尼亚问题,我们可以在这个层次上考虑这个问题
也就是说将这个智能体的状态定义成它在不同的城市
比如说在Arad是一个状态,在Sibiu是一个状态
这样来定义它的状态
那么它的状态空间就是有多少个城市就有多少个不同的状态
动作方面,我们也是在更抽象的层面上考虑它能执行的动作
我们认为它能在相邻的城市之间行驶
这是它能够执行的动作的集合
那么这个问题的解就是一个动作序列
那么在这里的话就是我们的城市序列
当然相邻的两个城市一定是在实际的物理位置上是相邻的
然后返回这么一个城市序列,这个智能体就知道
它应该先从Arad开车到Sibiu
再从Sibiu开车到Fagaras,再从Fagaras开车到Bucharest
从而到达一个目标状态
那么这个就是这个问题的一个形式化
问题形势化之后,智能体就会根据问题的形式化
去搜索到达目标状态的一个动作序列
然后在把这个动作序列让智能体一一执行
所以我们的问题求解智能体的程序就是这样的
所以这个叫做简单问题求解智能体
它的输入和前面一样是当前感知
然后呢它是返回一个动作让智能体去执行
所以我们看到它这里设置了四个变量
第一个变量是动作序列,它一开始是空的
也就是说它还没有搜索到这个动作序列
然后还有一个变量就是我们的状态
这个状态就是用来描述它当前所处环境的一个状态
还有就是智能体它的目标是什么
那么一开始因为这个问题没有形式化,所以它不知道它的目标是什么
然后还有一个就是我们的问题形式化告诉给它
它需要去搜索一个到达目标的动作序列
所以一开始就是根据我当前感知还有就是我世界的状态是什么
来更新得到一个新的当前的状态
然后根据这个状态它开始搜索,进行问题的求解
那么首先它判断一下这个动作序列
这个问题有没有解出来,或者是上一个问题的动作序列有没有执行完毕
也就是说看一下这个动作序列是不是空的
如果是空的,那就意味着它需要形成一个新的目标
形成一个新的问题的形式化
搜索到一个新的动作序列去执行
所以呢它就开始做
首先根据当前的状态形成一个新的目标,生成一个目标形式化
然后根据这个目标所处的环境和目标
对问题进行一个形式化,产生一个问题的描述
然后根据这个问题的描述调用搜索算法搜索到达这个目标状态的动作序列
返回一个动作序列,储存起来
然后通过搜索算法找到了从当前这个状态到目标状态的动作序列之后
智能体就开始了执行这些动作序列
所以他把这个动作序列的第一个动作取出来
取出来之后这个动作序列进行更新,就把第一个动作删掉了
然后把这个动作序列里面的第一个动作取出来之后
就返回给这个智能体去执行
所以这个问题求解智能体它的思路就是进行问题的形式化
然后找到一个实现目标的动作序列
然后就开始一个一个动作依次执行
执行完了所有动作之后,也就是说这个动作序列是空的之后
它又重新产生一个问题进行问题的形式化
然后搜索到一个动作序列去执行
所以这个问题求解智能体设计的步骤就是
问题形式化、搜素、执行
-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卡尔曼滤波器
-结课测试