例1(坐标打乱)
R' L2 F2 U' L2 D' L2 U2 B2 U2 F2 U2 R2 B D R' D' R2 U B' D
角块:
UFR:MP(因为P位置上是C编码,记UFR位置上是C编码)
UFL:SY(记UFL位置上是L编码)
UBR是顶层块,UBL是顶层块,都不用处理,但需要记忆UBR位置上是E,UBL位置上是H。
如果从UBR开始逆时针看,角块编码为EHLC。
棱块:
UF缓冲还原,跳过记A。
UR缓冲,FR之后看到BU块(并记UB位置是G),直接按色向借到顶层还没有被还原的顶层位置,也就是UL位置,后续编码为DZ(记UL位置上是E),IM,LM,OS,WO(记UR位置上是C)。
如果从UR开始逆时针看,棱块编码就是CGEA。
角EHLC棱CGEA需要关联的ZBLL是Pi 60:S' R' U' R S U' R' U F' U F R。全部公式数为8条。
从这个例子中可以看出角块只要顶层块归位到顶层,就可以浮动下一个位置。
例2(坐标打乱)
R2 U2 B' R2 U2 F' U2 B D2 F' R2 F' D B' L2 R2 F' L' D' U'
角块:
UFR:ZG(因为UFL和UBL位置都已经是顶层块,并且因为不需要控制顶层角块色向,所以直接编G,同时记UBR位置是F编码),QN(因为顶面剩下三个位置都是顶层块,所以借位底层),TN,记UFR位置是G编码。UFL位置是L编码,UBL位置是C编码。
如果从UBR位置开始逆时针看,角块编码为FCLG。
棱块:
UF缓冲,QH(因为UL位置已经好了,同时记UR位置是C编码),YW,TP,NI,KE(记UB位置是G编码,UF位置是E编码)。UL位置是A编码。
如果从UR位置开始逆时针看,棱块编码为CGAE。(棱块关于KE编码的问题在下面第4节中会展开讲解)
FCLG和CGAE这一组编码需要关联的ZBLL是AS 62:U' R' U' R U R U2 R' U' R U' R' U R' U R。全部公式数为9条。
从这个例子可以看出,当角块读码时遇到的第二个块是顶层块时,就可以任选一个顶面编码。
上面例2中的棱块和角块其实都特殊性,分别是关于【互换情况】以及【角块底层借位问题】。(例2打乱:R2 U2 B' R2 U2 F' U2 B D2 F' R2 F' D B' L2 R2 F' L' D' U')
例2棱块使用UF缓冲,最后剩下K。这时顶面其他三个位置已经都是顶面颜色,E层D层的其他块也都复原了,这时K位置上是顶层块所以它是必须要编回顶层的,这可以算作是某种类似奇偶的特殊情况,暂且将其叫作互换情况。
对于互换情况来说,将其编到顶层必然会影响顶层某一位置的编码,这会增加记忆环形编码的难度,目前来看这是不可避免的。下面分别讨论互换情况在还原中的优化和在记忆上的简化。
对于还原来说最快的方法就是选择一条最好做的公式(例2中选择KE就是基于这个原因),在棱块中无论最后一个编码在哪都可以找到一条简单的三循环来完成。但在角块中,如果最后一个编码在底面,那么就会遇到UFR-DBR-UBR这样的公式,虽然也可以做得比较快但对还原来说不够简洁。一个可能的进阶做法是(RB'R'B)*3以及(R'U'RU)*3,它们都会影响顶层已经好了的两个块,(R'U'RU)*3是还原最快的方法但它会严重影响UFR和UFL位置的编码。并且如果
在记忆上的简化则是最后加某一个固定的位置,在记忆编码时可以更快地习惯这种变化方式。如棱块最后使用UF缓冲就加UR位置,如果最后使用其他缓冲就加UF位置。这样无法使用最快的公式但可以更容易整理编码。
例2的角块在编完ZG之后发现Q位置是UBR,并且DFL-DBR是互换的2C,这时我们可以知道Q位置上的UBR最终一定会回到UFR缓冲上,所以可以知道中间状态时UFR上是G编码。但如果我们在初始状态下做一个DFL顺翻DBL逆翻(直接得到这个状态的打乱是F2 R2 F' R2 B D2 L2 F2 R2 F D2 R2 U F' L2 U' L2 F2 L' D' U'),再对这个状态进行读码时,Q位置上的编码不再是G,DFL-DBR的状态也变为互换的2C'(带色向的互换),按公式借位的习惯则编码应该是ZG QN SM,在这种情况下我们是没法确定三循环阶段结束时UFR位置上是UBR的哪一个面的——也就是说在角块底层进行了借位与还位之后可能出现某块中间状态编码未知的问题。对于这个问题有两种方法可以解决:1.底层按色向借位,但会造成还原上的劣势;2.通过另外三个顶面编码来识别情况(直接识别或推理出未知编码后识别),但会造成识别上的难度。
另外,底层出现无法凑对直接完成的翻角也会造成类似的问题,但仍然是可以不依靠另外三块的编码计算的。如果使用加编码消翻角的方法去处理(加消可以认为是借位),仍然会有同样的问题。 作者: 勺子 时间: 3 天前
5.环形编码与ZBLL识别
进入中间状态后则不再需要考虑奇偶性了,所以U层是可以自由转动的,因为这个特性所以这个方法可以使用环形编码来降低识别难度。比如例1中我们记忆的顶面编码,从UBR/UR开始逆时针是角EHLC棱CGEA,那么如果在另一个打乱中我们遇到了角HLCE棱GEAC的编码,其实要做的同是一条的公式。需要记忆的是做公式时需要把哪一个编码转到前方以及结束时的AUF。
另一个关键点是实战时要如何快速识别编码。上面提到的例子中都是把棱块和角块编码放在一起识别,但这种方式在实战中可能更难实现,并且在实战中维持一个固定的记忆顺序也很困难,所以需要考虑更贴近实战的方法。这个方法识别ZBLL的难点其实在于角块,所以也可以考虑先识别角块状态(共162种),同时识别某个关键角块(比如小鱼状态鱼头的那个角,可以认为是锚点)两侧的两个棱块编码,再判断其属于12种情况中的哪一种。
除此之外,上面第3节提到过需要把1944种情况和494条公式关联起来,它们之间差了接近4倍,主要是因为大部分公式在4个方向做会获得不同的环形编码。为了方便解释这里选择一个我们最熟悉的小鱼OLL举例,我们直接做一个R U R' U R U2 R',从UBR/UR开始逆时针读码是ALIF、CGEA。现在再做一个U' R U R' U R U2 R' U,从UBR/UR开始逆时针读码是CLID、AGCE。但它们实际上都是用小鱼公式解决的,也就是说大部分ZBLL和PLL公式都会对应4个环形编码情况。当然最熟练的状态对于1944个情况的反应必然是直接关联到494公式中的某一条(Tommy Cherry提出了可以直接使用记忆卡软件来进行关联练习),但在学习过程中如果能找到一种方法将同一公式对应的情况关联起来会大大降低学习难度。所以有可能需要定义一种新的棱块顶面和角块顶层的编码(或者只定义角块顶层的)来进行这样的关联。
下面稍微扩展一下,讨论一些自定义角块顶层编码的想法,首先看上面小鱼例子的角块编码ALIF和CLID,假设角块字母编码对应着它们的字母排序(总共12个),如果计算两个编码之间的差值可以得到ALIF的情况是:L-A=11或-1,I-L=-3或9,F-I=-3或9,A-F=-5或7。CLID的情况是:L-C=9或-3,I-L=-3或9,D-I=-5或7,C-D=-1或11。从上面可以看到-1,-3,-3,-5的环形数字编码是可以描述这个状态的,但字母编码直接做这样的对应非常困难。如果想使用计算差值的方法来描述角块状态,需要一个12为循环并且差值可以作为特征的集合。
魔表的指针是一个可能的方案,但因为没法直观地看到指针,实际计算时还是需要转换成数字。
另外还想了一个比较奇特的方法就是音乐上的十二平均律,因为音程是十二平均律中的重要特征,如果用音符进行编码,则如下图所示。