人工智能artificialintelligenceai.ppt

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

节点的深度; ①、起始节点(即根节点)的深度为0。 ②、任何其它节点的深度等于其父辈节点深度加上1。 深度优先搜索的基本思路: 先扩展最深的节点。当出现没有后继节点时,换到旁边的次深节点 深度界限的设置: 为了避免出现过深的路径,搜索过程要设置一个深度界限 对于等于深度界限的任何节点,当作没有后继节点的节点来看待 缺点:可能丢失解 ① 把起始节点 S 放到未扩展节点的 OPEN 表中。如果此节点为一目标节点,则得到解 ② 如果 OPEN 为一空表,则无解、失败退出 含有深度界限的深度优先搜索算法: ③ 把第一个节点(记作节点 n )从 OPEN 表移到 CLOSED 表 ④ 如果节点 n 的深度等于最大深度,则转向② ⑤ 扩展节点 n ,产生其全部后继节点,并把它们放入 OPEN 表的前头。如果没有后继节点,则转向② ⑥ 如果后继节点中有任一个节点为目标节点,则求得一个解(反向追踪从目标节点到起始节点的路径),成功退出;否则,转向② ⑤ 把 n 的所有后继节点放到OPEN表的末端,并提供从这些后继节点回到 n 的指针 ⑥ 如果 n 的任一个后继节点是个目标节点,则找到一个解(反向追踪得到从目标节点到起始节点的路径),成功退出,否则转向第②步 OPEN 表是存放待扩展的节点,从数据结构上来说,它是一个先进先出的队列 CLOSED 表是存放已被扩展过的节点(包括有后继节点的非端节点和无后继节点的端节点) 说明: 流程图 ① 搜索过程产生的节点和指针构成一棵隐式定义的状态空间树的子树,称之为搜索树 ② 宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径(所用操作符最少) 注意几点: 例:八数码问题 初始状态 目标状态 操作符: 5 6 7 4 1 3 8 2 5 6 7 4 8 3 2 1 空 1 2 4 3 状态:长度为9的一维数组 (q1 , q2 , … , q9 ) 其中,qi 取 0 , 1 , … , 8 个数,0 表示空格,且取值互不相同 如果记空格的位置为P,这时空格的移动规则是: 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 P P-3 P+1 P+3 P-1 数字表示位置 顺序 规则 前提条件 应用结果 1 左移 P≠1,4,7 P 位置与 P-1 位置上的元素互换 2 上移 P≠1,2,3 P-3 3 下移 P≠7,8,9 P+3 4 右移 P≠3,6,9 P+1 空格移动规则 P P-3 P+3 P-1 P+1 9 8 7 6 5 4 3 2 1 为了记录后继节点与父节点之间的指针,我们将长度为 9 的数组扩大到长度为 11 的数组,其中一个元素记录该节点的父节点标志,另一个元素记录操作符的序号 操作符 父节点 状态 OPEN表的存储形式:队列 插入端(队尾) 删除端(队头) 队列:一种先进先出的线性表,允许在表的一端进行插入、另一端进行删除 CLOSED表的存储形式:也可以用队列 符 父 插入端(队尾) 特殊的队列:只进不出的队列,只允许在表的一端进行插入 某一个节点的父节点标志: 记录CLOSED表中的父节点的序号 起始节点的父节点标志和操作符: 不作记录或记录为负 搜索过程(按照程序运行方式) ① 起始节点放到OPEN表 5 6 7 4 0 1 3 8 2 ② OPEN不为空,继续 5 6 7 4 1 3 8 2 ③ 将第一个节点 n 从 OPEN 表中移出,并放到CLOSED表中 5 6 7 4 0 1 3 8 2 0 0 OPEN表 CLOSED表 节点n 1 ④ 扩展节点n 5 6 7 0 4 1 3 8 2 5 0 7 4 6 1 3 8 2 5 6 7 4 8 1 3 0 2 5 6 7 4 1 0 3 8 2 5 6 7 4 0 1 3 8 2 0 0 扩展 5 6 7 4 1 3 8 2 ⑤ 将节点 n 的所有后继节点放到 OPEN 表的末端,并提供这些后继节点回到 n 的指针 5 6 7 0 4 1 3 8 2 4 1 5 0 7 4 6 1 3 8 2 3 1 5 6 7 4 8 1 3 0 2 2 1 5 6 7 4 1 0 3 8 2 1 1 OPEN表 符 父 5 6 7 4 0 1 3 8 2 0 0 CLOSED ⑥ 后继节点中无目标节点,转到② ② OPEN表不为空,继续 ③ 将第一个节点 n 从 OPEN 表中移出,并放到CLOSED 表中 O

文档评论(0)

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

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

1亿VIP精品文档

相关文档