[心得] 讓完全新手參考用的2階魔術方塊解法

看板Rubiks (魔術方塊)作者 (桜花)時間1月前 (2024/11/25 20:00), 1月前編輯推噓8(8041)
留言49則, 3人參與, 1月前最新討論串1/1
前言 起因是有完全沒接觸過魔術方塊的新手,想從最簡單的2階魔術方塊開始學起。 所以就用了我覺得最好理解的解法,寫下這篇內容當做教材, 順便貼上來和板友分享。雖然還沒實際拿去教XD 也非常歡迎大家任何的意見交流,畢竟這教法可能還有不少改進空間。 第1步:2階魔術方塊的等價表示 對於2階(2 ×2 ×2)魔術方塊的相對兩面,它們的轉動是等價的。 因此可以選定8塊方塊中的1塊方塊為基準,將它放到後方,其他3面7塊方塊朝前, 之後只轉動朝前的3面,如下圖所示。 https://imgpoi.com/i/XRKIVD.png
以後都將像下圖這樣,把轉動2階魔術方塊簡化為7格方塊在3條軌道上輪轉。 https://imgpoi.com/i/XRKLAV.png
第2步:完成後方3格 當1塊方塊移動時,只要它沒有透過不同軌道進出下圖黑色的中央位置, https://imgpoi.com/i/XRKFXE.png
那麼當它回到出發點時就會維持與一開始相同的方位;反之則可以旋轉它。 因此已經排好的方塊只要不進入中央位置,在需要避讓時還是可以被移動一下。 透過這個原則便可以很容易完成下圖黑色的後方3格, https://imgpoi.com/i/XRKJIB.png
把正確位置在這裡的方塊移過來並轉到正確方位。 第3步:移動前方4格 這裡把已經完成的後方3格分別標示為x、y、z, 還沒完成的前方4格分別標示為a、b、c、d,如下圖所示。 https://imgpoi.com/i/XRK65G.png
遵循之前的原則, 首先要在不讓x、y、z進入中央位置的條件下把a、b、c、d移到正確位置。 滿足這個前提的轉法有很多,最簡單的像是: 1. x朝向z(往b)轉1格; https://imgpoi.com/i/XRKDC9.png
2. y朝向z(往a)轉1格; https://imgpoi.com/i/XRK2P5.png
3. x轉回原位; https://imgpoi.com/i/XRKMVM.png
4. y轉回原位。 https://imgpoi.com/i/XRZ5A2.png
轉完後a、b的位置互換,c、d的位置也互換。 這個轉法之後可以用到,把它記為[z←x, z←y], 表示x先朝向z然後y朝向z轉,之後也是先x後y復原。 因此[z←y, z←x]就是[z←x, z←y]的反轉, 其他像[y←z, y←x]、[x←y, x←z]也都是這類轉法, 其實活用它們就有辦法解完2階魔術方塊了。 這篇文章裡用中括號框起來所代表的轉法最後x、y、z都會回到原位。 [z←x, z←y]對a、b、c、d的移動可以用輪換符號寫成(ab)(cd)。 可以記憶為目的地z正下方的兩格互換,旁邊兩格也互換, 同理[y←z, y←x]對應(ac)(bd),[x←y, x←z]對應(ad)(bc)。 數學物件:置換 由於開始用到了輪換符號,並且後面會使用置換運算來移動前方4格, 因此先花了一些篇幅在這邊做個簡單介紹,如果對置換熟悉的話可以先跳過這段。 一些元素位置掉換的動作被稱為置換, 並且多個置換能藉由依序執行各自的移動結合成1個新的置換。 而像上面a、b、c、d所有的移動方式搭配置換的結合構成了4階置換群S4。 置換能透過輪換符號來表示,例如(abcde)代表a←b←c←d←e←a這個移動, 並且(bcdea)、(cdeab)、(deabc)、(eabcd)也都等於是這個移動的寫法; 而(aedcb)就是(abcde)的反置換,代表反過來的移動a→b→c→d→e→a。 (ab)這種2階輪換代表2個元素交換,反置換就是(ab)本身。 另外像是置換(abc)、(bcd)的結合寫成(abc)(bcd),先執行寫在前面的移動。 S4總共有24個置換,包含: 空置換1個,(),代表沒有任何移動,而像(a) = a←a這種也等於空置換 2階輪換共6個,(ab)、(ac)、(ad)、(bc)、(bd)、(cd) 互斥2階輪換的結合共3個,(ab)(cd)、(ac)(bd)、(ad)(bc),元素兩兩交換 3階輪換共8個,(abc)、(abd)、(acb)、(acd)、(adb)、(adc)、(bcd)、(bdc) 4階輪換共6個,(abcd)、(abdc)、(acbd)、(acdb)、(adbc)、(adcb) 顯然S4中所有置換都能寫成2階輪換的結合,畢竟所有移動都能透過元素兩兩交換達成。 觀察一些置換的結合,例如: (ab)(abcd) = (a←b←a)(a←b←c←d←a) = b←c←d←b = (bcd) (abcd)(ab) = (a←b←c←d←a)(a←b←a) = c←d←a←c = (cda) = (acd) (cd)(abcd) = (cd)(cdab) = (dab) = (abd) 也能得到 (abcd) = (ab)(bcd) = (ab)(bc)(cd) = (acd)(ab) = (ad)(ac)(ab) = (cd)(abd) = (cd)(bd)(ad) 但3階輪換就無法組合出2階輪換或4階輪換,這點可以用3階輪換屬於偶置換, 而2階輪換與4階輪換屬於奇置換來說明。再觀察更多置換的結合: (abcd)^2 = (a←b←c←d←a)(a←b←c←d←a) = (a←c←a)(b←d←b) = (ac)(bd) (ac)(abcd) = (a←c←a)(a←b←c←d←a) = (a←b←a)(c←d←c) = (ab)(cd) (abcd)(ac) = (a←b←c←d←a)(a←c←a) = (a←d←a)(b←c←b) = (ad)(bc) 可以得到像是 (ac) = (acbd)^2 (adcb) 之類的等式, 藉此能發現S4中的置換也都可以寫成4階輪換的結合。 最後下面這類4階輪換與3階輪換的結合之後也會用到: (abc)(abcd) = (a←b←c←a)(a←b←c←d←a) = a←c←d←b←a = (acdb) (abcd)(abc) = (a←b←c←d←a)(a←b←c←a) = a←c←b←d←a = (acbd) 第3步(續):移動前方4格 回到2階魔術方塊, https://imgpoi.com/i/XRK65G.png
除了[z←x, z←y]、[y←z, y←x]、[x←y, x←z]這類轉法, 另一種不讓x、y、z進入中央位置的轉法是: 1. x朝向y(往c)轉1格; https://imgpoi.com/i/XRZ9XD.png
2. y帶著x朝向z(往a)轉1格; https://imgpoi.com/i/XRZGIV.png
3. 此時a、c、b、d便能隨意轉動,分別對應(acbd)、(acbd)^2 = (ab)(cd)、 (acbd)^3 = (adbc); https://imgpoi.com/i/XRZB5E.png
4. 復原。 https://imgpoi.com/i/XRZACB.png
https://imgpoi.com/i/XRZRPG.png
這裡把這個轉法記為[y←x, z←y],表示一開始x先朝向y然後一起朝向z轉, 預設如圖中只在步驟3逆時針轉1格,得到對應關係 [y←x, z←y]:(acbd)、[y←x, z←y]^2:(ab)(cd)、[y←x, z←y]^3:(adbc) 同理 [x←z, y←x]:(cbad)、[z←y, x←z]:(bacd) 這種轉法很容易在途中看出對應的4階輪換,可以不用特別去記憶。 或是用從中央出發的前2步移動判斷第1轉。 觀察a、b、c、d從正確位置到目前位置的移動: 1. 若是(abc)這種3階輪換, 順著相同方向做1次4階輪換如[y←x, z←y]^3:(adbc)變為4階輪換(adcb)接3., 方向相反也沒關係就變為2階輪換接2.; 2. 若是(ab)這種2階輪換, 做1次[y←z, y←x]:(ac)(bd)變為4階輪換(dacb) 或[x←y, x←z]:(ad)(bc)變為4階輪換(cadb)接3.; 3. 若是(abcd)這種4階輪換,做1次反置換[x←z, y←x]:(dcba)變為空置換; 4. 若是(ab)(cd)這種兩兩交換,做1次[z←x, z←y]:(ab)(cd)變為空置換。 這樣移動前方4格就完成了。 第4步:旋轉前方4格 此時a、b、c、d每1格處於 方向正確、逆時針方向自轉1格、或順時針方向自轉1格3種狀態之1。 觀察轉2次[z←x, z←y],此時a、b、c、d都沒有移動, 但a、b原地逆時針轉動了1格,c、d原地順時針轉動了1格,記為a+b+2c+2d。 可以使用與前面相同的記憶法:z正下方的兩格往同一邊轉,旁邊兩格往另一邊轉。 a、b、c、d每1格的自轉可以用3階循環表示,分別構成3階循環群C3, 共同記為pa+qb+rc+sd。 亦即逆時針方向轉動2格等於順時針方向轉動1格, 順時針方向轉動2格等於逆時針方向轉動1格, 而逆時針方向轉動3格或順時針方向轉動3格便回到原方向。 因為循環群是交換群,所以處理起來會比較簡單,只要把循環抵銷就好不用在意先後。 另外由於轉動2階魔術方塊時的不變性,沒辦法只單獨旋轉其中1塊方塊。 也就是在第3步魔術方塊的所有狀態為S4 ×C3 ×C3 ×C3,在第4步為C3 ×C3 ×C3。 觀察a、b、c、d從正確方向到目前方向的自轉,此時除了完全正確的情況, 其他的可能性只有: 1. 某3格往同方向自轉,例如a+b+c, 隨便選1個轉法例如[z←x, z←y]^2:a+b+2c+2d, [z←x, z←y]轉2或4次變為2c+d接2.; 2. 某1格往逆時針轉,另1格往順時針轉,例如a+2b, 選1個轉法讓這2格往反方向自轉,例如[y←z, y←x]^2:a+2b+c+2d, [y←z, y←x]轉2或4次變為2a+b+c+2d接3.; 3. 某2格往逆時針轉,另2格往順時針轉,例如a+b+2c+2d, 一直轉對應的轉法[z←x, z←y]^2:a+b+2c+2d就可以。 2階魔術方塊到這裡便解完了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.81.202 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Rubiks/M.1732536030.A.880.html

