人工智能(AI)及其应用-搜索推理技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 初始节点————初始数据库; – 目标节点————目标数据库; – 状态图的一条路径问题————求得把一个数据库变换为另一 数据库的规则序列问题。
• 图搜索过程(GraphSearch)
7
3.1 图搜索策略
图搜索的一般过程如下:
• 1)建立一个只含有起始节点S的搜索图G,把S放到一个 叫做OPEN 的未扩展节点表中。 • 2)建立一个叫做CLOSED的已扩展节点表,其初始为空 表. • 3)LOOP:若OPEN表是空表,则失败退出。 • 4)选择OPEN表上的第一个节点,把它从OPEN表移出 并放进CLOSED表中。称此节点为节点n • 5)若n为一目标节点,则有解并成功退出,此解是追踪 图G中沿着指针从n到S这条路径而得到的(指针将在第7 步中设置)。
• 提出:盲目搜索与启发式搜索。
11
3.2
盲目搜索
• 盲目搜索又叫做无信息搜索,一般只适用于求解比较 简单的问题。
– 特点:不需重排OPEN表; – 种类:宽度优先、深度优先、等代价搜索等。
3.2.1 宽度优先搜索(Breadth-first)
定义:
以接近起始节点的程度逐层扩展节点的搜索方法。
(2)
OPEN CLOSED
10
3.1 图搜索策略
图搜索的生成结果:
– 搜索图(G) – 搜索树(T)
• 修正算法:
– 一次只生成一个后继节点;
• 思考:
– – – – (1)结果路径的形成中,为什么其节点顺序是明确的? (2)OPEN表中的节点具有什么特点? (3)CLOSED表中的节点具有什么特点? (4)对OPEN表节点的排序有何意义?
是 是否有后继节点 成功 为目标节点? 否 图3.2 宽度优先算法框图
思考:与原始算法比较异同,宽度优先的体现?
15
3.2 盲目搜索
• 例子 八数码难题(8-puzzle problem)
2 1 8 3 4 1 8 2 3 4
7 6
5
7 6
5
(初始状态)
(目标状态)
规定:将牌移入空格的顺序为:从空格左边 开始顺时针旋转。不许斜向移动,也不返回 先辈节点。从图可见,要扩展26个节点,共 生成46个节点之后才求得解(目标节点)。
9
开始
Байду номын сангаас
3.1 图搜索策略
(1) (3)
把S放入OPEN表
(4)
是 OPEN表为空表? 失败 否 把第一个节点(n)从OPEN表移至CLOSED表
(5) (6) (7)
n为目标节点吗?
是
成功
否 把n的后继节点放入OPEN表的 末端,提供返回节点n的指针
(7) (9) (8)
(1)
修改指针方向
重排OPEN表 图3.1 图搜索过程框图 宽度优先
人工智能
搜索推理技术
问题:知识表示有那些方法?知识表示的目的是
什么?构建智能系统的关键是什么?
3.1 图搜索策略 3.2 盲目搜索 3.3 启发式搜索 3.4 消解原理 3.5 规则演绎系统
3.6 产生式系统 3.7 系统组织技术 3.8 不确定性推理 3.9 非单调推理 3.10 小结
2
3.1 图搜索策略
特点:
一种高代价搜索,但若有解存在,则必能找到它。
12
宽度优先搜索示意图
S
L M N F
13
O F P F Q F
3.2 盲目搜索
宽度优先搜索算法:
• 1)把起始节点放到OPEN表中(如果该起始节点为一目标节点, 则求得一个解答)。 • 2)如果OPEN是个空表,则没有解,失败退出;否则继续。 • 3)把第一个节点(节点n)从OPEN表移出,并把它放入 CLOSED的扩展节点表中。 • 4)扩展节点n。如果没有后继节点,则转向上述第(2)步。
8
3.1 图搜索策略
• 6)扩展节点n,同时生成不是n的祖先的那些后继节点的 集合M。把M的这些成员作为n的后继节点添入图G中。 • 7)对那些未曾在G中出现过的M成员设置一个通向n的指 针。把M的这些成员加进OPEN表。对已经在OPEN或 CLOSED表上的每一个M成员,确定是否需更改通到n的 指针方向。对已在CLOSED表上的每个M成员,确定是 否需要更改图G中通向它的每个后裔节点的指针方向。 • 8)按某一任意方式或按某个探试值,重排OPEN表。 • 9)GO LOOP。
猴子和香蕉问题的状态空间图
提问:人工搜索求解的解答?
5
3.1 图搜索策略
猴子和香蕉问题自动演示:
•
香蕉
Ha!Ha!
箱子
猴子
思考:计算机的搜索策略?
6
3.1 图搜索策略
• 图搜索控制策略:一种在图中寻找路径的方法。
– 图中每个节点对应一个状态; – 每条连线对应一个操作符。
• 用产生式系统的数据库和规则来标记:
• 算符:
– Goto(U),
• (W,0,Y,z) – Pushbox(V), • (W,0,W,z) – Climbbox, • (W,0,W,z) – Grasp, • ( c , 1, c, 0)
goto(U)
(U,0,Y,z) (V,0,V,z) ( W , 1, W , z )
pushbox(V)
• 思考:状态空间法的基本特点?基本推理方法?其 求解结果是什么?简单回顾实例:猴子与香蕉。
3
3.1 图搜索策略
• 用一个四元表列(W,x,Y,z)表示这个问题状态
– W 猴子的水平位置 – x 当猴子在箱子顶上时取 x = 1;否则取 x = 0 – Y 箱子的水平位置 – z 当猴子摘到香蕉时取 z=1;否则取 z=0
• 5)把n的所有后继节点放到OPEN表的末端,并提供从这些后 继节点回到n的指针。
• 6)如果n的任一个后继节点是个目标节点,则找到一个解答, 成功退出;否则转向第(2)步。
14
3.2 盲目搜索 开始
把S放入OPEN表
OPEN表为空表?
是
失败
否 把第一个节点(n)从OPEN表移至CLOSED表 扩展n,把n的后继节点放入OPEN 表的末端,提供返回节点n的指针
climbbox
grasp
( c , 1, c, 1)
4
3.1 图搜索策略
goto(U)
( a , 0 , b, 0 ) goto(U) ( U , 0 , b, 0 )
U=b, pushbox(V) U=b,climbbox pushbox(V) V≠c,climbbox ( V, 0, V, 0) V=c,climbbox (c,1,c,0) goto(U) ( U, 0, V, 0) goto(U) (c,1,c,1) 目标状态 (b,1,b,0)
• 图搜索过程(GraphSearch)
7
3.1 图搜索策略
图搜索的一般过程如下:
• 1)建立一个只含有起始节点S的搜索图G,把S放到一个 叫做OPEN 的未扩展节点表中。 • 2)建立一个叫做CLOSED的已扩展节点表,其初始为空 表. • 3)LOOP:若OPEN表是空表,则失败退出。 • 4)选择OPEN表上的第一个节点,把它从OPEN表移出 并放进CLOSED表中。称此节点为节点n • 5)若n为一目标节点,则有解并成功退出,此解是追踪 图G中沿着指针从n到S这条路径而得到的(指针将在第7 步中设置)。
• 提出:盲目搜索与启发式搜索。
11
3.2
盲目搜索
• 盲目搜索又叫做无信息搜索,一般只适用于求解比较 简单的问题。
– 特点:不需重排OPEN表; – 种类:宽度优先、深度优先、等代价搜索等。
3.2.1 宽度优先搜索(Breadth-first)
定义:
以接近起始节点的程度逐层扩展节点的搜索方法。
(2)
OPEN CLOSED
10
3.1 图搜索策略
图搜索的生成结果:
– 搜索图(G) – 搜索树(T)
• 修正算法:
– 一次只生成一个后继节点;
• 思考:
– – – – (1)结果路径的形成中,为什么其节点顺序是明确的? (2)OPEN表中的节点具有什么特点? (3)CLOSED表中的节点具有什么特点? (4)对OPEN表节点的排序有何意义?
是 是否有后继节点 成功 为目标节点? 否 图3.2 宽度优先算法框图
思考:与原始算法比较异同,宽度优先的体现?
15
3.2 盲目搜索
• 例子 八数码难题(8-puzzle problem)
2 1 8 3 4 1 8 2 3 4
7 6
5
7 6
5
(初始状态)
(目标状态)
规定:将牌移入空格的顺序为:从空格左边 开始顺时针旋转。不许斜向移动,也不返回 先辈节点。从图可见,要扩展26个节点,共 生成46个节点之后才求得解(目标节点)。
9
开始
Байду номын сангаас
3.1 图搜索策略
(1) (3)
把S放入OPEN表
(4)
是 OPEN表为空表? 失败 否 把第一个节点(n)从OPEN表移至CLOSED表
(5) (6) (7)
n为目标节点吗?
是
成功
否 把n的后继节点放入OPEN表的 末端,提供返回节点n的指针
(7) (9) (8)
(1)
修改指针方向
重排OPEN表 图3.1 图搜索过程框图 宽度优先
人工智能
搜索推理技术
问题:知识表示有那些方法?知识表示的目的是
什么?构建智能系统的关键是什么?
3.1 图搜索策略 3.2 盲目搜索 3.3 启发式搜索 3.4 消解原理 3.5 规则演绎系统
3.6 产生式系统 3.7 系统组织技术 3.8 不确定性推理 3.9 非单调推理 3.10 小结
2
3.1 图搜索策略
特点:
一种高代价搜索,但若有解存在,则必能找到它。
12
宽度优先搜索示意图
S
L M N F
13
O F P F Q F
3.2 盲目搜索
宽度优先搜索算法:
• 1)把起始节点放到OPEN表中(如果该起始节点为一目标节点, 则求得一个解答)。 • 2)如果OPEN是个空表,则没有解,失败退出;否则继续。 • 3)把第一个节点(节点n)从OPEN表移出,并把它放入 CLOSED的扩展节点表中。 • 4)扩展节点n。如果没有后继节点,则转向上述第(2)步。
8
3.1 图搜索策略
• 6)扩展节点n,同时生成不是n的祖先的那些后继节点的 集合M。把M的这些成员作为n的后继节点添入图G中。 • 7)对那些未曾在G中出现过的M成员设置一个通向n的指 针。把M的这些成员加进OPEN表。对已经在OPEN或 CLOSED表上的每一个M成员,确定是否需更改通到n的 指针方向。对已在CLOSED表上的每个M成员,确定是 否需要更改图G中通向它的每个后裔节点的指针方向。 • 8)按某一任意方式或按某个探试值,重排OPEN表。 • 9)GO LOOP。
猴子和香蕉问题的状态空间图
提问:人工搜索求解的解答?
5
3.1 图搜索策略
猴子和香蕉问题自动演示:
•
香蕉
Ha!Ha!
箱子
猴子
思考:计算机的搜索策略?
6
3.1 图搜索策略
• 图搜索控制策略:一种在图中寻找路径的方法。
– 图中每个节点对应一个状态; – 每条连线对应一个操作符。
• 用产生式系统的数据库和规则来标记:
• 算符:
– Goto(U),
• (W,0,Y,z) – Pushbox(V), • (W,0,W,z) – Climbbox, • (W,0,W,z) – Grasp, • ( c , 1, c, 0)
goto(U)
(U,0,Y,z) (V,0,V,z) ( W , 1, W , z )
pushbox(V)
• 思考:状态空间法的基本特点?基本推理方法?其 求解结果是什么?简单回顾实例:猴子与香蕉。
3
3.1 图搜索策略
• 用一个四元表列(W,x,Y,z)表示这个问题状态
– W 猴子的水平位置 – x 当猴子在箱子顶上时取 x = 1;否则取 x = 0 – Y 箱子的水平位置 – z 当猴子摘到香蕉时取 z=1;否则取 z=0
• 5)把n的所有后继节点放到OPEN表的末端,并提供从这些后 继节点回到n的指针。
• 6)如果n的任一个后继节点是个目标节点,则找到一个解答, 成功退出;否则转向第(2)步。
14
3.2 盲目搜索 开始
把S放入OPEN表
OPEN表为空表?
是
失败
否 把第一个节点(n)从OPEN表移至CLOSED表 扩展n,把n的后继节点放入OPEN 表的末端,提供返回节点n的指针
climbbox
grasp
( c , 1, c, 1)
4
3.1 图搜索策略
goto(U)
( a , 0 , b, 0 ) goto(U) ( U , 0 , b, 0 )
U=b, pushbox(V) U=b,climbbox pushbox(V) V≠c,climbbox ( V, 0, V, 0) V=c,climbbox (c,1,c,0) goto(U) ( U, 0, V, 0) goto(U) (c,1,c,1) 目标状态 (b,1,b,0)