零知識如何複原魔方?魔方和圍棋一樣,與其說是發明,不如說是發現,具有确定的數學模型(置換群),可以認為是數學的分支,今天小編就來說說關于零知識如何複原魔方?下面更多詳細答案一起來看看吧!
魔方和圍棋一樣,與其說是發明,不如說是發現,具有确定的數學模型(置換群),可以認為是數學的分支。
當然,魔方看起來比較簡單,難度大緻相當于,中學奧數題吧,我說的是簡單複原,至于最優解,恐怕還是需要數學家幫忙。
大多數人玩魔方,大緻是背公式,練手速,比賽競速,也有玩盲擰,都很厲害。
前幾天,忽然想到一個問題,零知識如何複原魔方,也就是不知道任何公式,怎麼推導出那些公式?
初步的想法是編個小程序,用窮舉法搜索出符合條件的公式
程序不長,幾百行就夠了,為此腦細胞估計又死了不少,終于寫好了,運行了一下,6個操作的公式,幾秒鐘就搜索完了,設置的條件是,保持底下兩層不變。
公式如下:
L'B'U'B UL
L'U'B'U BL
LFU F'U'L'
LUF U'F'L'
F'L'U'LUF
F'U'L'ULF
FRU R'U'F'
FUR U'R'F'
R'F'U'FUR
R'U'F'UFR
RBUB'U'R'
RUBU'B'R'
B'R'U'RUB
B'U'R'URB
BLUL'U'B'
BULU'L'B'
7個操作的公式,增加限制條件,保持頂層十字顔色不變,不要求棱位置正确。
幾分鐘可以搜索完,也就24個公式
L'U2 L U L'U L
R U'L'U R'U'L
L'U'L U'L'U2 L
R'U LU'R U L'
L U2 L'U'L U'L'
LU L'U L U2 L'
F'U2FUF'UF
BU'F'UB'U'F
就不一一列舉了,公式大同小異
操作長度增加一個,時間大概增加50倍,所以,繼續暴力搜索,時間代價有點大
所以,嘗試用這些已經搜到的公式,看是否能完成複原
歸納總結了一下,長度為7的,大概有6個公式,每個公式能擴充成4個形式相同的公式,所以總數是24個
這些公式都能将相應的頂層小魚形式轉化成頂面完成,頂面完成後,頂面的狀态隻需要從頂層八個色塊的側面顔色來分辨,雖然狀态數目已經不多,但仍然需要不同的公式來完成複原。
先棱後角吧,需要一個頂棱 三角換的公式,直覺告訴我,用這24個公式組合一下,應該可以找到頂棱 三角換的公式,因為偷看了一下頂棱 三角換的公式,公式長度是11個操作, 按我現在的程序來暴力搜索,恐怕需要時間50*50*50*50分鐘,也就是大概4340天,所以不太現實。
也許是我運氣好,随機組合了一下,忽然就發現了三棱換的公式,如下
L'U'LU'L'U2L FUF'UF U2F'
公式長度為14,雖然比标準公式長,但表現為基本公式的組合,也算是有助于記憶 。
接着隻要找到三角換的公式,整個魔方複原就宣告完成
也許是好事多磨,兩個公式的組合幾乎窮盡了,并沒有找到三角換的公式,繼續嘗試3組合,4組合,時間代價有點大,需要對着魔方試的次數有點多,或者改程序,都有點麻煩
組合過程中找到了隻有5個色塊未複原的狀态,忽然想到可以對該狀态施加三棱換公式操作,不就隻剩下角塊未複原? 然後看了一下四條棱的狀态,居然不符合三棱換的條件
真是智商不在線,頂層轉個角度,讓頂層隻有一條棱歸位,另外三條棱就必然符合三棱換公式條件, 接下來就是例行公事,推導了一下,三角換的公式就有了
RUR'URU2R' F'UBU'FUB' U2 L'U'LU'L'U2L FUF'UF U2F'
它由四個基礎公式組合而成,先形成5個色塊未複原的狀态,這是前面兩個公式組合的結果,然後頂層轉完一次繼續實施三棱換操作,又是兩個公式,所以公式長度大約是4*7 ,即28個操作
這也太誇張了,不過,在理論上,零知識,全部用自己找的公式來複原魔方的任務就算完成了
對這個三角換公式實在不滿意
列出來,看能否化簡
RUR'URU2R' F'UBU'FUB' U2 L'U'LU'L'U2L FUF'UF U2F' U'
F'UBU'FUB' =U L'UR U'LUR' U'
FUF'UF U2F'=U LUL'UL U2L' U'
代入
RUR'URU2R' U L'UR U'LUR' U' U2 L'U'LU'L'U2L U LUL'UL U2L' U'2
RUR'URU2R' U L'UR U'LUR' U L'U'LU'L'U2L U LUL'UL U2L' U2
化簡這個公式,和直接搜索公式,看起來沒有分别
幸運的是,三角換公式的長度是9, 暴力搜索是可行的
程序足足運行了一個星期,最後把這兩個公式都搜到了
B2 R2 B' L' B R2 B' L B'
R B' R F2 R' B R F2 R2
至此,這道奧數題就算解決了。
既然是奧數題,數學内容的體現在哪裡,可惜這方面我了解不深,大概說一說個人的理解吧
數學,在結構上被稱為是域,定義了乘法和加法,滿足封閉性,單位元,逆元,交換律,結合律等
魔方的數學模型,在結構上隻符合群的定義, 也就是隻定義了一種算法, 叫加法還是乘法你随意,滿足結合律,封閉性,單位元,逆元等特征 。
魔方的操作或者叫運算,不符合交換律,所以不是阿貝爾群。
魔方公式的早期來源,應該不是暴力搜索來的,而是結合關于群的知識推導的
比如, 6個操作的公式, L'B'U'B UL
LBU是左上角涉及的三個面,上面公式的含義是,兩個操作,一個是B',另一個是U',這個公式的中間部分'B'U'B U就是這兩個操作的交換子,寫成【B',U'】
在群論中所謂的兩個元素a和b的交換子,是指元素aba'b'。因為一般來說操作的乘法不滿足交換律(ab ≠ ba),所以aba'b'裡面的a和a'、b和b'不能“兩兩相消”,故一般來說aba'b' ≠ 1。(對于一個群來說,所有形如aba'b'的交換子所生成的子群在某種意義上描述了該群的“可交換程度”。)
加上首尾的L' 和 L 這種擴展公式的方法叫共轭法。
所以公式 L'B'U'B UL,就是用L的共轭法擴展 B'和U'操作的交換子。
再比如, 公式 L'U2 L U L'U L
可以看成是 , L'U2 L U L'U' U2L , 也就是 LU2的共轭法擴展 L和U的交換子
三角換公式也不例外, B2 R2 B' L' B R2 B' L B' 看成是B2 R2 B' L' B R2 B' L B B2, 即B2共轭法擴展 【R2,B'L'B】
網上教程一大堆,這裡也總結一下複原魔方的自認為簡單的過程,大緻有如下幾步
1:要明白魔方的基本結構,魔方的中心塊是不變的,棱塊隻有兩面,角塊有三面,複原之後,每個塊都有自己的固定位置和方向,所以,拿到一個被打亂的魔方,選好參考面,随意指定一個塊,要能明白這個塊最終要被恢複到哪裡去。
2:不需要公式,因為自由度很大,稍加摸索,就可以恢複一個面,這個面通常用來做底層,注意這個底層一定要是真的歸位 ,也就是底層的四個棱塊的前後左右面顔色要和魔方前後左右面的中心塊顔色相同,四個角塊的要求也是類似的
3:恢複中間層, 實際上最多隻有4個棱塊要恢複,可以摸索找到公式,也可以直接背公式,有兩個公式,一個是順時針前面取代,另一個是逆時針右面取代,目标棱塊在右前位置。
所以這一步需要觀察和選擇公式,公式如下
URU'R' U'F'UF
U'F' UF URU'R'
4: 頂面十字,需要選擇方位(略),重複使用這個公式,FRU R'U'F'
5:頂面顔色恢複,這一步我的做法是頂層U U'或U2變化重複使用公式, RU2 R'U'R U'R' ,直到頂面出現小魚形狀,然後分析小魚的特征,選擇相應的公式即可完成頂面顔色一緻。
6:根據頂面色塊的側面顔色分布,決定使用棱先還是角先,看哪個方便就用哪個,棱先的話,先使用三棱換公式恢複棱塊,然後大概率會剩下三個角塊需要調整,再使用三角換公式即可
如果角先,則先使用三角換公式恢複角塊,最後使用三棱換公式恢複棱塊。
分析了一大堆,還是記不住公式,所以我很佩服那些不到十秒就複原魔方的牛人。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!