11/26 14:07, 1月前 , 1F
撇開不是用目前通用的notation撰寫比較難閱讀,我覺
11/26 14:07, 1F

11/26 14:07, 1月前 , 2F
得這是一個可理解但新手不算容易觀察/學習的解法
11/26 14:07, 2F

11/26 14:29, 1月前 , 3F
先P (permutation)後O (orientation)的解法在pattern
11/26 14:29, 3F

11/26 14:29, 1月前 , 4F
recognition上其實是比較不容易的,80年代的Nourse
11/26 14:29, 4F

11/26 14:29, 1月前 , 5F
method這樣處理3x3第三層的角,但大部分更新更主流的
11/26 14:29, 5F

11/26 14:29, 1月前 , 6F
解法幾乎都是先O後P
11/26 14:29, 6F
觀察的話我會以白(黑)綠橘塊為基準,完成白綠、綠橘、橘白後剩下4塊就用有白色、有 綠色、有橘色、只有紅黃藍來追蹤。轉動時也主要看白綠橘來判斷順逆時針,紅黃藍那塊 就看後方3塊朝前的那面。當然也可以直接推論。

11/26 14:48, 1月前 , 7F
這個解法如果要再擴展,第一應該是開放把UBL角用頂層
11/26 14:48, 7F

11/26 14:48, 1月前 , 8F
任一角取代,最後再adjust U face,再來就是第一步不
11/26 14:48, 8F

