0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汉诺塔:闪烁在数学和心理学交汇之地奇妙问题

算法与数据结构 来源:未知 作者:李倩 2018-09-19 18:09 次阅读

"当 64 金片移动完成时宇宙会在一瞬间闪电式毁灭."

数学家和心理学家们的研究鲜有交集,即便有,也难想象其中有汉诺塔问题会闪烁其中。然而,汉诺塔问题在这两个领域都很有吸引力。心理学上,它有助评估一个人的认知能力。数学上,它展示了大量优美特征,带你直面惊人棘手的待解难题。

其游戏规则直截了当。有三根桩和一些碟片(最早是八个),碟片按照大小顺序叠在其中一根桩上,最大的碟片放在最底部。你的任务是把整叠碟片移动到另一根桩上,一次只许移动一张,期间不许大碟压小碟。

数学家安德里亚斯·M·欣茨(Andreas M. Hinz)从数学和心理学的角度来看待这款游戏。他即将出版一本关于汉诺塔游戏的书,而且他与心理学家合作开发了一种评估病人的新工具。他解释说,汉诺塔问题对心理学家来说如此有趣缘于其简洁性。“这个游戏很容易解释,你可以看到人们在思考,”他说。“(被试人员)在实验组织者面前做动作,这样你就能看清他尝试的每一步、每一个策略。这就是心理学家如此喜欢它的原因所在。”

这个游戏特别适用于评估人们的任务规划和任务细分能力:要移动整个塔,先得移动塔的顶端,同样的规则也适用于后续子问题。修改问题也容易:可以添加更多碟片,或者规定新的开始和结束条件,比如说不让所有碟片最终堆叠在一个桩上。事实证明,这两种特性:游戏的递归特性及其可变性,也引出了一些非常有趣的数学问题。

游戏规划

The Game Plan

观察游戏结构的最佳方法是绘制网络或图形,显示所有可能的构图和移动。假设用三张碟片和三根桩来玩这个游戏。将碟1、碟2和碟3标上序号,其中碟1最小, 碟3最大。也为桩1,桩2和桩3打上标记。现在假设碟1和碟3在桩1上,碟2在桩3上。使用三元组(1,3,1)对这种情况进行编码。三元组中数值的位置编号对应于碟片编号,数值表示该碟片所在的桩。因为已知必须按大小顺序排列,所以在哪根桩上放置几号碟片就不会搞混。因此任一合法的碟片码放方式都可以明确地以有序三元组来编码。

连接各状态转移节点

现在在纸上把每个三元组画到圈内。如果单步移动碟片能够从一个圈转移到另一个圈,则将二者连起来。例如起始状态(1,1,1)(所有碟片在桩1)连到了(2,1,1)(碟1在桩2,其他碟都在桩1)和(3,1,1)(碟1在桩3,其他碟都在桩1)上。总共有 3³=27种可能存在的状态。它们构成如下状态转换图:

汉诺塔游戏的状态转移图 H3

这张图叫做汉诺塔游戏状态转移图,以H3表示。下标3表明游戏中有3个碟子。

有了状态转换图就很容易描述某人的游戏过程。“心理学家热衷于使用状态转移图,因为可以用它画出被试者的动作序列,”欣茨解释道,“你能从中轻易看出他有没有做出最优操作,或者,如果没有,他在哪里遇到问题,在哪里长时间思考等。因此可以从个人或众人的测试结果中掌握许多信息,假如你把众人的些操作过程图叠加到一起来看的话。”

玩3张碟子的汉诺塔游戏十分简单,那么4碟、5碟、6碟或任意n碟时情况如何呢?从转移图来看答案非常漂亮:4碟子汉诺塔游戏的状态转移图H4中包含3个H3图,每个H3图与其他两个H3图都由单边相连。

4碟子汉诺塔游戏的状态转移图H4中包含3个H3图

类似地,H5图由3个H4图构成,H6图由3个H5图构成,以此类推。这是由游戏的递归特性决定的:如果忽略最大的碟子,n+1碟汉诺塔游戏就变成了n碟汉诺塔游戏。比如说在4碟汉诺塔游戏中,最大的碟4在桩1,对余下3张碟的任何合法操作,也同样是忽略碟4后3碟汉诺塔游戏中的一个合法操作。因此,如果看H4图中碟4在桩1的状态节点(这些状态节点的标签以1结尾),会看到一个H3图。类似地,碟4在桩2时、碟4在桩3时,会分别看到各自对应的H3图。

如何在这些状态转移图上移动?若想移动碟4,必得其他3碟同在另外两桩之一上面才行。每份H3图中都有2个节点对应此种情况(分别表示另外两桩之一上有全部剩余碟子),从任一H3图出发分别有一条边通往其他两个H3图(代表碟4移动)。因此各H3图被两两分组并联通。同理,当n为整数时,Hn+1图中包含3个Hn图。

