解法思路(LBL、CFOP、两阶段法、降阶法)
魔方的解法大致分为两类:人记忆并使用的,以及计算机搜索得出的。两者追求的目标不同。面向人的解法在控制记忆量的同时,重视手法的顺畅。面向计算机的解法完全不考虑好不好记,转而追求步数短、计算快。下面按各自的目标,介绍四种有代表性的思路。
LBL —— 一层一层地垒上去
LBL(Layer By Layer,层先法)是最朴素的解法:从底层开始逐层完成。顺序是底层十字、底层棱角、第二层棱块、顶层朝向、顶层位置。需要记的公式只有十来个,代价是步数常常超过 100 步。因为每一步都必须保住已完成的层,所以必然要绕远路——先打乱再还原。而「打乱再还原」这个想法本身,正是玩魔方最基本的工具。
CFOP —— 多记一些,少走几步
CFOP(Cross、F2L、OLL、PLL)是速拧界使用最广的解法。它与 LBL 有两点不同。其一,不再分别处理底层角块和第二层棱块,而是配成对同时插入(F2L)。其二,把顶层整理成两个阶段:先统一朝向(OLL),再调整位置(PLL)。这样步数降到 50~60 步左右,代价是要记住 57 种 OLL 和 21 种 PLL。记忆量与步数是此消彼长的关系——这条原理贯穿了所有面向人的解法。
两阶段法 —— 把搜索空间劈成两半
计算机上使用最广的是两阶段法(Kociemba 系)。3x3x3 的状态约有 4325 亿亿种,正面硬找最短解并不容易。于是要用到子群这个概念。只允许半圈转动的操作集合 G1 = ⟨U, D, R2, L2, F2, B2⟩ 所能到达的状态,构成了一个远小于整体的世界。两阶段法先找「把当前状态落入这个小世界」的步骤,再找「只在这个世界里活动并还原」的步骤。把一次大搜索劈成两次小搜索,就能在现实的时间内求得足够短的解。但劈成两半的代价是:所得的解是准最短,未必是真正的最短。
降阶法 —— 把大魔方当成 3x3x3
4x4x4 和 5x5x5 有 3x3x3 没有的部件:每个面有多个中心块,一条棱由两块或三块组成。降阶法(Reduction)反过来利用了这一点。先把同色的中心块按面聚拢,再把散开的棱块配成正确的组。做到这一步,大魔方看上去每个面就是一整块,结构上与 3x3x3 完全相同,之后用任何 3x3x3 解法收尾即可。不过这个过程中会出现 3x3x3 绝不会有的状态,即奇偶性(parity),看起来像是只有一组被对调了。这并不是坏掉了,而是偶数阶魔方固有的性质。
cubepic 的解法
cubepic 按尺寸选用不同解法。3x3x3 用两阶段法。2x2x2 则把角块嵌入同一套两阶段搜索来求解。4x4x4 与 5x5x5 用降阶法,降到 3x3x3 后交给两阶段法。各尺寸返回的都是准最短解,不保证最短。少数著名预设局面(如 superflip)会显示已证明在 HTM(半转计量)下最短的解法。进一步搜索以缩短解法计划作为付费功能提供。另外目标状态不限于还原态,可以登记任意合法状态。此时会分别求「当前到还原」和「目标到还原」两个解,把后者逆序并反向后接在前者之后。
© アサラボ