群論與魔方:奇數階超級魔方的還原攻略


在本章,筆者將運用上兩章的概念和結果介紹還原「奇數階超級魔方」的技巧並解釋其原理。以下將大致沿用筆者在《群論與魔方:更高階魔方的還原攻略》中提出的還原魔方五大步驟(其中第V步又細分為七小步),但會把第II步分拆為IIa和IIb這兩步(其中第IIb步又會細分為三小步),並會增加第VI步。如還原對象為「三階超級魔方」,可直接跳至第V步,並把下文所述的「邊區/中心區」理解為「邊塊/中心塊」。

第I步:搞定首四個面的中心區

跟還原「普通魔方」一樣,在這一步我們可以隨意選擇任何四個面並還原其中心區。為明確起見,我們假設這四個面是紅色面和黃色面以外的四個面。請注意這一步與還原「普通魔方」的第I步基本相同,不同之處僅在於:對「普通魔方」而言,同一軌道同一顏色的4個中心塊沒有區別;但對「超級魔方」而言,這些小面卻互有區別,不能放錯位置。以下圖為例:

在上圖中,紅色「03」軌道中心塊共有4個,分別標有「A.03」、「B.03」、「C.03」和「D.03」。在還原「超級魔方」時,必須把這4個中心塊分別還原到「f11」、「f31」、「f33」和「f13」位置。如果沒有這些標識,便成了「普通魔方」,可以把這4個中心塊的任何一個隨意放到上述4個位置的任何一個。因此,還原「超級魔方」的第I步比還原「普通魔方」的第I步有較嚴格的要求。

第IIa步:搞定第五個面的中心區

在完成第I步後,「超級魔方」應呈現以下狀態:

在上圖中,只有紅色面和黃色面的中心區尚未搞定。由於其餘四個面的中心區均已搞定,所有紅色和黃色中心塊均分佈在餘下這兩個面上。這一步的目標是從餘下這兩個面中選擇一個,並搞定這個面的中心區。為明確起見,我們假設選擇了黃色面。接下來我們嘗試把處於紅色面的黃色中心塊逐一移到黃色面的適當位置,方法是使用以下的「(XYZ)公式」:

順-逆-順(XYZ)公式Ux−1 R Uz−1 R−1 Ux R Uz R−1 = (X, Y, Z)(1)
逆-順-逆(XYZ)公式Ux−1 R−1 Uz−1 R Ux R−1 Uz R = (X, Y, Z) (2)

有關上述兩條公式的使用方法和實例,請參閱上一章。請注意如果某些黃色中心塊處於黃色面的錯誤位置,便可能先要用紅色中心塊把這些黃色中心塊移到紅色面,然後再把這些黃色中心塊移回黃色面的正確位置。

第IIb步:搞定第六個面的中心區

在完成第IIa步後,「超級魔方」應呈現以下狀態(為顯示較一般的情況,以下改用「七階超級魔方」作為示例):

在上圖中,雖然所有紅色中心塊均已齊集於紅色面上,但這些中心塊並非全部處於正確位置。在這一步,我們要利用前述的「(XYZ)公式」設法把位置不正確的紅色中心塊遷移至正確的位置。但在進行遷移前,須先檢查紅色面上各個「非正中中心塊」軌道是否全部都是偶排列。這是因為上述兩條「(XYZ)公式」都只能使「非正中中心塊」實現偶數次「對換」,如果有任何「非正中中心塊」軌道呈現為奇排列,「(XYZ)公式」不可能使之還原(回復原狀的軌道等於實行了0個「對換」,屬偶排列)。因此,這一步實際由以下三小步組成。

第一小步:檢查各個「非正中中心塊」軌道是否全部都是偶排列

檢查各個軌道的「相對奇偶性」的方法是列出每個「軌道」相對於正中中心塊的字母排佈,然後看要進行偶數次還是奇數次字母「對換」才能使此字母排佈回復到「ABCD」。請注意在上圖中「A.00」正中中心塊順時針旋轉了90°,所以在列出各軌道的字母排佈時,應從紅色面的右下角開始。以「05」軌道為例,從紅色面的右下角開始看,這個軌道的字母排佈是「ADBC」。由於需要進行兩次「對換」回復到「ABCD」(即先對調D和B,然後對調D和C),這個排佈是偶排列。下表列出上圖中6個「非正中中心塊」軌道的字母排佈及其「相對奇偶性」(下表用0和1分別代表偶排列和奇排列):

