撰文:DavidGuo
原文刊於科學人雜誌2008年8月號 「寓數學於魔方」
2013年11月12日修改第二版

魔術方塊, 廣東話稱做「扭計骰」,英文為「Rubik’s Cube」,它是在1974年由匈牙利的建築系教授魯比克(Ernö Rubik)所發明,一開始他只是突發奇想地問學生,如何設計一個3×3×3的方塊,讓人可以轉動,又不會散開來?結果真的有學生做出來了,它的中心結構如右頁下方插圖,並且一直沿用至今。最初這個方塊是用木頭做的,經過上色之後,才發現要還原它是一件非常困難的事,因此就有人提議將上色的方塊做成益智玩具出售。

最初的魔術方塊
魔術方塊內部結構

魯比克也在1975年為他的魔術方塊申請了專利,1979年風行於歐洲,當時風靡的程度,幾乎是人手一顆。電影「當幸福來敲門」(Pursuit of Happyness)就是改編於這個時期發生的一個真實故事,威爾史密斯飾演的主角賈納是一個窮途潦倒的低收入戶,為了應徵某證券公司的實習職缺,投了上百封的履歷都石沉大海;於是在某次下班時,假藉順路之由厚著臉皮跟公司經理上了計程車,一路上賈納口沫橫飛地為自己爭取工作機會,經理卻一個字也沒聽進去,因為他正專心轉著手上的魔術方塊;後來賈納幫經理完成了手上的方塊,也因此贏得了到公司實習的機會。電影中的計程車司機邊開車,手上也邊拿著一個魔術方塊在轉,可見當時魔術方塊流行的程度。

台灣的魔術方塊從1990年代開始流行,從一顆要價數百元,逐漸普及到只要幾十塊就可以在夜市或路邊攤買到。筆者所認識的兩位對台灣魔術方塊界貢獻良多的愛好者,一位是1990年左右台大魔術社第二屆社長趙承宗,他後來「退隱江湖」了;另一位是2004年左右成立交大魔術社的鄭維駿,現在正在美國康乃爾大學讀電子工程研究所。看起來,似乎喜歡玩魔術的人,都會喜歡玩魔術方塊。

背公式解魔方

魔術方塊發展了30多年了,最短破解時間的世界紀錄每年都在翻新,除了玩家不斷的練習、心得交流之外,靠的就是公式的不斷改進。事實上,坊間流傳的解法很多,不過最常見的就是依一層一層的順序來完成,可參考本網站的簡易解法教學。第一層相信讀者只要把玩個幾十分鐘應該就會了;第二層大概就需要有人指導,才能夠了解其中的邏輯;第三層則很少有人能夠獨立想出解法,原因是要把第三層轉好,又要維持前兩層不被打亂,非常困難,這也是魔術方塊的精神所在。所幸前人已經整理出不少第三層的公式,只要能夠看得懂公式的運作,照著公式就能轉好。

公式可以分成兩種類型,一種適合初學者,另一種適合追求極速的玩家(speedcuber)。適用於初學者的公式,講求的就是盡量好記,能夠花最少的時間學會如何完成魔術方塊,避免因為背得頭昏腦脹而半途而廢。上面提到的網站中,教你如何用四個公式即能完成魔術方塊,坊間也有宣稱只要三個、兩個公式,甚至不用公式。少一、兩個公式的原因,只是把公式的記憶轉嫁到公式的判斷上,必須花更多的時間去記「發生什麼情況時,要做什麼事情」,所要記憶的東西並沒有比較少。因此如何設計一個容易記憶、讓空間概念不好的人也能學會轉魔術方塊、隔幾個月沒玩還是能夠記得、真正適合初學者的公式,其實也是值得探討的課題。

至於要能夠在半分鐘、甚至10秒內就完成方塊的公式,所講求的目標完全不同。追求極速的玩家,會發自內心有一股熱忱,為了多快一、兩秒,再多公式也願意背。此類公式的訴求就是省時間,不管是「判斷時間」或是「轉的時間」都要盡量的減少,這種我們稱做「速解魔方」(speedcubing)。速解魔方公式的始祖是美國賓漢頓大學教授弗雷德里奇(Jessica Fridrich),她設計了近百個公式,網站上宣稱都背起來的話,可以17秒能完成方塊,現今速解魔方玩家的公式大多改編自她的公式。

很多人都難以置信,為什麼有人可以不到10秒就轉好一個方塊?其實,除了背多一點公式外,就只有「練習再練習」。這就好比學倉頡或無蝦米這種字根式的輸入法,一開始要慢慢背各種字根,然後學習看到一個中文字,就知道怎麼拆碼,最後就是一天打上個一、兩個小時,練到後來,看到字,都是非常直覺地打出來,完全不經思考。魔術方塊要轉得快,一開始也是慢慢背針對各種情況的公式,然後每天練個一、兩個小時,練到能以直覺反應來轉的程度,眼睛一瞥,手就自動迅速地轉了起來;所以常常看到有人可以轉非常快,但請他慢慢轉,他反而轉不出來。

上帝的數字

其實魔術方塊不只好玩,它在數學上用到了極多代數中的李群(Lie Algebra)、群論(Group Theory),還有一些離散數學(Discrete Mathematics)及機率(Probability)。其實有機會上這些課的時候,都可以想想它在魔術方塊上的應用,純理論的課程,會因此變得生動些。

魔術方塊發展至今已有不少研究了,其中最大的課題就是「任意的三階魔術方塊,可以保證最少幾步完成?」1982年佛雷(Alexander H. Frey, Jr.)與辛馬斯特(David Singmaster)合著的《魔術方塊手冊》(Handbook of Cubik)裡,稱這個答案為「上帝的數字」(God’s number),並證明這個數字介於17~52之間;也就是說,任意亂的情況,都可以在52步內完成,而且有一些情況保證至少要17步才能完成,書中並猜測上帝的數字為20。

