梵塔问题建模.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:5 大小:88KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

梵塔问题建模.doc

梵塔问题建模.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

论文题目:梵塔问题摘要针对三个盘子的求解,我们想到的是用状态转移法来解决的。也就是先找出圆盘摆放的27种状态,然后再根据题目规则将能一步移动到位的两个状态连接起来构成树状图,再在图中找出最短路径(也就是移动原盘的最少步数)。针对4个或n个圆盘我们想到了用递归求解的方法来解决这个问题递归求解先定义递归方法,按如下步骤进行解题(设初始盘子个数为n):若1号柱子上仅仅只有一个盘子(n=1),则直接从1号柱移到三号柱,问题完全解决。若1号柱上有一个以上的盘子(n>1),则需要考虑以下三个步骤。第一步:把(n-1)个盘子从1号柱上经过移动,叠放到2号柱上。在不违反规则情况下,所有(n-1)个盘子不能作为一个整体一起移动,而是符合要求地从一个柱子移到另一个柱子上。第二步:将剩下的第n个盘子(也就是最底下的一个)直接从1号柱叠放到空着的3号柱上。第三步:用第一步的方法,再次将2号柱上的所有盘子叠放到叠放到3号柱上。同样,这一步实际上也是由一系列更小的符合规则移动盘子的操作组成的。二.问题的提出如图有①②③三根柱子,大小不同的A,B,C三个圆盘从大到小依次落在①号柱上,如何将①号柱上三个圆盘都移到③号柱上?最少需要移动几次?每次移动必须遵循以下规则:①每次只能移动一个盘子;②每次只能移动最上面的圆盘;③在任何时候,大盘都不能放在小盘上面。*思考:⑴四个盘子又最少需要移动几次?⑵n个盘子呢?CBA①②③三.模型的假设模型使用3个柱子就可将n个盘子从1号柱转移到3号柱.将n个盘子从1号柱转移到3号柱存在最少步数.3.前(n-1)个盘子转移到同一个柱子上的最少步数r.(n1,r>0)4.只有将前(n-1)个盘子移动到②号柱子上时所需要的步数最少。四.符号的定义与说明五.模型的建立与求解对1号柱上有三个盘子时的研究:运用状态转移法,由条件可得有3个盘子时候盘子有27种摆放状态,情形如下:(ABC,0,0)(A,B,C)(A,C,B)(A,BC,0)(A,0,BC)(AB,0,C)(AB,C,0)(AC,0,B)(AC,B,0)(B,A,C)(B,C,A)(B,AC,0)(B,0,AC)(BC,A,0)(BC,0,A)(C,A,B)(C.B.A)(C,AB,0)(C,0,AB)(0,ABC,0)(0,A,BC)(0,AC,B)(0,AB,C)(0,B,AC)(0,BC,A)(0,C,AB)(0,0,ABC)114189171516819263222042512117232241351062127由图可知最少步数移动路线如下:1151718232527因此k=7即1号柱上三个盘子全部移动到3号柱上的最少步数对1号柱上有n个盘子时的研究:,每次只能移动一个盘子,且第n个盘子上无其他盘子.⑴前(n-1)个盘子都在②号柱子上;⑵前(n-1)个盘子都在③号Ⅰ.BAn...n-1③②①Ⅱ.BAn...n-1③①②Ⅰ.若前(n-1)个盘子都在②号柱子上:Ⅱ.若前(n-1)个盘子都在③号柱子上:所以情况(1)的步数为最少步数,最优选择.只有将前(n-1)个盘子移动到②号柱子上时所需要的步数最少。由上述结论可知,从而可以推出即将n个盘子从1号柱移到3号柱的最少步数。进而再求出当1号柱子上有4个圆盘时也就好求了所以当1号柱子上有4个圆盘时将其全部移动到3号柱子上的最少步数为。