- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
搬运工问题的启示
重庆外语学校 刘汝佳
二 搬运工问题及其特点
在对状态空间搜索算法有一定了解之后,我们来看看我们的搬运工问题。究竟用什么方法比较好呢?让我们先来看看该问题的特点
搬运工问题
我们在前面已经介绍过搬运工问题,这里我只是想提一些和解题有关的注意事项。首先,我们考虑的搬运工问题的地图规模最大是20*20,这已经可以满足大部分关卡了。为了以后讨论方便,我们把地图加以编号。从左往右各列称为A,B,C…,而从上往下各行叫a,b,c…。而由于不推箱子时的走路并不重要,我们
在记录解的时候忽略了人的位置和移动,只记录箱子的移动。人的动作很容易根据箱子的动作推出来。下面是包含解答的标准关卡第一关。
呵呵,怎么样,第一关都要那么多步啊…以后的各关,可是越来越难。
搬运工问题的特点
我在前言里吹了这么半天,我想你即使以前没有玩,现在也已经玩过了吧:)。
有什么感觉呢?是不是变化太多了,不好把握?不仅人不好把握,连编程序也变得困难了很多。我们不妨拿它与经典的8数码问题作一个比较。
1.死锁!
初学者很快就会学到什么是死锁 – 一旦他(她)把一个箱子推到角上。显然,这样的布局再继续玩下去是没戏了,不管以后怎么推都不可能把这个箱子推离那个角。不少玩家都总结了不少死锁的经验,但是要比较系统的解决这个问题并不是一件容易的事。我们将用整整一章(其实也不长啦)的篇幅来分析这个问题。
典型的死锁。想一想,为什么:)我们再看一下8数码问题。它没有死锁,因为每一步都是可逆的。在这一点上,搬运工问题要令人头疼得多了。
容易看出,这样的状态空间不是无向图,而是有向图。
2.状态空间。
8数码问题每次最多有4中移动方法,最多的步数也只有几十步。而搬运工问题呢?困难一点的关卡可以是一步有100多种选择,整个解答包括600多次推箱子动作。分支因子和解答树深度都这么大,状态空间自然就非同小可了。
3.下界估计
在启发式搜索中,我们需要计算h值,也就是需要对下界进行估计。8数码问题有很多不错的下界函数(如“离家”距离和),但是搬运工问题又怎么样呢?我们不能直接计算“离家”距离,因为谁的家是哪儿都不清楚。很自然,我们可以做一个二分图的最佳匹配,但是这个下界怎么样呢?
a.准确性
对于A*及其变种来说,下界与实际代价越接近,一般来说算法效率就越高。我们这个最佳匹配只是“理想情况”,但是事实上,在很多情况下箱子相互制约,不得已离开目标路线来为其他箱子腾位置的事情是非常普遍的。例如我们的标准关卡第50关,有的箱子需要从目标格子穿过并离开它来为其它箱子让路。我们的下界函数返回值是100,但是目前的最好结果是370。多么大的差别!
b.效率
由于下界函数是一个调用非常频繁的函数,其效率不容忽视。最佳匹配的时间渐进复杂度大约是O N^3 ,比8数码的下界函数不知大了多少…我们将会在后面给出一些改进方法,但是其本质不会改变。
如何解决搬运工问题
已经有人证明了搬运工问题是NP-Hard,看来我们还是考虑搜索吧。回想一下上一节提到过的状态空间搜索,用哪一种比较好呢?
既然是智力游戏,可用的启发式信息是非常丰富了,我们不仅是要用,而且要用得尽量充分,所以应该用启发式搜索。而前面已经提到了,搬运工问题的状态空间是非常大的,A*是没有办法了,因此我们选择了IDA*算法:实现简单,空间需求也少。
既然搬运工问题这么难,为什么有那么多人都解决了相当数量的关卡呢(标准的90N年以前就被人们模透了)。因为人聪明嘛。他们会预测,会安排,会学习,有直觉的帮助,还有一定的冒险精神。他们(也包括我啦,呵呵)常用的是一些“高层次”的解题策略,既有效,又灵活。 Srbga:想学吗? Readers:当然想!! 可惜这些策略不是那么简单易学,也不是很有规律的。在后面的章节中,我将尽力模仿人的思维方式给我们的程序加入尽量多的智能。
您可能关注的文档
- 砖混结构215㎡农村二层楼房设计图.doc
- 确定宣告刑的方法.doc
- 碳晶取暖试题.docx
- 水性涂料与油性涂料的区别.doc
- 水性涂料涂饰工程(厚涂料)质量标准和检验方法.doc
- 水性涂料涂饰工程(复层涂料)质量标准和检验方法.doc
- 水库钓鱼鱼竿钓点选择的技巧.doc
- 水文化学习材料2.doc
- 水性油墨的组成及其应用时间.doc
- 水性胶的使用及贮存.doc
- 高考总复习优化设计二轮用书数学X 专题检测2.pptx
- DBJ51_T018-2013 回弹法检测高强混凝土抗压强度技术规程(OCR).pdf
- 高考总复习优化设计二轮用书数学X 专题突破练22 直线与圆锥曲线的位置关系.pptx
- 高考总复习优化设计二轮用书数学X 专题突破练8 三角函数的图象与性质.pptx
- DB44_T 1025-2012 城镇公共排水管道检测与评估技术规程(OCR).pdf
- DBJ43T 314-2015 湖南省绿色建筑评价标准(OCR).pdf
- DGJ32/J_19-2007_建筑节能工程施工质量验收规程(OCR).pdf
- 高考总复习优化设计二轮用书数学 限时练3.pptx
- 广东“六校联盟”2026届高三年级第一次联考语文试题及参考答案.docx
- 2026届湖北省腾云联盟高三上学期开学考试语文试题及答案.docx
文档评论(0)