第七十三章 算法設計的關鍵

作者︰不吃小南瓜投推薦票 章節目錄 加入書簽

設計破解三階魔方的算法,首先要明確的是兩點。

一個是輸入數據。

輸入的數據,就是立體魔方六個面,所對應的九個格子顏色,數據的特點是,有六種顏色,每一種顏色總計是九個,另外,六個面最中間所對應的顏色固定。

第二就是輸出數據,也就是計算的目的,得到還原魔方需要的最低步驟。

只要能達成這個條件,其他想要的數據,比如實現最低步驟的過程,也只是程序運算過程中,順便做出的簡單記錄。

在明確了輸入和輸出數據,前後框架差不多就出來了。

這就和張震發過來的算法包差不多,只是難度的級別上調了幾十、上百倍,甚至更高。

接下來,設計開始。

建模。

建模就是把現實問題變成數學問題,用數學的公式、代碼來表達出,魔方各個小格子之間的關系,以及可能做出的轉換方式。

這一過程有兩種方式。

一種是以空間位置為基點,也就是固定了位置,顏色會發生變化;一種是以固定顏色小格子為基點形成位置變換。

選定好建模的方式後,就進入真正設計的過程。

趙奕才剛剛進入思考,就踫到了巨大的問題︰如何能確定一種扭動,是讓魔方向著還原的方向靠近,而不是讓它變得更加混亂?

這是個超級難題。

破解了這個難題,幾乎等于完成了算法。

所以,此路不通。

重新想。

那麼換一種角度去考慮,可以尋找同樣顏色最多的面,以此為基點去實現還原,就和多數人的選擇一樣,先還原三階魔方的一個面,其他就變得容易多了。

但是,科學是嚴謹的。

如何證明從相同顏色最多的面開始,實現還原的速度就是最快的?

如何證明先還原一個面是最快的?

趙奕才剛開始設計程序,就踫到了一大堆的問題,他深吸了一口氣,邏輯思維到此結束。

接下來是因果思維時間。

趙奕了解算法設計的難度,他打開了系統界面,干脆使用了一個科研幣。

科研幣︰15。

使用科研幣提升因果思維。

科研幣-1,輔助提升因果思維能力,獲得靈感激發效果。持續時間︰六十分鐘。

瞬間。

思維模式發生了改變。

趙奕再盯著電腦屏幕,思維就出現了跳躍,他沒有去糾結想到的難題,而是跳躍到輸入魔方的數據分析上。

比如,以每一面中心顏色為基準,其他面相同顏色的小格子,轉換到對應中心面,所需要的最低步數。

比如,有多少格子緊挨著相同顏色的格子,還有它們所在的具體方位,都要詳細做出紀錄。

等等。

消耗科研幣提升了因果思維模式後,《因果律》和《聯絡律》的使用,都成為下意識的事情,他一直不斷地進行思考,手指敲擊個不停的,把思考出的內容,放在鍵盤上轉換為代碼。

編寫。

再編寫。

一個小時過去了。

趙奕用力按按額頭,大腦感覺異常的疲憊,他看了一眼精力數值︰精力︰61/104。

怪不得!

看了眼屏幕上的代碼,他干脆咬牙一狠心,使用了四個學習幣。

消耗學習幣提升精力!

精力+40。

雖然賺學習幣並不難,每天都入賬超過二十個,但還是不習慣用來補充精力。

精力,能睡覺補充!

利用學習幣來補充精力,就像是玩游戲充錢買經驗,實在有些過于奢侈了。

繼續!

科研幣︰14。

使用科研幣提升因果思維。

科研幣-1,輔助提升因果思維能力,獲得靈感激發效果。持續時間︰六十分鐘。

在繼續工作了半個多小時後,趙奕編寫了二十一項對輸入魔方的數據分析,他的手指停下來以後,下意識就使用了《因果律》,來測算數據是否對還原魔方有效。

利用這個方法,排除了三項不相干的分析數據,剩余的十八種分析,都是對還原魔方有幫助的。

接下來,繼續做判斷。

一項扭動是否有助于還原魔方,是能夠利用《因果律》得出的。

