汉诺塔5层培训口诀,汉诺塔5层口诀图解

首页 > 经验 > 作者:YD1662022-11-06 13:13:31

AI 技术正在改变我们的生活,无论踩在时代浪尖的技术精英,还是受到新兴技术利好的你我,都要面对一个共同的问题——AI 时代下对孩子的教育。

如何着手培养孩子们对新兴技术事物的兴趣?从哪里入手引导才能让孩子们在AI 无处不在的未来找到一席之地?父母怎样在日常的陪伴中发挥积极作用?想必这是不少家长心中的困惑之一。

近日,创新工场人工智能工程院执行院长王咏刚老师写了一篇文章,讲述了他是如何在日常生活中通过几个有趣的游戏来调动儿子非非的学习兴趣,在不知不觉中培养了孩子的逻辑思维等思考方式,也分享了自身对孩子教育的看法和感悟。

文章中介绍的互动游戏简单易行、启发思维,非常有借鉴价值,希望能给 AI 时代下身为家长的你带来启发▼▼▼

王咏刚

创新工场人工智能工程院执行院长,毕业于北京大学,此前担任谷歌资深工程师超过10年,参与、负责研发的项目包括桌面搜索、谷歌拼音输入法、产品搜索、知识图谱、谷歌首页涂鸦等,在知识图谱、分布式系统、输入法、HTML5动画、游戏引擎等技术领域拥有很深的积累。

汉诺塔5层培训口诀,汉诺塔5层口诀图解(1)

为什么陪孩子玩游戏?

说来简单,我们家小朋友非非刚上小学。我自己呢,工作忙,又不那么信任市面上的各路兴趣班。总想挤时间,陪非非玩些有趣的游戏;最好还能让非非在玩耍时,积累些未来用得上的思考方法。

首先,非非长大后,人工智能(AI)肯定会像今天的手机一样深入到他们生活的每个角落重复性的、思维模式简单的工作大多会被机器包办。非非以及同龄的这一批智人后代长大后,一定好奇地问:人和机器的区别是什么?这问题很朴素,也很扎心。如果人类没法拥有区别于机器的稀缺性技能,那茫茫宇宙,何处才是我们的栖身之所?

其次,人的价值来自于稀缺性。不提高大上的指标,哪怕只用最世俗的收入多少来衡量,咱们也得承认,成功的人都至少具备稀缺性资源或稀缺性技能。稀缺性资源,比如富豪爹妈、基因里的超高智商、中大奖或发现宝藏之类,不是我们凡人想有就能有的;但稀缺性技能,比如数学功底、科研能力、艺术创作能力等等,还勉强算是后天可以培养的。

其实,我们这一代互联网人,见过太多硅谷类型或中关村类型的成功案例,典型的情节是:家境贫寒,刻苦攻读,仅靠着计算机、数学等专业的一技之长,或在学术圈成名,或在名企建功,或在创业路上一飞冲天——这些人,靠的其实就是稀缺性技能。

那孩子该如何从小培养稀缺性技能呢?

我并没有为小朋友规划好人生道路,或者用世俗的「成功」当胡萝卜挂在他眼前的意思。我只是觉得,家长至少应该给孩子展示出未来建立「稀缺性技能体系」的各种可能性,培养孩子慢慢掌握科学、工程、语言、文学、艺术等领域的最基本的思考方法。对孩子来说,功名利禄皆可抛弃,真正有用的思考方法却足以让他们受益一生。哪怕孩子以后只过个闲云野鹤一样的洒脱生活,那也至少要培养一下不低俗、不媚俗,不把无知当有趣的心胸和眼界。

要培养有用的思考方法,个人认为,与其逼着孩子学这学那,还不如陪孩子玩些有趣的游戏。

逻辑思维是基础:汉诺塔游戏

我自己编程二三十年,在地球上最好的技术公司也工作了十年以上。我一直相信这个论断:理工科全凭逻辑思维;无论科研与工程,逻辑思维愈强,解决问题的能力就愈强;相比之下,其他都是末节。延展到理工科之外,比如文艺创作,虽说形象思维能力、情感共鸣和表达能力更重要些,但基本的逻辑思维也不能少。

