重温三阶魔方
原文首发于微信公众号 Laird Notes,转载时排版略有调整。
春节回家时,翻出了十多年前的《魔方宝典》,纸张如今已泛黄。
三月初重新买了个魔方,才发现太久没玩,都已忘记还原的方法。
靠着尝试、搜索和回忆,慢慢找回感觉,也有些新发现。
又拖了一月,才勉强写下这篇备忘。
魔方基本概念
魔方(魔术方块)是匈牙利建筑学教授Rubik Ernő在1974年发明的智力玩具。
经典的三阶魔方有26个块:6个中心块、12个棱块、8个角块。
6个面一般记为:顶面U、底面D、前面F、背面B、左面L、右面R。
标准配色:白黄相对、红橙相对、蓝绿相对,UFR分别为黄蓝红。
转动公式中R表示右层顺时针旋转,R’表示逆时针、R2表示旋转180度,依此类推。
极简还原公式
层先法适合初学者,从下往上逐层还原,最少只需要记忆4个公式。
通过观察可以相对简单地还原底层和中层4个棱块,在此略过不表。
在前两层归位的基础上,应用以下公式来还原最顶层。然后完成啦~
- 顶层十字:F R U R’ U’ F’
- 交换棱块:R U R’ U R U2 R’
- 交换角块:R B’ R F2 R’ B R F2 R2
- 角块翻色:(R’ D’ R D) 重复操作
层先法熟练后,可以过渡到速拧常用的CFOP方法(119个公式)。
计算机算法
1992年Kociemba提出的Two-Phase算法,是计算机求解三阶魔方的主流方法。
该算法充分利用群论对称性和启发式搜索(IDA*),可以快速找到近似最优解。
2010年大规模计算证明:三阶魔方任意状态均可在20步(上帝之数)以内还原。
以下Python代码展示如何构建魔方状态,并调用库函数求解。
1 | import kociemba |
电影和现实
电影《当幸福来敲门》中,威尔·史密斯在出租车上拼好魔方,带来了珍贵的面试机会。
魔方从打乱到还原的过程,精准隐喻了主人公的人生从混乱失控到重建秩序的艰难历程。
Pursuit of Happyness 据说这是一部非常适合中年失业者的励志片。追寻幸福❤️
最后想问:你在几岁时第一次接触魔方?有没有见过机器人还原魔方?
参考资料
T. Rokicki, H. Kociemba, M. Davidson, J. Dethridge. The diameter of the Rubik’s Cube group is twenty. SIAM Journal on Discrete Mathematics, 2013, 27(2): 1082-1105.