找出其中有助于魔方還原的幾種或十幾種扭動方式,放在一起和所分析的數據進行對比。

這些就是條件。

當完善了所有條件以後,就能利用《聯絡律》來證明,所得出的結論產生的過程。

這就是因果思維方式。

先找到結果、完善條件,最後一步才是尋求過程,有了過程以後,就能編寫代碼表達出來。

趙奕還是踫到了麻煩。

時間、精力。

他已經找到了算法設計的關鍵,但粗略的估計了一下,代碼最少要編寫幾千行,以他的工作效率,最少需要十個小時以上。

「算了,先睡覺!」

「明天再繼續!」

……

第二天趙奕早早的爬起來,打開電腦看了下論壇發的帖子。

帖子異常火爆!

單單是底下的回復就超過了四千條。

因為牽扯到熱搜的八卦,網絡上有好多媒體,都發布新聞對帖子內容進行轉載。

搜索網站的指數榜單上,新增了一條相關熱搜,名為‘天才黑客列數據回復賈虹寧’,熱度一躍上漲到了第三名。

這和帖子的內容有關。

一些存在爭議的八卦事件,當事人多數都是接受采訪,發表下自己的意見和看法,就算是發帖做出回復,最多就是爆料一些消息、博取同情之類的。

趙奕發的帖子令人新奇,他直接列數據的做法,讓八卦的格調都提升好多。

另外,爭議也是火爆的原因。

帖子上列出的數據引起了大片的爭議,有一位知名數學博士發表看法說,‘破解三階魔方最優步驟,計算量龐大到不可想象,普通的家用電腦,肯定是無法計算的’。

他還表示,「暫時沒有切實有效的優化算法」。

同時。

網絡也有不少支持趙奕的聲音,認為他不可能胡亂說出數據,也有其他專業人士表示,粗略的計算不能得出具體數據,但卻能夠判斷出,賈虹寧的魔方還原起來,比周俊凱的簡單一些,尤其是最後一次比試,差距更是非常的明顯。

趙奕覺得該站出來了。

雖然有一些支持他的聲音,但繼續下去也許會不利,確實應該做些什麼引導下輿論。

上學的時間到了。

他決定帶著Netbook去上學,到學校里再進行發帖操作。

學校的氣氛也差不多。

因為事情牽扯到學校的學生,學校里有著大片的討論,幾乎所有人都知道了帖子,好多人都希望能問趙奕,具體是怎麼計算得出的結果。

「你們等等,我寫出來。」

趙奕去找孫老班說了下,打算利用自習課編輯個帖子,發布到網絡上進行說明,沒想到王承敏校長直接找了過來。

「趙奕啊!」

王承敏關心道,「我看網上都在說你,你那個帖子的數據……」

一群人把耳朵湊過來。

趙奕有點郁悶的看向何榮華,「把魔方借我用一下。」

「好。」

何榮華馬上把魔方送過來。

趙奕看著手里的魔方,手指快速的動來動去,十秒左右就完成了還原。

好多人都看呆了。

趙奕扭過頭對周圍說道,「幫忙計下數,每轉九十度,算一次,一百八十度算兩次。」

「好!」

一群人認真的看。

趙奕故意把速度放的很慢,方便其他人進行計數,差不多有一分鐘時間,他轉動了有十七次,就端起了魔方說道,「這就是賈虹寧比賽中第一次還原前的魔方,我用了十七步變換出來,也就能十七次再變換回去。」

「嘶~~~」

這個操作別說是其他學生,連王承敏都听的吸了一口涼氣。

他馬上拉著趙奕就去了校長辦公室,「快來!來!我給你拍個視頻,把這個發到網上,看誰再懷疑。」

趙奕笑笑跟了去。

他本來想發帖表述一下轉魔方的方式,但文字描述起來實在麻煩,拍視頻相對就簡單多了。

溫馨提示︰方向鍵左右(← →)前後翻頁,上下(↑ ↓)上下滾用, 回車鍵:返回列表

投推薦票 上一章章節目錄下一章 加入書簽