軌道中心塊類別相對於正中中心塊的字母排佈相對奇偶性
05
四角中心塊
ADBC
0
07
四角中心塊
CDAB
0
11
十字中心塊
CADB
1
10
十字中心塊
CBAD
1
08
配對中心塊
(與「04」軌道配成一對)
CDAB
0
04
配對中心塊
(與「08」軌道配成一對)
ADBC
0

上表顯示「10」和「11」軌道均為奇排列,所以接下來要進行第二小步。

第二小步:使各個「非正中中心塊」軌道均變成偶排列

在進行這一小步前,首先作出一些觀察。我們注意到上表所示「相對奇偶性」與「定理18」和「定理19」完全吻合(在下式中,R-Parity代表「相對奇偶性」,Ci代表任意「四角中心塊」軌道,P1和P2代表配成一對的「配對中心塊」軌道,M1和M2代表P1、P2所在「非正中夾心層」的「十字中心塊」軌道):

定理18:R-Parity(Ci) = 0     (3)

定理19:R-Parity(P1) = R-Parity(P2) = R-Parity(M1) +2 R-Parity(M2)     (4)

根據「定理18」,「四角中心塊」軌道的「相對奇偶性」總是0;而根據「定理19」,「配對中心塊」軌道的「相對奇偶性」取決於「十字中心塊」軌道的「相對奇偶性」,因此我們實際上只需理會「十字中心塊」軌道的「相對奇偶性」。上表顯示兩個「十字中心塊」軌道的「相對奇偶性」均為1,因此要設法使它們變成0,一個簡單方法是使用筆者以前介紹過的「單邊換位公式」:

單邊換位公式:Lx−1 U2 Lx−1 U2 F2 Lx−1 F2 Rx U2 Rx−1 U2 Lx2 = (fux1, bux1)(ux*, ux'*)     (5)

上列「循環式」顯示,以上公式會把「ux*」和「ux'*」中心行對調。由於把兩個處於對稱位置的中心行對調會使該兩個中心行上的「十字中心塊」軌道和所有「配對中心塊」軌道發生一次「對換」,並使「四角中心塊」軌道發生兩次「對換」,上述公式正好符合我們的目的。接下來我們要轉動整個魔方,使紅色面朝上,並進行(5)兩次(即把1和2先後代入(5)中的變項x),使兩對中心行對調位置。一個較快的方法是把包含「11」和「10」十字中心塊軌道的「非正中夾心層」看成區塊,這樣便只須進行(5)一次。進行上述操作後,上圖的情況會變成下圖所示情況:

讀者可自行驗證在上圖中,所有「非正中中心塊」軌道的「相對奇偶性」均為0。

上述操作(5)雖然本是針對「十字中心塊」軌道的「相對奇偶性」而作出,但卻能連帶使相關「配對中心塊」軌道也變成偶排列,現在讓我們來看看為何會如此。就任一「配對中心塊」軌道(設為P1)而言,其「相對奇偶性」不是0就是1。若R-Parity(P1) = 0,那麼根據「定理19」,有兩種可能情況:(i)與P1處於同一「非正中夾心層」的兩個「十字中心塊」軌道(設為M1和M2)的「相對奇偶性」均為0;(ii)M1和M2的「相對奇偶性」均為1。在情況(i)下,M1和M2所在的「非正中夾心層」均無需進行操作(5),因此R-Parity(P1)不受影響,仍保持為0。在情況(ii)下,M1和M2所在的「非正中夾心層」均需進行操作(5),這樣P1因受兩次操作(5)影響,R-Parity(P1)仍為0。

若R-Parity(P1) = 1,那麼在R-Parity(M1)和R-Parity(M2)中,必然恰好有一個是0,另一個是1。在此情況下,只有M1或M2所在的「非正中夾心層」需要進行操作(5),這樣P1因恰好受一次操作(5)影響,R-Parity(P1)變成0。總括而言,使用上述方法,能令所有「十字中心塊」和「配對中心塊」軌道的「相對奇偶性」變成0或保持為0。

第三小步:應用「(XYZ)公式」使每個軌道的排佈回復正常

在這一小步中,「回復正常」是指回復到「ABCD」的排佈。在應用「(XYZ)公式」的過程中,必須借用另一個面上的某個中心塊,在借用完後把該中心塊放回原位。為方便讀者,現把各種可能情況下的還原過程列於下表(註1):

表8
相對於正中中心塊的字母排佈還原過程
ABCD
無需邊原
ABDC
奇排列
ACBD
奇排列
ACDB
(B, Z, D) → (Z, B, C)
ADBC
(D, Z, B) → (Z, D, C)
ADCB
奇排列
BACD
奇排列
BADC
(A, Z, B) → (D, A, C) → (Z, D, A)
BCAD
(A, Z, C) → (Z, A, B)
BCDA
奇排列
BDAC
奇排列
BDCA
(D, Z, B) → (Z, D, A)
CABD
(C, Z, A) → (Z, C, B)
CADB
奇排列
CBAD
奇排列
CBDA
(C, Z, A) → (Z, C, D)
CDAB
(A, Z, B) → (Z, A, C) → (D, Z, B) → (Z, D, C)
CDBA
奇排列
DABC
奇排列
DACB
(B, Z, D) → (Z, B, A)
DBAC
(C, Z, A) → (Z, C, D)
DBCA
奇排列
DCAB
奇排列
DCBA
(A, Z, D) → (C, A, Z) → (Z, C, B)

上表列出A、B、C、D的24種可能排佈,其中一種無需還原;12種屬「奇排列」,須先進行第二小步把該排列轉化為偶排列;其餘11種可用「(XYZ)公式」還原。上表右欄代表運用「(XYZ)公式」的結果(這裡用字母代表中心塊所在的位置),其中Z代表另一個面上任意一個合適的中心塊。請注意在進行上表的還原過程時,有時需旋轉紅色面或另一個面,使中心塊處於合適的位置且符合「(XYZ)公式」的使用條件。現以下圖為例說明如何運用上表:

上圖顯示「05」軌道的排佈是「BCAD」,根據表8,要先實現(A, Z, C),這裡假設Z是黃色面上的「I.05」中心塊,即把I代入Z。適當運用「(XYZ)公式」後,便得到以下結果:

根據表8,接下來要實現(Z, A, B),即(I, A, B)。由於在上圖中,「I.05」與「A.05」中心塊並不處於對應位置,而且「I.05」與「B.05」中心塊處於同一橫行,為符合「(XYZ)公式」的使用條件,須先順時針旋轉紅色面90°。適當運用「(XYZ)公式」後,便得到以下結果:

在上圖中,「05」軌道的排佈已還原為「ABCD」,而「I.05」中心塊亦已返回黃色面。

第III步:搞定首10條邊的邊區

這一步的程序與還原「普通魔方」的第III步沒有實質分別,無需特別說明。

第IV步:搞定其餘兩條邊的邊區

這一步的程序與還原「普通魔方」的第IV步沒有實質分別,可能需運用上述公式(5)或以下公式(註2):

雙邊換位公式F2 Lx−1 F B−1 R2 F−1 B Rx Lx F B−1 R2 F−1 B Rx−1 F2 = (fux1, bux1)(fux'1, bux'1)(6)
單邊翻轉公式Rx2 B2 U2 Lx U2 Rx−1 U2 Rx U2 F2 Rx F2 Lx−1 B2 Rx2 = (fux1, fux'1)(ux*, ux'*)(7)
雙邊翻轉公式U−1 F R−1 U F−1 Rx−1 Lx F U−1 R F−1 U Rx Lx−1 = (fux1, fux'1)(bux1, bux'1)(8)
中邊翻轉公式F U−1 R Fm R−1 U F−1 R U−1 Fm−1 U R−1 = (fum1)(bum1)(9)

觀察公式(5)-(9)的「循環式」,可以看到(6)、(8)、(9)這三條公式都不會影響已搞定的中心區,但公式(5)和(7)除了實現一個「對換」外,還會影響中心區,即把上面的兩個中心行「ux*」和「ux'*」對調位置。因此,如果出現須運用公式(5)或(7)的情況,豈不會把已搞定的中心區重新搞亂?為解開此疑團,請看以下定理(在下式中,A-Parity代表「絕對奇偶性」,Ei和Mi分別代表處於同一「非正中夾心層」的「非正中邊塊」軌道和「十字中心塊」軌道):

定理20:A-Parity(Ei) = R-Parity(Mi)     (10)

在完成第IIb步直至開始進行第IV步的過程中,所有中心區均已搞定,而且沒有再被搞亂,因此所有R-Parity(Mi)均應等於0,由上式可知所有A-Parity(Ei)亦應等於0,即所有「非正中邊塊」軌道均應為偶排列,因此不可能出現須單用(5)或(7)的情況。但下圖所示情況卻是可能出現的:

上圖可以看成先把「E.06-A.02」和「W.06-H.02」邊塊對調,然後再把「W.06-H.02」和「F.02-D.06」邊塊對調,即進行了偶數次「對換」,不違反上述定理。遇到上圖所示情況,可以先後運用公式(7)和(5),使有關邊塊歸位。請注意先後運用這兩條公式的結果是,中心行「ux*」和「ux'*」對調了兩次,即回復原來位置,所以中心區不會被重新搞亂。

第V步:使各個角塊和邊區歸位並朝向正確方向

經過上述第I至第IV步,已把「奇數階超級魔方」化約為「三階超級魔方」,這一步基本沿用還原「三階普通魔方」的七小步:

第一小步:搞定下面的四個邊區
第二小步:搞定下面的四個角塊
第三小步:搞定夾心層的四個邊區
第四小步:使上面的四個邊區正常
第五小步:使上面的四個邊區歸位
第六小步:使上面的四個角塊歸位
第七小步:使上面的四個角塊正常

筆者以往曾提出「定理12」、「定理13」和「定理15」,這些定理保證使用上述七小步必可搞定「三階普通魔方」。在這三條定理中,「定理12」可以原封不動地應用於「奇數階超級魔方」;「定理13」和「定理15」的作用則可由有關「絕對奇偶性」的某些事實取代,以下逐一說明。

以往「定理13」的作用是用來證明在進行第四小步時,魔方的上面不可能出現一個或三個「邊區」朝向正確方向的情況,現在我們可以改用以下事實來證明這一點:在進行第四小步時,只有魔方上面的邊區未歸位,而且各個A-Parity(Ei)都等於0,因此每個Ei軌道的排佈形式受到極大限制。以「五階超級魔方」的「01-04」軌道為例,這個軌道的「循環式」必然表現為以下四種可能形式之一:(i)零循環式,即整個軌道已歸位;(ii)剛好包含兩個對換,例如(fu11, fu31)(bu11, bu31);(iii)剛好包含四個對換,例如(fu11, fu31)(bu11, bu31)(ru11, ru31)(lu11, lu31);(iv)剛好包含兩個三循環括弧,例如(fu11, ru11, bu10)(fu31, ru31, bu30),下圖展示上述四種情況的示例:

在上面四圖中,魔方的上面都出現零個、兩個或四個「邊區」朝向正確方向的情況。讀者可自行驗證,如出現一個或三個「邊區」朝向正確方向的情況,將使某個A-Parity(Ei)不等於0,或者破壞某個邊區的完整性,因此是不可能的。

以往「定理15」的作用是用來證明在進行第六小步時,魔方的上面不可能出現只有兩個角塊已歸位,而其餘兩個角塊錯位的情況,現在我們可以改用下述「定理21」來證明這一點(在下式中,C、E0、Ci和C0分別代表角塊軌道、「正中邊塊」軌道、「四角中心塊」軌道和「正中中心塊」軌道):

定理21:A-Parity(C) = A-Parity(E0) = A-Parity(Ci) = A-Parity(C0)     (11)

在完成第一至第五小步後,所有邊區均已歸位,因此「正中邊塊」軌道的「絕對奇偶性」必為偶數,即A-Parity(E0) = 0。由上式可知必有A-Parity(C) = 0,由此可以推知,不可能出現上面只有恰好兩個角塊錯位的情況,因為此情況只有在角塊軌道的「絕對奇偶性」為奇數的情況下才會出現。

第VI步:使各個中心區/正中中心塊上的圖案回復初始狀態時的方向

在完成第V步後,「超級魔方」應呈現以下狀態:

在上圖中,可以把整個中心區看作一個區塊,相當於「三階超級魔方」的中心塊,因此可以討論其方向和「旋轉數字」,而中心區的「旋轉數字」就是其內「正中中心塊」的「旋轉數字」。如仔細觀察上圖,會發現上圖中紅色面的中心區偏離了正確方向180°,即其「旋轉數字」為2。為糾正上述情況,可以採用以下兩條中心旋轉公式(以下兩式中右側的u和l可被理解為「三階超級魔方」上面和左面的中心塊,也可被理解為「高階超級魔方」上面和左面的中心區):

雙中心旋轉公式L−1 R F−1 B U−1 D Ln D−1 U B−1 F R−1 L U−n = (u3n)(ln)(12)
單中心旋轉公式(U R L U2 R−1 L−1)2 = (u2)(13)

例如對於上圖,可以轉動整個魔方,使紅色面朝上,然後運用公式(13),使紅色面的中心區旋轉180°,從而回復正確方向。

看到這裡,有些讀者會問:僅靠上述兩條公式便能處理所有可能情況嗎?要解答這個問題,請回顧「定理21」。在完成第V步後,所有角塊均已歸位,因此角塊軌道的「絕對奇偶性」必為偶數,即A-Parity(C) = 0。由上式可知必有A-Parity(C0) = 0,即「正中中心塊」的「旋轉總和」必然為偶數(註3)。因此,在進行第VI步時,只需處理「旋轉總和」為偶數的情況,而上述兩條公式正好滿足我們的需要,以下說明如何運用這些公式處理各種可能情況。首先,魔方上如有任何一個面的「旋轉數字」為2,那麼可以轉動整個魔方,使該面朝上,然後運用公式(13),使該面的中心區回復正確方向。接著繼續用此方法搞定所有「旋轉數字」為2的面。接下來魔方上如有任何一個面的「旋轉數字」為1或3,那麼必有另一個面的「旋轉數字」也為1或3 (否則「旋轉總和」不可能是偶數),這時有以下四種可能情況:

(i)其中一個面的「旋轉數字」是1,另一個是3,而且該兩個面相鄰。在此情況下,可以轉動整個魔方,使「旋轉數字」為1的面朝上,「旋轉數字」為3的面向左,然後運用公式(12),使該兩個面的中心區回復正確方向;

(ii)其中一個面的「旋轉數字」是1,另一個是3,而且該兩個面被一個「旋轉數字」為0的面(以下稱為「中間面」)隔開。在此情況下,可以先使「旋轉數字」為1的面朝上,中間面向左,並運用公式(12);接著使中間面朝上,「旋轉數字」為3的面向左,並再次運用公式(12),這樣上述三個面都回復正確方向;

(iii)該兩個面的「旋轉數字」均為1或3,而且該兩個面相鄰。在此情況下,可以以其中一個面朝上,另一個面向左,然後運用公式(12)。所得結果必然是其中一個面回復正確方向,餘下一個面的「旋轉數字」變成2。接著運用前述方法搞定餘下這個面;

(iv)該兩個面的「旋轉數字」均為1或3,而且該兩個面被一個「旋轉數字」為0的中間面隔開。在此情況下可以使中間面朝上,其中一個面向左(若該面的「旋轉數字」是3);或者使中間面向左,其中一個面朝上(若該面的「旋轉數字」是1),然後運用公式(12)。所得結果必然是其中一個面回復正確方向,而中間面的「旋轉數字」變成與餘下一個面同為1或3,即化約為情況(iii)。接著照情況(iii)的辦法處理。

按照上述方法,使「旋轉數字」為1或3的面逐一回復正確方向後,便最終完成了還原「超級魔方」的程序。

註1:如果你選擇的第六個面不是紅色面,便要把下表中的字母轉化成對應的字母。例如如果你選擇黃色面作為第六個面,便要把下表中的A、B、C、D分別轉化為I、J、K、L。

註2:請注意以往筆者提到的「定理16」也適用於「超級魔方」,所以這五條公式必能滿足我們的需要。

註3:在上一章,筆者將「正中中心塊」軌道的「絕對奇偶性」定義為其「旋轉總和」的奇偶性。



返回數學專題
<script type="text/javascript">(function (d, w) {var x = d.getElementsByTagName('SCRIPT')[0];var f = function () {var s = d.createElement('SCRIPT');s.type = 'text/javascript';s.async = true;s.src = "//np.lexity.com/embed/YW/be0aa169de7f441c6473361be62c9ef6?id=ddad453e7753";x.parentNode.insertBefore(s, x);};w.attachEvent ? w.attachEvent('onload',f) :w.addEventListener('load',f,false);}(document, window));</script>