群論與魔方:魔方的基本概念


本網頁假設讀者曾玩過或接觸過魔方,對魔方有一定認識,所以不擬討論魔方的外形、構造、玩法等。本章的目的是介紹「3 × 3 × 3魔方」的部件、基本操作、顏色配置的命名法和標示法,以及一些與破解魔方直接相關的基本概念的定義。

魔方各部件及其基本操作的命名法

魔方共有六個外表面,可分別用其英文名稱的第一個小寫字母來代表,即前(f)、後(b)、右(r)、左(l)、上(u)、下(d)。魔方有八個角落,我們把位於各個角落上的方塊稱為「角塊」(Corner Piece)。由於每個角塊包含三個面的一部分(以下稱為「小面」Facelet),我們可以用這三個小面的代號來命名這個角塊,例如包含前、右、上這三個小面的角塊便可以稱為「fru」,如下圖所示。魔方有12條處於外沿的邊,我們把位於每條邊中央位置上的方塊稱為「邊塊」(Edge Piece)。由於每個邊塊包含兩個小面,我們可以用這兩個小面的代號來命名這個邊塊,例如包含右、下這兩個小面的邊塊便可以稱為「rd」,如下圖所示。此外,魔方的六個外表面的中心位置上還各有一個方塊,可稱為「中心塊」(Centre Piece),每個中心塊只包含一個小面,我們可以用這個小面的代號來命名這個中心塊,例如包含右小面的中心塊便可以稱為「r」,如下圖所示:

請注意魔方的六個中心塊起著識別六個外表面的作用,即在還原魔方的過程中,我們要設法令所有角塊和邊塊所包含的每個小面與該小面所在的外表面上的中心塊同色。

魔方的每個外表面都可朝順時針或逆時針方向旋轉,這裡的順/逆時針是相對於你把待旋轉的外表面正對著你時而言的。我們用魔方六個外表面英文名稱的第一個大寫字母F、B、R、L、U、D分別代表把魔方的前、後、右、左、上、下面順時針旋轉90°的動作,而相應的逆時針旋轉則是前述六個順時針旋轉的逆向操作,可用F−1、B−1、R−1、L−1、U−1、D−1表示(註1)。下圖顯示上述12個動作的定義:

除了外表面外,魔方三個夾處中間的層(以下稱為「夾心層」)也可以旋轉,現以下圖為例介紹夾心層旋轉的命名法:

在上圖中,夾處上、下兩個外表面之間的夾心層發生旋轉。從上面看,這個旋轉是逆時針的;但從下面看,這個旋轉卻是順時針的,因此這個90°旋轉可以記作(UM)−1或DM,其中M代表「夾心層」。由於後一個記法較為簡單,以下只用這個記法。其他夾心層旋轉(包括FM、BM、RM、LM)也可以用相同的方法來命名。

除此以外,我們還可把整個魔方繞著某條軸旋轉,下圖顯示六個90°旋轉的名稱:

在上圖中,C代表「整個魔方」,六個名稱中的字母則是六個外表面的代號,代表穿過該外表面並且從該表面看為順時針的旋轉方向。請注意上圖中同一條軸上的兩個旋轉互為對方的逆向操作,即(UC)−1 = DC等。由於後一個記法較為簡單,以下只用這個記法。

以上介紹了各種90°旋轉的命名法。由於180°旋轉是進行90°旋轉兩次的結果,我們可以把這種旋轉表示為90°旋轉的平方,如此類推,例如F2就代表把前面旋轉180° (請注意F−1的平方為F−2)。容易看到,F2 = F−2。此外,由於F3 = F−1以及F4 = F,我們無須使用三次或以上的冪來表達魔方的旋轉。同理,我們亦可用相同的方法表示旋轉夾心層或整個魔方180°,而且有(FM)2 = (BM)2,(FC)2 = (BC)2等。

魔方各個角塊、邊塊顏色配置的標示法

魔方在初始狀態時,其六個外表面各呈現一種顏色。在扭動魔方時,各個角塊和邊塊不但會被移離原來的位置,而且角塊可能發生「扭轉」(Twisted),而邊塊則可能發生「翻轉」(Flipped)。「扭轉」和「翻轉」的本來意思是,有關角塊/邊塊雖然回到了正確的位置,但其所包含的小面卻朝向不正確的方向(註2)。以下圖為例,「fru」角塊雖然處於正確位置(它所包含的三個小面的顏色,即藍、黃、紅,剛好就是這個角落所應有的顏色),但由於它所包含的小面朝向不正確的方向(本來應在上面的藍色跑到了前面,本來應在前面的紅色跑到了右面,本來應在右面的黃色跑到了上面,構成一個循環:上→前→右→上);而且,如果把下圖中的「fru」角塊看成一個圓,那麼上述循環呈逆時針方向,所以我們說上述角塊發生了「逆時針扭轉」。