编程领域的算法问题,特别适合用来培养小孩子的逻辑思维能力。但有关如何学习编程,我也得先表明态度:小朋友没必要从小学编程,就算学了一两门编程语言、一两项实用技术,等长大后,技术早变了天,学到的具体语言和技术根本派不上用场;相反,算法问题可以抽象成好玩的游戏,甚至不需要电脑,不用愁小孩子天天看屏幕,他们就可以从有趣的游戏中,逐步学到特别有用的逻辑思维方法。

汉诺塔的游戏特别经典,暗藏了分治法、递推和递归等重要思想。非非七岁生日前后,我跟他第一次玩了汉诺塔。非非有个特点,要玩什么或者学什么,最好得有个好玩的故事当「诱饵」。

玩游戏前,我就跟他讲印度僧侣搬运汉诺塔上的盘子,直到世界末日也搬不完的有趣传说。标准版本的汉诺塔游戏和算法请参考维基百科。我们玩的时候,因为手头没有现成的塔和盘子(淘宝到处有卖,但个人觉得还不如我们发明的玩法好玩),我就把汉诺塔的游戏稍作修改,游戏道具变成了三把椅子和几本大小不同的书。

汉诺塔5层培训口诀,汉诺塔5层口诀图解(2)

游戏规则:

这规则对六七岁的小朋友来说并不难理解,而且,只要用三本书试一下,并不断告诉小朋友什么样的移动符合规则,什么样的移动不符合规则,就很容易玩下去了。

一般来说,六七岁的小朋友自己完成三本书的移动,大都没什么难处。这里面比较重要的一件事情是:家长要学会做一个聪明的观察者,看一看小朋友在移动三本书的过程中,是不是在有意识地总结规律。一个会总结规律的小朋友,接下来挑战四本书、五本书甚至六本书时,表现出来的解决问题的能力,要远超过不会总结规律的小朋友。

根据汉诺塔的算法原理,移动 n 层的塔,最少需要 2^n-1(2 的 n 次方减 1)步。移动三层的塔最少需要 7 步。

汉诺塔5层培训口诀,汉诺塔5层口诀图解(3)

非非纯用尝试的方法,花了三四分钟,就找到了 7 步的解决方案。然后,非非就试图自己总结汉诺塔的移动规律。可他天生有急性子基因,总结规律时,很少用完整、严密的逻辑。我记得当时他的总结是:

要先把最小的一本书移动到目标椅子(第三把椅子)上,然后把第二小的书移动到中间空着的椅子(第二把椅子)上。

这属于只看表面关联的「捷径式」总结。这样总结出的规律当然不适应所有情况。但非非能总结规律,这就比每次都用尝试法解决问题的小朋友有进步。

我觉得,作为观察者的家长要做的,不是马上告诉孩子他总结的规律不对,反而要对他总结规律的做法予以鼓励。

然后,可以开始跟他玩四本书的汉诺塔。这一次,游戏的复杂度不仅提高了一倍(以移动次数来计算),孩子也会从一个新的初始状态开始,自己来验证刚才总结的规律是否正确。

非非玩四本书的汉诺塔玩了很久。他很快就发现,刚才从三层汉诺塔总结的规律明显有问题。他几乎立即放弃了错误的规律,而重新开始了尝试。但这次尝试的难度大得多,因为四本书来回移动的可能路径更多,直观上也较难发现当前状态和目标状态的关联。

最终,在不断试错外加我的一点点提示的基础上,非非还是完成了四层的汉诺塔游戏。然后,他又急于总结其中的规律:

如果是三层的塔,就要先把最小的一本书移动到目标椅子(第三把椅子)上;如果是四层的塔,就要先把最小的一本书移动到非目标椅子(第二把椅子)上。

这个总结比之前的总结有大幅进步,因为非非学会了区分不同的初始状态。而且,非非还很聪明地猜到,三层、四层的差别,很可能在层数更多时也适用——奇数层的汉诺塔会有类似三层塔的解决方案,偶数层的汉诺塔则会有类似四层塔的解决方案。

虽然非非总结的新规律是对的,但只对了一部分,仍然只是一种「捷径式」的规律。因为只知道最小的一本书怎么移动,并不能完全解释其他书的移动过程。非非之所以只凭借这个规律,可以把四层的汉诺塔解决得非常好,是因为四层塔简单,第一本书移动后,接下来该如何做,他脑子里已经有了既有的经验,大致能记得相关的顺序。