11/26 14:48, 1月前 , 9F
做頂角只做底層三角,從L4C改成L5C,這方面可以變的
11/26 14:48, 9F

11/26 14:48, 1月前 , 10F
就更多
11/26 14:48, 10F

11/26 14:51, 1月前 , 11F
如果單純考慮讓新手能快速學會自己轉出來,那其實精
11/26 14:51, 11F

11/26 14:51, 1月前 , 12F
簡的LBL應該已經足夠簡單
11/26 14:51, 12F

11/26 18:22, 1月前 , 13F
感謝建議!不過我對方塊解法還瞭解得不多,這篇解法也
11/26 18:22, 13F

11/26 18:22, 1月前 , 14F
是我自己瞎想的,因為感覺流程很順之後也一直在用。
11/26 18:22, 14F

11/26 18:23, 1月前 , 15F
也因此中間擴展那段不太清楚你的意思。就我的看法高階
11/26 18:23, 15F

11/26 18:23, 1月前 , 16F
方塊角塊也是最難的,其他稜和面一塊塊搬就好,所以
11/26 18:23, 16F

11/26 18:23, 1月前 , 17F
感覺也沒有擴展的需要?
11/26 18:23, 17F

11/26 21:33, 1月前 , 18F
一般速解法裡面高階最後幾乎都是降階成3x3處理,所以
11/26 21:33, 18F

