怎样移动梵塔上的金片?

数学里有一些古老的名题,它们往往伴有神奇的传说,以独特的魅力吸引着人们,经久不衰。“梵塔”就是这类名题之一,它的历史恐怕至少也有1000年以上了吧!根据英国剑桥大学露斯鲍尔的说法,“梵塔”故事是这样的:
在世界中心的天竺国贝拿勒斯的神庙里,安放着1块黄铜板,板上插着3根宝石针,像韭菜叶那样粗细。梵天(婆罗门教、印度教主神之一,即创造之神)创造世界时,在其中一根针上从下到上放了由大到小的64片金片。这些金片的中间有洞,可以很方便的套上取下,这便是所谓“梵塔”。不论白天黑夜,都有一个值班的僧侣,按照一定的法则,在长明灯前把这些金片在3根针上移来移去。法则规定:每次只能移动一片,并且无论在哪跟针上,只能是小的金片压在大的上面,绝对不准颠倒过来,把大的金片压在小的之上。梵天预言说,当所有的64片金片都从创造世界时所放的那根针上转移到另一根针上时,世界就将在一声霹雳中消灭,梵塔,神庙和一切众生都将同归于尽。
凡是第一次听到这故事的人,总是很难相信,挪动64片金片竟需要那么漫长的时间。但是,数学家们早已算清了这笔帐:移动一片只需一次,第2片就需2次,以后按几何级数迅速递增。因此,达到上述目标所需要的移动次数是:264-1=18446744073709551615。
我们知道,一年大约有31558000秒所以。即使僧侣们每秒移动一次,昼夜不停,把这事办完也需5845亿年之久,但是,科学家们从能源的角度来推算,太阳系的未来寿命决计超不过150亿年,远远小于梵天的预言。
关于“梵塔”,还有一个需要讨论的问题,就是怎样移动金片的问题。对于这一问题,传统上都是用递归解法。“递归”是教科书上的专用名词。如果用通俗的话来解释,就是“较小规模地按照老样子重复“的意思。这样说虽然不十分确切,大体上也八九不离十了。
例如,假定金片只有4片,那么从A针移到C针应该怎么搬法?
如果用记号1B表示将第一片金片移到B这跟针上,其余依次类推,那么我们可以这样搬:
1B,2C,1C,3B,1A,2B,1B,
一共需搬24-1=15次才能完成。事实上,第5步到第7步,就是第一步到第三步的重复;第9步到第15步,就是第1步到第7步的重复,以后的情况都是这样。
递归解法的原理是相当简单的,但实际执行起来却并不简单,因为随着片数的增多,分支过程是将大增特增,用不了多久,就会脑子发胀,弄糊涂了。
专家们为此而编制了一个程序,让计算机来做,取得了成功。不过,存储的信息量必须很大,用一般微机是,无法胜任的,即使能做,速度也很慢。(1992年资料)
然而不久以前,这个问题却有了重大突破。原来,有两位美国学者竟发现了一种出人意外的,简单的几乎令人不敢相信的办法,只要轮流地进行下面两步操作就行了:
(1)
(2)
这第二步似乎规定的太“活”了,您大概要问究竟移动那一片金片,并把它移到哪里去呢?这在规则中都没有做出交代,然而,却用不着再做什么交代,这恰恰是新方法的精华所在。原来,在这时候,可以搬动的金片与它允许搬往的地方,都只有唯一的一种,没有任意选择的余地。
您读到这里大概十之八九不会相信,哪有此事!这也不足为奇,因为甚至发现者本人在归纳,研究出着两条规律时也曾“吃惊的目瞪口呆”
让我们来做一个模拟实验,具体试验一下吧。请您拿出三本书,当做三根宝石针排成品字形,成三足鼎立之势。这样做容易按照顺时针或反时针方向进行搬动。再拿出一副扑克牌,从中挑出A(当做1点)、2、3、4、5共五张牌当做金片。让我们把移动情况记录下来。开始时,五张牌全部放在A这本书上,并按照上小下大的顺序放好。我们仍用记号1B表示把A这张牌放到B这本书上,其他可以此类推。
搬动过程如下:
1B,2C,1C,3B,1A,2B,1B,4C,
1C,2A,1A,3C,1B,2C,1C,5B,
1A,2B,1B,3A,1C,2A,1A,4B,
1B,2C,1C,3B,1A,2B,1B。
这样,经过25-1=31步后,就把五叶金片放到另一根针上去了,与理论推算所需要的步子数完全符合,一步都不差。
国外有位计算机专家特意做过一个在教育学、心理学、数学等各方面都颇有意思的实验。他用木头制造了这种“梵塔”,只有8叶金片,请他的一位同事来玩。没有多久,这位朋友就一筹莫展,玩不下去了,跑到外面去休息。这时,专家向他的8岁女儿解释了玩法规则。当朋友再次进来时,看到这位小姑娘正像古代的印度僧侣们一样,熟练地搬动着金片。他惊奇的几乎不相信自己的眼睛了!只见几分钟之内,她就走完了28-1=255步,完成了任务。
其后,这位专家又对别的儿童试验过多次。事实表明,百分之九十以上的小朋友都能顺利攻克这道“千年名题”。看来,“梵塔”还可以作为很好的一种智力玩具呢!