非非总结的「捷径式」规律,是很难解决五层、六层的汉诺塔的。当我让他尝试五层的汉诺塔时,他没多久就逻辑紊乱、不知所措了。只能说,非非的智力水平并不比寻常小朋友高多少,逻辑思维时也习惯使用「捷径式」而不是系统化的方法。这时,就有必要用有效的方法来引导小朋友,让他自己去归纳并认识到真正系统化的思考方法。

我:要把五本书般到第三把椅子,和只用四本书时相比,最难的是什么?
非非:最难的是把最底下那本最大的书搬过去。因为我刚才试了好多次,上面的书搬不完,就没法搬最下面那本。
我:那假如我们已经有一种好方法,把上面四本书都搬到了第二把椅子,这时你的问题还容易解决吗?
非非:那太容易了!只要把剩下那本最大的书直接般到第三把椅子就行了。
我:那你想一想,我们先不考虑第五本书,而是把问题简化成,如何把上面四本书搬运到第二把椅子上?这你能做到吗?
非非:可以呀!
我:你刚才已经可以成功地把四本书搬到第三把椅子上了。现在,你只要假装第二把椅子就是第三把椅子,是不是就可以用类似的方法,把上面四本书搬到第二把椅子上?
非非:对呀!(当然,「假装第二把椅子就是第三把椅子」这件事做起来并不直观,需要一定的抽象思维能力,非非也确实花了一定时间来琢磨目标椅子和非目标椅子交换后的新情况,但他还是正确完成了任务。)
我:接下来,你只要做两件事:第一,把最大的第五本书直接搬到第三把椅子上;第二,把第二把椅子上的四本书搬到第三把椅子上。对吗?
非非:耶!这两件事我都会做!

经过这样的讨论和尝试,虽然非非无法用准确的语言来描述,但他脑子里已大致有了这件事的正确思路:要移动五本书,可以先解决移动四本书的问题;要移动四本书,可以先解决移动三本书的问题;要移动三本书,可以先解决移动两本书的问题……解决了每个子问题后,再回过头解决上一层级的问题。

经历了这样的总结规律、适应新情况、否定规律、总结新规律、再次适应新情况、梳理逻辑、系统化思考的完整过程,小朋友会模糊认识到好几个特别关键的数学、编程乃至整个科学与工程领域常用的思考方法(下面的定义并不严密,只是为了和小朋友沟通方便):

对于六七岁的孩子来说,理解分治法和递推法不算特别困难,但要真正理解递归,恐怕就超出「教学大纲」了。事实上,非非虽学会了如何去处理五层的汉诺塔,但基本思维方式还是停留在分治和递推这两件较简单的事情上。不过不要紧,未来等非非大一些,可以再从递归的角度来理解这件事。而且,那时也可以玩一些更复杂的递归游戏,比如中国特色的九连环。

非非的汉诺塔之旅大概是六七岁孩子里较常见的情形。但现在的孩子各有所长,不能一概而论。例如,几乎同一时间,我又教一个比非非小五六个月的女孩子玩同样的游戏。结果让我很惊讶,那个名叫小北的女孩子,开始玩三层汉诺塔时就显得与众不同。

玩游戏时,小北不像非非那样爱说「我不会了」或是问「怎么办呀」,而是一边思考一边喃喃自语。小北很快发现了非常本质的规律:要移动某一本书到目标椅子,就要先把这本书上面的所有书移到非目标椅子上。有了这样的思路,小北在移动一本书时,明显会观察其他书的位置,也明显会思考目前正在做的子任务与刚才想做的主要任务之间的关系。

对一个不满七岁的小孩子来说,这真是太厉害了。依靠强大的逻辑思维,小北一分钟内就自己解决了四层汉诺塔问题。挑战五层汉诺塔,小北只花了十几分钟。然后,小北不顾我的「劝阻」,执意挑战六层汉诺塔。

