設置
上一章
下一章

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

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

  一個是輸入數據。

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

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

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

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

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

  接下來,設計開始。

  建模。

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

  這一過程有兩種方式。

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

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

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

  這是個超級難題。

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

  所以,此路不通。

  重新想。

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

  但是,科學是嚴謹的。

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

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

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

  接下來是因果思維時間。

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

  科研幣:15。

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

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

  瞬間。

  思維模式發生了改變。

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

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

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

  等等。

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

  編寫。

  再編寫。

  一個小時過去了。

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

  怪不得!

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

  消耗學習幣提升精力!

  精力+40。

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

  精力,能睡覺補充!

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

  繼續!

  科研幣:14。

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

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

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

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

  接下來,繼續做判斷。

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

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

  這些就是條件。

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

  這就是因果思維方式。

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

  趙奕還是碰到了麻煩。

  時間、精力。

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

  “算了,先睡覺!”

  “明天再繼續!”

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

  帖子異常火爆!

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

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

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

  這和帖子的內容有關。

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

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

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

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

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

  同時。

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

  趙奕覺得該站出來了。

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

  上學的時間到了。

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

  學校的氣氛也差不多。

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

  “你們等等,我寫出來。”

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

  “趙奕啊!”

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

  一群人把耳朵湊過來。

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

  “好。”

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

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

  好多人都看呆了。

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

  “好!”

  一群人認真的看。

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

  “嘶~~~”

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

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

  趙奕笑笑跟了去。

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

上一章
書頁
下一章