11/26 21:33, 1月前 , 19F
角的做法基本不會脫離3x3的考量,並沒有因為高階特別
11/26 21:33, 19F

11/26 21:33, 1月前 , 20F
困難
11/26 21:33, 20F

11/26 21:38, 1月前 , 21F
降階以5x5為例,就是把三塊小邊組成一個大塊的邊,每
11/26 21:38, 21F

11/26 21:38, 1月前 , 22F
一面中間的9塊小中心塊拼成一塊大塊的中心,轉變成3x
11/26 21:38, 22F

11/26 21:38, 1月前 , 23F
3再解回來
11/26 21:38, 23F

11/26 21:38, 1月前 , 24F

11/26 22:03, 1月前 , 25F
擴展那部分是說這個解法可以怎麼樣更進階更通用。以
11/26 22:03, 25F

11/26 22:03, 1月前 , 26F
你有標號的第一張圖為例,現階段你的第一步是要靠自
11/26 22:03, 26F

11/26 22:03, 1月前 , 27F
己直觀轉出xyz。今天我們可以容許不做z,改成將同樣
11/26 22:03, 27F

11/26 22:03, 1月前 , 28F
是頂層的a、b或d放在z的位置,接下來做完剩下四塊後
11/26 22:03, 28F

11/26 22:03, 1月前 , 29F
再將頂層轉90或180度歸位即可。這樣你的第一步就會更
11/26 22:03, 29F

11/26 22:03, 1月前 , 30F
靈活,在2x2的架構下會有很多步驟省略的機會。再來既
11/26 22:03, 30F

11/26 22:03, 1月前 , 31F
然已經摸索得到一些換前方四角的公式,那一定也可以
11/26 22:03, 31F

11/26 22:03, 1月前 , 32F
更靈活把z也加進去,這樣第一步只需要做x和y就好(VOP
11/26 22:03, 32F

11/26 22:03, 1月前 , 33F
method就是這樣,在底層做一個V,之後處理剩下的五
11/26 22:03, 33F

11/26 22:03, 1月前 , 34F
個角,不過他是先O再P,也就是先處理方向再換位置)
11/26 22:03, 34F

11/27 12:30, 1月前 , 35F
瞭解!會先把這裡的z做完除了看起來比較對稱外,也是想
11/27 12:30, 35F

11/27 12:32, 1月前 , 36F
像上面說的讓方塊的移動和旋轉更容易觀察,或許這就是
11/27 12:32, 36F

11/27 12:33, 1月前 , 37F
先P再O的麻煩和限制吧XD
11/27 12:33, 37F

11/27 17:56, 1月前 , 38F
不管是先O再P還是先P再O,後面的步驟為了不破壞前面
11/27 17:56, 38F

11/27 17:56, 1月前 , 39F
做的東西,在轉法上都會受到限制。只是在辨認方面,O
11/27 17:56, 39F

11/27 17:56, 1月前 , 40F
可以只觀察一種或一對顏色(2x2以頂面黃/底面白為例
11/27 17:56, 40F

11/27 17:56, 1月前 , 41F
,只要看黃/白色塊是否朝上/下就可知方向是否正確)
11/27 17:56, 41F

11/27 17:56, 1月前 , 42F
,先O之後,P只要觀察側邊顏色的排列花樣即可簡單辨
11/27 17:56, 42F

11/27 17:56, 1月前 , 43F
認。在一般速解的情況下對人比較友善的觀察其實是辨
11/27 17:56, 43F

11/27 17:56, 1月前 , 44F
認顏色排列的花樣,而不是去想實際零件之間應該跑的
11/27 17:56, 44F

11/27 17:56, 1月前 , 45F
位置。
11/27 17:56, 45F

11/27 17:59, 1月前 , 46F
所以先O再P的情況比較普遍,也比較實用。當然很多進
11/27 17:59, 46F

11/27 17:59, 1月前 , 47F
階解法在做的就是把OP一起處理,不只是觀察難度增加
11/27 17:59, 47F

11/27 17:59, 1月前 , 48F
,case/公式量也會大幅提升。
11/27 17:59, 48F

11/28 08:37, 1月前 , 49F
神奇的方法。想進到研究領域可以試試
11/28 08:37, 49F
※ 編輯: mikapauli (118.166.94.149 臺灣), 11/28/2024 19:30:38
文章代碼(AID): #1dH6RUY0 (Rubiks)
文章代碼(AID): #1dH6RUY0 (Rubiks)