作者Huntermagic (Hunter)
看板Rubiks
标题[心得] 浅谈3BLD Parity
时间Sat Jun 12 03:53:49 2021
对我来说,十几年前学3OP的时候
Parity可以说是最困难的部分之一
一般3OP教学中的parity做法极为自由
总之就是要用各种方式setting成你会做的样子,通常是PLL
尤其3OP先O再P,翻完方向後setting方式有所限制
加上不固定breaking into a new cycle导致最後的边角可能在任何地方出现
使得parity难上加难
有看过以前的文就知道一堆人都在问“最後怎麽解”,“只剩下OOXX要怎麽处理”
然後大家也只会case by case回覆一些神来一笔setting成PLL的方法
学了其他解法後慢慢发现parity其实可以用很固定且有系统的方式解决
当然这些概念有一部分可以套回3OP,不过现在应该没什麽学3OP的必要了XD
--
撇开用CFOP做speed BLD这类玩法
现存的3BLD系统中,边角分开处理可以说是各解法的共识
但是当边角循环各自的替换目标为奇数
在不互相影响的情况下不可能完全分开复原
(因不可能做纯的两边互换或两角互换)
这对於盲解来说就是parity
举例来说,T/J/R/Y/V perm这几个同时换两边+两角的PLL
这些对CFOP来说很正常的case以盲解的角度来看全是parity cases.
Parity的处理方式会依“解法”和“记忆复原顺序”而有所不同
以下介绍一些处理parity的方法和思维
--
[二循环解角的parity策略]
使用条件:先解边再解角,二循环法解角(OP corner)
二循环法解角的公式,基本上都会伴随着边块的互换
(不可能做纯的两角互换)
https://i.imgur.com/97TDeJq.jpg
拿最原始的OP corner为例
我们以UBL为buffer,Y perm (去掉前後的F/F')为交换公式
每换一次角就会同时伴随UB-UL边的互换
如果角的目标是奇数个,做完奇数次交换公式必然会残留一个UB-UL边互换
如果我们在解边时使用一些技巧
使边做完之後呈现UB-UL互换的状态再去解角
这样解完最後一角时所残留的UB-UL互换就会将其抵消
完成整颗方块
https://i.imgur.com/Lz9nxS4.jpg
如果是使用改良後以UFR为buffer,Jb perm为交换公式的OP corner
每换一次角伴随的就是UF-UR边的互换
照同一个逻辑,我们就要在解边时使用一些技巧
使边做完之後呈现UF-UR互换的状态,让它在解完角的时候被抵消
下面介绍几个常见的做法:
1. 传统M2/OP (DF/UBL buffer) parity alg
https://i.imgur.com/O8n1HDV.jpg
M2法是以DF为buffer,M2为交换公式的二循环边块复原法
每换一次边就会伴随M层其他零件的180度移动
如果目标是奇数个,存在parity
那麽M2法做完边後就会残留UF、DB,以及四个M层中心的180度倒置
这时传统parity alg会要求你做D’ L2 D M2 D’ L2 D再开始解角
这个公式的效果相当於,M2 + (DF > UL > UB)
使整颗方块呈现所有边完成,但UB-UL互换的状态
而UB-UL互换就是要配合前面所说的UBL buffer OP corner
2. 2e2e
https://i.imgur.com/d7wt5go.jpg
上个解法中我们用M2解完最後一边,接着使用parity alg达成UB-UL互换
虽然只有一个公式,但整个过程花了两个步骤
而2e2e就是尝试只用一个公式
把(Buffer > last target) + (UB > UL)这两组两边互换同时完成
边的last target有22种选择(Buffer外有11个边,每边2个贴纸位置)
因此2e2e共有22个公式
顺带一提,虽然叫做2E2E,但并不全都是两组两边互换
如果last target刚好是UB或UL上的贴纸
那结果就会是一个三边循环
2e2e的概念不止能用在传统M2/OP
OP/OP甚至3-style/OP也可以针对不同的buffer设计公式
实际上2e2e的优势并不在於3BLD而是在於某些mBLD的状况
详细原因这边不多讨论
总之初学建议直接学後面一些更简单的处理方法就好
3. Shoot to UR
https://i.imgur.com/JN4R4W0.jpg
传统UBL buffer的OP corner要求的是UB-UL互换,而M2法的buffer在DF
(Buffer > last target) + (UB > UL)有很大的机率是以两组两边互换呈现
因此衍生出了2e2e这种解法
如果使用的是UFR buffer的OP corner,我们希望达到的状态是UF-UR互换
而边的部分也使用现在主流的UF buffer
那麽(Buffer > last target)和(UF > UR)这两组换边必定会重叠於UF
也就是说2e2e两组两边的状况并不存在
整理一下可以合并成(UF > last target > UR)
这个方法就是我前几篇教学用到的方法
遇到parity时在边的循环最後多编一个UR
这样解完自然就会是UF-UR互换的状态,等着後面OP做完角抵消
甚至在某些状况下,编码本来就终止於UR,连多加编码都免了
4. 反编法
https://i.imgur.com/qK1bxKj.jpg
反编法是另一个零公式,靠着在编码动手脚处理parity的方法
以UFR buffer的OP corner来说,既然我们希望边做完的时候呈现UF-UR互换
那一开始编码的时候反过来编不就好了?
把UF贴纸当成UR贴纸,把FU贴纸当成RU贴纸,反之亦然
由於我们在设定上做了互换,边的目标一定会是偶数个
做完会很自然地呈现UF-UR互换,等着OP解角的时候被抵消
反编法很简单,但也没有绝对的优势
以UF/UFR buffer来说,shoot to UR还是最简单无脑的选择
另外和前面不太一样的是,除了先解边再解角这个条件
反编法连记忆顺序也有限定,必须先记角再记边
因为要先从角得知有parity,看边的时候才知道要反着看
(不过CEEC本来就是主流,所以也不算缺点)
总结来说,解边时要用什麽技巧完成何种状态
完全取决於你用什麽方法解边、什麽公式换角,以及边角buffer为何
中心思想就是解边时调整为特殊状态,以抵消奇数次二循环换角所附带的边块移动
或许有人会问,这几种解法都在拿边配合角
可不可以用类似的概念拿角配合边?
答案是可以的,只是这种approach在各方面并没有优势
--
[三循环架构下的parity策略]
接下来讲的是三循环解法的部分
三循环的边和角都是以各种换三角和换三边来完成
不会有二循环解法中解奇数角遗留换边,解奇数边遗留换角的情况
三循环不论边角,在目标为奇数个时
最後必然会剩下一个无法完成的(Buffer > last target)
以下以UF/UFR buffer为例,处理方法都很直觉,而且二循环也适用:
1. 暴力破解
https://i.imgur.com/dGbUYj3.jpg
把边做到剩一个目标,角也做到剩一个目标
这样整颗方块剩下
边:(Buffer > last target)
角:(Buffer > last target)
接着一次解完两角两边
边的last target有22种选择(Buffer外有11个边,每边2个贴纸位置)
角的last target有21种选择(Buffer外有7个边,每边3个贴纸位置)
一次解完两角两边就需要22 x 21 = 442个公式
这种解法不受记忆复原顺序影响
最直观,但同时也最不平易近人(公式太多)
2. Shoot to UR and UBR
https://i.imgur.com/AhJr0CZ.jpg
既然解到最後边角都剩下(Buffer > last target)
那只要在编码的最後分别加上UR/UBR,变成
边:(Buffer > last target > UR)
角:(Buffer > last target > UBR)
产生偶数目标後就可以用三循环处理掉,最後结果会变成
(UF > UR) + (UFR > UBR),也就是Jb perm
如此公式就从442变成1个
但是要多花两个步骤把边shoot to UR,角shoot to UBR
赘步太多
3. Shoot to UR
https://i.imgur.com/pEEU4Jk.jpg
前两个方案一个公式太多,一个赘步太多
那不如只用shoot to UR固定边,这样就会变成
(UF > UR) + (UFR > last target)
由於角的last target有21种选择,因此只有21个公式
甚至可以不用背,只靠setting做成自己会的样子
这里应该不难发现这21个case其实就是UFR buffer OP corner的21种情形
实际上做的事跟前面二循环部分讲的shoot to UR法完全一模一样
(顶多只能说推导的过程和精神不同)
只用shoot to UBR固定角本身没什麽优势,就不讨论了
--
结论是在UF/UFR buffer的框架下
目前最简单通用的parity处理策略就是shoot to UR
前面提到parity存在时,如果边的循环刚好结束於UR,那连多编码都免了
少一个编码,少一组letter pair,少做一个公式对高手来说影响是很大的
也因此衍生出一些特殊的编码策略,能够有效提升循环结束於UR的机率
这个之後再说XD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.97.183 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Rubiks/M.1623441232.A.803.html
※ 编辑: Huntermagic (118.168.97.183 台湾), 06/12/2021 03:57:55
1F:推 tomtim: 好文推~~~ 06/12 11:17
2F:推 xuan85116: 没空学先推~~~ 06/12 13:53
3F:→ Huntermagic: 这篇乱介绍,没东西可学,有的话应该是在下一篇 吧 06/12 14:31
4F:推 cubefan: 推推 可以问图是用甚麽画的吗 好精美喔xD 06/25 15:49
5F:→ Huntermagic: isometric 06/26 02:12
6F:推 weijiunn: 推... lag 两年 XD 07/07 15:38