
三階魔方
首先要知道魔方是由厄爾諾·魯比克在1974年發(fā)明的,又以魯比克來(lái)命名魔方,叫魯比克魔方(英文名Rubik's Cube)。魔方的所有變化數(shù)量43,252,003,274,489,856,000種。如果你一秒可以轉(zhuǎn)3下魔方,不計(jì)重復(fù),你也需要轉(zhuǎn)4542億年,才可以轉(zhuǎn)出魔方所有的變化,這個(gè)數(shù)字是目前估算宇宙年齡的大約30倍(魔方只有26個(gè)塊)。而每個(gè)形態(tài)對(duì)應(yīng)的公式,公式后又出現(xiàn)的形態(tài),真的是千變?nèi)f化。三階魔方基本有無(wú)數(shù)種還原方法。而事實(shí)上上帝之?dāng)?shù)20步就能還原魔方。
魔方結(jié)枸
魔方有6種色6個(gè)面,國(guó)際定色:白色為底公式D,黃色為頂公式U,藍(lán)色在前公式F,綠色在后公式B,橙色在左公式L,紅色在右公式R。魔方又分為6個(gè)中心塊(每面最中間的塊),8個(gè)角塊和12個(gè)棱塊組成。中心塊是固定的結(jié)構(gòu),靠轉(zhuǎn)動(dòng)角塊和棱塊復(fù)原魔方。
還原魔方的幾種解法
魔方還原的解法有很多種,常用的有層先法、高級(jí)玩法、棱先法、角先法和橋式解法等等。
1、層先法思:①先做好底部十字,②底層角塊歸位,③第二層棱塊歸位,④做頂成十字,⑤還原頂成顏色,⑥頂層棱塊歸位,⑦頂層角塊歸位。完成復(fù)原!
2、高級(jí)玩法:①做好底部十家,②還原前兩層,③還原頂層顏色,④頂層角塊、棱塊一次歸位。完成復(fù)原!
3、棱先法思路:①底棱歸位(等同層先法十字),②邊棱歸位,③轉(zhuǎn)八角。完成復(fù)原!
4、橋式解法思路:①做好左右橋,②頂角還原,③調(diào)整顏色朝向,④6棱歸位。完成復(fù)原!
魔方轉(zhuǎn)動(dòng)記號(hào)
不管轉(zhuǎn)動(dòng)任何一個(gè)面,有2就轉(zhuǎn)動(dòng)兩下,沒(méi)有就轉(zhuǎn)一下。如果沒(méi)有帶“丶”記號(hào)的就是正轉(zhuǎn),可了理解為順時(shí)針轉(zhuǎn)動(dòng)或者擰緊瓶蓋,擰緊螺絲等。帶“丶”記號(hào)的則反之。

魔方被稱為“智力游戲界的三大不可思議”之一,是由匈牙利布達(dá)佩斯建筑學(xué)院的厄爾諾·魯比克發(fā)明的。他所發(fā)明的就是最常見(jiàn)的三階魔方,由6個(gè)中心塊,12個(gè)棱塊,8個(gè)角塊組成。最初,魯比克教授發(fā)明魔方就是作為教具讓他的學(xué)生去理解空間結(jié)構(gòu)的。誰(shuí)知,這一發(fā)明卻很快風(fēng)靡全球。
自從魯比克教授開(kāi)始在全世界推廣魔方之后,各種各樣的魔方不斷被發(fā)明出來(lái)?,F(xiàn)在的正階魔方已經(jīng)可以做出33階魔方了,中國(guó)量產(chǎn)的最高階魔方是17階魔方。而且,現(xiàn)在質(zhì)量最好和速擰最好的魔方都是中國(guó)制造的。隨著魔方做的越來(lái)越好,復(fù)原魔方的時(shí)間也在不斷的被刷新?,F(xiàn)在,最快復(fù)原三階魔方也僅僅只需要三四秒鐘,比賽的魔方種類也越來(lái)越多。
就算沒(méi)有玩過(guò)魔方的人也知道,魔方的復(fù)原是有公式的。而這些公式則是由數(shù)字和字母組成的,轉(zhuǎn)動(dòng)不同的面或不同的層都有對(duì)應(yīng)的字母,學(xué)會(huì)認(rèn)識(shí)這些字母才能更好的學(xué)會(huì)復(fù)原魔方。
復(fù)原三階魔方最基礎(chǔ)的方法是層先法,也就是一層一層的做?,F(xiàn)在層先法最常見(jiàn)的步驟是需要七大步就可以還原整個(gè)魔方,而且基礎(chǔ)的方法也不需要記很多公式。只要用心去學(xué)習(xí),還是比較容易學(xué)會(huì)三階魔方的。
當(dāng)然,學(xué)會(huì)復(fù)原魔方只是最基礎(chǔ)的操作。要想提升速度,還得經(jīng)過(guò)大量的練習(xí)和學(xué)習(xí)高級(jí)的方法CFOP,這個(gè)方法不僅需要記憶的公式很多,還需要你自己對(duì)魔方有一定的見(jiàn)解,這樣才能練得更好。
路過(guò)的小伙伴們,你們會(huì)哪些魔方呢?

(小石頭,站在偏數(shù)學(xué)的角度,來(lái)回答這個(gè)問(wèn)題。簡(jiǎn)單一句話,魔方的原理就是:魔方群在狀態(tài)集上的作用,具體回答如下:)
魔方群
整體來(lái)看,魔方(Rubik's cube)是一個(gè)立方體,一共有六個(gè)面 (surface),我們分別用 U(up 上)、D(down 下)、F (front 前)、B(back 后)、L(left 左)、R(right 右)來(lái)標(biāo)識(shí),不妨規(guī)定:U 對(duì)應(yīng) 黃(yellow)、D 對(duì)應(yīng) 白(white)、F 對(duì)應(yīng) 藍(lán)(blue)、B 對(duì)應(yīng) 綠(green)、L 對(duì)應(yīng) 橙(orange)、R 對(duì)應(yīng) 紅(red)。
令,M = {U, D, F, B, L, R},當(dāng) 任意面 f ∈ M 朝向我們時(shí),對(duì) f 面 順時(shí)針 旋轉(zhuǎn) 90°, 被定義為 魔方的 基本操作(base operation),同樣用 f 面 的 面標(biāo)識(shí) 來(lái)表示 這種基本操作。所以 M 也代表 魔方的全部基本操作。
對(duì)于,任意 基本操作 g, h ∈ M,gh 稱為 g 和 h 的 復(fù)合(compose), 表示 先 g 操作 再 h 操作 的復(fù)合操作。可以驗(yàn)證,復(fù)合滿足結(jié)合律, 這樣以來(lái),以 M 為生成元 在復(fù)合操作下會(huì)生成一個(gè)群 G = (M),稱為 魔方群(Rubik‘s cube group)。其中,G 的 幺元,記為 1, 表示 沒(méi)有進(jìn)行任何操作的操作。
什么是群?
群就是定義了一種運(yùn)算 的集合 ,其 滿足:
集合對(duì)運(yùn)算封閉,即,對(duì)于任意 都有 ( 注意:和乘法運(yùn)算類似,習(xí)慣省略不寫 ) ;
運(yùn)算有分配律,即, 對(duì)于任意 都有 ;
有幺元,即,存在 使得 對(duì)于 任意 都有 ;
有逆元,即,對(duì)于任意 都存在 的逆元 使得 。
什么是 M 生成的群?
數(shù)學(xué)上定義:包括 M 中元素的 最小的群,為M生成的群,記為 (M)。實(shí)際上,可以 對(duì) M 中任意操作 g 和 h 不斷的 進(jìn)行 復(fù)合運(yùn)算,如果得到的新復(fù)合操作 gh 不在 M 中,就 gh 添加到 M 里,直到 M 不再增加,這樣就得到了 (M)。
同一基本操作 g, 連續(xù)四次 復(fù)合 就是 對(duì) g 面 順時(shí)針 旋轉(zhuǎn) 360°,這相當(dāng)于 沒(méi)有操作,即,
gggg = 1
從而有:
gg3 = 1
也就是說(shuō) g3 就是 g 的逆元 g?1 ,相當(dāng)于 對(duì) g 面 逆時(shí)針 旋轉(zhuǎn) 90°。
另外,由 gggg = 1 還可以得到:
g2g2 = 1
這說(shuō)明 連續(xù)兩次 復(fù)合 g2 的逆元 就是自己,即,順時(shí)針 旋轉(zhuǎn) 180° 相當(dāng)于 逆時(shí)針 旋轉(zhuǎn) 180° 。
魔方狀態(tài)
三階魔方被細(xì)分為 3 × 3 × 3 = 27 個(gè) 立方小塊(cubie)。其中,位于 中間核心的 那個(gè) 小塊 不會(huì)受到 魔方操作 的影響到,而對(duì)于 每個(gè) 面中心的 那個(gè) 小塊 魔方操作 同樣無(wú)法改變它的位置,因此 魔方操作 所能 影響到的 小塊 為 27 - (1 + 6) = 20 個(gè)。
這 20 個(gè) 受 魔方操作 作用的 小塊,又分為 兩類:
位于魔方 8 個(gè)角 處的 角(corner)塊,它們有3個(gè)有效 小面(facet);
位于魔方 12 個(gè)棱 處的 棱(edge)塊,它們有2個(gè)有效 小面;
由于,每個(gè)面的 中心塊 保持位置不變,因此對(duì)于打亂的魔方,可以依照 中心塊 來(lái) 確定 魔方的各個(gè)面 方向。魔方在初始(或 還原)狀態(tài)下,角塊 和 棱塊 的每個(gè) 小面 和 該小面 所在面 的 中心小塊 顏色保持一致。
我們用 角塊(或 棱塊) 的各小面 顏色所對(duì)應(yīng)的 標(biāo)識(shí) 的小寫字母 的組合來(lái)標(biāo)識(shí) 角塊(或 棱塊):
對(duì)于 角塊,三個(gè)小面 x, y, z,有 6 種排列方式,這里 使用 從 u 或 d 開(kāi)始 的 順時(shí)針 排列方式,即,角塊標(biāo)識(shí) xyz 保證 x = u/d 并且 x →y → z 是順時(shí)針;
對(duì)于 棱塊,二個(gè)小面 x, y, 有 2 種 排列方式,這里 使用 從 u 或 d(f 或 b) 開(kāi)始 的 排列方式,即,棱塊標(biāo)識(shí) xy 保證 x = u/d/f/b;
根據(jù)上面的規(guī)則,八個(gè)角塊分別表示為:ufl, urf, ubr, ulb; dbl, dlf, dfr, drb; 十二個(gè)棱塊分別表示為:ub, ur, uf, ul; bl, br, fr, fl; db, dr, df, dl
注意:六個(gè)中心塊 分別表示為:u, d, f, b, l, r,核心塊 一般用 o 表示 。
更進(jìn)一步,對(duì)于角塊 xyz,我們用 xyz 表示 x 小面,yzx 表示 y 小面,zxy 表示 z 小面,對(duì)于棱塊 xy ,我們用 xy 表示 x 小面,用 yx 表示 y 小面,于是,我們就得到了 帶有標(biāo)注 的 8 × 3 + 12 × 2 = 48 個(gè) 小面。將,全體小面記為 T,則 任意 操作 g ∈ G 就變成了 T 上的 一種 置換(位置變換)。以 F 操作 為例,
觀察發(fā)現(xiàn), 小面 fur 經(jīng)過(guò) F 操作 置換 為 小面 flu,即,F(xiàn)(fur) = flu,另有 F(flu) = fdl、F(fdl) = frd、F(frd) = flu,于是 在 F 操作下,以上 4 個(gè)置換 形成了 一個(gè) 置換圈:
我們稱其為 輪換(cycle),記為 (fur flu fdl frd) 。
參與輪換的 小面 可以是任意多個(gè),值得注意的是:任何一個(gè)小面 a 的 輪換 (a) 相當(dāng)于 不做 置換,有, 1 = () = (a) 。
當(dāng)然,實(shí)際上 F 操作 包含 多個(gè) 輪換,將這些輪換 以復(fù)合的方式,聚合在一起,就是定義了一個(gè) 完整 F 操作:
F = (fur flu fdl frd) (fu fl fd fr)(rfu ufl lfd dfr)(rf uf lf df)(rdf urf luf dlf)
同理,我們可以將 其它魔方操作 定義為 輪換 的復(fù)合。
注意:為了方便,我們也可以用 1- 48 的 正整數(shù),來(lái)替代 上面 S 中 對(duì)小面 的編碼。
T 上的所有 置換函數(shù),在函數(shù)復(fù)合下,組成 置換群 S??。但是,因?yàn)?角塊的面永遠(yuǎn)置換不到棱塊的面,所以 G 僅僅是 S?? 的子群。
用離散的小面來(lái)記錄魔方的狀態(tài)過(guò)于粗獷,重新審視魔方,我們會(huì)得到如下結(jié)果:
每個(gè)立方塊都是一個(gè)整體,在任何魔方的操作下,組成它的小面不會(huì)分離;
每個(gè)立方塊,有兩種狀態(tài)信息:位置 和 方向;
角塊 和 棱塊 在 魔法操作下 相互獨(dú)立,即,角塊 永遠(yuǎn)不可能 轉(zhuǎn)到 棱塊 上,反之亦然。
基于,以上分析,我們首先, 分別 對(duì) 角塊 和 棱塊 進(jìn)行定位(location):
角塊:ufl = 1, urf = 2, ubr = 3, ulb = 4; dbl = 5, dlf = 6, dfr = 7, drb = 8;
棱塊:ub = 1, ur = 2, uf = 3, ul = 4; bl = 5, br = 6, fr = 7, fl = 8; db = 9, dr = 10, df = 11, dl = 12;
令 C = {1, 2, 3, 4, 5, 6, 7, 8}, 這里包含 所有 角塊的位置信息,可以很容易將 基本操作 對(duì) 角塊位置的 改變寫成輪換形式:
U = (1 2 3 4),
D = (5 8 7 6),
F = (1 6 7 2),
B = (3 8 5 4),
L = (1 4 5 6),
R = (2 7 8 3)
顯然,G 作用在 C 上 是 置換群 S? 的子群。
同理,令 E = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12},基本操作對(duì)于 棱塊 位置的改變寫成輪換形式為:
U = (1 4 3 2),
D = (9 10 11 12),
F = (3 8 11 7),
B = (1 6 9 5),
L = (4 5 12 8),
R = (2 7 10 6)
同樣,G 作用在 E 上 是 置換群 S?? 的子群。
然后,我們分別對(duì) 角塊 和 棱塊 進(jìn)行定向(orientation):
角塊:u/d 為定向面,xyz = 012;
棱塊:u/d/f/b 為定向面,xy = 01;
對(duì)于保持 定向 信息,我們只需要定義,定位位置 當(dāng)前 立方塊 的 定向面 對(duì)應(yīng) 的 編號(hào)就可以了。而對(duì)于 基本操作,對(duì) 定向的 改變,我們也只需要 記錄,原始狀態(tài)下,經(jīng)過(guò) 基本操作后,各個(gè) 定位位置,的 定向面 對(duì)應(yīng) 的 編號(hào)就可以了。如果,原始狀態(tài)下,即, 定向面的編號(hào)為 0,經(jīng)過(guò)某操作,到新位置后,定向面編號(hào)為 n,則 原來(lái) 定向面的編號(hào)為 m,經(jīng)同樣操作,到新位置后,定向面編號(hào)就是 (n + m) mod k,對(duì)于角塊 k = 3,對(duì)于 棱塊 k = 2。0- 不旋轉(zhuǎn),1-逆時(shí)針旋轉(zhuǎn),2-順時(shí)針旋轉(zhuǎn)。
令,V = (0, 0, 0, 0, 0, 0, 0, 0) 表示 角塊的所有定向,則 基本操作為對(duì)角塊定向的改變?yōu)椋?/p>
U = (0, 0, 0, 0, 0, 0, 0, 0),
D = (0, 0, 0, 0, 0, 0, 0, 0),
F = (1, 2, 0, 0, 0, 2, 1, 0),
B = (0, 0, 1, 2, 1, 0, 0, 2),
L = (2, 0, 0, 1, 2, 1, 0, 0),
R = (0, 1, 2, 0, 0, 0, 2, 1)
對(duì)于每一位來(lái)說(shuō)都是 Z? ,總共 8 個(gè) Z? 就是 Z?? ,但是 考慮 在 到 7 個(gè) 角塊固定的情況下,我們無(wú)法 單獨(dú) 旋轉(zhuǎn) 剩下的那個(gè),因此 G 在 V 上的作用 實(shí)際上 是 Z??。
令,W = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 表示 棱塊的所有定向,則 基本操作為對(duì)棱塊定向的改變?yōu)椋?/p>
U = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
D = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
F = (0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0),
B = (1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0),
L = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
R = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
同理, G 在 W 上的作用 是 Z?11。
當(dāng)以上編號(hào)混合在一起使用時(shí),為了區(qū)分,分別用 c、e、v、w 作為 角塊定位、棱塊定位、角塊定向、棱塊定向 編號(hào)的前綴,并將編號(hào)寫成下標(biāo)。例如:
F = (c? c? c? c?) (e? e? e?? e?) (v?, v?, v?, v?, v?, v?, v?, v?) (w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?)
輔助工具
在進(jìn)行下一步分析之前,我們先編寫一點(diǎn) JavaScript 代碼,以幫助我們,對(duì) G 中的 操作進(jìn)行復(fù)合。
魔方狀態(tài)(state)的 格式為:
state:[[角塊定位], [棱塊定位], [角塊定向], 棱塊定向]
聲明 魔方初始狀態(tài) s? 如下:
魔方操作(operation)的 格式為:
[[[角塊輪換], ...], [[棱塊輪換], ...], [角塊旋轉(zhuǎn)], [棱塊旋轉(zhuǎn)]]
基本操作聲明如下:
聲明,在給定狀態(tài)上執(zhí)行魔方操作的函數(shù):
聲明,從給定狀態(tài)中分析出魔方操作的函數(shù):
定義 復(fù)合 函數(shù):
為了輸出簡(jiǎn)潔,當(dāng)所有角塊(或,棱塊)不發(fā)生旋轉(zhuǎn) 時(shí),用一對(duì)空括號(hào)表示。
最后,我們對(duì)基本操作進(jìn)行必要的擴(kuò)展:
換位子 和 共軛
對(duì)于 任意兩個(gè) 魔方操作 g,h ∈ G,如果,g 和 h 的復(fù)合 滿足交換律,則:
gh = hg
等式兩邊右乘 g?1h?1,有:
ghg?1h?1 = hgg?1h?1 = h1h?1 = hh?1 = 1
如果 不滿足交換律,則:
ghg?1h?1 ≠ 1
令,[g, h] = ghg?1h?1,稱其為 換位子(commutator)。
一般來(lái)說(shuō),魔方相對(duì)面 ,如: F 和 B,U 和 D,L 和 R 之間是可以交換的,即,
[F, B] = [U, D] = [L, R] = 1
所有,換位子 之間是可以交換的,即:
[[g?, h?] [g?, h?]] = 1
關(guān)于,換位子有 性質(zhì)1:如果 g 和 h 兩種操作,只 共同影響 一個(gè) 小塊 k,其中 g 為 n → k,h 為 m → k,則有 [g, h] = (k, n, m),[h, g] = (k, m, n)。
例如,若 g = (c? c? c?), h = (c?, c? c?),則 k = c?, n = c?, m = c?,于是有:
即,[g, h] = (c? c? c?),[h, g] = (c? c? c?)。
性質(zhì)1推論:如果 g 和 h 兩種操作,共同影響 的小塊,剛好 在 g 和 h 中 分別 形成 輪換 σ 和 τ,則有 [g, h] = [σ, τ]。
例如:若 g = (c? c? c? c?)(c? c?), h = (c? c? c? c?)(c? c?),則 它們的共同影響小塊 c?、c?、c?、c?,分別 在 g 和 h 中,組成輪轉(zhuǎn) (c? c? c? c?) 和 (c? c? c? c?),于是有:
即,[g, h] = [(c? c? c? c?), (c? c? c? c?)]。
魔方群中還有另外一種 稱為 共軛(conjugate)的復(fù)合方式:對(duì)于 任何操作 g,h ∈ G,稱 ghg?1 為 h 關(guān)于 g 的共軛。
共軛具有 性質(zhì)2:如果 h = (a b c) 而 g 將 A, B, C 分別映射到 a, b, c,則有 ghg?1 = (A B C)。
例如:若 h = (c? c? c?), g = (c? c?)(c? c?)(c? c?),則有:
即,ghg?1 = (c? c? c?)。
魔方公式
好了!現(xiàn)在利用上面的知識(shí),就可以開(kāi)始構(gòu)造魔方公式了。
尋找角塊的換位公式
我們發(fā)現(xiàn) B?1 關(guān)于 R?1 的 共軛 R?1B?1(R?1)?1 = R?1B?1R:
和 F2:
僅有 c? 共同影響,于是它們滿足 性質(zhì)1,有:
即,[R?1B?1R, F2] = R?1B?1R F2 (R?1B?1R)?1 (F2)?1 = R?1B?1R F2 R?1B?1R F2 = (c1, c7, c8)。
注意:因?yàn)?(ab)(b?1a?1) = abb?1a?1 = a1a?1 = aa?1 = 1,所以 (ab)?1 = b?1a?1。
這里 c?, c?, c? 不共面,考慮 R2 :
剛好 將 1 ? 1, 2 ? 8, 3 ? 7,于是根據(jù) 性質(zhì)2,有:
開(kāi)頭的 RR RRR = R ,于是最終得到 公式C:
即,
R2[R?1B?1R, F2]R?2 = RB?1RF2R?1BRF2R2 = (c? c? c?)
尋找棱塊的換位公式
我們定義一種新的操作 M:面對(duì) F 面,順指針旋轉(zhuǎn) F 和 B 面之間那個(gè)中間的面M。M 操作 只改變棱塊:
我們發(fā)現(xiàn) M?1(或 M)與 U2:
共同影響 e?,因此 根據(jù)性質(zhì)1,[M?1, U2] 構(gòu)成三輪換:
即,[M?1, U2] = M?1U2MU2 = (e? e? e??)。
其實(shí),M?1 就相當(dāng)于 FB?1 的復(fù)合,只不過(guò),在執(zhí)行 M?1 后,還做了 R 面朝向了 U 的動(dòng)作。
這時(shí) 執(zhí)行 U2 相當(dāng)于 執(zhí)行 R2,于是翻譯為 基本操作 [M?1, U2] = FB?1R2BF?1U2,驗(yàn)證:
最后, 根據(jù) 性質(zhì)2,利用 R2U 將 這個(gè) 三輪換,換到同一個(gè)面上:
倒數(shù)第2, 3 項(xiàng)合并后,就得到了 公式D:
R2U[M?1, U2]U?1R2 = R2UFB?1R2BF?1UR2 = (e? e? e?)
尋找角塊的旋轉(zhuǎn)公式
觀察 D2 關(guān)于 RF?1 的共軛 RF?1D2FR?1:
與 U2:
它們,有共同的輪轉(zhuǎn) (c? c?),于是根據(jù) 性質(zhì)1推論,有:
[U2, RF?1D2FR?1] = [(c? c?), (c? c?)] = (c? c?)(c? c?)(c? c?)(c? c?) = (c? c?)1(c? c?) = (c? c?)(c? c?) = 1
這樣以來(lái),[U2, RF?1D2FR?1] 就沒(méi)有了位置變換,僅僅剩下的就是旋轉(zhuǎn):
于是,我們就得到 公式 E:
[U2, RF?1D2FR?1] = U2RF?1D2FR?1U2RF?1D2FR?1 = (v?, v?, v?, v?, v?, v?, v?, v?);
公式 E 分別 對(duì) c? 和 c? 進(jìn)行 逆時(shí)針 和 順時(shí)針 旋轉(zhuǎn)。
尋找棱塊的旋轉(zhuǎn)公式
M 和 U 分別執(zhí)行4次會(huì)恢復(fù),那么 MU 執(zhí)行四次,即,(MU)? 是什么呢?
我們神奇的發(fā)現(xiàn):
(MU)? = F?1BLF?1BDF?1BRF?1BU = (w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?)
即,(MU)? 只對(duì) e?, e?, e?0, e?? 旋轉(zhuǎn);
同樣,(MU?1)? :
(MU?1)? = F?1BL?1F?1BD?1F?1BR?1F?1BU?1 = (w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?)
即,(MU?1)? 只對(duì) e?, e3, e?0, e?? 旋轉(zhuǎn);
因?yàn)?棱塊旋轉(zhuǎn) 2 次就等于沒(méi)有旋轉(zhuǎn),于是 (MU)? 和 (MU?1)? 的復(fù)合 結(jié)果 只對(duì) e? 和 e? 進(jìn)行旋轉(zhuǎn),這就是 公式F:
(MU)?(MU?1)? = (w?,w?, w?, w?, w?, w?, w?, w?, w?, w?, w?)
可以驗(yàn)證:
暴力搜索
兩輪換 稱為 對(duì)換,在魔方群中 單獨(dú)的 對(duì)換操作,是不可能的 因此 三輪換,成立 公式構(gòu)造的 關(guān)鍵,除了上面利用 性質(zhì)1 來(lái) 找尋 三輪換 的 方法為,我們還可以用計(jì)算機(jī),進(jìn)行暴力搜索。例如:在 2 個(gè) R,3 個(gè) R?1, 3 個(gè) U, 2 個(gè) U?1 的全排列中,進(jìn)行三輪換搜索:
我們得到:
即,R?1U?1RURURU?1R?1U?1 = (e? e? e??)。然后 根據(jù) 性質(zhì)2,利用 R2 將 這個(gè) 三輪換,換到同一個(gè)面上:
同樣,將開(kāi)頭的 5 個(gè) R 合并,就得到 和 公式D 類似的公式:
RU?1RURURU?1R?1U?1R2 = (e? e? e?)
對(duì)于旋轉(zhuǎn)來(lái)說(shuō),以上的分析,最少只能的道 兩個(gè) 角塊(或 棱塊)的旋轉(zhuǎn),我們無(wú)法做到 僅僅旋轉(zhuǎn) 一個(gè)角塊(或 棱塊)。
上面,給定的公式都保證 角塊(或 棱塊)的旋轉(zhuǎn) 時(shí),所有小塊位置不變,但 實(shí)際上,不一定需要這么嚴(yán)格,我們可以允許 與旋轉(zhuǎn)小塊同處一個(gè)面 內(nèi) 小塊的位置變換。通過(guò)暴力搜索,我們得到了公式B:
即,
RUR?1URU2R?1 = (c? c?)(c? c?)(e? e? e?)(v?, v?, v?, v?, v?, v?, v?, v?);
以及,公式A:
即,
FRUR?1U?1F?1 = (c? c?)(c? c?)(e? e? e?)(v?, v?, v?, v?, v?, v?, v?, v?)(w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?, w?);
公式 AB 都是 只 改變 頂層 位置的 操作。
其實(shí),公式A就是 F[R, U]F?1,其中 [R, U]:
[R, U] 的功效是 (e? e? e?) ,即,將 頂層棱塊 e? e? 和 中層 棱塊 e? 輪換,但副作用 (c? c?) 變動(dòng)了 底層。不過(guò)幸運(yùn)的是,我們找到了 [F?1, U?1]:
[ F?1, U?1] 的功效 和 [R, U] 類似,而其副作也是 (c? c?)。因?yàn)?(c? c?)(c? c?) = 1,所以 [U?1, F?1] 的 剛好可以抵消 [R, U] 的副作用。于是,我們就得到了 公式A的附帶公式:
[R, U] [ F?1, U?1] 和 [ F?1, U?1] [R, U]
功效分別是 (e? e? e? e? e?) 和 (e? e? e? e? e?),即,將頂層的 四個(gè)棱塊 與 中層 的 棱塊 e? 輪轉(zhuǎn)。
在魔方數(shù)學(xué)原理的指導(dǎo)下,通過(guò)這種計(jì)算機(jī)暴力搜索的方式,我們還可以找到很多有用的公式,目前緊緊OLL公式就有 57 個(gè),而更多的復(fù)雜公式幾百上千。
眾所周知的 ”七步公式還原法“(層先法) 就包括了從這些公式中選出來(lái)的 一組基礎(chǔ)公式(包括上面提到的 公式ABCD)。(七步公式還原法,已經(jīng)有條友在回答中詳細(xì)介紹過(guò)了,我這里就不累述了。)
不知不覺(jué),已經(jīng)寫了 5千余字了。關(guān)于魔法群還有很多更深入的內(nèi)容,例如:上帝數(shù) 等,由于篇幅有限,這里不能一一展開(kāi),以后有機(jī)會(huì)再說(shuō)。
(小石頭,數(shù)學(xué)水平有限,出錯(cuò)在所難免,希望各位老師和同學(xué)批評(píng)指正。)
(補(bǔ)充 2019/10/30)
我將輔助工具的代碼放在這里,以便想要自己試驗(yàn)的條友復(fù)制粘貼。
運(yùn)行環(huán)境:chrome 瀏覽器;
文件名:rc.html,包含代碼:
<script>
const s0 = [[1, 2, 3, 4, 5, 6, 7, 8],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
const U = [[[1, 2, 3, 4]],[[1, 4, 3, 2]], [0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
const D = [[[5, 8, 7, 6]],[[9, 10, 11, 12]],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
const F = [[[1, 6, 7, 2]],[[3, 8, 11, 7]], [1, 2, 0, 0, 0, 2, 1, 0],[0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0]];
const B = [[[3, 8, 5, 4]],[[1, 6, 9, 5]], [0, 0, 1, 2, 1, 0, 0, 2],[1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0]];
const L = [[[1, 4, 5, 6]],[[4, 5, 12, 8]], [2, 0, 0, 1, 2, 1, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
const R = [[[2, 7, 8, 3]],[[2, 7, 10, 6]], [0, 1, 2, 0, 0, 0, 2, 1],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
function perform(state, ... operations) {
for(var g of operations) {
var newstate = [g[0].reduce((l, c) => permute(l, c), state[0]),
g[1].reduce((l, c) => permute(l, c), state[1])];
newstate[2] = turn(state[0], state[2], newstate[0], g[2], 3);
newstate[3] = turn(state[1], state[3], newstate[1], g[3], 2);
state = newstate;
}
return state;
}
function permute(location, cycle) {
var newlocation = Array.from(location);
for(var i = 0; i < cycle.length - 1; i++) {
newlocation[cycle[i] - 1] = newlocation[cycle[i+1] - 1];
}
newlocation[cycle[cycle.length - 1] - 1] = location[cycle[0] - 1];
return newlocation ;
}
function turn(oldlocation, oldorientation, newlocation, spin, mod) {
var neworientation = [];
for (var i = 0; i < newlocation.length; i++) {
var j = oldlocation.indexOf(newlocation[i]);
neworientation[i] = (oldorientation[j] + spin[i]) % mod;
}
return neworientation;
}
function parse(state) {
return [parse_cycle(state[0]), parse_cycle(state[1]),
Array.from(state[2]), Array.from(state[3])
];
}
function parse_cycle(location) {
var flags = [], cycles = [];
for (var i = 0; i < location.length; i ++) {
if (i + 1 != location[i] && !flags[i]) {
var cycle = [i + 1, location[i]], j = location[i] - 1;
while(true) {
flags[j] = 1;
if (location[j] == i + 1)
break;
cycle.push(location[j]);
j = location[j] - 1;
}
cycles.push(cycle);
}
}
return cycles;
}
function compose(... operations) {
return parse(perform(s0, ... operations));
}
const str = arr => arr.reduce((s, x) => s +
(x[0] instanceof Array ? '[(' + x.map(y => y.join(' ')).join(')(') + ')]' :
(x.length == 0 ? '[]' : '(' + x.join() + ')')), '')
.replace('(0,0,0,0,0,0,0,0)', '()')
.replace('(0,0,0,0,0,0,0,0,0,0,0,0)', '()');
const c = (... ops) => str(compose(... ops));
const UU = compose(U, U), UUU = compose(U, U, U);
const DD = compose(D, D), DDD = compose(D, D, D);
const FF = compose(F, F), FFF = compose(F, F, F);
const BB = compose(B, B), BBB = compose(B, B, B);
const LL = compose(L, L), LLL = compose(L, L, L);
const RR = compose(R, R), RRR = compose(R, R, R);
const cycle = (... x) => [[x], [], s0[2], s0[3]];
const M = [[],[[2,4,12,10]],[0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1]];
const MMM = compose(M, M, M);
function perm(arr, callback, index){
var swap = (a, i, j, t) => (t = a[i], a[i] = a[j], a[j] = t);
index = index || 0;
if (index < arr.length) {
for (var j = index; j < arr.length; j++) {
swap(arr, index, j);
if (perm(arr, callback, index + 1)) return true;
swap(arr, index, j);
}
}
else {
return callback(arr);
}
}
</script>
文件名:rc2.html,包含代碼:
<script>function perm(arr, callback, index){ var swap = (a, i, j, t) => (t = a[i], a[i] = a[j], a[j] = t); index = index || 0; if (index < arr.length) { for (var j = index; j < arr.length; j++) { swap(arr, index, j); if (perm(arr, callback, index + 1)) return true; swap(arr, index, j); } } else { return callback(arr); }}R._tag = "R"; RRR._tag = "R?1"; U._tag = "U", UUU._tag = "U?1";perm([RRR, UUU, R, U, RRR, UUU, R, U, R, UUU], x => { var g = compose(... x); console.log("+"); if (g[0].length == 0 && g[1].length == 1 && g[1][0].length == 3 && g[2].toString() == s0[2].toString() && g[3].toString() == s0[3].toString()) { console.log(x.reduce((y, z) => y + z._tag, "")); return true; }});</script>

生活中,我們或多或少都接觸過(guò)魔方。魔方(Rubik’s Cube),最早被稱為“魔術(shù)方塊”,與中國(guó)人發(fā)明的“華容道”、法國(guó)人發(fā)明的“獨(dú)立鉆石”一起被稱為智力游戲界的三大不可思議。魔方,英文名為Rubik's Cube,又叫魯比克方塊,最早是由匈牙利布達(dá)佩斯建筑學(xué)院厄爾諾·魯比克(又稱作厄爾諾·盧比克)教授于1974年發(fā)明的。魔方競(jìng)速是一項(xiàng)手部極限運(yùn)動(dòng)。因?yàn)樽銐蚨嘧儯瑥?fù)雜燒腦,能獨(dú)立還原之人少之又少。因此,在很多人眼里“會(huì)玩魔方”= 高智商。
當(dāng)時(shí)是為了幫助學(xué)生更好地認(rèn)識(shí)空間立體幾何。后來(lái)他在魔方的6個(gè)面涂上不同顏色,轉(zhuǎn)動(dòng)數(shù)步之后,魔方被打亂,但想要復(fù)原至初始狀態(tài)是有一定難度的。有商人敏銳地嗅到其中的商機(jī),成功地將魔方作為一種益智玩具推向全世界,與華容道、獨(dú)立鉆石并稱世界三大智力游戲。
魔方的冷知識(shí)
別看個(gè)頭小,魔方可擁有43,252,003,274,489,856,000 種變化!來(lái)試試看你能答對(duì)幾條關(guān)于魔方的冷知識(shí)吧!
1.三階魔方一共有多少塊?
“這太好算了,3x3x3=27塊!”
魔方的構(gòu)成 三階魔方是由 3×3×3-1=26 個(gè)小方塊組成的立方體,有 6 個(gè)面(還原之后每個(gè)面顏色相同,共 6 種顏色),每個(gè)面有 9 個(gè) 小面,共 54 個(gè)小面。26 個(gè)小方塊包括 6 個(gè)中心塊(僅一個(gè)可見(jiàn) 面)、12 個(gè)棱塊(兩個(gè)可見(jiàn)面)、 8 個(gè)角塊(三個(gè)可見(jiàn)面)
沒(méi)錯(cuò),最早由魯比克教授設(shè)計(jì)的魔方是由27塊組成的。但是如今的魔方將最中央的方塊“變成”讓魔方轉(zhuǎn)動(dòng)更順滑的中心軸,所以現(xiàn)在的三階魔方一共有26塊,你答對(duì)了么?
2.世界上復(fù)原魔方時(shí)間最久的是多少?
“肯思考的話,估計(jì)也就一兩個(gè)月吧”
No No No,英國(guó)《每日郵報(bào)》報(bào)道,英格蘭漢普郡的建筑工人帕克從1983年買下魔方開(kāi)始,一直在為復(fù)原魔方努力,歷經(jīng)26年、2.7萬(wàn)個(gè)小時(shí)后終于成功。他也成為了世界上解開(kāi)魔方用時(shí)最長(zhǎng)的人(這樣的世界紀(jì)錄筆者可不想要)
3.最高階的魔方有多大?
“五階?不能比七階多了吧....”
目前可以批量生產(chǎn)的最高階魔方已經(jīng)達(dá)到了17階,有些愛(ài)好者甚至自己用3D打印機(jī)制作了33階魔方哦~(這轉(zhuǎn)起來(lái)可真是個(gè)體力活....)
4.什么樣的人魔方玩的快?
“成年人?天才吧……”
這就更是大錯(cuò)特錯(cuò)啦,包攬多項(xiàng)世界魔方賽冠軍的“菲神”是“90后”,很多“00后”、“10后”更是成績(jī)超過(guò)成年人,并且玩起了“異型魔方”,這都和他們?nèi)粘5那趭^練習(xí)分不開(kāi)。聽(tīng)說(shuō)“菲神”備賽的時(shí)候一天要練習(xí)十個(gè)小時(shí),果然是臺(tái)上四秒鐘,臺(tái)下十年功啊。
基本原理
有限中蘊(yùn)含著無(wú)限:魔方是有限塊體單元的有序組合,可以有無(wú)限的變化。
無(wú)限中蘊(yùn)含著有限:無(wú)限萬(wàn)化的魔方組合中蘊(yùn)含有限的規(guī)律與本質(zhì)核心。
魔方具有深刻的哲學(xué)寓意,既有隱性的內(nèi)在規(guī)則與核心本質(zhì),又有顯性的形式變化。用魔方類比學(xué)習(xí)生活,形象的闡釋生產(chǎn)生活中蘊(yùn)含的道理,便于理解和應(yīng)用。
拆解魔方的過(guò)程,就是一個(gè)逐漸精簡(jiǎn)知識(shí)/問(wèn)題現(xiàn)象的過(guò)程,逐漸接近知識(shí)/現(xiàn)象/問(wèn)題的本質(zhì)核心。拆解魔方的過(guò)程形象的解釋了“為道日損”的含義,最后整體的魔方變形離散單元的時(shí)候,恰好解釋了“道在其中,而不見(jiàn)其形”的含義。
組裝魔方的過(guò)程就是從認(rèn)知原點(diǎn)/知識(shí)原點(diǎn)逐漸增加知識(shí)/現(xiàn)象/問(wèn)題復(fù)雜性的過(guò)程,使問(wèn)題更加完善。組裝魔方的過(guò)程形象的解釋了“為學(xué)日益”的含義,最后離散單元有序組合成整體的過(guò)程,充分體現(xiàn)了“現(xiàn)象是離散單元有序組合”的含義。
轉(zhuǎn)動(dòng)魔方的過(guò)程,就是一個(gè)分析問(wèn)題、理解問(wèn)題,解決問(wèn)題的過(guò)程,感知-觀察-測(cè)量-分析-試驗(yàn)-內(nèi)化-理解-判斷-選擇-實(shí)踐-評(píng)價(jià)-內(nèi)省的過(guò)程。經(jīng)過(guò)刻意學(xué)習(xí)和練習(xí),就會(huì)形成完整的思考回路,形成清晰的思路和操作方法,經(jīng)過(guò)刻意的練習(xí),使魔方從有序到無(wú)序,從無(wú)序到有序,完成從生手-新手-熟手-高手的轉(zhuǎn)變。如果不去認(rèn)真思考,專心學(xué)習(xí),刻意練習(xí),實(shí)踐反思,就會(huì)處于混沌狀態(tài)中而不能自拔。
常見(jiàn)三階復(fù)原的方法
魔方有很多種類,三階是最基礎(chǔ)的一種,其他種類的魔方很多都是三階的變形,比如二階、四階、棕子魔方等,通過(guò)類比三階魔方,可以舉一反三,將其他魔方降階為三階,還原其主體部分,剩下的部分只需要解決當(dāng)前這種魔方的某些特殊情況即可。
魔方有一套完整、簡(jiǎn)潔、準(zhǔn)確、美妙的表達(dá)系統(tǒng)。利用前(Front)、后(Back)、左(Left)、右(Right)、頂(Up)、底(Down)這六個(gè)面(side)的英文單詞首字母大寫來(lái)表示某個(gè)面的轉(zhuǎn)動(dòng)。同時(shí),每個(gè)面的旋轉(zhuǎn)又有兩種方向:順時(shí)針和逆時(shí)針,在右上角標(biāo)記',則為逆時(shí)針旋轉(zhuǎn)90度,若沒(méi)有標(biāo)記,則為順時(shí)針旋轉(zhuǎn)90度。所以,R U R'的含義是:首先將右面順時(shí)針旋轉(zhuǎn)90度,再將頂面順時(shí)針旋轉(zhuǎn)90度,最后將右面逆時(shí)針旋轉(zhuǎn)90度。此外還有更多轉(zhuǎn)動(dòng)的符號(hào)表達(dá),如雙層、中層、整體轉(zhuǎn)動(dòng)等,本文只是簡(jiǎn)介,不再贅述。
層先法:魔方有三層,層先法則是一層一層地還原,也是魔方最流行的初級(jí)復(fù)原方法,有些朋友“復(fù)原”第一面的方法,其實(shí)層先法的前幾步比較相似。掌握基礎(chǔ)的層先法后可以通過(guò)學(xué)習(xí)更多case的公式,升級(jí)為CFOP法,這也是目前速擰項(xiàng)目應(yīng)用最廣泛的復(fù)原方法。
橋式:這種解法先搭建兩個(gè)1×2×3的塊(也就是“橋”),然后再?gòu)?fù)原剩下的4個(gè)角、6個(gè)棱及4個(gè)中心塊。其主要特點(diǎn)有:靈活,公式量少,步數(shù)少,但由于需借助更強(qiáng)的觀察能力和預(yù)判能力,且相對(duì)來(lái)說(shuō)不易理解,不太適合初學(xué)者直接上手。也正是因?yàn)槠浯顦虻姆绞胶莒`活,掌握之后或許能展現(xiàn)出比CFOP更加強(qiáng)大的威力。
角先法,棱先法:顧名思義,先復(fù)原角塊或棱塊,在某種意義上,盲擰采用的就是這類方法。
玩魔方必知的心理學(xué)理論
心理學(xué)家維納說(shuō):成敗=能力+努力+難易+運(yùn)氣+(身心+環(huán)境),而這六種因素分別有什么特點(diǎn),我來(lái)畫張示意圖:
魔方中的數(shù)學(xué)
1.魔方中的排列組合
由排列組合中的乘法和加法原理可知,三階魔方共有 8!×38×12!×212 3×2×2 種狀態(tài)。除去被軸固定的 6 個(gè)中心塊外,剩 余 20 個(gè)小塊, 8 個(gè)角塊放在 8 個(gè)角位置,全排列為 8!,每個(gè) 角塊的三種顏色因?yàn)榉较虻牟煌钟?3 種方法,因此共有 8!× 38 種排列;同理,12 個(gè)棱塊共有 12!×212 種排列。
但是魔方還原 過(guò)程中,保持其他小塊不動(dòng)時(shí),不可以單獨(dú)改變一個(gè)角塊的朝 向,不可以單獨(dú)改變一個(gè)棱塊的朝向,也不可以單獨(dú)交換一對(duì) 棱塊或一對(duì)角塊的位置,因此需要除去 3×2×2。由此可見(jiàn),要憑 運(yùn)氣把一個(gè)顏色斑駁的魔方還原成同面同色幾乎是不可能的。
2.魔方的對(duì)稱性
對(duì)稱是一個(gè)幾何圖形 Φ 的如下性質(zhì):在某個(gè)變換群 G 的 作用下, Φ 被映射到自身上,這個(gè)群稱為對(duì)稱群。如果變換群 G 是一條直線,那么幾何圖形 Φ 就是關(guān)于直線 G 的對(duì)稱圖形;如 果變換群 G 是一個(gè)點(diǎn),那么幾何圖形 Φ 就是以點(diǎn) G 為中心的 對(duì)稱圖形。
若以點(diǎn) G 為中心的對(duì)稱圖形 Φ 在平面內(nèi)繞著 G 旋 轉(zhuǎn) 360°/n(n 是一個(gè)整數(shù))后與自身重合,那么 Φ 有一個(gè) n 階對(duì) 稱,且 G 稱為其對(duì)稱中心。如圖 a, b, c 分別是以 O 為中心的 2 階、 4 階、 3 階對(duì)稱。這樣的對(duì)稱性在正方體中完全展現(xiàn),只是此 時(shí)繞平面內(nèi)某點(diǎn)的旋轉(zhuǎn)換成了空間中繞某直線的旋轉(zhuǎn)。
三階正方體魔方具有 2 階、 3 階、 4 階對(duì)稱軸,這樣的對(duì)稱 性是除了球體以外的其他物體所不能比擬的。魔方的還原過(guò) 程就在于旋轉(zhuǎn)中魔方色塊位置的交換,對(duì)于魔方每層每次的旋 轉(zhuǎn)都是繞著該層中心塊的變換,這樣的保持點(diǎn)間距離不變的空.
3.魔方群
魔方的轉(zhuǎn)動(dòng)是指將魔方某個(gè)面上的所有塊順時(shí)針(面對(duì)該面)旋轉(zhuǎn) 90°。相應(yīng)的,若是逆時(shí)針旋轉(zhuǎn)則稱為逆轉(zhuǎn)動(dòng)。為了記錄下轉(zhuǎn)亂、復(fù)原的過(guò)程,習(xí)慣上采用由 David Singmaster 發(fā)明的符號(hào)來(lái)書寫。以英文 Up(上)、Down(下)、Front (前)、Back(后)、Left(左)、Right(右)的第一個(gè)字母分別表示魔 方的上、下、前、后、左、右六個(gè)面的轉(zhuǎn)動(dòng);用小寫字母 u、 d、 f、 b、 l、 r 表示各面及相應(yīng)的中心塊;用 xy 來(lái)表示位于 x 面 y 位置的 棱塊小面,如 uf 表示 u(上)面 f(前)位置的小面;用 xyz 表示位 于 x 面 yz 位置的角塊小面,如 ufr 表示位于示 u(上)面 fr(前 右)位置的小面。
在對(duì)魔方任意一個(gè)面進(jìn)行轉(zhuǎn)動(dòng)的時(shí)候,該面所在層的中心 塊不會(huì)改變,其余 20 個(gè)小面的位置隨之發(fā)生改變,這樣的轉(zhuǎn)動(dòng) 可以用一系列小面的置換來(lái)表示:U=(ulb ubr urf ufl )(ub ur uf ul)(bul rub fur luf)(bu ru fu lu)(bru rfu flu lbu) D=(dbl dlf dfr drb)(db dl df dr)(bld lfd frd rbd)(bd ld fd rd)(bdr ldb fdl rdf) F=(flu fur frd fdl)(fu fr fd fl)(ufl rfu dfr lfd)(uf rf df lf )(urf rdf dlf luf) B=(bul bld bdr bru)(bu bl bd br)(ulb ldb drb rub)(ub lb db rb)(ubr lbu dbl rbd) L=(luf lfd ldb lbu)(lu lf ld lb)(ufl fdl dbl bul)(ul fl dl bl)(ulb flu dlf bld) R=(rfu rub rbd rdf)(ru rb rd rf)(urf bru drb frd)(ur br dr fr)(ubr bdr dfr fur)
設(shè) G= U, D, F, B, L, R 是魔方所有轉(zhuǎn)動(dòng)生成的集合,可以 證明該集合以合成作為運(yùn)算構(gòu)成一個(gè)群,稱為魔方群。它是上 述一系列小面的置換作為生成元的一個(gè)循環(huán)群。G 中的元素代表了所有置換的情形,魔方變換的所有狀態(tài) 都能夠找到與之相應(yīng)的元素,魔方從還原狀態(tài)經(jīng)過(guò)一系列變化 再次還原,實(shí)現(xiàn)了一次循環(huán),實(shí)際也是 G 中的元素經(jīng)過(guò)周期性 的操作能夠?qū)崿F(xiàn)的,從中可以看到魔方還原與循環(huán)群的共性。
結(jié)語(yǔ)
當(dāng)初厄爾諾·魯比克教授發(fā)明魔方,就是將其作為幫助學(xué)生增強(qiáng)空間思維能力的教學(xué)工具。經(jīng)過(guò)觀察、分析,我們不僅可 以找到魔方中蘊(yùn)涵的數(shù)學(xué)知識(shí),也看到了魔方中的教學(xué)因素:通過(guò)魔方的外觀展示和結(jié)構(gòu)剖析幫助學(xué)生建立立體模型的概 念,增強(qiáng)空間觀念,通過(guò)魔方還原有助于學(xué)生深刻感受置換、循環(huán),理解群論的相關(guān)概念,從外觀一個(gè)簡(jiǎn)單的立體圖形,到還原 過(guò)程中的各類變換 有助于學(xué)生邏輯思維能力的學(xué)習(xí)和提升。

針對(duì)每一個(gè)問(wèn)答都本著絕不大膽胡說(shuō),只管小心求證的態(tài)度,瘋評(píng)科技來(lái)解答您的提問(wèn)。
魔方的原理主要是依托于正方體的六個(gè)面的中心塊而進(jìn)行轉(zhuǎn)動(dòng)變化的,這6個(gè)中心就是
永遠(yuǎn)在固定位置,這也是還原魔方的最核心依據(jù)。因此需要考慮的如何去轉(zhuǎn)動(dòng)還原其它8個(gè)角塊,12個(gè)棱塊,最終沿著這些思路而想出各種不同的解法。
魔方的變化數(shù)量的計(jì)算
在6個(gè)中心塊定好朝向后,正好構(gòu)成了一個(gè)坐標(biāo)系,8個(gè)角色塊全排列8!,而每個(gè)角色塊有3種朝向,所以是8!*(3的8次方),12個(gè)棱色塊全排列每個(gè)有2種朝向是12!*(2的12次方),這樣相乘是一個(gè)總的變化數(shù)量,但有很多重復(fù)的情況。對(duì)于8個(gè)角塊,7個(gè)角塊朝向定好了,第8個(gè)角塊朝向就定了,所以8個(gè)角塊的朝向?qū)嶋H上只有3的7次方種可能性,12個(gè)棱塊也類似,11個(gè)棱塊的朝向確定了,第12個(gè)也就確定了,所以12個(gè)棱塊的朝向只有2的11次方種可能性,另外呢,就是在角塊和棱塊的全排列8!*12!里(角塊只能和角塊交換,棱塊只能和棱塊交換,所以不是20!),有一半的可能性是不被允許的
這么多種變化。
魔方的分類
魔方按照形狀可分為正階和異性魔方兩種。
正階魔方
所謂正階魔方就是指的2階,3階,4階這樣下去,目前量產(chǎn)的最高階魔方是17階,以后可能會(huì)能量產(chǎn)出來(lái)更高階的魔方。
異性魔方
不規(guī)則的魔方就叫做異形魔方,各種各樣,也比較有意思,有幾十種之多。
魔方的還原方法
我們?cè)陔娨暽峡梢钥吹綍?huì)玩的人還原的非??欤挥袔酌腌?,這都是高級(jí)還原方法,對(duì)于新手剛?cè)腴T,可以通過(guò)入門方法還原,幾天即可自學(xué)會(huì),剛學(xué)會(huì),五六分鐘完全可以復(fù)原。
初級(jí)還原方法——層先法
層先法,顧名思義就是一層一層的進(jìn)行還原。
①對(duì)好白色底面十字
②復(fù)原白色底面+側(cè)面T字
③復(fù)原中間層
④對(duì)好黃色頂面十字
⑤復(fù)原頂層黃色面
⑥復(fù)原頂層角塊
⑦復(fù)原最后幾個(gè)棱塊
這個(gè)沒(méi)什么特別的方法,就是熟能生巧了,當(dāng)然有一點(diǎn)點(diǎn)空間想象力會(huì)好一點(diǎn)。
高級(jí)還原方法——CFOP
高級(jí)還原方法就主要是記公式了,大概119個(gè)公式,有的公式非常長(zhǎng),通過(guò)配合魔方手法的肌肉記憶,并不難。
①對(duì)好底層十字
②復(fù)原前兩層
③對(duì)好頂層朝向
④對(duì)好頂層順序
魔方比賽
魔方比賽主要分為速擰和盲擰兩種。
這個(gè)很好理解,速擰就是在隨機(jī)打亂公式打亂下比拼復(fù)原速度,分單次成績(jī)和平均成績(jī)。
盲擰就是盲眼比賽,可以有15秒的觀察時(shí)間,計(jì)入成績(jī)時(shí)間內(nèi)。
魔方的原理就是通過(guò)固定一些中心塊或者固定幾對(duì)中心塊的相對(duì)位置,再進(jìn)行復(fù)原的方式,或通過(guò)總結(jié)經(jīng)驗(yàn),或通過(guò)計(jì)算機(jī)計(jì)算出最優(yōu)解,形成固定公式來(lái)解。

魔方(Rubik's Cube)又叫魔術(shù)方塊,也稱魯比克方塊。是匈牙利布達(dá)佩斯建筑學(xué)院的厄爾諾·魯比克教授在1974年發(fā)明的一種教具。
因?yàn)轸敱瓤私淌谑且幻ㄖW(xué)教授,他為了幫助學(xué)生們認(rèn)識(shí)空間立方體的組成、結(jié)構(gòu)以及鍛煉學(xué)生的空間思維能力和記憶力,于是設(shè)計(jì)并制作出了如今的三階魔方的形狀的立方體,并在其6個(gè)外表面涂以6種不同的顏色,于是魔方從此誕生了。
魔方的變化非常復(fù)雜,相傳魯比克教授制作出第一個(gè)魔方后,他自己也足足用了一個(gè)多月時(shí)間才能還原。
隨著魔方在全世界流行,在1997年由原捷克的Jessica Fridrich(杰西卡·弗雷德里奇)發(fā)明了CFOP(網(wǎng)上也有另一種說(shuō)法是該方法是由數(shù)量眾多的魔方速擰選手在20世紀(jì)80年代發(fā)明的,有興趣的朋友可以自行考證),CFOP的出現(xiàn)使得當(dāng)時(shí)世界魔方還原速度突破了20秒大關(guān),而發(fā)展到現(xiàn)在,甚至可以5、6秒就能還原。
而初學(xué)者比較流行的解法就是LBL(層先法),又叫七步法,可以說(shuō)是CFOP的簡(jiǎn)化版,特點(diǎn)是容易說(shuō),不用記太多公式,缺點(diǎn)就是步數(shù)較多,速度比較慢。
因?yàn)槟Х降脑硎鞘裁??其?shí)魔方是必須要自己體驗(yàn)的,就算你列出所有原理也是沒(méi)有用的,必須要你動(dòng)手去嘗試。而當(dāng)你最終憑自己的努力第一次還原出完整的魔方,那一刻、那種成功滿足的喜悅是無(wú)以言表的,那種感覺(jué)就好像小時(shí)候第一次學(xué)會(huì)踩自行車時(shí)的心情一樣,非常興奮開(kāi)心,而且又非常想與別人分享的。
相信很多人都可能被魔方難住過(guò),甚至可以說(shuō)是童年陰影,我就是其中一個(gè)。但后來(lái)我自己偶然艱難學(xué)會(huì)了,于是發(fā)現(xiàn)原來(lái)我自己原來(lái)也是可以有能力去做好一件原本我認(rèn)為不可能的事的,于是魔方就變成了不是一個(gè)玩具,而是變成了一個(gè)肯定,一個(gè)激勵(lì),一個(gè)信心,給予了人前進(jìn)的力量。
如果你是一個(gè)初學(xué)者,你曾經(jīng)看過(guò)一些很專業(yè)的魔方教程被難住了,或者可以試試看我的魔方視頻,它應(yīng)該比其它一些專業(yè)的魔方教程容易理解一些。這雖然好像黃婆賣瓜一樣,但我是真誠(chéng)的,我希望別人也能感受到成功還原魔方時(shí)的那一份喜悅。我相信當(dāng)你成功還原出魔方的那一刻,你會(huì)明白我這一句話的。

原理確實(shí)很復(fù)雜,也不是一兩句說(shuō)的清楚的!

迷摟轉(zhuǎn)

我本人也玩過(guò)魔方,我只是玩了三階魔方和四階魔方,其實(shí)就是一種公式,和手法,記住公式了,公式是有分步驟的,比如:三階魔方七步還原法:第一步:將中間是白色的一面對(duì)著上面,做出白十字。第二步:將白色的角塊歸位。第三步:將中間層邊歸位。第四步:將頂層邊塊調(diào)整向上,做出黃十字。第五步:將黃色角塊調(diào)整到十字周圍。第六步:根據(jù)口訣將四角的黃色塊定位。第七步:將邊上的色塊調(diào)整到對(duì)應(yīng)的位置就可以了。
不斷練習(xí)幾次,并且記住每一步步驟,能夠還原了,然后就講究練習(xí)手法,這個(gè)也需要不斷的練習(xí),逐步掌握了手法,再者就練習(xí)速度了。
玩魔方是很有意思的,四階魔方就比較復(fù)雜一點(diǎn)了,不過(guò)也是有步驟的,初步學(xué)習(xí)是有點(diǎn)困難,練習(xí)多了,就好了。

魔方是立體六面的小九宮格,它是六面九宮格各小方塊移位式樣的揭示,同圍棋盤分割九宮是一對(duì)九官變化形式的展示式。
兩式共同把九宮變化種類顯示出個(gè)大概,為初學(xué)者入門與提高興趣有輔助作用。
九宮變化推演就是古中國(guó)人用的《洪范九籌》或《洪籌九范》。
《洪籌九范》就是亙古傳延至秦始皇的行政區(qū)劃的依從規(guī)矩。現(xiàn)在的省市縣鎮(zhèn)鄉(xiāng)村單位由其產(chǎn)生出來(lái)。
但,魔方是立體六面上調(diào)動(dòng)各小格的方式方法,圍棋盤是小九宮中九宮大九宮的平面分分合合方式方法。
具體的實(shí)用就是黃帝至秦始皇的土地分配方法的依照格式。此分封土地方式史書有記,不再此敘。
現(xiàn)在雖仍具應(yīng)用的價(jià)值,但幾乎不用了。所以各偏旁部首的漢字不滅,九宮永存。
漢族字,就是把各要素填入九宮格內(nèi)的造字法。
而,大面積巨大面積標(biāo)注具體位置時(shí)仍必用的,只不過(guò)被經(jīng)緯格體現(xiàn)罷了。
經(jīng)緯格,就是去掉外圍框的大九宮格的形式。
數(shù)學(xué)里,函數(shù)坐標(biāo)系就是經(jīng)緯格。
地圖,經(jīng)緯線最常見(jiàn)常用。
因此,本題答案是:魔方的原理是九宮格變化式揭示式。
悟空問(wèn)看后咱也在其上留上點(diǎn)啥,可點(diǎn)贊喲。

首先要知道魔方是由厄爾諾·魯比克在1974年發(fā)明的,又以魯比克來(lái)命名魔方,叫魯比克魔方(英文名Rubik's Cube)。魔方的所有變化數(shù)量43,252,003,274,489,856,000種。如果你一秒可以轉(zhuǎn)3下魔方,不計(jì)重復(fù),你也需要轉(zhuǎn)4542億年,才可以轉(zhuǎn)出魔方所有的變化,這個(gè)數(shù)字是目前估算宇宙年齡的大約30倍(魔方只有26個(gè)塊)。而每個(gè)形態(tài)對(duì)應(yīng)的公式,公式后又出現(xiàn)的形態(tài),真的是千變?nèi)f化。三階魔方基本有無(wú)數(shù)種還原方法。而事實(shí)上上帝之?dāng)?shù)20步就能還原魔方。
德樸數(shù)app,數(shù)據(jù)讓決策更科學(xué)

具體原理沒(méi)有研究過(guò),三階魔方是可以說(shuō)是基礎(chǔ),學(xué)會(huì)三階魔方,二階、四階、五階、多階魔方基本就都可以復(fù)原了,用降階法就可以進(jìn)行復(fù)原。
至于其他的異行魔方也可以研究研究。
