前年…有同事上班拿一個來魔術方塊項鑰圈
我向他借來,在下班前就解掉了~
現在google很方便,公式背一背就行了...
如果不背公式,去分析轉動的方法和結果,
自己找出公式就更厲害了~
------------
以程式設計的角度來看,這是很典型的演算法題目,
不考慮公式解,如果也不過濾己經處理過的情形,直接使用BFS演算法,
轉法一共12種,三階魔術方塊最快為22步(依wiki的說法)
big-O為(12^22) = 552061438912436417593344
現在CPU光看時脈為 4G左右 = 4*2^30 = 4 * 1073741824 (每秒執行運算的次數)
大約要128536820158464秒 = 4132485.216年...
不考慮公式解,但是過濾己經處理過的情形,直接使用BFS或DFS演算法(已經沒差別),
三階魔術方塊的總變化數是:(8!x38x12!x212)/(2x2x3)=43,252,003,274,489,856,000
假設每次旋轉都為新魔術方塊情形
現在CPU光看時脈為 4G左右 = 4*2^30 = 4 * 1073741824 (每秒執行運算的次數)
大約要10070391761.7秒 = 323.76年... (快很多,應該開心嗎?...)
看來還是需要好的演算法才能解魔術方塊……
雖然用電腦套公式,應該1秒內就解出來了…不過那就不算是用電腦解問題了...
----
引用wiki的說明
引用:
通過運用電腦,Tomas Rokicki於2008年宣布證明了任何魔方可以在25步以內解開[1]。而隨後,這一結果改進為22步
[zoho 在 2011-11-1 09:42 PM 作了最後編輯]