第七十三章 算法設計的關鍵-《規則系學霸》
第(1/3)頁
設計破解三階魔方的算法,首先要明確的是兩點。
一個是輸入數據。
輸入的數據,就是立體魔方六個面,所對應的九個格子顏色,數據的特點是,有六種顏色,每一種顏色總計是九個,另外,六個面最中間所對應的顏色固定。
第二就是輸出數據,也就是計算的目的,得到還原魔方需要的最低步驟。
只要能達成這個條件,其他想要的數據,比如實現最低步驟的過程,也只是程序運算過程中,順便做出的簡單記錄。
在明確了輸入和輸出數據,前后框架差不多就出來了。
這就和張震發過來的算法包差不多,只是難度的級別上調了幾十、上百倍,甚至更高。
接下來,設計開始。
建模。
建模就是把現實問題變成數學問題,用數學的公式、代碼來表達出,魔方各個小格子之間的關系,以及可能做出的轉換方式。
這一過程有兩種方式。
一種是以空間位置為基點,也就是固定了位置,顏色會發生變化;一種是以固定顏色小格子為基點形成位置變換。
選定好建模的方式后,就進入真正設計的過程,
趙奕才剛剛進入思考,就碰到了巨大的問題:如何能確定一種扭動,是讓魔方向著還原的方過程向靠近,而不是讓它變得更加混亂?
這是個超級難題。
如果破解了這個難題,幾乎等于完成了算法,‘上帝之數’也可以把前綴去掉。
所以,此路不通。
重新想。
那么換一種角度去考慮,可以尋找同樣顏色最多的面,以此為基點去實現還原,就和多數人的選擇一樣,先還原三階魔方的一個面,其他就變得容易多了。
但是,科學是嚴謹的。
如何證明從相同顏色最多的面開始,實現還原的速度就是最快的?
如何證明先還原一個面是最快的?
趙奕才剛開始設計程序,就碰到了一大堆的問題,他深吸了一口氣,邏輯思維到此結束。
接下來是因果思維時間。
趙奕了解算法設計的難度,他打開了系統界面,干脆使用了一個科研幣。
【科研幣:15。】
【使用科研幣提升因果思維。】
【科研幣-1,輔助提升因果思維能力,獲得靈感激發效果。持續時間:六十分鐘。】
瞬間。
思維模式發生了改變。
趙奕再盯著電腦屏幕,思維就出現了跳躍,他沒有去糾結想到的難題,而是跳躍到輸入魔方的數據分析上。
比如,以每一面中心顏色為基準,其他面相同顏色的小格子,轉換到對應中心面,所需要的最低步數。
比如,有多少格子緊挨著相同顏色的格子,還有它們所在的具體方位,都要詳細做出紀錄。
等等。
消耗科研幣提升了因果思維模式后,《因果律》和《聯絡律》的使用,都成為下意識的事情,他一直不斷地進行思考,手指敲擊個不停的,把思考出的內容,放在鍵盤上轉換為代碼。
第(1/3)頁
主站蜘蛛池模板:
兴海县|
崇左市|
色达县|
昭觉县|
通城县|
天等县|
靖宇县|
宕昌县|
招远市|
朝阳区|
永寿县|
洪泽县|
沙田区|
诸城市|
普安县|
克拉玛依市|
梁河县|
夏津县|
阳东县|
买车|
厦门市|
赤壁市|
腾冲县|
和静县|
徐州市|
五华县|
黎平县|
甘德县|
马龙县|
织金县|
汪清县|
抚顺市|
棋牌|
临洮县|
永昌县|
庆阳市|
荆州市|
龙泉市|
佛教|
松桃|
高陵县|