在所有益智游戲中,魔方是當(dāng)之無愧的王者。魔方從發(fā)明至今已風(fēng)魔全球三十多年,人們卻一直樂此不疲,不斷探索魔方提出的問題。
魔方是人類發(fā)明的所有益智游戲中的佼佼者。首先,其他任何游戲都沒能吸引如此多的關(guān)注,引來眾人發(fā)表諸多相關(guān)文章和書籍,討論其中奧妙。其次,魔方頗具難度,數(shù)百萬人開展各種競賽,屢創(chuàng)壯舉……這些成就愈顯奇特,甚至接近瘋狂。同時,魔方啟發(fā)了數(shù)百種機械益智游戲,衍生游戲往往和魔方一樣驚人。現(xiàn)在,我們也可以在電腦上進行模擬操作。最后,三十年來,最復(fù)雜形態(tài)的問題一直無解,唯有強大的計算機網(wǎng)絡(luò)或許才能最終將之破解。
我們還會細談這四個話題,尤其要講講已經(jīng)證實的結(jié)論:在任何情況下,20 步足以將魔方不同顏色的 6 個面還原。
巧妙的機械結(jié)構(gòu)
在 1980 年 8 月出版的法國《為了科學(xué)》(Pour la Science)雜志第 34 期里,埃馬努埃爾·哈伯斯塔特發(fā)表了題為“匈牙利方塊及群理論”(Le cube hongrois et la théorie des groups)的文章,在其中描述了魔方,并基于魔方數(shù)學(xué)結(jié)構(gòu)分析提出一種還原魔方的實用方法。
這篇文章讓魔方在法國風(fēng)靡一時,而人們對魔方的癡迷早已快速席卷世界各地。
回溯到此前六年,雕塑家及建筑學(xué)教授埃爾諾·魯比克發(fā)明了由 26 個通過巧妙機械結(jié)構(gòu)相連的小方塊組成的魔方。魔方各面由 9 個方塊(3×3)構(gòu)成,每面均可繞著平行于棱且經(jīng)過面中點的軸旋轉(zhuǎn)。這本該是一個完整的 3×3×3 立方體,但中心位置的方塊卻替換為轉(zhuǎn)軸系統(tǒng),使整體既相互連接,又能轉(zhuǎn)動。魔方處在初始形態(tài)時,各面都僅有一種顏色,總共是藍、紅、橙、綠、黃、白六種。把魔方各面擰幾下,不同顏色的方塊被打亂,問題就是怎樣將魔方還原到初始形態(tài)。
試著擺弄幾下,我們就能理解這個益智游戲結(jié)構(gòu)的一些基本要素。
每個面的中心塊繞著自身旋轉(zhuǎn),位置不變。它們決定著每個面的顏色,可以準確地表示立方體的方向。
角塊一共有 8 個,一直在頂點位置。每個角塊有 3 個顏色不同的可見面,考慮魔方每個面中心塊的顏色,可以準確判定一個角塊在魔方還原后所處的位置。
剩下 12 個就是棱中間的棱塊。每個棱塊有兩種不同顏色的可見面,和角塊一樣,可以準確判定棱塊在最終形態(tài)中所處的位置。
1魔方的最難形態(tài),為了證明 20 步總能足以將魔方還原,人們在運算過程中得出這種極致形態(tài)。圖中將 20 個還原步驟一一畫出。你可以照著圖反向操作,給自稱魔方高手的親朋好友出個難題。
還原魔方看起來簡單,實際卻是塊難啃的骨頭。魔方一旦被打亂,在沒有任何幫助或從未對魔方背后的數(shù)學(xué)問題進行過深入研究的情況下,任憑怎么努力也不可能將它還原。這個游戲?qū)嵲谔y了,它能大受歡迎也耐人尋味。
自 1977 年第一批魔方在匈牙利上市以來,大約有 3 億 5 千萬個魔方被生產(chǎn)和銷售。魔方打敗各類益智游戲,成為各歷史階段的銷量冠軍——唯一的例外也許是Taquin(也叫作“15 塊拼圖”)。自 1879 年問世以來,Taquin 游戲衍生出數(shù)千種不同版本,我們無法統(tǒng)計到底一共制造、銷售了多少。盡管魔方被造假者無恥地剽竊、復(fù)制,魔方還是為其發(fā)明者埃爾諾·魯比克收獲了財富和榮譽,讓他可以在后半生專心發(fā)明并制作其他益智游戲。
人們圍繞魔方的構(gòu)造理論和解答方法出版和發(fā)表了眾多書籍和文章。在互聯(lián)網(wǎng)上也有大量專門講解魔方的網(wǎng)頁。每年涌現(xiàn)的大量文獻可追溯到 20 世紀 80 年代,那時,人們對魔方的熱情幾近狂熱。喬治·赫爾姆斯編纂的文獻收錄了 22 種語言的 719 篇文章。1979 年有 14 篇著作發(fā)表、1980 年 52 篇、1981 年 174 篇、1982 年 70 篇、1983 年 15 篇。詹姆斯·諾斯的著作《魔方的簡單解法》(The Simple Solution to Rubik's Cube)是 1982 年 1 月全球銷量最大的圖書,在暢銷書排行榜上停留三年之久,總共賣出了逾六百萬冊。另有多本魔方書籍的銷量都超過了百萬冊。
世界各地都在舉辦魔方競賽。世界魔方協(xié)會(WCA)為眾多比賽提供贊助。
最厲害的魔方玩家不到 10 秒就能還原 3×3×3 魔方。有一點要說清楚,世界魔方協(xié)會的規(guī)則允許在開始擰魔方之前先觀察 15 秒。15 歲的澳大利亞冠軍菲利克斯·曾姆丹格斯平均用 8.5 秒就能將魔方還原。他也能解決更難的 4×4×4 魔方,平均耗時 42 秒;還有極難的5×5×5魔方,平均耗時 68 秒。
有些記錄沒那么正規(guī),但也成為了經(jīng)典戰(zhàn)績,像體育競賽紀錄一樣不斷被刷新。2010 年的單手擰魔方冠軍用時 14.7 秒。腳擰魔方冠軍用時 42 秒。2008 年 11 月 16 日,米蘭·巴提克用不到 24 小時的時間復(fù)原了 4786 個魔方,打破之前 3505 個魔方的紀錄。值得一提的是,巴提克連續(xù) 24 小時成功保持了每個魔方平均耗時 18.05 秒的驚人速度!
2魔方主義畫派:這些畫作由 9 種像素塊構(gòu)成,藝術(shù)家用足夠多的魔方,將 其一面擰成不同顏色的 9 個像素塊,用 6 種顏色耐心拼成整幅作品。類似作品 可以在www.space-invaders.com/archives.html看到。
魔方盲擰更加不可思議。玩家對魔方進行觀察之后,蒙上眼睛擰轉(zhuǎn)魔方。2010 年的盲擰冠軍莊海燕包括觀察步驟的整個操作過程只用了 31 秒。盲擰魔方數(shù)量的世界紀錄屬于印度尼西亞人穆哈默德·伊里勒·凱魯·阿納姆。2010 年,他在觀察魔方后蒙上眼睛,于規(guī)定的一小時內(nèi)逐一還原了 16 個魔方。
最年輕的魔方玩家在成績被認可時只有 4 歲。年紀最大的玩家高齡 88 歲。魔方盲擰的難度更大,玩家年齡紀錄分別是 10 歲和 60 歲。
玩魔方的成就感在于把玩時體驗到的樂趣。僅由磁鐵吸在一起的八方塊立方體益智游戲比魔方還早幾年誕生,它與魔方類似,卻更為簡單。磁鐵吸附的方塊很容易被拆下,而非只能轉(zhuǎn)動變換位置,因此,玩家可以投機取巧,游戲也未能引起轟動。魔方的天才創(chuàng)意在于機械創(chuàng)新,而非數(shù)學(xué)創(chuàng)意。
在魔方各類卓然出眾的變體中,空心魔方堪稱奇跡。空心魔方的外觀和轉(zhuǎn)動方式與魔方相同,只是魔方用于運轉(zhuǎn)的所有構(gòu)件都消失了:立方體中心和每個面的中心都是空的,僅剩下 8 個角塊和 12 個棱塊,就能完全像魔方那樣移動(參見下圖)。締造魔方神話的精巧機械結(jié)構(gòu)就這樣被超越了!如果你想嘗試研究魔方的各種變體,且不想一一購買,可以通過網(wǎng)上的免費小程序就模擬操作(特別推薦:www.randelshofer.ch/rubik/index.html)。
數(shù)一數(shù)還原魔方的步驟
很容易看出,15 步不足以將任意形態(tài)的魔方恢復(fù)原狀。魔方的6個面都可以轉(zhuǎn)動 90 度、180 度或 270 度,因此,魔方每轉(zhuǎn)動一次(一個面的旋轉(zhuǎn))共有 18 種選擇。轉(zhuǎn)動一次可以變出 18 個形態(tài),轉(zhuǎn)動兩次,最多可以變出 18×18 = 182個不同的形態(tài),依次類推。如果最多轉(zhuǎn)動 15 次,可變出的不同形態(tài)數(shù)目小于或等于:18+182+183+184+…+1815=7.1435×1018。
不過,這一數(shù)字卻小于魔方可變出的形態(tài)總數(shù),即 4.3×1019。所以,如果最多只轉(zhuǎn)動 15 次,我們無法變出所有可能形態(tài)。如果魔方處于一個無法只用 15 步擰成的形態(tài),恐怕需要至少轉(zhuǎn)動 16 步才能還原。進一步推理指出,某些形態(tài)需要至少 17 步還原。
能將魔方還原已經(jīng)很不錯,如果能用最少的轉(zhuǎn)動步數(shù)將魔方還原,就更好了……當(dāng)然,難度也更大。世界魔方協(xié)會設(shè)立了一個競賽,衡量參賽者們節(jié)省轉(zhuǎn)動步驟的能力,規(guī)則如下:
(a) 參賽者有一小時時間觀察并仔細研究被打亂的魔方,必要時,可以借助鉛筆、紙張、三個輔助魔方和有顏色的小膠條;
(b) 一小時后,參賽者將自己找到的最優(yōu)轉(zhuǎn)動步驟按標準記錄方法寫下來。
解法的長度即面的轉(zhuǎn)動次數(shù),一次轉(zhuǎn)動也可以是四分之一圈或者半圈。2010 的冠軍是匈牙利人伊斯特萬·柯察——看看!又是匈牙利人!他用 22 步轉(zhuǎn)動還原了試題中打亂的魔方。值得注意的是,這個數(shù)字確實已經(jīng)很小了。書籍或各種網(wǎng)頁里介紹的魔方還原方法大約需要 60 步,一些更難學(xué)的最佳方法也要 30 步。柯察取得 22 步的優(yōu)異成績,并不是因為 2010 年的題目碰巧簡單。2009 年,該項競賽的冠軍也用了 22 步,2011 年的紀錄是 25 步,2012 年為 20 步,2013 年為 21 步。參賽者在不斷進步,隨之也出現(xiàn)一個問題:能否總用 22 步或者更少的步數(shù)還原魔方?更確切地說,頂級參賽者面對最壞情況時要轉(zhuǎn)動多少步?
當(dāng)純理論遇上實際困難
長久以來,人們懷疑終極答案是 20 步。2010 年 7 月,該結(jié)論被證實確鑿。魔方轉(zhuǎn)動步數(shù)的研究可以歸結(jié)為某些數(shù)學(xué)群的研究,所以,我們曾認為依靠不斷完善的數(shù)學(xué)知識能揭開謎底。我們所研究的魔方結(jié)構(gòu)不包含任何隨意性。這和國際象棋的例子恰恰相反。國際象棋擁有復(fù)雜的規(guī)則,可能出現(xiàn)的棋局圖像十分繁復(fù)難懂。在這里,我們用圖來表示魔方問題的結(jié)構(gòu)(參見“魔方的圖論”),并用十分簡單的幾何元素加以定義。對數(shù)學(xué)家來說,這似乎是比較理想的狀態(tài),他們可以盡情施展才華,依賴群、群的分類、群的分解等數(shù)學(xué)知識得出答案。然而,沒有得出任何結(jié)果,純理論方法最終被證明是不可行的!
4. 魔方的圖論
我們將魔方所有可能形態(tài)用圖示表達出來。圖的節(jié)點是4.3×1019種可能的形態(tài),若兩個形態(tài)可以通過魔方一個面的一次旋轉(zhuǎn)相互轉(zhuǎn)化,相應(yīng)兩個節(jié)點由一條弧連接。
我們無法完整呈現(xiàn)這幅圖。魔方圖具有高度的對稱性,因為所有節(jié)點都相互等價,與立方體頂點圖的情況相似。尋找還原魔方最優(yōu)轉(zhuǎn)動步驟就轉(zhuǎn)化為如何在該圖中找到最短路徑。尋找還原最難形態(tài)所需的最多轉(zhuǎn)動步數(shù)等價于尋找距初始形態(tài)最遠的形態(tài),基于本圖的對稱性,問題又轉(zhuǎn)化為尋找圖的直徑,即圖中兩個節(jié)點之間的最大距離。
由于圖太大,在圖中無法直接應(yīng)用一般算法(計算最短路徑和直徑,等等),即便使用強大的計算機網(wǎng)絡(luò)也是如此。通過改造算法并盡可能利用圖的特殊性質(zhì),才能算出圖的直徑。
研究者們采用了如下想法:為了計算A和B兩個位置之間的一條短路徑,可以選取距A不太遠的形態(tài)C,然后找出A和C之間的最短路徑以及B和C之間的最短路徑。將這兩條最短路徑相連,未必能得出A和B之間的最短路徑,但已能得出足夠好的結(jié)果。另外,通過變換C,能基本確定A和B之間的最短路徑。
對魔方圖直徑問題的研究已有三十年之久,卻進展緩慢,直到2010年7月才證明直徑等于20。為了感受一下進展速度,讓我們回顧一下關(guān)鍵日期、證明者姓名及其得出的直徑:1981年7月摩溫·希斯特斯維特得出52,1993年4月漢斯·克魯斯特曼得出42,1992年5月邁克爾·瑞德得出39,1992年5月迪克·溫特得出37,1995年1月邁克爾·瑞德又得出小于29且大于20,1995年12月斯爾夫·拉度得出28,2006年4月斯爾夫·拉度又得出27,2007年5月丹·康克勒得出26,2008年3月托馬斯·洛基奇又得出23,2008年8月進一步得出22,2010年7月托馬斯·洛基奇、赫伯特·科辛巴、莫雷·戴維森和約翰·戴斯里奇最終證明直徑等于20。
伴隨最后一個結(jié)果的誕生,人們得出下面的列表,指出了與初始形態(tài)相距給定距離的節(jié)點數(shù)量。列表中最后幾行是近似結(jié)果。
20 步,這個答案最終通過一系列算法的拓展研究才得以證實,前后歷時二十年。人們必須借助強大的運算能力才能修成正果,相當(dāng)于一臺臺式電腦不間斷工作 35 年。研究人員動員業(yè)界巨頭谷歌公司出借一批計算機,花了幾周時間才完成運算。
打亂魔方可以得到的形態(tài)數(shù)量是 4300 億億。除了轉(zhuǎn)動,如果將魔方拆卸再隨意重組,形態(tài)數(shù)量就會翻 12 倍,那么,僅有十二分之一的概率能將魔方還原。魔方的這一性質(zhì)和 Taquin 游戲類似:將 Taquin 拆卸并隨意拼回圖形,只有二分之一的概率能找回初始位置。
我們可以逐一處理 4.3×1019個可能形態(tài),找到最佳轉(zhuǎn)動步驟將魔方還原。赫伯特·科辛巴自 1992 年就開始研究這個問題,并找出了優(yōu)越的算法。多虧了他,找到給定魔方形態(tài)的最少還原步驟不再是夢想。對于給定形態(tài),強大的機器通常也需要好幾秒鐘才能找到最優(yōu)轉(zhuǎn)動步驟。采用每秒處理一個形態(tài)的算法,計算每一個形態(tài)的最優(yōu)轉(zhuǎn)動步驟,最終找出魔方最復(fù)雜的形態(tài),這需要調(diào)動現(xiàn)今地球上存在的全部十億臺計算機一起工作 1300 多年。強使蠻力也無法給出答案。
另一個辦法主張逐步處理,記住所得結(jié)果,并將其重復(fù)利用。觀察一步轉(zhuǎn)動能夠得出的所有形態(tài)(一共 18 個),將一步轉(zhuǎn)動所得形態(tài)的相關(guān)信息列出。從這些形態(tài)出發(fā),進行下一步所有可能的轉(zhuǎn)動,此后,再將兩步得到全新形態(tài)的相關(guān)信息記錄下來。
以相同方式繼續(xù),我們漸漸記錄下達到所有可能形態(tài)的最短路徑信息(因為,當(dāng)我們第一次生成一個形態(tài)時,不可能有更短的轉(zhuǎn)動步驟來得到它)。當(dāng)最新一步計算無法再產(chǎn)生新形態(tài)時,終止算法。我們確信,能夠得到所有最短路徑的長度,同時,找到所需還原步驟最多的魔方形態(tài)。
理論上,這個方法更好地利用了已逐步保存的計算結(jié)果,比上一個方法速度更快。然而,由于信息存儲量過大,此法依然不可行。想要完成剛剛描述的算法,逐步計算所有最短路徑,所需存儲量是地球上所有計算機硬盤的存儲量總和,數(shù)量級為 1021字節(jié)!
算法的功勞
在過多運算和過大存儲之間,必須找一個折中的辦法。托馬斯·洛基奇、科辛巴、莫雷·戴維森和約翰·戴斯里奇找到一個辦法,證明了 20 步就是將魔方從最復(fù)雜形態(tài)還原所需的轉(zhuǎn)動步數(shù)。他們通過長期研究和一系列改進措施,希望限制問題的復(fù)雜性,同時,利用一臺現(xiàn)代化計算機的存儲和計算能力,確保絕不超出當(dāng)今技術(shù)的極限。
3魔方最經(jīng)典的變體是 2×2×2 魔方、4×4×4 魔方的復(fù)仇、5×5×5 教授魔方。這些都是世界魔方協(xié)會的競賽項目。2008 年上市的 6×6×6 魔方和 7×7×7 魔方體積最大。2×2×2 魔方的形態(tài)總數(shù)是 3 674 160 種,3×3×3 是 4.3×1019種,4×4×4 是 7.4×1045種,5×5×5 是 2.8×1074種,6×6×6 是 1.57×10116種,7×7×7 是 1.95×10160種。這已經(jīng)超過了可見宇宙中信息量的比特數(shù)!魔方的數(shù)十種變體風(fēng)靡全球,包括給視障人群的盲文版魔方。
利用問題的對稱性可以略微減小運算規(guī)模。此外,將問題分解成數(shù)量眾多的子問題,憑借類似上述漸進法的辦法,一臺計算機的存儲能力就足以完成整體處理。于是,問題就被分解成 2 217 093 120 個子集,各自包含 19 508 428 800 種形態(tài)。再次利用對稱性,所要處理的子集數(shù)量還可減少到 55 882 296 個。
最復(fù)雜情況至少需要 20 步完成,科辛巴算法的一個變體正是利用了這個信息。從 1995 年起,人們便知道少于 20 步無法還原某些形態(tài)。因此,對于給定形態(tài),只要找到一個小于 20 步的解法,即便不是最優(yōu)方法,我們就不再費力尋找更簡短的路徑了。
為了證明“20 步足以還原最復(fù)雜形態(tài)”,冗長的運算還得出了另外一些有趣的信息。比如,所需步數(shù)的平均值為 17.7 步。需要 20 步才能還原的復(fù)雜形態(tài)比較少見,大約有 3 億種。這意味著,如果隨機抽取,出現(xiàn)這種復(fù)雜形態(tài)的概率少于一千億分之一。這些信息讓我們認識到,能夠用 22 步還原魔方的魔方達人已經(jīng)十分接近完美境地,著實值得稱贊。然而,盡管他們做出了巨大努力,經(jīng)歷了艱苦訓(xùn)練,卻仍然無法發(fā)現(xiàn)最優(yōu)的轉(zhuǎn)動步驟。
曾幾何時,這個有著三十余年歷史的游戲向全體計算機科學(xué)家們宣戰(zhàn),研究者們費盡心思才解決了最復(fù)雜形態(tài)的問題。魔方也要挑戰(zhàn)數(shù)學(xué)家。目前,面對這個簡單的純代數(shù)抽象問題,數(shù)學(xué)家們只能聽任機器擺布,勉強接受一個任何數(shù)學(xué)理論家都無法質(zhì)疑、卻也無法手工驗證的結(jié)論。
【相關(guān)圖書】
作者:讓-保羅·德拉耶
譯者:路遙
本書揭開趣味游戲、藝術(shù)設(shè)計和日常生活中的數(shù)學(xué)密碼,通過新穎話題和精美圖示展現(xiàn)算術(shù)與幾何中隱藏的妙趣,從最簡單的數(shù)學(xué)原理走入算法的精彩世界,展現(xiàn)算法破解數(shù)學(xué)謎題的無窮威力。本書適合所有數(shù)學(xué)愛好者閱讀。
【作者簡介】
讓-保羅·德拉耶 | Jean-Paul Delahaye
法國數(shù)學(xué)家和計算機科學(xué)家,數(shù)學(xué)科普作家,現(xiàn)任法國里爾科技大學(xué)計算機技術(shù)教授,法國國家科學(xué)研究院(CNR)計算機基礎(chǔ)科學(xué)實驗室研究員,主要研究邏輯編程、偶然性和游戲的算法原理。