六个面的魔方玩具,从我们还是孩子时期就让人着迷,然而除了少数人可以精通外,大部分人即便花很长时间也无法让它完整复原成所有面单一颜色。

那么您是否想一劳永逸地获取其中的奥秘呢?明年魔方上市就满50周年了,是时候用深奥的数学来解释解释其中的奥秘了。虽然立方体的内部是塑料制成的,但它真正的内部除了数字什么都不是。就让我们一探究竟吧。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(1)

首先的步骤是拆开魔方块。让我们从一些基础知识开始,一个3x3x3的魔方有六个面,每个面都有不同的颜色。每个面的中心都与支撑立方体的核心支架相连,因此除了原地旋转外它们不会移动。因此同样的颜色总是以相反的方向结束; 在标准的立方体上,白色与黄色相对,红色与橙色相对,蓝色与绿色相对。

打开一个魔方,你会发现它是由三种魔方块组成的。首先有一个中心支架,连接着每个面的中心。然后是小的魔方块,每块1x1x1。角立方块有三个彩色的边,边立方块有两个。一个魔方有一个核心,八个角立方块,十二个边立方块。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(2)

用这些数字完成最直接的数学运算就是你拼魔方所能发生变化的惊人总数:43,252,003,274,489,856,000。用更数学的方式写,这个数字是(8!*3^8*12!*2^12)/(3*2*2),大约约等于4.3*10^19或者4325亿亿种变化。那么这个具体的计算是怎么来的呢?

第一项3^8,计算八个角块旋转的每一种方式。可以通过三种不同方式将角块放入其插槽中。8个角块的3倍,所以它们相乘得到3^8。

接下来是每个角块放在哪里。有八个角槽,所以第一个角块有八个选项。第二个角块有7个选项,第三个有6个选项,以此类推,一直到最后一个角块,它必须放在最后一个角槽中。计算结果是8*7*6*5*4*3*2*1,即8!,也就是8个角块全排列数量。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(3)

图片来源:知乎@小狼啊小狼

因此,第一个大块(8!*3^8)可以计算所有角块插入的可能方式。3^8是他们的方向,8!是他们的位置。下一个块(12!*2^12)是相同的思路,只是现在是边。边只有两个方向,所以12个边总共有2^12个方向。然后有12个位置,所以是12!,这是它们到达这些点的路径数或者说12个棱块全排列的数量。

现在我们进行的运算(8!*3^8*12!*2^12)/(3*2*2),它与魔方的一个事实有关,这个事实经常被感觉到,但并不总是被理解。天文数字(8!*3^8*12!*2^12)所解释的是魔方拆了随机组装后一共可以得到的总的组合数,但却并非正确的可还原的魔方的总组合数。而正确的总组合数只有12分之一。

这里是一个思维实验来说明计算过程。

假设你打开一个魔方,取出每一个魔方块,然后把所有的魔方块放回随机的槽中,当然角块只适合角槽,边块只适合于边槽。你会得到一个看起来打乱的普通的魔方,到目前为止,我们已经计算出了一共可以有多少种变化:(8!*3^8*12!*2^12)。现在有没有可能在不把它拆开的情况下解出这个杂乱的立方体?

答案是否定的。这是一个困住了许多新手的陷阱。如果你正在练习,你想打乱一个已经解决的魔方,你必须保持魔方完整并手动打乱它。如果你把它拆开然后随机重组,实际上只有1 / 12的概率可以解出。

答案就在算法里!想知道为什么是1 / 12吗? 有一种很好的视觉方式来理解它。一个被拆解并用魔方块随机重新组装的魔方,采用以下方式之一将有平等的机率的被复原。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(4)

我们考虑了展开后的12种不同情况。第一行有正常的角。第2行和第3行有一个角旋转到位。列1有正常的边,列2的一条边翻转到位,第3列交换了两条边,最后第4列有一条翻转的边加上两条交换的边。所以上面图片中的12个魔方块不能互相转换。然而却有第13种布局,可以变成这12个中的一个。你一定要问我们怎么知道的?

这里有一个联系,魔方的九个面上哪些魔方块可以移动,哪些不可以移动。一系列的动作通常被魔方爱好者称为“算法”。最受欢迎的算法是那些只移动了几个立方体而不动其他立方体的算法。算法的局限性是解决这个问题的关键。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(5)

图片来源:知乎@小狼啊小狼

12是由3个因子相乘得到的:12 = 3*2*2。我们需要解决一个因数是3,两个因数是2的问题。

3的因数可以归结为:有一种算法会扭曲两个不同的角,但是没有一种算法会扭曲单个角而其他的都保持不变。因此如果你拿起一个普通的魔方,撬出一个角并替换成扭曲的角,就不可能解开,你会把它从图表的左上角移到其下方的一个点。

但是如果你重复该过程并再多扭一个角,则不会增加第二个因子3。既然已经扭曲了两个角,我们就可以应用扭曲两个角的算法,直到至少固定一个。如果另一个碰巧在此过程中得到解决,那么我们很幸运,现在回到了可解的魔方。总体而言,拐角的方向可以采用以下三种方式之一。

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(6)

第一个因子2是相似的。有一种算法可以翻转两条不同的边,但是没有一种算法可以翻转一条边。所以任意数量的翻转边都可以被摆成一条边,这条边可以翻转也可以不翻转,有两种可能。

最后一个因子2实际上涉及边和角,尽管我们在图表上用边显示了它。有一种算法在交换两个角的同时也可以交换两个边。没有任何算法只能交换一对角,也没有任何算法只能交换一对边。

如果有一个立方体,撬出两个边然后交换它们,则从图表上跳过两列,在第1列和第3列之间,或在第2列和第4列之间。如果交换一对角,则同样如此。但是交换一对边和一对角会互相抵消,因为有一种算法可以消除这种情况。

现在被12除的每个因子现在都做了解释,您就可以了解(8!*3^8)*(12!*2^12)/ 12的完整意义。我们有(8!*3^8)(12!*2^12)种方法可以将魔方块放置在魔方上,但是其中只有十二分之一可以用于可解的魔方上。因此(8!*3^8)*(12!*2^12)/ 12是您可以在不破坏魔方的情况下打乱魔方后可正确复原的魔方块的总组合数量,也就说会有4325亿亿种变化!

三阶魔方1秒还原非常乱的魔方(4325亿亿种魔方组合变化)(7)

,