- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有界深度优先搜索算法的实现.doc
实验报告 有界深度优先搜索算法的实现
一.实验目的
(1)熟悉盲目搜索—有界深度优先算法;
(2)通过实验实际操作有界深度优先算法的运行,深入理解其内涵;
(3)掌握有界深度优先算法,并会在其他问题中运用。
二.实验原理
(1)问题描述
八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格(以数字0来表示),与空格相邻的棋子可以移到空格中。要求解决的问题是:给出一个初始状态和一个目标状态,找出一种从初始转变成目标状态的移动棋子步数最少的移动步骤。所谓问题的一个状态就是棋子在棋盘上的一种摆法。解八数码问题实际上就是找出从初始状态到达目标状态所经过的一系列中间过渡状态。
(2)有界深度优先算法原理
它是从根节点开始,首先扩展最新产生的节点,即沿着搜索树的深度发展下去,一直到没有后继结点处时再返回,换一条路径走下去。就是在搜索树的每一层始终先只扩展一个子节点,不断地向纵深前进直到不能再前进(到达叶子节点或受到深度限制)时,才从当前节点返回到上一级节点,沿另一方向又继续前进。这种方法的搜索树是从树根开始一枝一枝逐渐形成的。
由于一个有解的问题树可能含有无穷分枝,深度优先搜索如果误入无穷分枝(即深度无限),则不可能找到目标节点。为了避免这种情况的出现,在实施这一方法时,定出一个深度界限,在搜索达到这一深度界限而且尚未找到目标时,即返回重找,所以,深度优先搜索策略是不完备的。另外,应用此策略得到的解不一定是最佳解(最短路径)。
三.实验内容
1、?熟悉了解有界深度优先算法;
2、 对课堂上讲解的八数码难题的例题(深度界限设为5),编程求解。
四.实验步骤
(1)设置深度界限,假设为5;
(2)判断初始节点是否为目标节点,若初始节点是目标节点则搜索过程结束;若不是则转到第2步;
(3)由初始节点向第1层扩展,得到节点2,判断节点2是否为目标节点;若是则搜索过程结束;若不是,则将节点2向第2层扩展,得到节点3;
(4)判断节点3是否为目标节点,若是则搜索过程结束;若不是则将节点3向第3层扩展,得到节点4;
(5)判断节点4是否为目标节点,若是则搜索过程结束;若不是则将节点4向第4层扩展,得到节点5;
(6)判断节点5是否为目标节点,若是则搜索过程结束;若不是则结束此轮搜索,返回到第2层,将节点3向第3层扩展得到节点6;
(7)判断节点6是否为目标节点,若是则搜索过程结束;若不是则将节点6向第4层扩展,得到节点7;
(8)判断节点7是否为目标节点,若是则结束搜索过程;若不是则将节点6向第4层扩展得到节点8;
(9)依次类推,直到得到目标节点为止;
(10)搜索过程见附图2所示。
?
五.程序
六.实验结果和分析
通过这次实验和以前做过的分析,在宽度优先搜索过程中,扩展到第26个节点时找到了目标节点;而在深度优先搜索过程中,扩展到第18个节点时得到了目标节点。
在宽度优先搜索过程中,需要遍历目标节点所在层之前每层的所有节点,即需要遍历所有的分支。而深度优先搜索过程中,则不需要遍历这么多的节点。所以,在“八”数码难题的求解过程中,深度优先搜索的效率明显比宽度优先搜索的效率要高。
一般情况下,深度优先适合深度大的树,不适合广度大的树,广度优先则正好相反。所谓深度大的树就是指起始节点到目标节点的中间节点多的树(可以理解成问题有很多中间解,这些解都可以认为是部分正确的,但要得到完全正确的结果——目标节点,就必须先依次求出这些中间解)。所谓广度大的树就是指起始节点到目标节点的可能节点很多的树(可以理解成问题有很多可能解,这些解要么正确,要么错误。要得到完全正确的结果——目标节点,就必须依次判断这些可能解是否正确)。多数情况下,深度优先搜索的效率要高于宽度优先搜索。但某些时候,对于这两种搜索策略的优劣(或效率)还需要针对不同的问题进行具体分析比较。
您可能关注的文档
- 数据结构课程设计查找算法性能分析.doc
- 数据统计分析管理制度.doc
- 数据表k_匿名化的微聚集算法研究.pdf
- 数据质量管理与企业信息化建设.pdf
- 数据迁移软件与解决方案欣荣泉视频监控软件.doc
- 数据采集监控系统的设计与实现.pdf
- 数据链路层ARQ协议.doc
- 数电实验—密码锁报告.pdf
- 文件操作与查找排序算法实现.doc
- 文化人类学视野下的宗教文化及其研究的视角与焦点.pdf
- 小学数学新教材单元数学实践活动设计与评价研究教学研究课题报告.docx
- 校园智能学习环境中的区块链技术安全性与隐私保护研究教学研究课题报告.docx
- 初中艺术教育课程设置与学校课程资源整合的策略分析教学研究课题报告.docx
- 制造业数字化转型的策略与价值创造能力的提升方法.docx
- 小学英语口语教学中生成式AI辅助的个性化听说能力提升策略探讨教学研究课题报告.docx
- 基于实验探究的高中化学教学策略与科学探究能力培养研究教学研究课题报告.docx
- 用工合同变更协议模板.docx
- 玩具售卖租赁合同协议.docx
- 玩具店进货明细合同协议.docx
- 《商业银行信用风险管理大数据模型优化与信用等级评定实践》教学研究课题报告.docx
文档评论(0)