第五章状态空间搜索策略.pptxVIP

  • 11
  • 0
  • 约3.99千字
  • 约 66页
  • 2021-07-02 发布于河北
  • 举报
;5.1 搜索的概念及种类 5.2 盲目搜索 5.3 启发式搜索;5.1 搜索的概念及种类;搜索例子:回溯搜索算法;四皇后问题;四皇后问题(续);( );( );( );( );( );( );( );( );( );( );( );( );( );5.1 搜索的概念及种类 5.2 盲目搜索 5.3 启发式搜索;5.2 盲目搜索策略 5.2.1 状态空间图的一般搜索算法;5.2.1 状态空间图的一般搜索算法;状态空间的一般搜索算法;图的一些概念: (1)节点深度: 根节点深度=0,其它节点深度=父节点深度+1 (2)路径 设一节点序列为(n0, n1,…,nk),对于i=1,…,k,若节点ni-1具有一个后继节点ni,则该序列称为从n0到nk的路径。 (3)路径的消耗值 一条路径的消耗值等于连接这条路径各节点间所有消耗值的总和。用C(ni, nj)表示从ni到nj的路径的消耗值。;节点类型说明;;;;;5.2 无信息图搜索过程 ——盲目搜索策略;1、定义   如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索(breadth-first search)。 2、特点   这种搜索是逐层进行的;在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。  ;3、宽度优先搜索算法  (1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。  (2) 如果OPEN是个空表,则没有解,失败退出;否则继续。  (3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED的扩展节点表中。 (4) 扩展节点n。如果没有后继节点,则转向上述第(2)步。 (5) 把n的所有后继节点放到OPEN表末端,并提供从这些后继节点回到n的指针。 (6) 如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。;例:把宽度优先搜索应用于八数码难题时所生成的搜索树,这个问题就是要把初始棋局变为如下目标棋局的问题: 1 2 3 8  4 7 6 5;2 3 1 8 4 7 6 5;宽度优先搜索的性质;1、定义   在此搜索中,首先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。   这种盲目(无信息)搜索叫做深度优先搜索(depth-first search)。 2、特点   首先,扩展最深的节点的结果使得搜索沿着状态空间某条单一的路径从起始节点向下进行下去;只有当搜索到达一个没有后裔的状态时,它才考虑另一条替代的路径。 3、深度界限  为了避免考虑太长的路径(防止搜索过程沿着无益的路径扩展下去),往往给出一个节点扩展的最大深度界限。任何节点如果达到了深度界限,那么都将把它们作为没有后继节点处理。 ;3、深度优先搜索算法  (1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。  (2) 如果OPEN是个空表,则没有解,失败退出;否则继续。  (3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED的扩展节点表中。 (4) 考察节点n是否为目标节点,若是,则找到问题的解,用回溯法求解路径,退出 (5)如果没有后继节点,则转向上述第(2)步。 (6) 扩展节点n,把n的所有后继节点放到OPEN表前端,并提供从这些后继节点回到n的指针。转向第(2)步。;2 3 1 8 4 7 6 5;深度优先搜索的性质;1、定义   状态空间图中各节点之间有向边的代价是不同的,有向边上标有代价的搜索树成为代价搜索树。 2、特点   每次从OPEN表中选择一个代价最小的节点,移入CLOSED表。 3、C(i,j):从节点i到其后继节点j的连线代价; g(x):从初始节点到任意节点x的路径代价; g(j)=g(i)+C(i,j).;4、代价树的宽度优先搜索算法  (1) 把起始节点放到OPEN表中,令g(S0)=0。  (2) 如果OPEN是个空表,则没有解,失败退出;否则继续。  (3) 把OPEN表中代价最小的节点(即排在最前端的节点n),移入CLOSED的扩展节点表中。 (4) 如果n是目标节点,问题得解,退出。否则继续。 (5) 判断节点n是否可扩展。若否则转向第(2)步,若是则转向(6)。 (6) 对节点n进行扩展,将他们的所有后继节点放到OPEN表中,并对每个后继节点j计算其总代价g(j)=g(j)+C(i,j),为每个后继节点指向n节点的指针,然后根据节点的代价大小对OPEN表中的所有节点进行从小到大的排序。 (7) 转向第(2)步

文档评论(0)

1亿VIP精品文档

相关文档