安徽大学高级人工智能课件2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
剧本 场景 角色 事件
过程 问题求解的算法
2020/4/23
安徽大学 计算机科学与技术学院
7
2.2 图搜索策略
图搜索控制策略 一种在图中寻找路径的方法。
图中每个节点对应一个状态,每条连线对应 一个操作符。这些节点和连线(即状态与操 作符)又分别由产生式系统的数据库和规则 来标记。求得把一个数据库变换为另一数据 库的规则序列问题就等价于求得图中的一条 路径问题。
安徽大学 计算机科学与技术学院
失败 成功
9
2.3 一般搜索与推理技术
盲目搜索
特点:不需重排OPEN表 种类:宽度优先、深度优先、等代价搜索等。
启发式搜索
特点:重排OPEN表,选择最有希望的节点 加以扩展;估价函数
种类:有序搜索、A*算法、 AO*算法等
2020/4/23
安徽大学 计算机科学与技术学院
并加入BESTNODE的后裔表
否
g(SUC)<g(OLD)?
是
重新确定OLD的父辈节点为BESTNODE ,
并修正父辈节点的g值和ቤተ መጻሕፍቲ ባይዱ值,记下g(OLD)
A
2020/4/23
B
计算f值
安徽大学 计算机科学与技术学院
16
实验1 A*算法实验
例子:八数码难题(8-puzzle problem)
28 3
16 4
人工智能
Artificial Intelligence
第二章 知识表示与推理
2.1 知识表示的一般方法 2.2 图搜索策略 2.3 一般搜索与推理技术 2.4 A*算法 2.5 消解原理 2.6 规则演义系统 2.7 产生式系统 2.8 系统组织技术
2.1 知识表示的一般方法
一般计算机科学 数据结构 + 算法
f(x)=g(x)+h(x)进行的,则称该过程为A算法。
定义2 在A算法中,如果对所有的x存在h(x)≤h*(x),则称h(x)为h*(x)的下界,
它表示某种偏于保守的估计。
定义3 采用h*(x)的下界h(x)为启发函数的A算法,称为A*算法。当g=0时,
A*算法就变为有序搜索算法;h=0时,A*算法就变为等代价搜索算法。
2020/4/23
安徽大学 计算机科学与技术学院
12
2.4 A*算法
4、估价函数
为获得某些节点“希望”的启发信息,提供一个 评定侯选扩展节点的方法,以便确定哪个节点最有可 能在通向目标的最佳路径上 。
f(n)——表示节点n的估价函数值
建立估价函数的一般方法:试图确定一个处在最 佳路径上的节点的概率;提出任意节点与目标集之间 的距离量度或差别量度;或者在棋盘式的博弈和难题 中根据棋局的某些特点来决定棋局的得分数。这些特 点被认为与向目标节点前进一步的希望程度有关。
10
2.4 A*算法
1、为什么需要启发式搜索
盲目搜索效率低,耗费过多的计算空间与 时间,这是组合爆炸的一种表现形式。
2、定义
进行搜索技术一般需要某些有关具体问题 领域的特性的信息,把此种信息叫做启发信 息。利用启发信息的搜索方法叫做启发式搜 索方法。
2020/4/23
安徽大学 计算机科学与技术学院
2020/4/23
安徽大学 计算机科学与技术学院
14
2.4 A*算法
开始
把S放入OPEN表,估价函数 f =h
B
是
OPEN=NIL?
否 选取OPEN表中未设置过的、f值最小的节
点BESTNODE放入CLOSED表
失败
是 BESTNODE为目标节点吗?
否
成功
扩展BESTNODE ,产生后继节点SUCCESSOR
图搜索过程图
2020/4/23
安徽大学 计算机科学与技术学院
8
2.2 图 搜 索 策 略
开始
把S放入OPEN表
是 OPEN表为空表?
否 把第一个节点(n)从OPEN表移至CLOSED表
n为目标节点吗?
是
否
把n的后继节点放入OPEN表中, 提供返回节点n的指针
修改指针方向
重排OPEN表
2020/4/23
2020/4/23
安徽大学 计算机科学与技术学院
13
2.4 A*算法
估价函数的定义:
对节点n定义f*(n)=g*(n)+h*(n) ,表示从S开始约束通过节点n的 一条最佳路径的代价。 希望估价函数f 定义为:f(n)=g(n)+h(n)
—— g是g*的估计 ,h是h*的估计
A*算法的定义:
定义1 在GRAPHSEARCH过程中,如果第8步的重排OPEN表是依据
问题规约法 大问题化为若干小问题 本原问题
谓词逻辑法 合式公式 消解算法(归结)
2020/4/23
安徽大学 计算机科学与技术学院
5
2.1 知识表示的一般方法
语义网络法 结点表示概念 弧表示关系
框架法 槽、侧面层次结构 框架可以嵌套框架
2020/4/23
安徽大学 计算机科学与技术学院
6
2.1 知识表示的一般方法
人工智能 (知识表示+搜索) + 推理
2020/4/23
安徽大学 计算机科学与技术学院
3
2.1 知识表示的一般方法
问题求解技术主要是两个方面: 问题的表示 求解的方法
状态空间法 状态(state) 算符(operator) 状态空间方法
2020/4/23
安徽大学 计算机科学与技术学院
4
2.1 知识表示的一般方法
建立从SUCCESSOR返回BESTNODE的指针
计算g(SUC)=g(BES)+k(BES,SUC)
A
2020/4/23
安徽大学 计算机科学与技术学院
15
2.4 A*算法
A
是
否
SUC∈ OPEN?
是 SUC是OLD的复本,把OLD添加
SUC=CLOSED? 否
到BESTNODE的后继节点表中
把SUCCESSOR放入OPEN表,
11
2.4 A*算法
3、启发式搜索策略
有关具体问题领域的信息常常可以用来简化搜 索。一个比较灵活(但代价也较大)的利用启发信息的 方法是应用某些准则来重新排列每一步OPEN表中所 有节点的顺序。然后,搜索就可能沿着某个被认为 是最有希望的边缘区段向外扩展。应用这种排序过 程,需要某些估算节点“希望”的量度,这种量度 叫做估价函数(evalution function)。
7
5
(初始状态)
28 3
1
4
76 5
12 3
8
4
76 5
(目标状态)
规定:牌可以移入邻近的空格,不许斜向移动, 也不返回先辈节点。
2020/4/23
安徽大学 计算机科学与技术学院
17
实验1 A*算法实验
实验内容:
用A*算法求解8数码和15数码难题
实验报考要求
画出A*算法求解流程图,给出核心程序。 画出8数码求解图 分析估价函数对搜索算法的影响。 分析A*算法的特点。
过程 问题求解的算法
2020/4/23
安徽大学 计算机科学与技术学院
7
2.2 图搜索策略
图搜索控制策略 一种在图中寻找路径的方法。
图中每个节点对应一个状态,每条连线对应 一个操作符。这些节点和连线(即状态与操 作符)又分别由产生式系统的数据库和规则 来标记。求得把一个数据库变换为另一数据 库的规则序列问题就等价于求得图中的一条 路径问题。
安徽大学 计算机科学与技术学院
失败 成功
9
2.3 一般搜索与推理技术
盲目搜索
特点:不需重排OPEN表 种类:宽度优先、深度优先、等代价搜索等。
启发式搜索
特点:重排OPEN表,选择最有希望的节点 加以扩展;估价函数
种类:有序搜索、A*算法、 AO*算法等
2020/4/23
安徽大学 计算机科学与技术学院
并加入BESTNODE的后裔表
否
g(SUC)<g(OLD)?
是
重新确定OLD的父辈节点为BESTNODE ,
并修正父辈节点的g值和ቤተ መጻሕፍቲ ባይዱ值,记下g(OLD)
A
2020/4/23
B
计算f值
安徽大学 计算机科学与技术学院
16
实验1 A*算法实验
例子:八数码难题(8-puzzle problem)
28 3
16 4
人工智能
Artificial Intelligence
第二章 知识表示与推理
2.1 知识表示的一般方法 2.2 图搜索策略 2.3 一般搜索与推理技术 2.4 A*算法 2.5 消解原理 2.6 规则演义系统 2.7 产生式系统 2.8 系统组织技术
2.1 知识表示的一般方法
一般计算机科学 数据结构 + 算法
f(x)=g(x)+h(x)进行的,则称该过程为A算法。
定义2 在A算法中,如果对所有的x存在h(x)≤h*(x),则称h(x)为h*(x)的下界,
它表示某种偏于保守的估计。
定义3 采用h*(x)的下界h(x)为启发函数的A算法,称为A*算法。当g=0时,
A*算法就变为有序搜索算法;h=0时,A*算法就变为等代价搜索算法。
2020/4/23
安徽大学 计算机科学与技术学院
12
2.4 A*算法
4、估价函数
为获得某些节点“希望”的启发信息,提供一个 评定侯选扩展节点的方法,以便确定哪个节点最有可 能在通向目标的最佳路径上 。
f(n)——表示节点n的估价函数值
建立估价函数的一般方法:试图确定一个处在最 佳路径上的节点的概率;提出任意节点与目标集之间 的距离量度或差别量度;或者在棋盘式的博弈和难题 中根据棋局的某些特点来决定棋局的得分数。这些特 点被认为与向目标节点前进一步的希望程度有关。
10
2.4 A*算法
1、为什么需要启发式搜索
盲目搜索效率低,耗费过多的计算空间与 时间,这是组合爆炸的一种表现形式。
2、定义
进行搜索技术一般需要某些有关具体问题 领域的特性的信息,把此种信息叫做启发信 息。利用启发信息的搜索方法叫做启发式搜 索方法。
2020/4/23
安徽大学 计算机科学与技术学院
2020/4/23
安徽大学 计算机科学与技术学院
14
2.4 A*算法
开始
把S放入OPEN表,估价函数 f =h
B
是
OPEN=NIL?
否 选取OPEN表中未设置过的、f值最小的节
点BESTNODE放入CLOSED表
失败
是 BESTNODE为目标节点吗?
否
成功
扩展BESTNODE ,产生后继节点SUCCESSOR
图搜索过程图
2020/4/23
安徽大学 计算机科学与技术学院
8
2.2 图 搜 索 策 略
开始
把S放入OPEN表
是 OPEN表为空表?
否 把第一个节点(n)从OPEN表移至CLOSED表
n为目标节点吗?
是
否
把n的后继节点放入OPEN表中, 提供返回节点n的指针
修改指针方向
重排OPEN表
2020/4/23
2020/4/23
安徽大学 计算机科学与技术学院
13
2.4 A*算法
估价函数的定义:
对节点n定义f*(n)=g*(n)+h*(n) ,表示从S开始约束通过节点n的 一条最佳路径的代价。 希望估价函数f 定义为:f(n)=g(n)+h(n)
—— g是g*的估计 ,h是h*的估计
A*算法的定义:
定义1 在GRAPHSEARCH过程中,如果第8步的重排OPEN表是依据
问题规约法 大问题化为若干小问题 本原问题
谓词逻辑法 合式公式 消解算法(归结)
2020/4/23
安徽大学 计算机科学与技术学院
5
2.1 知识表示的一般方法
语义网络法 结点表示概念 弧表示关系
框架法 槽、侧面层次结构 框架可以嵌套框架
2020/4/23
安徽大学 计算机科学与技术学院
6
2.1 知识表示的一般方法
人工智能 (知识表示+搜索) + 推理
2020/4/23
安徽大学 计算机科学与技术学院
3
2.1 知识表示的一般方法
问题求解技术主要是两个方面: 问题的表示 求解的方法
状态空间法 状态(state) 算符(operator) 状态空间方法
2020/4/23
安徽大学 计算机科学与技术学院
4
2.1 知识表示的一般方法
建立从SUCCESSOR返回BESTNODE的指针
计算g(SUC)=g(BES)+k(BES,SUC)
A
2020/4/23
安徽大学 计算机科学与技术学院
15
2.4 A*算法
A
是
否
SUC∈ OPEN?
是 SUC是OLD的复本,把OLD添加
SUC=CLOSED? 否
到BESTNODE的后继节点表中
把SUCCESSOR放入OPEN表,
11
2.4 A*算法
3、启发式搜索策略
有关具体问题领域的信息常常可以用来简化搜 索。一个比较灵活(但代价也较大)的利用启发信息的 方法是应用某些准则来重新排列每一步OPEN表中所 有节点的顺序。然后,搜索就可能沿着某个被认为 是最有希望的边缘区段向外扩展。应用这种排序过 程,需要某些估算节点“希望”的量度,这种量度 叫做估价函数(evalution function)。
7
5
(初始状态)
28 3
1
4
76 5
12 3
8
4
76 5
(目标状态)
规定:牌可以移入邻近的空格,不许斜向移动, 也不返回先辈节点。
2020/4/23
安徽大学 计算机科学与技术学院
17
实验1 A*算法实验
实验内容:
用A*算法求解8数码和15数码难题
实验报考要求
画出A*算法求解流程图,给出核心程序。 画出8数码求解图 分析估价函数对搜索算法的影响。 分析A*算法的特点。