当前位置:萬花小說>书库>都市青春>規則系學霸> 第七十三章 演算法設計的關鍵

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

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


  一個是輸入數據。


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


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


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


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


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


  接下來,設計開始。


  建模。


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


  這一過程有兩種方式。


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


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


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

  這是個超級難題。


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


  所以,此路不通。


  重新想。


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


  但是,科學是嚴謹的。


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


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


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


  接下來是因果思維時間。


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


  【科研幣:15。】


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


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


  瞬間。


  思維模式發生了改變。


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


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


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


  等等。


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


  編寫。


  再編寫。


  一個小時過去了。


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


  怪不得!

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


  【消耗學習幣提升精力!】


  【精力+40。】


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


  【書友福利】看書即可得現金or點幣,還有iPhone12、Switch等你抽!關注vx公眾號【書友大本營】可領!

  精力,能睡覺補充!


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


  繼續!


  【科研幣:14。】


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


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


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


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


  接下來,繼續做判斷。


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


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


  這些就是條件。


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


  這就是因果思維方式。


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


  趙奕還是碰到了麻煩。


  時間、精力。


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


  「算了,先睡覺!」


  「明天再繼續!」


  ……


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


  帖子異常火爆!


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


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


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


  這和帖子的內容有關。


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


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


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


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


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


  同時。


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


  趙奕覺得該站出來了。


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


  上學的時間到了。


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


  學校的氣氛也差不多。


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


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


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


  「趙奕啊!」


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


  一群人把耳朵湊過來。


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


  「好。」


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


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


  好多人都看呆了。


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


  「好!」


  一群人認真的看。


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


  「嘶~~~」


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


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


  趙奕笑笑跟了去。


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

上一章目录+书签下一章