分享
分享赚钱 收藏 举报 版权申诉 / 5

类型关于广度优先搜索的两个问题.doc

  • 上传人:lxhqcj
  • 文档编号:6829637
  • 上传时间:2019-04-23
  • 格式:DOC
  • 页数:5
  • 大小:48.92KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    关于广度优先搜索的两个问题.doc
    资源描述:

    1、1关于广度优先搜索的两个问题目 录:一、在广度优先搜索中新结点入队前的判重方法二、华容道游戏的搜索策略一、在广度优先搜索中新结点入队前的判重方法在广度优先搜索中,每个新扩展的结点要经过判重后,才能入队。 “判重”要与所有已处理过的结点(包含已出队的结点)进行比较,如果该结点位于第 k 层,假定每层结点的平均个数是 m,则一般要进行(1+2+.+k)*m=O(k 2m) 次比较。下面给出一个重要的结论,对于位于第 k 层的结点,只要和第 k-2, k-1,k 这三层已产生的结点比较就够了,比较次数为 O(km),当 k 很大时,其效益是相当明显的。状态空间 S 定义如下:(1) 初始状态 ,T0

    2、(2) 一个状态的派生状态是指由该状态通过一步操作可以产生的状态。 ,STi由 Ti 直接派生的全部状态 。并且这种派生是可逆的,即:如果 Ti 能派生 Tj ,Sj则 Tj 也能派生 Ti。(3)S 中的状态数是有限的。问题:设 Tobj 是目标状态。判断 Tobj 是否属于 S,如果 ,找出由 T0 用最少Sobj操作步数产生 Tobj 的过程。使用广度优先搜索(以下简称 BFS)解决上述问题。T 0 为搜索树的第 0 层,搜索树的第 i 层为通过 i 步搜索得到的全部可能的状态,但删除了与前面某层重复的状态。即搜索树中的全部状态是互不相同的。如果某一层出现了目标状态 Tobj,则得到了肯

    3、定形式的解,搜索结束。如果遍历了全部状态,没有找到目标状态 Tobj,则得到了否定形式的解,搜索也结束。定理:设 是搜索树中任意一个状态,设 T 位于第 r 层。如果 r=3,为了判S断 T 是否与前面的某个状态重复,只需将 T 与第 r-2 层、第 r-1 层和第 r 层中已产生的状态进行比较。就可以确保搜索树中的全部状态互不相同。并且能够遍历全部状态。证明:对 r 用数学归纳法。(1) 当 r=2 时,根据 BFS 算法,定理的结论显然成立。搜索树的第 0 层、第 1 层和第 2 层中的状态互不相同。并且第 1 层和第 2 层分别保存了能够通过 1 步或 2 步操作得到的全部状态。(2)

    4、设对搜索树的第 k 层 (k 是小于 r 的任何正整数),定理的结论成立:每个状态2在至多比较 3 层即可决定是否保留的前提下,搜索树中的前 k 层的状态互不相同。并且第 k 层保存了恰好需要 k 步操作可以产生的全部状态。(3) 设 T 位于第 r 层。并且是与第 r-2 层、第 r-1 层和第 r 层中已产生的状态进行比较后不重复而保留下来的状态。假定 T 是由第 r-1 层的状态 A 派生的。如果 T 与前面的某层中的某个状态 T重复,设 T在第 m 层,mr-2,显然,T不是由 A 派生的(因为由归纳假设,在前 r-1 层中,只有一个 A) 。设 T是由另一个状态 B 派生的,由 T派

    5、生的全部状态(由于派生是可逆的,其中必包含 A) ,去掉重复的以后,应放在 m+1 层, m+1r-1,如果经过比较后,状态 A 没有被删除,就与第 r-1 层中的 A 重复,矛盾。如果经过比较后,状态 A 被删除了,说明在第 m-1、m 及m+1 这 3 层中的某一层中有状态 A,仍然与第 r-1 层中的 A 重复,矛盾。这就证明了T 与前面的任何一个状态都不相同。再次利用归纳假设,由于第 r-1 层保存了恰好需要 r-1 步操作可以产生的全部状态。根据 BFS 算法和上面的证明,可以断定,第 r 层一定保存了恰好需要 r 步操作可以产生的全部状态。证毕。说明:一般地说,状态空间中的每个状态

    6、是某个无向图的结点,可以由不同的结点派生。但是,对于确定的初始状态,在广度优先搜索的搜索树中,每个结点的深度是唯一确定的。上述结论正是基于这样的基本事实。二、 华容道游戏的搜索策略1 问题简介华容道是在我国流传久远的一个益智游戏,然而其魅力至今不减,目前在许多商场内仍可见到基于这一游戏的玩具。该游戏起源于三国时期的一个著名故事:东汉末年,赤壁之战,曹操被周瑜杀得大败,带残兵从华容道仓皇逃走,不料大将关羽带兵在此等候。由于曹操与关羽曾经有过一段交往,关羽放曹操逃离华容道。华容道游戏的棋盘是由 20 个小正方形组成的长方形,宽 4 格,长 5 格。共有 10 个棋子,详见右下图。棋盘的下部有两个空

    7、置的小格作为华容道的出口。棋子就在这个长方形的棋盘内滑动,滑动过程中棋子不允许重叠。华容道是一个比较复杂的游戏,要移动很多步才能完成。对于右图的布局(通常称为“横刀立马” ,华容道游戏还有多种布局,详见附录) ,已知的最好走法是 81 步。 下面先简要介绍求解该问题的双向广度优先搜索的算法的基本思想,然后进行了复杂性分析。2 搜索算法简介张飞 曹 操马超关 羽赵云 兵 兵黄忠兵 兵3我们用一个 5*4 的数组来记录棋盘状态,用标号 1-5,8,9 来表示各个棋子,例如,初始状态可表示为4 9 9 5 4 9 9 5 2 8 8 3 2 1 1 3 1 0 0 1(单向)广度优先搜索是大家熟知的

    8、算法,其基本步骤如下:(2.1)将初始结点入队。队头指向该结点,队尾指向该结点之后。(2.2) 将队头结点出队,生成所有可能的扩展结点,队头指向下一个结点。如果某个新生成的结点已符合目标则结束,否则通过比较,将与已在队列中的结点不重复的新结点入队。队尾指向新结点之后。(2.3)重复(2.2) ,直到某个结点符合目标或队列空(即队尾位于队头之前)为止。我们采用的双向广度优先搜索是指建立两个队列,分别从初始状态和目标状态出发进行搜索,直到遇到一个共同的结点(状态)为止。与单向搜索相比,其效率要高得多(详见后面的分析) 。但这一方法必须要事先知道目标状态。实际计算表明,与单向搜索相比,我们的双向搜索

    9、方法可节省一半的空间,而时间不到前者的十分之一。因而是一个很有效的算法。从理论上讲,广度优先搜索得到的结果在某种确定的意义下应该是最优的。3 复杂性分析在具体搜索过程中,两个空格(即数字 0 表示的方块)既可独立移动,又可同时移动,为简单计,在下面的讨论中,我们只考虑一个空格移动的情形。对于要扩展的节点,空格的不同方向的移动可产生新的节点,去掉一个父节点,还可产生 3 个新的节点(这里,暂不考虑可能与队列中已有点重复的点) ,假定按广度优先搜索,初始状态经过 K 步可达到目标状态,共需搜索 K 层,记初始状态为第 0 层,则第 i 层有节点 3i个,从第 0 层到第 K 层共有节点 1+3+3

    10、 2+。 。 。+3 K=(3 K+1-1)/2 个。对于单向广度优先搜索,除第 K 层可减少一些节点外,基本上是全部搜索,记SL=(3 K+1-1)/2为单向广度优先搜索所搜索的节点数,显然,时间复杂性与空间复杂性都与 SL 成正比。对于双向广度优先搜索,假定两个方向的搜索在第 S 层相遇(即得到相同节点)而结束(1SK) 。 这时,各自搜索的节点数分别为:(3 S+1-1)/2, (3 K-S+1-1)/2,记DL(S)=(3S+1-1)/2+(3K-S+1-1)/24为双向广度优先搜索的两个方向搜索在第 S 层相遇时所搜索的节点数,再假定 S 取值为 1,2,. . .,K 的概率是相同

    11、的,则双向广度优先搜索的平均搜索的节点数为:DL= SDL1)(KS11S-K)/2(3)/2-(= -132= 31K故 DL/SL2/K,即双向广度优先搜索的平均搜索的节点数约为单向的 2/K 倍。一般地,K 是个很大的数(本例中 K120) 。这表明,双向搜索远远优于单向搜索。上面仅就一个简化模型讨论的。在我们的实际对照计算中,双向广度优先搜索的运行时间约为单向的十分之一。4 算法的实现细节,详见程序。附录:华容道游戏的各种布局及最少的步数(根据资料4山科益智游戏华容道的帮助文档改编)华容道经过历代多次演变和发展,产生了非常丰富的布局类型,数目不下百种。一般按“上将”棋子横排的数目,把“

    12、华容道”分五种:一横布局,二横布局,三横布局,四横布局,五横布局。本游戏精选其中具有代表性的布局共 27 种。华容道游戏按移动的步数计算成绩。华容道是比较复杂的游戏,要移动很多步才能完成。最常见的布局“横刀立马”已知的最好走法是 81 步。下面是部分布局的最少步数统计。一横布局:横刀立马(一)81,横刀立马(二)70,屯兵东路 71,左右布兵 34;二横布局:横竖皆将 92,双将挡路 73,插翅难飞 62,守口如瓶(一)88,守口如瓶(二)100;三横布局:层层设防(一)102,层层设防(二)122,堵塞要道 43,五虎拦路 40,三军联防 74;四横布局:水泄不通 80,兵将连环 76,四路进兵 67,天罗地网 29;五横布局:巧过五关 34,森严垒兵 52。参考资料:1 陈庆生,计算机在求解“华容道” 问题中的应用,软件工程进展, 1988.1.2 闯过华容道(原载:科学美国人中文版) ,数学游戏(下) ,科学技术文献出版社,1999。3 吴鹤龄编著,七巧板、九连环和华容道,科学出版社,200454 北京山科技术开发有限公司 山科益智游戏华容道 ,19975 李学武, 华容道游戏的搜索策略, 天津师大学报, 2002.5

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:关于广度优先搜索的两个问题.doc
    链接地址:https://www.docduoduo.com/p-6829637.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开