淺談3BLD Parity - 魔術方塊

Oliver avatar
By Oliver
at 2021-06-12T03:53

Table of Contents

對我來說,十幾年前學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


--

All Comments

George avatar
By George
at 2021-06-13T16:53
好文推~~~
Bennie avatar
By Bennie
at 2021-06-15T05:52
沒空學先推~~~
Gilbert avatar
By Gilbert
at 2021-06-16T18:51
這篇亂介紹,沒東西可學,有的話應該是在下一篇 吧
Zanna avatar
By Zanna
at 2021-06-18T07:50
推推 可以問圖是用甚麼畫的嗎 好精美喔xD
Lydia avatar
By Lydia
at 2021-06-19T20:50
isometric
Jessica avatar
By Jessica
at 2021-06-21T09:49
推... lag 兩年 XD

3x3x3 Auk109 ao12 14.35

Elvira avatar
By Elvira
at 2021-06-05T21:39
時間: 於2021-06-05使用csTimer計時 12 次去頭尾平均: 14.35 時間列表: 1. 13.88 L Uand#39; L R2 D2 U2 F2 L R2 F2 Rand#39; D Uand#39; Land#39; U Fand#39; D2 Band#39; 2. 13.7 ...

我如何(嘗試)學習3-style (七)

Lucy avatar
By Lucy
at 2021-04-28T02:33
以我目前能力所及的部分來說 這應該就是系列最後一篇了 來講mBLD 根據之前自己搜尋的經驗 多盲的學習資源比起單盲要少很多,細節和技巧也不盡相同 下面的東西是經過各種拼湊摸索得到的 不是很專業,但至少還算堪用 -- 單盲和多盲的差別不只在於數量 如果只把單盲的做法倍數放大,那很可能在第二第三顆就會卡關 下 ...

我如何(嘗試)學習3-style (六)

Kumar avatar
By Kumar
at 2021-04-27T15:32
值班後再來一篇,講一下letter pair 記憶的部分是非常個人化的,所以只能講觀念,比較難跟著實例練習 Q1. Letter pair要怎麼編? A1. 先做一個表格,行列都從A編到X (以Speffz為例) 接著從AA,AB,AC...一路往下填,三秒內想不到的就跳過 第一波靠直覺就填上去的部分, ...

我如何(嘗試)學習3-style (五)

Daniel avatar
By Daniel
at 2021-04-27T00:20
記憶是初學盲解最困難的部分 初學者DNF,常常歸咎於記不起來 在盲解中,記憶差可能是沒有學到有效的記憶輔助法 也可能是因為記憶被其他的步驟拖累 這個系列在其他部分下了不少功夫,並把記憶放在最後面 就是為了排除其他低級失誤造成的記憶負擔 打亂的方塊寫成cycle後,會變成一串混亂的字母 這邊我們將字母兩兩配對 ...

我如何(嘗試)學習3-style (四)

Selena avatar
By Selena
at 2021-04-25T22:23
前面講了一些3-style學習之路可以嘗試的各種階段性選擇和優缺點 這篇我會細講一下我認為初學比較容易學習又可以兼顧效率的復原法 (嚴格說起來這篇其實和系列標題沒什麼關係XD) 和寫cycle時先角後邊的順序不同,復原時我們採用先邊後角的方式 整體流程為“記角 andgt; 記邊 andgt; 解邊 and ...