2012年7月,在克拉科夫(Krakow)的欧洲数学大会(European Congress of Mathematics)上,欣茨在介绍他的书《The Tower of Hanoi — Myths and Maths》(汉诺塔——神话和数学)

如果已经掌握了解决汉诺塔游戏的方法,那么增加碟子数并不会相应加大游戏难度。但若规定:游戏开始和结束时,并非所有碟子都以塔式叠于同一根桩上,那么事情就复杂了。“此时游戏变得相当困难,”欣茨说。“心理学家在测试中使用了这种变体游戏,但他们对其结构理解不深。我们帮助其建立了这种图表式的数学模型,使得可以用数学方法分析游戏结构。”

比如,通过状态转移图可以立即看出,无论怎样规定起止条件,无论用多少碟子,总是可以找到游戏答案。因为很容易从递归结构中推断出每个Hn图都是联通的:任何两个节点之间都有通路。

但是最小移动次数的最优解怎样求呢?一般的起止条件是所有碟子都在一个桩上,因此可以算出最小移动步数是 2n-1。这也是最糟的:任意起止条件下,最小移动步数至少是2^(n-1)。可以用数学归纳法证明:首先证明该公式对于初值 n=1 成立,然后证明如果公式对n成立则必定对 n+1 也成立。(自己证明试试,或看看这个证明)plus.maths.org/content/optimal-solution

三角形连接

Triangle Connections

数学家发现,增加碟子的数量会引发一些有趣的问题。假设游戏中有无数个碟片,那么状态转移图会是怎样的?好吧,看看下面的图片。

谢尔宾斯基三角形Sierpiński's triangle

这便是谢尔宾斯基三角形。通过另一种无限递归过程就能生成它。从一个(填满的)等边三角形开始,去掉其三条边的中点的连线所围的倒三角形(只移走该倒三角形的内部而留下其三条边)。现在剩下了 3 个填满的等边三角形。同样地,再从这 3 个三角形中逐一移除其各自的中心倒三角形,于是便剩下9个三角形。继续进行,总是从剩余的各个三角形中移除其中间倒三角形,不断重复进行。最终你会得到谢尔宾斯基三角形。

谢尔宾斯基三角形是最著名的分形之一。它是自相似的:任何一个三角形不管它有多小,如果放大其内部,你看到的都和整张图完全一样。谢尔宾斯基三角形属于一个介于相邻维度之间的奇怪世界:它比光滑的一维曲线维度更高,但面积是零,所以也就不是二维对象。数学家们推广了维度的概念,以抓住此类复杂事物的本质。从广义的维度概念来看,谢尔宾斯基三角形的维度是log3/log2≈1.585。

当逐渐增加汉诺塔游戏中的碟子时,对应的状态转换图经过适当缩放,看起来就越来越像谢尔宾斯基三角形。当n趋于无穷时,得到的图形和谢尔宾斯基三角形的结构是一样的。

它与数学家喜欢的另一种三角形:帕斯卡三角形,有着同样有趣的联系。(我们不会在这里定义它,如果你还没见过它,这里有个很好的解释[1])如果取帕斯卡三角形的前2^n行,并连接水平和对角相邻的奇数,那么得到的图和汉诺塔Hn图结构完全一样。

[1] mathforum.org/dr.math/faq/faq.pascal.triangle.html

帕斯卡三角形的前八行中相邻的奇数项相连

这种联系不仅漂亮而且实用。在某个领域内难以证明的结果,在其他领域内或许易于证明,于是就可以进行问题转化。例如,假设你在谢尔宾斯基三角形中旅行,但是从未走出分形之外。那么两点之间的平均距离是多少?没有人能够回答这个问题,直到欣茨用汉诺塔状态转移图来计算它:结果是466/885(假设谢尔宾斯基三角形最外层的边长是1)。

加桩

Adding Pegs

增加碟片的情况讨论够多了,增加一根桩会怎样呢?游戏本身变得更容易了,因为有了更多空间来移动碟子。但这些图表也失去了它们的整洁结构。现在有更多的碟子组合以让你移动最大碟片——小的碟片不再需要被堆在一根桩上了。

这意味着,最大碟片在桩1的状态图,和最大碟片在桩2的状态图之间的连接边不止1条,因此使得整体状态图更复杂。“4根桩的状态转移图通常不再是平面结构,”欣茨说。“这意味着,你不可能把它们画在一张纸上而不让边交叉。这得要3个维度才行。我们还不能很好地理解这些图表,因为它们紧密地交织在一起。”

欣茨和书的共同作者在一起。从左到右:Ciril Petr, Andreas M. Hinz, Sandi Klavžar和Uros Milutinović

这种复杂性意味着看似简单的问题可能难以解决。例如,没人知道在正常起止条件下,最短解决方案有多长。有一些策略策略可以解决多桩难题,著名的弗瑞姆-斯图尔特猜想(Frame-Stewart conjecture )声称这些策略是最优的。但是,尽管这个猜想已经有70多年的历史了,但这个问题还没有解决。在计算机的帮助下,它的正确性已经被证明在30个碟子之内是正确的。

