汉诺塔问题的一般公式
通式:h (k) = 2 k-1。
汉诺塔的游戏是在一个铜板装置上,有三根棒(编号为A、B、C)。在A杆上,从下到上依次放置64个金盘。游戏的目标:将A极上的所有金盘移动到C极,保持原来的顺序折叠。
操作规则:一次只能移动一个盘子,移动过程中大盘子始终保持在三根杆子下面,小盘在上面。在操作过程中,该板可以放置在A、B和C的任何电极上。
解析:对于这样的问题,任何人都不可能直接把移动盘子的每一步都写下来,但是可以用下面的方法来解决。设移动板的数量为n,为了将这n块板从杆A移动到杆C,可以进行以下三个步骤:
(1)以磁盘C为中介,将磁盘1到n-1从A极移动到B极;
(2)移动剩余的号码n盘在A极到C极之间;
(3)以A极为中介;将磁盘1到n-1从B极移到C极。
其实上面的方法是假设磁盘数为n,n可以是任意数。此方法也适用于移动n-1磁盘。因此,根据上述方法,可以解决n -1板从A极移动到B极(第一步)或从B极移动到C极(第三步)的问题。现在,问题从移动n块板的操作变成移动n-2块板的操作。
根据这个原理,可以将原问题转化为移动n -2,n -3 3,2直到1个磁盘的运算,直接完成移动一个磁盘的运算。
扩展数据:
目前解决汉诺塔问题的一个最重要的观点是,在完成汉诺塔的任务时,应该提前并追溯性地规划圆盘的移动顺序。
问题呈现时,在第一步移动之前,大部分被试会根据设定的目标状态提前规划好圆盘的移动顺序。来确定圆盘的移动顺序,但这种规划能力的作用可能会受到问题难度的影响。
也有研究者认为,参与汉诺塔问题解决的不是计划能力,而是抑制能力。为了先将较大的圆盘放到指定位置,较小的圆盘必须暂时偏离其最终位置,但受试者的自然反应总是尽快将圆盘移动到最终目的地,这就导致了误差,移动步骤更多,完成时间更长。