魔方于1974年由匈牙利人魯畢克發明。它能征服全世界,與匈牙利眾多偉大的數學家(例如馮·卡門、馮·諾伊曼以及5位獲得過沃爾夫獎和阿貝爾獎的數學家)有很大關系——匈牙利的數學家們通過1978年的世界數學家大會,把魔方推廣到了全世界。那么,這個小小的立方體到底與數學有怎樣的關系呢?一起來看看吧!
魯畢克是布達佩斯工藝美術學院的教師,主要講授外形研究與畫法幾何學。為培養學生的三維想象力,他于1974年設計、制造了三階魔方,并將其稱為Magic Cube。Magic Square(即幻方)是數學的一個分支,所以Magic Cube早年被譯為幻立方體。1979年后,Magic Cube改為Rubiks Cube,成為現在數學中的專有名詞。
追溯魔方的起源,不免要談到1880年時美國的15子棋。15子棋棋子和魔方小塊運動的數學原理是相同的。如圖①~③所示,通過滑動周圍的棋子,棋盤中的空格可以沿著圖示的線路轉動起來,這和魔方小塊的轉動是一樣的。
15子棋的前身是重排九宮圖,重排九宮游戲棋最早出現在元代。在宋代,九宮圖被叫作縱橫圖(即幻方)。楊輝是南宋研究縱橫圖的著名數學家。《易傳·系辭》曰:“河出圖,洛出書,圣人則之。”洛書是中國5000年前的產物,是幻方的先祖。
魔方一路走來,能風靡全球、經久不衰,和其中蘊藏的數學密碼有密切關系。那么,魔方里到底有什么數學密碼呢?
我們先簡單討論魔方的“離家”和“回家”問題。當你拿著一個處于原始狀態的魔方(即魔方處于復位狀態),我們說魔方是在“家里”。如果你是個新手,扭轉魔方時,不要讓魔方“離家”太遠,可以靠直覺使魔方“回家”。
首先,隨便選擇一面,轉動魔方1步,轉角可以是90°或180°或270°。對于魔方“離家”1步遠的情況,不難計算其狀態共有6×3=18個。換句話說,即每個面分別轉動90°或180°或270°,6個面共有18個狀態。為了敘述方便,我們分別用F、R、U、B、L、D表示魔方的前面、右面、上面、后面、左面和下面。
然后,讓魔方“離家”2步遠,即先轉動一個面,再轉動另外一個面。如果用符號表示就是:
F(R、U、B、L、D);R(F、U、B、L、D);U(F、R、B、L、D);
B(F、R、U、L、D);L(F、R、U、B、D);D(F、R、U、B、L)。
上面的組合共有30組,每個字母有3個可選擇的轉角,共有30×3×3=270個狀態。需要強調的是,我們是在計算魔方的狀態數,這涉及魔方的幾何問題。例如,組合FB和BF給出的魔方狀態是完全相同的。因為F面和B面平行,轉動的先后次序不影響魔方的狀態。因此,FB和BF,RL和LR,UD和DU分別相同,要去掉3個,剩下27個組合。那么,27×3×3=243,即魔方“離家”2步遠,共有243個狀態。魔方“離家”2步遠時,我們也可以輕松讓魔方“回家”。
按照以上組合操作和比較魔方狀態的方法,可以計算出:
魔方“離家”3步遠,共有3,240個狀態;
魔方“離家”4步遠,共有43,239個狀態;
魔方“離家”5步遠,共有574,908個狀態。
如果隨意讓魔方離家5步遠,而你僅僅用5步就能把它復位,那么你就是地地道道的天才。換句話說,面對574,908個魔方狀態,僅憑直覺用5步將這些魔方復位,世界上還沒有人能夠做到。
如果把魔方離家的所有狀態求和,再加上一個在家的狀態,這個數就是43,252,003,274,489,856,000。
2010年,谷歌的一個團隊計算出魔方離家21步遠的狀態為0,也就是說,魔方離家最遠是20步。于是,他們宣布:對于任何一個被攪亂了的魔方,都可以在20步以內將其復原。
目前,復位三階魔方最快者所用時間不到5秒,但是他們需要轉動魔方50多次。2017年3月有報道稱,一位德國工程師設計的機器人,復位魔方只需0.637秒,僅需轉動魔方21次。
魔方里用到的數學既簡單又撩人。
三階魔方有8個角塊、12個邊塊和6個心塊,描述這些小塊的空間方位有很簡單的方法。如圖④所示,用數組<111>描述角塊,用數組<110>描述邊塊,用數組<100>描述心塊。如果用負號(數字1上加橫線),讓這些數組中的三個數排列組合:<111>有8種情況,和魔方的角塊一一對應;<110>有12種情況,和魔方的邊塊一一對應;<100>有6種情況,和魔方的心塊一一對應。用這種方法,還可以描述2階魔方、高階魔方和某些異型魔方。
12面魔方有12個心塊、20(=5×12÷3)個角塊、30(=5×12÷2)個邊塊。如果能計算出這些小塊的空間坐標,就可以建立數學模型來描述這些小塊的運動。
我們可以借助三階魔方,計算出12面魔方各小塊的空間坐標。如圖④所示,魔方12條棱邊中心的黑點,分布在6個面上,每面有2個。例如,藍色面的前后兩個黑點屬于該面,黃色面上下兩個黑點屬于該面,以此類推。圖④中魔方的邊長由2個單位壓縮到1.618,每個面上的黑點之間的距離壓縮到1,如圖⑥所示。把這些黑點近鄰地連接起來,就構成一個正20面體,同時,我們得到了12個頂點的坐標。例如,A、B、C三點的坐標分別為(0.5,0,0.809)、(-0.5,0,0.809)、(0,0.809,0.5)。endprint
參照圖⑥的坐標系,可以把12個頂點的坐標標注在12面魔方的心塊中心,一一對應。根據12面魔方心塊的坐標,經簡單的幾何計算,可以求出20個角塊和30個邊塊的空間坐標,然后就可以計算12面魔方轉動后小塊坐標的變化。參照魔方的“離家”和“回家”,12面魔方也可以按步找到和三階魔方的對接點。
魔方的復位方法很多,下面給大家介紹最簡單的“5個公式復位法”。
首先,根據直覺能力,復位魔方的第一層—通過魔方“離家”和“回家”操作,可以輕松培養這種直覺能力。然后,根據“牛郎和織女的故事”復位魔方的第二層(可以參看《魔方和數學建模》視頻公開課)。最后,根據5個公式,復位魔方的第三層。
本文給出操作序列的兩種表達形式:①6個字母表示魔方的6個面,帶“”表示逆時針轉動90°,否則為順時針轉動90°,帶“2”表示轉動180°;②此種表達基于笛卡兒坐標系,坐落于正方向的面用右手操作,轉動方向滿足右手規則,坐落于負方向的面用左手操作,轉動方向滿足左手規則。
魔方里所包含的數學知識,如同浩瀚海洋的沙灘海岸,淺的地方誰都可以來玩,包括幼兒園的小朋友,不需要什么裝備;深的地方更好玩,但需要一些數學上的技能。群論是研究魔方的主要數學理論,同樣,魔方也是學習群論的最好模型。近年來興起的幾何代數學,可以用來研究魔方問題,同樣,通過玩魔方也可以學習幾何代數學。
三階魔方是變種魔方和高階魔方的基礎,三階魔方的復位是魔方的經典內容。那些能快速復位魔方的人,除了勤學苦練之外,他們都具有非凡的記憶力。手法相同的情況下,記憶的公式越多,復位的速度就越快。特別是那些盲擰的人,沒有非凡的記憶力是不可能將魔方復原的。
動手之前,他們要長時間觀察魔方,其目的是為了讓角塊和邊塊“對號入座”,編碼相關的操作序列。以角塊為例,來說明蒙眼復位魔方的基本方法。若8個角塊分別為ABCDEFGH,原始狀態為A1B2C3D4E5F6G7H8占位,而現在的狀態是A2B1C4D3E8F6G7H5,對比原始狀態可知:A和B、C和D、E和H分別交換了位置。對于以上魔方,在操作之前要分別記住交換A和B、C和D、E和H所需要的操作公式,那么蒙眼后就可以把魔方復位。
李世春,獲清華大學材料學博士學位,中國石油大學(華東)材料系退休教授,長期從事魔方研究,先后出版了《魔方及其應用》《魔方的科學和計算機表現》和《魔方里的科學和文化》等著作。endprint