欣茨是一位数学物理学家,但他迷恋汉诺塔游戏纯属消遣。他说:“与图论专家---他们是我在这本书的合著者---和心理学家之间的合作非常吸引人。”他与心理学家一起制作的评估工具现在正在被使用,例如测试患有痴呆症或中风的人,看看大脑的哪些区域受到了损伤。

它不仅仅有用。“数学家伊恩•斯图尔特(Ian Stewart)曾经说过,人们对数学很感兴趣,因为它很有趣,很漂亮,而且很有用。”欣茨说。“但我想补充第4点:人们喜欢数学,因为它令人惊奇。”作为一个数学对象,汉诺塔游戏当然符合所有这4点的要求。(完)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    940

    浏览量

    54808
  • 数学
    +关注

    关注

    0

    文章

    99

    浏览量

    19235

原文标题:汉诺塔:闪烁在数学和心理学交汇之地奇妙问题

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    想通过labview做一个游戏,求帮助

    想通过labview做一个游戏,用布尔控件表示盘,但不知如何用键盘的光标键选中某个盘并移动该
    发表于 02-26 16:07

    程序

    程序。最好能用键盘控制
    发表于 03-07 17:58

    LabVIEW递归方法应用之《游戏》的实现

    本帖最后由 纤维素果胶 于 2020-8-20 11:13 编辑 LabVIEW递归方法应用之《游戏》的实现:
    发表于 08-20 11:05

    教师资格考试心理学试题及答案

    教师资格考试心理学试题及答案 一、单项选择题(本大题共20小题,每题2分,共40分。在每小题列出的四个备选答案中只有一个是符合题目要求的,请将其代码填在题后的括
    发表于 01-09 16:38 6次下载

    基于WEB的普通心理学实验三维仿真系统研究

    心理学实验是推动心理学研究和心理学发展最主要的手段,心理学实验计算机化成为心理学实验发展的方向,然而目前
    发表于 06-17 09:20 8次下载

    未来一定不会被代替的职业:机器人心理学

    《我,机器人》是美国著名科幻作家艾萨克·阿西莫夫一生中最重要的一部中短篇科幻小说集。小说集描绘了机器人的智能水平在经历了一步步发展之后,最终“挺立于人类与毁灭之间”。更重要的是,小说中不但有机器人,还有“机器人心理学家”苏珊·凯文。
    发表于 05-30 01:41 1608次阅读

    浅析人工智能在心理学研究中的应用前景

    人工智能及相关技术的发展,为心理学研究提供了突破性的研究方法和工具;心理学对大脑机制的研究成果运用于人工智能领域,也推动着人工智能研究的进步。
    的头像 发表于 08-17 16:21 1.5w次阅读

    探讨人工智能技术在心理学研究中的应用前景

    人工智能及相关技术的发展,为心理学研究提供了突破性的研究方法和工具;心理学对大脑机制的研究成果运用于人工智能领域,也推动着人工智能研究的进步。
    的头像 发表于 08-17 16:33 6324次阅读

    心理学家认为AI机器人应该上日托班

    据外媒报道,一位发展心理学家认为,我们应该让AI机器人像人类婴儿一样在人类的监督下学习成长,所以我们应该建立一所AI机器人“日托班”,专门收纳AI机器人。
    的头像 发表于 11-30 11:02 2458次阅读

    人工智能大数据进入心理学有什么意义

    人工智能和大数据时代的到来为心理学的研究打开了全新的大门。
    发表于 12-05 13:43 3607次阅读

    人工智能如何进军心理学领域

    人工智能和大数据时代的到来为心理学的研究打开了全新的大门。
    发表于 03-23 13:53 1561次阅读

    人工智能怎样进军心理学领域

    人工智能和大数据时代的到来为心理学的研究打开了全新的大门。
    发表于 04-05 22:00 1055次阅读

    研究发现心理学理论可以推动机器人行走方式的改进

    多亏了曼彻斯特大学的一项研究,心理学理论才能开始改善机器人的行走方式。
    发表于 04-27 17:47 745次阅读

    人工智能等计算机技术为心理学研究提供了新的研究思路和方法

    心理学是研究人类思想与行为的发生、发展规律的科学,主要目标是描述、解释、预测和控制人的心理和行为。
    的头像 发表于 04-27 18:06 3282次阅读

    面部表情识别:心理学与计算机科学的交汇

    面部表情识别不仅是计算机科学领域的研究热点,也是心理学的重要研究方向。这两个领域的交叉点在于理解和解析人类情绪。 心理学家通常通过观察和描述个体的面部表情来推断他们的情绪状态。计算机科学则通过开发
    的头像 发表于 08-14 18:19 593次阅读