[心得] 3BLD Parity技巧 - Weak Swap

看板Rubiks (魔術方塊)作者 (Hunter)時間3年前 (2021/06/14 02:47), 3年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
從上一篇我們得到一個結論 那就是在UF/UFR buffer的架構下,shoot to UR是最簡單的parity策略 讓循環終止於UR,造成UF-UR swap以配合後續的復原 另一方面我們又發現有些parity cycle本來就終止於UR,連shoot都不用 等於直接少做一個公式/少記一組letter pair 要增加循環終止於UR的機率,可以使用一種特殊的編碼策略 也就是這篇要講的Weak Swap (或是中國那邊說的固定借位法) 下面講解會穿插實例幫助了解 一樣用到UF/UFR buffer,白上綠前的Speffz配置 https://i.imgur.com/8tzI78J.png
-- 首先直接講Weak Swap的規則: 條件A:存在多個循環(需要用到breaking into a new cycle) 條件B:在第一循環結束回到buffer時,UR/RU還沒有被編過且不在正確位置上 符合以上AB條件,就以UR作為第二循環的起點(Cycle break at UR) 如果還有第三、甚至更多循環 就忽略第二循環的結尾,直接開始編剩下的循環 讓第二循環的結尾擺在最後 舉例: (AD)(BU)(GSO)照合併cycle的規則應該寫成(AD BU BG SO G) 在Weak Swap的規則下,忽略第二循環的重複結尾B,放到最後 變成(AD BU GS OG B) 這裡我們發現 寫成(AD BU BG SO G)的時候,最後還要shoot to UR 補做(AD BU BG SO GB) (五個公式) 但寫成(AD BU GS OG B)的時候,循環終止於B (UR),B可忽略 只要做(AD BU BG SO) (四個公式) 成功使用Weak Swap可以少做一個公式 但不是所有的case都可以使用Weak Swap 必須符合前面所說的AB條件才能使用,這部分後面會用更多的實例說明 Weak Swap適用於CEEC也適用於ECEC 差別在於CEEC中,可以先從角的編寫得知有無parity 有parity的話再視AB條件是否符合使用Weak Swap就好 而ECEC無法在開始看邊前知道是否有parity,因此必須能用就用 Weak Swap如果用在沒有parity的case是沒有效果的,但也不會因此增加記憶或公式數 所以做成習慣的話用在ECEC也無妨 根據計算,約有一半的parity case可以使用Weak Swap省下一個公式 把沒有parity的case加進來看的話就是約四分之一 也就是說使用Weak Swap,平均每四轉可以省一個公式 聽起來很少,但總比沒有好XD 而且對於那種三四十顆的mBLD attempt來說 省下的記憶量可以等於整整一顆方塊 那麼可不可以把Weak Swap用在角上? 答案是可以的,不過邊塊可以省下一個公式的原理是因為我們刻意終結於UR 跳過了shoot to UR的公式 角一般來說並沒有shoot to UBR的步驟(上篇講過,太多贅步) 所以無法再省,不過倒是可以增加最後以Jb perm結尾的機率 -- 接著來看實例 在parity存在時,我們首先考慮幾種情形 [只存在一個邊循環] 1. 循環包含UR,且UR剛好是在循環結尾,這是最幸運的狀態 2. 循環包含UR,但UR在循環中間,那最後只能Shoot to UR 3. 循環不包含UR,那最後依然只能Shoot to UR 結論: 只有一個循環的時候根本不需要cycle break,Weak Swap無用武之地 所以才有條件A https://i.imgur.com/BE56okK.jpg
https://i.imgur.com/tnoNjrB.jpg
[存在多個循環] 1. UR已在第一循環被編過或已在正確位置,無法作為第二循環的開始 也就無法Weak Swap https://i.imgur.com/INspR2V.jpg
2. UR還沒被編過,也不在正確位置上,可以Weak Swap 見下圖比較有無使用的差別 https://i.imgur.com/FuBVL7l.jpg
3. 有兩個以上的循環時,就要套用Weak Swap後半段比較複雜的規則 見下圖說明,比較有無使用的差別 https://i.imgur.com/PJVkeL0.jpg
https://i.imgur.com/NsYcqyb.jpg
最後,我們一直講shoot to UR或是cycle break at UR其實有點不精確 因為這是指第一循環回到buffer (UF)的狀況 如果今天第一循環回到的是buffer邊塊上的另一塊貼紙(FU) 那就要shoot to RU,一樣可以看下面的實例體會一下 https://i.imgur.com/UwcbS6M.jpg
-- 大概就是這樣,其實原理不難XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.8.6 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Rubiks/M.1623610077.A.C30.html ※ 編輯: Huntermagic (118.168.19.100 臺灣), 06/14/2021 14:42:03

12/20 00:09, , 1F
推好文
12/20 00:09, 1F
文章代碼(AID): #1WnbBTmm (Rubiks)
文章代碼(AID): #1WnbBTmm (Rubiks)