创作立场声明:本人为网易有道员工,是乐高教育中国合作伙伴,为大家提供乐高教育的线上学习资源,有机会学到一些专业知识。然而每个人站在不同立场,内容就会有所偏重,客观与否还请大家指正,期待深入探讨交流。
六块积木,可以有多少种组合?这是个有趣的数学问题…
如果你拥有 6 块乐高积木,等于拥有了全世界。
从数学的角度来讲,6 块 2×4 规格(8 个凸起)的乐高积木,可以创造超过 9 亿种不同的组合,所以在玩乐高这件事上唯一能够限制你的,就只有想象力了。
故事从什么时候开始呢?
我也查不到是谁开始问这个问题的“六块积木可以有多少种不同的组合?”
1958年,乐高估算六种标准的乐高积木可以用102,981,500(1.03亿)种方式组合在一起。
但2004年数学教授Soren Eilers发现数字应该是915,103,765种(9.15亿)组合
在这段乐高积木纪录片的剪辑中,这位优秀的数学教授解释了为什么乐高最初的估算相差如此之远。他们只考虑了六块积木叠放在一起的塔状结构,但没有考虑比如两块积木、四块积木并排放在一起。
在试图通过理论计算失败后,Eilers教授在哥本哈根大学的一台计算机上编写了一个计算机程序来帮助确定实际数字。经过大约一周的计算,他得出了915,104,765种组合这个计算结果。
今天,我们有更快的电脑,同样的计算只需要5分钟,但是增加额外的砖块会几何级数地增加计算时间。
Eilers教授做过更多砖块的计算:
7块砖大约需要两个小时。
8块砖可能要花21天(20.83天,准确地说)。
Eilers教授估计,计算9块或10块砖需要数年,甚至数百年。
所以,如果你今年寒假有空的话,可以考虑一下计算这个问题。哈哈。
我们来详细讨论一下
为什么102,981,500是错的?
这个数字大概是一个人用2乘4的乐高积木堆一座六块积木高的塔的方法。但是,当人们用乐高积木建造时,并不需要把每块砖都放在前一块上。
事实上,这是乐高的一个主要特点,人们可以更自由地组合砖块。
乐高计算了所有的搭配组合,比如这样
但乐高忽略了多块积木在同一层的组合,比如这样:
那么,如何搭出(算出)102,981,500种组合这个数字呢?
首先考虑两个2乘4的乐高积木有多少种组合方式。如果一个人确定了乐高底部的砖块的位置,第二个可以用46种方式放在上面,也就是:
然而,这里只有蓝紫色的组合是独一无二的。所有其他的组合都是双倍重复的,这可以通过将下方的砖块旋转180度来实现,所以我们可以看到我们制定的两块2×4积木乐高砖块的不同组合的数量是:
2 + 44/2 = 24
要用6块砖建造一座塔,你可以在46个位置中选择5次。同样,大多数搭配都是双倍重复的。不重复的有一共有2^5个重复配置,剩余的46^5-2^5个配置是可以通过最底的砖旋转180度得到。所以我们得到了
请注意,乐高报告的数字相差了4。
我们觉得,这可能只是因为当时使用的计算器没有9位数的计算容量。
如何得到915,103,765这个数字?
我们已经编写了计算机程序来系统地生成和计算所有6块2×4的积木的不同搭配。
这是一个在标准家庭电脑上大约需要运行半个星期的计算。
为了避免出错,我们独立开发了两个不同的计算机程序,并在不同的平台上执行。最初由Soeren Eilers开发的程序是用Java编写的,在G4 Apple Powerbook上运行,并使用递归计数过程。
随后由Mikkel Abrahamsen开发的程序是用Pascal编写的,在装有Windows XP的Intel机器上运行,并使用迭代计数过程。
我们计算不同高度的搭配数字:
为什么乐高没有计算出正确的数字?
乐高没有找到更大的数字,这似乎令人惊讶,因为这个计算对乐高很有意义,能够让公众相信这个玩具是一个灵活的玩具。
但是,如果没有一台功能强大的计算机,要计算出正确的数字似乎是不可能的。在计算1.03亿的数字完成的时候,乐高可能还没有这样的计算机。
在1974年5月的乐高公司通讯 Klodshans中,那时的老板Jürgen Kirk Kristiansen明确给出的计算得出了102,981,500的数字,他表示乐高只打算计算按照6层的最高高度的塔式搭法。
很明显,这些年来,乐高忘了去计算更准确的数字。
为什么这个计算很难?
值得指出的是,问题并不在于数字的大小。比如说,在几分之一秒内,我们可以计算出25块2×4积木组合成25层高的塔的组合方式有:
4,028,635,400,867,168,454,517,798,790,018,457,665,536 种
这是一个40位的数字,但没问题,因为我们有方便的公式来计算这里组合的数量
但是各种高度搭法的组合总数的数学计算就没有这么明显的规律了,六块积木的组合是如此不规则,以至于很难给出一个公式。我们必须考虑所有的可能性。
根据我们的数据,我们估计,将25块2乘4的乐高积木组合,结果将是个47位数字的搭配总数。
以目前我们计算机程序的效率,我们进一步估计,它将需要我们
130881177000000000000000000000000000000000年
才能计算出正确的数字,也就是在大约50亿年后,我们将不得不将我们的计算机移出太阳系来完成这个计算,因为太阳预计将在那时成为一颗红巨星。
这有什么有趣的?
很明显,没有人真的需要知道6个或更多的乐高有多少种组合方式,市场事实清楚地证明,乐高在过去几十年里用1.03亿的数字,就做到了世界玩具的老大!
但是,对于数学家来说,这是一个有趣的挑战: 计算或至少估计出给定数量的2乘4的乐高积木的组合方法。这样的挑战对于推动数学研究总是很重要的。
而且经常发生的情况是,研究一个没有实际应用的问题(比如这个问题)的方法,对于研究那些确实对日常生活有影响的问题是有用的。
数学家经常遇到这样的问题: 数学中是否还有什么值得研究的地方?
认为数学研究在某种程度上已经完成的普遍误解可能是由这样一个事实引起的: 大多数人在他们的教育中遇到的数学已经有几个世纪的历史了。
事实上,数学是一个充满活力的研究领域,有很多开放问题,比如研究积木组合就是个有趣的开放问题。
研究结果?
我们预测不可能找到有效的公式来计算组合N个砖块的方法的数量。
我们已经证明了将N个砖块组合成高度为N-1的塔(其中两个砖块恰好在其中一层)的方法是
我们也可以对其他相对比较“高”的搭建做类似的事情。但要找到明确的计算总数的公式似乎是不可能的。
组合7个2×4块的方法是:
85,747,377,755
我们在一篇关于“On the entropy of LEGO”的论文中给出了N块积木的构型数的上界和下界。
因此它的增长速度不超过204^N。
然后,可以再使用74130种方法来建造一个4块积木来搭建一个3层积木高的塔,中间层有2块积木,来证明增长至少是64^N的速度。
可以给出更精确的估计,表明随着积木块数N的增加,组合的增长率在78^N到191^N之间。我们预测实际值在100左右。
都谁在研究这个课题?
Soren Eilers是哥本哈根大学数学系的副教授(丹麦头衔:lektor), 这是丹麦最大的大学,成立于1479年。
在参观丹麦比隆德乐高乐园的乐高博物馆后,他对102981500这个数字产生了怀疑。2004年夏天,他开发并执行了一个程序,得到了915,103,765这个组合数字。随后,他开始研究如何更好地描述组合的数量。由于Eilers教授自身不是组合学家,他试图说服同事们来一起解决这个问题。
Mikkel Abrahamsen是Odsherreds体育学院的一名高中生,他找到哥本哈根大学数学系,就一个学习项目征求意见。Eilers向他提出了这个问题,但没有给出自己的计算数字,也没有提供任何他自己的计算细节。随后 Mikkel Abrahamsen发展了自己的方法,独立计算出了915,103,765这个数字。
Mikkel Abrahamsen使用的方法在计算上比Soren Eilers开发的方法更有优势,他随后致力于提高程序的速度,以便更好地估算超过6块砖块的组合数量。Mikkel Abrahamsen因此获得了丹麦的“Forskerspire”奖。
Bergfinnur Durhuus是哥本哈根大学数学系的副教授。作为一名数学物理学专家,他发现了乐高问题与这一领域的方法之间的联系,并发现了基于给定砖块数量的配置数量的估算方法。