以下我們將把「扭轉」和「翻轉」的定義擴大至所有角塊和邊塊,不論這些角塊和邊塊是否處於正確位置,這種定義乃建基於一種標示各個角塊和邊塊的顏色配置的方法。在討論這種標示法前,有一點須先說明的是,以下的標示是就著魔方的某一「座向」而言的。確定魔方的「座向」就是以魔方的某一面為前面、某一面為上面等等。若果改變魔方的「座向」,各個角塊和邊塊的標示便會隨之而改變,因此在以下討論中,我們假設魔方是處於某一固定的「座向」。

現在開始討論角塊/邊塊顏色配置的標示法。每個角塊包含三個不同顏色的小面(f/b、r/l、u/d),在標示角塊的顏色配置時,應如何排列這些顏色?以下提供一種方法。在六個外表面上共有12條對角線,如把能被這些對角線相連的角落歸為一組,便可把八個角落分為兩組,如下圖所示:

第一組(以紅色點表示)包括「fru」、「fld」、「blu」和「brd」這四個角落;第二組(以綠色點表示)包括「flu」、「frd」、「bru」和「bld」這四個角落。對於位處第一組的角塊,我們按照「f/b-u/d-r/l」的次序標示該角塊所包含的顏色;對於位處第二組的角塊,我們按照「r/l-u/d-f/b」的次序標示該角塊所包含的顏色。

類似地,對於12條處於外沿的邊的中點,我們按照是否位於上/下層而把它們分為兩組,如下圖所示:

第一組(以藍色點表示)包括「fu」、「bu」、「ru」、「lu」、「fd」、「bd」、「rd」和「ld」這八個中點;第二組(以紫色點表示)包括「fr」、「fl」、「br」和「bl」這四個中點。對於位處第一組的邊塊,我們按照「f/b/r/l-u/d」的次序標示該邊塊所包含的顏色;對於位處第二組的邊塊,我們按照「f/b-r/l」的次序標示該邊塊所包含的顏色。

以下圖為例,按照上述標示法,位於「fru」角落的角塊便應標示為「藍黃紅」;而位於「frd」角落的角塊則應標示為「黃綠紅」(假設該角塊的下面為綠色)。位於「fu」位置的邊塊應標示為「紅藍」;而位於「fr」位置的邊塊則應標示為「紅黃」。

扭轉和翻轉的定義

接著我們還要引入「主色」(Chief Colour)的概念。給定一個沒有被擰亂的魔方,我們先選定它的「標準座向」。在「標準座向」中,上、下面的顏色稱為「正主色」,而左、右面的顏色稱為「次主色」。為方便討論,以下規定魔方的「標準座向」為藍色面朝上,綠色面朝下,紅色面向前,橙色面向後,白色面向左,黃色面向右(註3)。這樣藍色和綠色就是我們的「正主色」,白色和黃色就是「次主色」。

有了以上的概念,我們便可以為角塊的扭轉和邊塊的翻轉提供準確的定義,先討論角塊扭轉的情況。設某一角塊被標示為「XYZ」,那麼在X、Y、Z中必有剛好一個是「正主色」。如果這個「正主色」是Y,我們說這個角塊是「正常」的;如果「正主色」是X,我們說它是「逆時針扭轉」的;如果「正主色」是Z,我們說它是「順時針扭轉」的。

其次討論邊塊翻轉的情況。設某一邊塊被標示為「VW」,這時有兩種可能情況:(i) V、W中包含「正主色」;(ii) V、W中不包含「正主色」,但包含「次主色」。在情況(i)下,如果「正主色」是W,我們說這個邊塊是「正常」的,否則是「翻轉」的。在情況(ii)下,如果「次主色」是W,我們說這個邊塊是「正常」的,否則是「翻轉」的(註4)。

仍以上節中的圖(重列於下)為例,按照上述定義,該圖中的「fru」角塊(標示為「藍黃紅」)是「逆時針扭轉」,而「frd」角塊(標示為「黃綠紅」)則是「正常」的。此外,該圖中的「fu」邊塊(標示為「紅藍」)和「fr」邊塊(標示為「紅黃」)都是「正常」的。



註1:坊間或網上的魔方攻略一般把魔方的逆時針旋轉記作Fi、Bi或F'、B'等,本文為了與群論中的標準寫法看齊,所以採用指數記法。

註2:雖然中心塊也可能改變位置,但由於它只包含一個外表面的一部分,所以不存在扭轉/翻轉的問題。

註3:不同廠家生產的魔方的顏色配置各有不同。如果讀者的魔方跟本文所描述的有所不同,請自行作出調整。

註4:不同人對角塊「順/逆時針扭轉」和邊塊「翻轉」的定義各有不同,莫衷一是,本文基本採用《魅力魔方》一書中所引述數學家Conway的定義,並作了修改。Conway的定義乃建基於「主色」和「主面」這兩個概念,本文的定義則建基於「主色」和角塊、邊塊顏色配置的標示法。



返回數學專題
<!-- text below generated by server. PLEASE REMOVE --><!-- Counter/Statistics data collection code --><script language="JavaScript" src="http://l.yimg.com/d/lib/smb/js/hosting/cp/js_source/whv2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.webhosting.yahoo.com/visit.gif?us1490898802" alt="setstats" border="0" width="1" height="1"></noscript><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>