設(shè)計破解三階魔方的算法,首先要明確的是兩點(diǎn)。
一個是輸入數(shù)據(jù)。
輸入的數(shù)據(jù),就是立體魔方六個面,所對應(yīng)的九個格子顏色,數(shù)據(jù)的特點(diǎn)是,有六種顏色,每一種顏色總計是九個,另外,六個面最中間所對應(yīng)的顏色固定。
第二就是輸出數(shù)據(jù),也就是計算的目的,得到還原魔方需要的最低步驟。
只要能達(dá)成這個條件,其他想要的數(shù)據(jù),比如實(shí)現(xiàn)最低步驟的過程,也只是程序運(yùn)算過程中,順便做出的簡單記錄。
在明確了輸入和輸出數(shù)據(jù),前后框架差不多就出來了。
這就和張震發(fā)過來的算法包差不多,只是難度的級別上調(diào)了幾十、上百倍,甚至更高。
接下來,設(shè)計開始。
建模。
建模就是把現(xiàn)實(shí)問題變成數(shù)學(xué)問題,用數(shù)學(xué)的公式、代碼來表達(dá)出,魔方各個小格子之間的關(guān)系,以及可能做出的轉(zhuǎn)換方式。
這一過程有兩種方式。
一種是以空間位置為基點(diǎn),也就是固定了位置,顏色會發(fā)生變化;一種是以固定顏色小格子為基點(diǎn)形成位置變換。
選定好建模的方式后,就進(jìn)入真正設(shè)計的過程。
趙奕才剛剛進(jìn)入思考,就碰到了巨大的問題:如何能確定一種扭動,是讓魔方向著還原的方向靠近,而不是讓它變得更加混亂?
這是個超級難題。
破解了這個難題,幾乎等于完成了算法。
所以,此路不通。
重新想。
那么換一種角度去考慮,可以尋找同樣顏色最多的面,以此為基點(diǎn)去實(shí)現(xiàn)還原,就和多數(shù)人的選擇一樣,先還原三階魔方的一個面,其他就變得容易多了。
但是,科學(xué)是嚴(yán)謹(jǐn)?shù)摹?/p>
如何證明從相同顏色最多的面開始,實(shí)現(xiàn)還原的速度就是最快的?
如何證明先還原一個面是最快的?
趙奕才剛開始設(shè)計程序,就碰到了一大堆的問題,他深吸了一口氣,邏輯思維到此結(jié)束。
接下來是因果思維時間。
趙奕了解算法設(shè)計的難度,他打開了系統(tǒng)界面,干脆使用了一個科研幣。
【科研幣:15。】
【使用科研幣提升因果思維。】