人工智能讲义AI02N..ppt
《人工智能讲义AI02N..ppt》由会员分享,可在线阅读,更多相关《人工智能讲义AI02N..ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章状态空间法及搜索2.0 引言问题求解是个大课题,如求解智力测验难题、求证逻辑或数学定理、求解最短路径、求解能够取胜的博奕走步序列等。常用的求解方法是试探搜索法,即在可能的解答空间中寻找一个合理的解。例:八数码难题 2 8 3 2 8 3 2 8 3 1 6 4 1 4 1 6 4 7 5 7 6 5 7 52 8 31 6 47 51 2 38 47 6 5初始状态目标状态2.1 状态空间法的基本概念和基本系统结构(1)基本概念y状态与操作x状态:表示问题求解过程中每一步问题状况的数据结构x初始状态:由问题已知的前提、初始条件的原始描述所构成的状态x目标状态:问题解决时应该到达的状态x操
2、作(算符):把一种状态变成另一种状态的运算y状态空间法x状态空间:问题求解过程中由初始状态可能到达的所有状态的集合x状态空间法:建立初始状态,在状态空间中进行搜索,以找到一条从初始状态到达目标状态的(最佳)路径。这条路径(即达到目标状态的操作步骤)就是问题的解。基本系统结构y产生式系统的组成x综合数据库:初始数据库,目标数据库,中间数据库x产生式规则:IF A THEN BA:条件B:操作/结果x控制策略:选择可使用的规则和搜索算法等 控制策略产生式规则 综合数据库 产生式系统的组成八数码难题y综合数据库x可用3X3的二维数组表示一个状态(棋局)初始数据库:2 8 3 1 6 4 7 0 5目
3、标数据库:1 2 3 8 0 4 7 6 5y产生式规则xR1:IF 空格上方有棋 THEN 空格上移R2:IF 空格右方有棋 THEN 空格右移R3:IF 空格下方有棋 THEN 空格下移R4:IF 空格左方有棋 THEN 空格左移旅行商问题 A 5 7 2 1E3B2434D1C综合数据库可用线性并列表(List)表示状态,表中放有旅行商经过的城市,表中最后一个元素就是旅行商当前所在的城市 初始数据库:(A)目标数据库:(A.A)产生式规则R1:IF 没有去过B THEN 下一步去BR2:IF 没有去过C THEN 下一步去CR3:IF 没有去过D THEN 下一步去DR4:IF 没有去过
4、E THEN 下一步去ER5:IF 都去过了 THEN 下一步去A2.2 状态空间的搜索策略搜索过程概述y用图来描述状态空间x节点:对应于状态描述x扩展节点:把适用于某个节点状态的产生式规则运用到该节点而产生其后继节点x指针:从每个后继节点指向其父节点y状态空间的搜索图搜索x搜索过程:从起始节点开始扩展节点,设置指针并检查各后继节点是否为目标节点。如果没有找到目标节点,则继续进行扩展节点和设置指针的过程。当找到目标节点时,沿着有关指针可以从目标节点回朔到起始节点,产生一条解答路径。x由于扩展节点的顺序不同,及搜索的顺序不同,形成了各种不同的搜索方法。爬山法(PP20-23)回溯法 习题y1 P
5、42 第2题y2 P42 第3题y3 P43 第6题(更正:“图2-8”应为“图2-9”。从(2M,2C)节点开始继续原图的搜索。)y贪心法x贪心法与爬山法类似,也是一种不可撤回搜索法。x算法思想:从起始节点出发,每一步都选从当前来看对达到目标最有利的操作.x举例:ABEDC5 7 2 1324431在旅行商的例子中,若在任何一个城市,总是选一个路程最短的未到过的城市先去,则为贪心法。这样得到的解为:ABECDA(14)不可撤回搜索法效率较高,但不能保证找到(最佳)解。如上例的最佳解为:ACDEBA (10)图搜索的一般算法GRAPHSEARCH:(1)建立一个只含有起始节点S的搜索图G,图中
6、每个 节点有一个指向其父节点的指针,S的这一指针 为一特殊值(如0),并把S放入未扩展节点表 OPEN中.(2)建立已扩展的节点表CLOSED,初始时该表为空.(3)LOOP:若OPEN表为空,则失败退出.(4)把OPEN表中的第一个节点移出,放入CLOSED表 中,称其为n节点.(5)若n为目标节点,则成功退出.问题的解是沿指针 追踪G中从n到S的路径而得到的.图搜索算法举例八数码难题初始状态:2 8 3 目标状态:1 2 3 1 6 4 8 0 4 7 0 5 7 6 5(6)扩展节点n,生成不是n的祖先的那些后继节点的集 合M.如果没有后继节点,则转LOOP.(7)把那些不在G中的M的成
7、员作为n的后继节点加入G,并设置一个通向n的指针,把它们加入OPEN表.对 已在G中的M的成员,调整有关指针.(8)按某种方式,重排OPEN表.(9)转LOOP.OPENCLOSED n 2 8 31 6 4 7 0 5 2 8 3 2 8 3 1 6 4 1 6 4 7 0 5 7 0 5 2 8 3 2 8 3 2 8 3 2 8 31 6 4 1 0 4 1 6 4 1 6 40 7 5 7 6 5 7 5 0 7 0 5 2 8 3 2 8 3 2 8 3 2 8 3 2 8 31 0 4 1 6 4 1 6 4 1 6 4 1 6 47 6 5 7 5 0 7 0 5 0 7 5 0
8、 7 52 8 3 2 8 3 2 8 3 2 8 3 2 8 31 0 4 1 6 4 0 6 4 1 6 4 1 6 47 6 5 7 5 0 1 7 5 7 0 5 0 7 5OPENCLOSED n 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 31 6 4 0 6 4 1 6 4 1 6 4 1 0 4 1 0 47 5 0 1 7 5 7 0 5 0 7 5 7 6 5 7 6 52 8 3 2 8 3 2 8 3 2 0 3 2 8 3 2 8 3 2 8 3 2 8 31 6 4 0 6 4 0 1 4 1 8 4 1 4 0 1 6 4 1 6 4 1
9、0 47 5 0 1 7 5 7 6 5 7 6 5 7 6 5 7 0 5 0 7 5 7 6 5 2 8 3 2 8 3 2 0 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 30 6 4 0 1 4 1 8 4 1 4 0 1 6 4 1 6 4 1 0 4 1 6 4 1 6 41 7 5 7 6 5 7 6 5 7 6 5 7 0 5 0 7 5 7 6 5 7 5 0 7 5 02 8 3 2 8 3 2 0 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 30 6 4 0 1 4 1 8 4 1 4 0 1 6 0 1 6 4 1
10、 6 4 1 0 4 1 6 41 7 5 7 6 5 7 6 5 7 6 5 7 5 4 7 0 5 0 7 5 7 6 5 7 5 02 8 31 6 47 0 52 8 31 6 40 7 52 8 31 0 47 6 52 8 31 6 47 5 02 8 30 6 41 7 52 8 30 1 47 6 52 0 31 8 47 6 52 8 31 4 07 6 52 8 31 6 07 5 4283164705283164075283104765283164750283064175283014765203184765283140765283160754083264175283604
11、175283714055023184765230184765280143765283145760283106754083214765280163754803264175203684175283640175803214765208143765283145706283016754203186754283156704283674105208163754830264175863204175230684175830214765813204765283704615283714650123804765023684175123784065283714605280643175283645170283674150
12、283674015123084765234180765CLOSED:26OPEN:21讨论yOPEN表中节点的排序对算法的影响x先进先出:宽度优先x后进先出:深度优先x启发函数:启发式搜索y第七步搜索图的扩充与指针的调整S126453CLOSED表中的节点OPEN表中的节点每条弧的费用为1,要搜索到达目标节点的最少费用路径搜索图的弧搜索树的指针,指向父节点x注意:因为节点1的后继已在CLOSED表中(已扩展),所以调整指针时,不仅要调整自己的指针,还要调整其后裔的指针(节点4、5)。若其自身的指针未调整,则不必考虑其后裔节点。对其在CLOSED表中的后裔,也要同样处理。y此算法不仅生成一个搜索
13、图G,而且也生成了一棵由指针联接起来的搜索树,搜索树能给出从起始节点到目标节点的唯一路径问题的解2.3 启发式图搜索法引言y盲目搜索的缺点y启发信息x用于决定要扩展的下一个节点x在扩展一个节点时,用于决定要生成哪一个或哪几个后继节点x用于决定某些应该从搜索树中抛弃或修剪的节点估价函数y估价函数:用来估算节点处于最佳求解路径上的希望程度的函数y有序搜索法:按估价函数值来排OPEN表顺序的图搜索算法x单值有序搜索法只有一个估价函数x多值有序搜索法有n个估价函数第一类多值有序搜索:先按f1排序,f1相同时,再按f2排序,(P31八数码难题之例)。第二类多值有序搜索:每个估价函数fi有一定的前提条件p
14、i,pn=true,对条件满足的估价函数按第一类多值有序搜索方法处理。x第一类多值有序搜索的讨论当n=1时,就是普通的单值有序搜索。令n=2,f1为搜索的深度,f2为另一和问题有关的估价函数,则多值有序搜索变成优化的广度优先搜索,即在广度优先的前提下,在同一层深度中优先选择希望较大的节点。令n=2,f1为接近目标状态的程度估计,f2为接近最佳路径的程度估计,则可以在尽快到达目标的前提下求最佳可能的路径。令n=2,f1=depth/m(/为整除运算),f2为另一个估价函数,则为广义的优化广度优先算法。即按深度计算,以每m层为一个阶梯,搜索优先在低阶的阶梯内进行,在每一层阶梯内部,优先展开那些希望
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 讲义 AI02N
限制150内