幾乎從魔方的誕生之日起,某些人就一直在尋找一個神秘的數字——復原任意一個魔方所需的最少步驟——上帝之數。
阿克斯戴克(Erik Akkersdijk)手里握著他的魔方,靜止著不動。四周圍滿了人,目光都聚集在他的手上。離得近的人能看清幾個邊塊、角塊和棱塊的排列,暗自琢磨著最快的解法。也就等了幾秒鐘,阿克斯戴克把手上的魔方放下,雙手同時按下邊上的計時器,再利落地拿起魔方,似乎只是隨便轉動了幾下,6 個面居然就對出來了,只有7.08 秒!房間里一片歡呼,這是2008 年7 月,一個新的魔方速度紀錄在捷克公開賽上誕生了。
阿克斯戴克是魔方世界中的“快派”,追求在半分鐘甚至10 秒內解決一個被打亂的魔方。如果你對魔方有一知半解,那么就只知有快派。事實上,在魔方世界中還有另外一派。這一派的歷史可以回溯到20 世紀80 年代初,魔方剛剛在全世界風靡的時候。從那時起,他們就開始尋找一個神秘的數字——魔方的上帝之數。確切地說,如何以最簡單的步驟破解一個處于“最亂狀態”的魔方。
上帝的套路如何
1980 年,匈牙利講師埃爾諾#8226; 魯比克(Erno Rubik)發明的“魔術方塊”開始在歐美暢銷,幾乎成為人手一個的玩具。與此同時,一些人開始研究魔方。像阿科斯戴克這樣的急速玩家(Speed-cuber),想要在10 秒鐘內解開一個魔方,其實有一定的套路。這就好像武林中人,如果不把對方的這種套路給你講明白,即使把一個動作反復地在你面前重放,你仍然搞不清對方在做什么。魔方的套路就是公式。掌握公式就等于摸清魔方的規律。這方面道行最深、輩分最高的要數杰西卡#8226; 弗里德里希(Jessica Fridrich),紐約州立賓漢姆敦大學的教授。1982 年,弗里德里希首創了一種“中間站”技術。她發現在破解魔方的過程中存在一些特定的狀態,比如,在魔方的一面上以紅色方塊組成一個紅色的十字叉形狀。而不管手里的魔方怎么亂,總能在7步之內把方塊擺成這樣。有了這個中間步驟,弗里德里希在此基礎上發明了一系列公式。記憶這些公式,能夠平均在56 步之內解開任何一個魔方。
56 算是上帝之數的最初解。不過弗里德里希發明公式的時候,這種叫法還沒開始流行。公式為此后研究上帝之數的人提供了基本的策略,但上帝之數的名字不是她起的。同一年,亞歷山大#8226; 弗雷(Alexander H. Frey, Jr.) 與大衛#8226; 辛格馬斯特(David Singmaster) 兩個“方塊兒(Cuber)” 寫了一本《魔方數學手冊》(Handbook of Cubik Math),第一次提出存在一個“上帝的數字(God`s number)”,無論多亂的魔方,都可以在一定的步數內解開。而之所以叫上帝之數,據說是因為上帝做事總是力求簡潔。他們在書中證明這個數字介于17 到52 之間,同時還猜測,上帝之數也許是20。
在計算的時候,弗雷與辛格馬斯特借鑒了中間站技術。他們找到一種中間狀態,計算從任意混亂狀態到中間態所需的步驟,這不難。之后要做的就是從中間狀態找到最優解。前后的步驟數相加,就得到一個上帝之數的上限值,加上一個估計得出的下限值,弗雷和新格馬斯特就把數字鎖定在一定的范圍之內。這樣的計算需要不止一個中間站,他們有必要找出成百上千乃至上百萬種中間狀態。這是因為,即使一個擁有54 個色塊的普通的標準3 階魔方也能組成多達43×1018 種狀態。
這無疑增加了尋找上帝之數的難度。為了解決這個問題,1992 年,德國人赫伯特#8226; 科齊姆巴(Herbert Kociemba)想出一個點子。他總結出轉動魔方的10 個動作,發現用這10 個動作的排列組合就能夠將一個排列完好的魔方轉出約200 億種狀態。科齊姆巴的發現簡化了上帝之數的求解。他通過反向思維找到的200 億種狀態,無疑就是200 億個中間站,而從中間站到完美求解之間的步驟,都是他自己排列出來的,當然就在這10 步之內。他列出一張表格,將自己求得的結果羅列其中,在此基礎上編制了一個叫方塊探索者(Cube Explorer)的程序,專門用來計算從任意混亂狀態到200 億個中間站所需的步驟。1995 年,美國奧蘭多中佛羅里達大學的邁克爾#8226; 里德(Michael Raid)通過一套與Cube Explorer 相似的程序推算出上帝之數是30。
然而大多數人不太相信里德給出的答案。很多人仍堅信弗雷與辛格馬斯特最初所猜測的上帝之數,20。而科齊姆巴的程序也確實有一個問題,那就是如果遇到10 個規定動作之外的情況怎么辦。比如,拿一個排列完好的魔方來只轉一下,但是這個動作卻不在10 個動作之內。科齊姆巴的程序只認可10個標準動作和200 億個中間站。
始終如一的運算難題
于是又過了10 年。2007 年,美國東北大學計算機科學系的研究生丹#8226; 昆克(Dan Kunkle) 和教授吉恩#8226; 庫珀曼(Gene Cooperman)用20 臺每秒1 億次,擁有7tb 存儲器的計算機以及新的算法準備再次挑戰上帝之數。他們設計了一個新的平行演算法,在不可思議的整整8000 個小時的運算之后,得到了一個新的結果,26。昆克和庫珀曼的結果讓魔方界很興奮,因為10 年來,在尋找上帝之數方面,數學家們一直沒有大的突破。但在興 .之余,兩個人在裝備上的瓶頸開始凸顯出來。在經過漫長的瘋狂運算之后,兩個人的電腦已經累得吐血。但想要得到更精準的數據,他們還需要更強的電腦以及上千小時的額外運算。在沒有條件搞到新設備,也沒有更多時間的情況下,兩個人再也無能為力。上帝之數的終解好像暫時停留在了26。
托馬斯#8226; 羅齊(Tomas Rokicki)就是在這時得手的。作為一個骨灰級的方塊兒,斯坦福大學的羅齊早從15 年前就開始尋找上帝之數。在奧地利數學家拉杜(Silviu Radu)的幫助下,羅齊在科齊姆巴當年設計的Cube Explorer 程序的基礎上改進了上帝之數的算法。科齊姆巴的程序是對每一種混亂的狀態都進行多次計算,每次找出一條可能的路徑,然后從多次的結果中選出一條最簡短的路徑。羅齊發現這其實就是關于一類有關聯的狀態的運算,于是決定充分利用這一點。
羅齊將整個上帝之數問題分成20 億個部分,每部分都包含大約200 億種有關聯的狀態。羅齊的程序每次只對20 億份中的一份進行運算。而時間“大概花去了25 分鐘”。2008 年3 月,羅齊得到了新的上帝之數,25,并將結果發表在著名的論文預印本網站arXiv 上。
走到這一步,羅齊同樣遭遇了設備上的瓶頸。但幸運的是,他的研究受到了另一個人的關注。
索尼圖形圖像工作室是一家專門制作視覺特效的公司,曾經為影片《蜘蛛俠3》和《我是傳奇》制作過電腦動畫。該公司的軟件工程師約翰#8226; 威爾伯恩(John Welborn)在網站上看到了羅齊的論文,就立即按照上面的地址聯系羅齊,表示愿意把公司數百臺電腦的空閑時間都借給他。這可幫了羅齊的大忙。經過斷斷續續的運算,2008 年4 月,羅齊和威爾伯恩將上帝之數的上限精確到24,兩周后又精確到23。
想要進一步證明上帝之數最終為20,還需要進行比目前多數百倍的運算。“即使用目前世界上最快的計算機,也需要運算38 天,”對自己的研究有幸能用上超級計算機,托馬斯#8226; 羅齊還不敢奢望。而索尼方面也不再準備繼續幫助羅齊了。看來,如果沒有人找到一種新的捷徑來幫助運算,那么可能在相當長一段時間內,上帝之數的答案就不可能比23更接近20。
Tips:
魯比克的方塊
20 世紀80 年代初,匈牙利布達佩斯工藝美術學院的講師埃爾諾#8226; 魯比克(左圖)發明了魔方。其實在魯比克的魔方進入西歐和美國市場前,已經有類似的玩具注冊了英國和美國的專利。但是這都不能阻擋人們把它稱之為“魯比克的方塊”。
基本竅門:
6 個中心塊的相對位置保持不變。拆開一個魔方就會發現,它的骨架就是一個由6 個中心塊構成的xyz 坐標系。
玩魔方的各種流派
普通玩法
這類玩法適合拿魔方當作放松和娛樂的愛好者。他們通常僅僅滿足于復原一個魔方,不
會追求更高的標準。
競速玩法
世界上大多數魔方高手使用的方法都是杰西卡#8226; 弗里德里希發明的。競速復原有幾個要點:使用的方法要最簡便,但是隨之產生的問題是步驟越少,需要記憶的公式就越多;擁有方法和好的魔方不是最重要的,雙手能夠熟練的轉動魔方才能有最高的效率。
最少步驟還原
最為艱難的玩法。在這種玩法或者比賽中,不能轉動魔方,只能用眼睛觀察魔方的狀態,然后思考出最少的步驟來解決魔方。目前的世界紀錄是28 步還原,耗時兩個半小時。
盲眼玩法
稱作盲擰或稱盲解。其定義就是不用眼睛觀看魔方,進行復原的過程。計時是從第一眼看到魔方開始的,也就是說記憶魔方的時間也算在總時間內。這種玩法對一個人的記憶力和空間想像力有極大的考驗。目前世界紀錄為波蘭人Rafal Guzewicz 創造的54.22 秒。
單手玩法
即以單手轉動魔方進行復原,或稱單擰。目前世界紀錄為法國人Thibaut Jacquinot 創造的15.81 秒。