这一次,小北中途确实搞错了几个子任务的次序,没能用最少步数解决问题,但最终她还是在 30 分钟不到的时间里,把六本书都搬到了第三把椅子上!要知道,六层的汉诺塔即便是最优解法也需要 63 步!完成任务的小北特别满足、特别高兴,开心得像过生日一样,还决心要继续挑战七层、八层的汉诺塔。

小北玩汉诺塔的成绩,似乎还说明了另一个问题:在理工科特别需要的逻辑思维方面,女孩子一点儿也不差,还有可能做得更好。工程师的世界里男孩子居多,并不是任何基因或生理层面的原因造成的,而是小孩子成长过程中的环境因素乃至偏见使然。我曾有幸结识过几位算法和编程特别棒的女生,她们的能力之强,足以轻松碾压世界上大多数程序员。

汉诺塔游戏的另一个价值,是让只学过加减法的小孩子,直观地感受到由「乘方」引起的数量大幅变化。三层的汉诺塔只需要 7 步就可以完成,四层的汉诺塔需要 15 步,五层的需要 31 步,六层的需要 63 步……每增加一层,需要的步数都大幅增加,这种数量变化的剧烈程度,可能是小朋友们之前从未体验过的。有了亲身体验,小朋友就有可能模糊地理解,为什么解决一个 64 层的汉诺塔问题,假设每秒移动一步,那么穷尽整个宇宙的寿命也没法完成。

培养逻辑思维能力的游戏有很多,不一定上来就去玩自带递归内核的汉诺塔。编程领域的排序问题改造成真实世界的游戏时,小孩子会超级喜欢。最短路径或者更普遍的搜索问题是另一个可以变化出许多有趣形式,让小朋友玩得很开心的算法。

在真实世界里玩简单的蒙特卡洛算法(就是 AlphaGo 的核心算法思路),也特别具有娱乐性。有关这些算法游戏的「教学大纲」,等我回头有空时再慢慢写罢。

此外,我发现手机上的解谜类游戏,很受小朋友的喜欢。在密室逃脱或类似的解谜游戏里,小朋友需要建立起一些简单的逻辑联系,比如某某地方藏的密码可以解开某个保险柜,某某图画上的几个图案正好对应于某个复杂机关的零部件安装方式……这些逻辑比起汉诺塔要简单一些,但孩子们可以找到更多探索的乐趣。

当然,很多密室逃脱游戏有成人倾向,「锈湖」(Rusty Lake)系列虽好,但尽是谋*、血腥、梦境等情节,需要大人引导。小朋友玩「银河历险记」(Samorost)之类的游戏会好很多。「纪念碑谷」(Monument Valley)当然也值得推荐。

探索数学世界:从极值到正态分布

数学世界太大,太神奇,可以陪六七岁的孩子玩的数学游戏也非常多。只举两个最近陪非非玩过的,与人工智能也相关的例子:一个是极值,一个是概率。

今天的人工智能,特别是其中最流行的深度学习算法,核心思想之一是对一个目标函数进行优化,找到能够让目标函数取值尽量小的输入参数。当然,让小学生掌握函数以及优化的概念,确实揠苗助长了;但我们完全可以给小朋友一些简明的例子,让小朋友知道这个世界上存在很多类似的输入输出紧密关联的数学关系——在这些数学关系中,只要不断调整输入的数值,输出的数值就会向极大值或极小值逼近。

我始终觉得,这种对数学现象的观察、认知乃至逐渐熟悉的过程,就像小孩子从小背诗词歌赋一样,重点在于积累「感觉」,而不在于学习多少具体的数学知识,不在于学会解多少道数学题。

比如我跟非非玩的一个火柴棍游戏是这样的:

玩游戏前,没必要跟小朋友讲解长方形的面积公式,即便小朋友没学过乘法也不要紧。只要告诉小朋友,长方形的面积,就是火柴棍围起来的方格子的数量,小朋友自然会去数方格子,会背乘法口诀的小朋友也自然会领悟到长方形的面积等于两边长的乘积。

12 根火柴棍是一个有趣而简单的初始状态。用六七岁的小朋友还没法理解的语言来说,我们是在求解 y=x(6–x) 这样的方程。x 和 6-x 的取值均为正整数时,y 有 3 种可能性:5、8 和 9,最小是 5,最大是 9。

汉诺塔5层培训口诀,汉诺塔5层口诀图解(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.