第五章状态空间的各种搜索.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第五章状态空间的各种搜索一.概述广度优先搜索法:以接近起始节点的程度依次扩展节点,即对下一层节点搜索前,必须先搜索完本层所有节点深度优先搜索法:首先扩展最新产生的节点,每层只对一个节点进行扩展,除非搜索失败或已达到预先约定的最大深度,才会退回去搜索原来忽略节点二.广度优先搜索1.定义:树上节点的扩展是沿着深度的“断层”进行的,即要对下一深度的任一节点进行搜索扩展之前,先要对当前(层)深度的每一个节点进行搜索,这种搜索能保证找到步数最少二.广度优先搜索2.算法:(1)把初始节点放入待扩展节点的open表中,此表开始只有起始节点,其结构为队结构(先进先出),节点是先产生先扩展(2)如表open空(即待扩展节点已全部扩展完),失败退出(3)把open表中队列前的节点取出,按合适的途径扩展全部子节点,并把新产生的子节点依次加入open表后,同时提供子节点返回父节点指针,若无子节点返回(2)(4)如果有任一子节点为目标节点,则找到一个解,打印路径,退出返回(2)二.广度优先搜索例1有一个瓶中装有80ml化学溶液,实验中需要把它精确地平分成两份,没有量具,只有两杯子容量分别为50ml和30ml,编程求将溶液平分的过程.三.深度优先搜索 首先扩展最新产生的节点,使搜索沿着状态空间某条单一路径从起始节点向下进行,只有搜索到没有子节点产生时,才考虑另一条替换路径,且替换路径应先选与原路径差异最小的.为避免路径太长,防止搜索过程沿无益路径扩展下去,往往给出节点扩展最大深度.如任何节点达到深度界限,可作为没有子节点的节点处理,不再深入搜索下去.三.深度优先搜索例2.8数码问题作业完成8数码问题已知:给定的源状态,求出要求的目标态SICILY1378八数码问题ASICILY1379八数码问题B三.深度优先搜索深优可用栈来存储节点,每生成一个节点就放入栈中(除了已经达到限定深度的节点外,因达到限定深度节点无需再扩展),每次我们选栈顶节点再进行扩展,直至找到目标节点为止.扩展顺序扩展前栈内节点标号选取扩展节点标号 1 1 1 2 2,3,4,5 5 3 2,3,4,6,7 7 4 2,3,4,6,8 8 5 2,3,4,6 6 6 2,3,4,11 11 7 2,3,4 4 8 2,3,14,15 15 9 2,3,14,16 1610 2,3,17,18 18三.深度优先搜索深优搜索算法:(1)从初始节点开始,将待扩展节点依次放到open中(后进先出)(2)如表open空,即所有待扩展节点已全部扩展完毕,则失败退出(3)取open表中最新加入的节点,即栈顶节点出栈,按适当规则扩展所有子节点,同时记录这些节点的父指针,并将这些节点依次放入open表中.若无子节点,返回(2)(4)如某一子节点为目标节点,则求得解.沿指针所示,打印路径.若只需要一个解,则退出.否则返回(2)继续搜索新的目标节点.三.深度优先搜索讨论:例3:在m*m(m=7)的盘上玩一种游戏,在盘上放m*m-1块编号的方块,初始状态是在盘的左上角从最小编号放起,即1,2,…,m*m-2,m*m-1,按升序排列,先放完第一行,再放第二行,而目标状态是在盘上左上角从m*m-1开始放起,即m*m-1,m*m-2,…,3,2,1,按降序排列,并使底下右角处保持空.三.深度优先搜索例如:m=412 3415141312567811109891011127654131415321初始状态目标状态任务:输入一个m值,从初始状态向目标状态转换,一次移动是把与空格相邻的方块移到空格,要求以最小步数实现这种转换,并显示移动过程.三.深度优先搜索例4:开连环锁问题.有一把锁,在它的锁销上有N个环,如果让这N个环都拆下来锁就被打开.但拆环和装环必须遵循下列规则(1)第一个环可以随意装拆(2)第二个环只有在第一个环已装上时才可装拆(3)第N个环只有在第N-1个环已装上,且第N-2个,第N-3个,…,第1个环均已拆下时才可装拆试编程描述把锁打开的过程.三.深度优先搜索解题思路:深优或者递归深优:设N=4(1).初态1,环都装上(2).由1可有两种:拆第2环获状态2;拆第1环

文档评论(0)

金华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档