這裡就要談到怎麼樣才算「一步」,常見的有兩種算法:一種是只要把一個面轉90度就算一步,稱做「quarter-turn metric」(QTM);另一種是轉動一個面算一步,不管轉幾度,稱做「face-turn metric」(FTM)。QTM中若把一個面轉180度,就算兩步,而在FTM中只算了一步,因此FTM的數字會比QTM的少,而一般沒特別指明的話,都是用FTM來計數。

1995年,美國玩家瑞德(Michael Raid)證明了某種情況至少需要20步才能完成,他將這些情況稱做「Superflip」,同時,他也證明了可以在29步內完成所有的方塊(QTM為42步),一口氣把上帝的數字範圍縮小到20~29之間。2006年,雷杜(Silviu Radu)用群論證明了上界可以再縮小到27步(QTM為34步),他將所有的情況分成幾類,並借助離散代數系統(GAP)證明出在27步內都能完成。1990年,美國東北大學的電腦科學家古柏曼(Gene Cooperman)等人,在一個談代數編碼的研討會上,發表了「2×2×2的方塊皆可在11步內(QTM為14步)完成」;2007年,古柏曼與他的學生庫柯爾(Daniel Kunkle)將這個方法推廣到3×3×3的方塊上,設計了一個平行演算法,用20台超級電腦,總共花了8000個小時,證明出26步內可以完成。2008年3月,美國史丹佛大學的羅區奇(Tomas Rokicki)繼證明25步即可完成後,8月又在「魔方領域」(Domain of the Cube Forum)論壇中宣稱可以證明出22步即可完成,震驚了整個魔方界。

Superflip

另一方面,德國數學家柯西姆巴(Herbert Kociemba)設計了一個叫做 Cube Explorer的程式,可以幫你「盡量」找出最佳解,有時只比真的最佳解多一、兩步而已,他也用亂數產生了約1012種之多的情況,用Cube Explorer解開之後做了粗略的統計,約28%可以在17步內完成、69%可以18步完成、3%可以19步完成,並沒有跑出20步的情況,可見瑞德的Superflip情況其實很少見。

直到2010年7月,羅區奇與一位數學家與兩位電腦工程師,一起用證明了上帝的數字的確是20,解除了這30年一直存在數學家心中的疑惑,詳細情形請見「God’s Number is 20」。除了羅區奇他們偉大的貢獻外,讓人驚嘆的是,在30年前,沒有電腦的時代,佛雷他們竟然可以精準的猜測出上帝的數字,真的非常的不可思議。

極速的世界競賽

第一屆世界魔術方塊大賽,是於1982年在魔術方塊的發源地匈牙利舉行(下圖為第一次世界大賽照片),之後從1991年開始,每兩年舉辦一次。至於一些小比賽幾乎每個禮拜都會有六、七場,有興趣可以參考世界魔方聯盟(WCA)的網站

可能有的讀者會懷疑,魔術方塊的比賽,會不會有的人運氣比較好,拿到的方塊只要轉幾步就完成了,而運氣比較差的參賽者,拿到的方塊就比較亂呢?既然是世界級的賽事,當然會盡量減少「運氣」的成份。正式比賽時,大會的認證員(Delegate)會用電腦隨機產生魔術方塊轉亂的樣子,然後會有專業的「轉亂員(Scrambler)」,把參賽選手的方塊依電腦產生的方式轉亂,然後使用專業的計時器來計時。

第一屆世界冠軍的成績是22秒,由美國的賽伊(Minh Thai)奪得,近年來公式不斷改進,加上網際網路的發達促成一些魔術方塊達人互相交流,荷蘭籍參賽者佛克(Mats Valk)在2013年3月的比賽中,以5.55秒刷新了世界紀錄。

(2019年作者註:目前3×3世界紀錄為杜宇生 3.47秒。最新資料,請見WCA聯結。)

除了最傳統3×3×3魔術方塊的項目之外,還有比賽單手、腳轉、盲解、最少步數解法。單手及腳轉,顧名思義就是只能用一隻手或雙腳獨碰來完成方塊;盲解的玩家必須先將手上的方塊背起來,然後再矇著眼來完成,時間則是背與解合起來計算;最少步數解是非常特別的比賽項目,參賽者在一個小時的時限內,必須絞盡腦汁找出最少步數的解法。而除了3×3×3的方塊,另外還有2×2×2、4×4×4、5×5×5、Megaminx、Pyraminx、Square-1、Rubik’s Clock、Rubik’s Magic等約20種不同比賽項目。

魔術方塊的熱潮正持續發燒中,它是一門很新、也很大的學問。有的人致力於公式的開發整理,有的人喜歡追求速度,有的人偏愛學術上的研究,有的人則是喜好蒐集各種方塊。無論你是喜愛魔術方塊哪一塊領域,或單純只是空閒時轉一轉,建議可以多與其他魔術方塊愛好者接觸。有機會可以在台灣舉辦比賽的時候,到現場感受一下魔術方塊的魅力。批踢踢(PTT),或臉書(Facebook)上,都有魔術方塊的討論社群,每天都有不少討論的文章、心得分享及推文,並且常常都會有聚會,年齡從八、九歲到四、五十歲都有,也有爸媽帶著小孩一起參加的,大家互相交換心得,很容易就能感受到魔術方塊的樂趣。

This Post Has 2 Comments

  1. no

    3.47秒的是中國的杜宇生

    1. DavidGuo

      對的,站上的影片有。已補上聯結。

發佈留言