規則系學霸 第78章

作者:不吃小南瓜

……

趙奕花了十幾分鍾時間,認真的編撰了帖子,就直接發佈了上去,隨後就打廣告式的,到羣裏吆喝一聲。

“我的帖子!海角論壇!”

“求幫頂!”

羣裏的人看到消息,就點開連接掃了幾眼,隨後就被內容吸引了。

八卦,只是一方面。

作爲專業的技術宅,他們的興趣愛好,顯然和普通人有些區別,多數都是前面掃一眼,直接就看向了最後的數據。

羣裏很快就熱鬧了。

智能技術張軍雷:“這個計算很複雜啊!”

理學傳教士馬小軍:“用計算機設計程序,似乎也不是難吧?”

不是講故事的張震:“很難,數據太龐大,我短時間想不出來。”

理學傳教士馬小軍:“我研究研究,先潛水。”

智能技術張軍雷:“爲什麼不直接問趙奕呢?”

理學傳教士馬小軍:“我是理學博士!”

智能技術張軍雷:“所以你不好意思問一個高中生?可以這樣理解吧?/哈哈”

不是講故事的張震:“不要總說實話,做人要虛僞一點,含蓄、注意含蓄!/哈哈”

趙奕着看聊天消息都,感覺有些無奈了。

重點呢!?

他是在和人打口水仗,事情都鬧到熱搜榜單了,羣裏的人看到帖子,怎麼就變成技術討論了?

好在羣裏的人還算靠譜。

大家的關注點都在算法交流上,但還是幫忙順手轉發一下,而他們各自都有一定的影響力。

比如,張震,直接發到了公司的羣裏。

經理發的消息肯定要點開。

理學傳教士馬小軍,是一名海歸的理學博士,被首都理工大學聘用擔任講師,職位還掛着副教授頭銜,都有資格帶研究生。

他發到了學生羣裏。

羣裏其他看到消息的人,看到如此‘八卦’兼‘技術’的帖子,也都順手幫着轉發一下。

轉發、再轉發……

帖子連接在企鵝羣組中,被快速擴散傳播開來。

趙奕看完羣裏聊天后,就乾脆就打了盤遊戲,刷一下剩餘的‘休閒幣’,再返回瀏覽器刷新帖子,發現已經非常火爆了。

點擊:8267。

回覆:249。

他就開始耐心地看起回覆。

翻一頁。

再翻一頁。

再、再翻一頁。

前排的帖子幾乎都是‘技術交流’,有的是詢問算法,有的則是提供算法意見,還有的在算法意見上發生分歧。

然後,論戰開始了。

趙奕連續翻了十幾頁,發現說技術的比八卦多,但他發帖可不是爲了,和其他人探討魔方算法,而是爲了證明自己說的話,是有證據、有理由的。

輿論風向都被帶偏了!

好在八卦羣杏肋h是最多的,多數非技術人員對於算法不感冒,他們關心的是結論是否真實。

只要結論是真實的,就證明比賽可能有問題。

多數八卦羣卸颊J爲,趙奕敢把數據擺出來,結論就肯定是真實的。

科學、數學不會出錯。

上面有很多的算法爭議的回覆貼,卻沒有一個人說結果不對,還有幾個人表示說,通過並不嚴謹的估算,賈虹寧的魔方還原難度,確實要比周俊凱的小一些。

……

看到這裏,趙奕也發現了問題。

魔方最少步驟計算,並不是簡單的事情。

雖然他直接說出了答案,卻沒辦法給出計算過程,《聯絡律》給出的過程,是用最簡單的方式,手動去還原魔方,而不是怎麼計算出最低步驟。

“難道要拍個視頻證明?”

這是可行的。

只要拍個轉魔方的視頻,把六面還原好的魔方,用固定的步驟打亂,變成節目中的魔方,就直接證明了結論。

但是……

這種證明並不嚴謹。

“就算是拍視頻,手動去還原魔方,也只能證明固定步數能還原,卻不能證明是最低步數。”

數學是嚴謹的,科學是嚴謹的。

這就是問題所在。

趙奕去搜索了一下魔方計算,很快就發現了更大的問題,魔方最低還原步數計算,竟然是困擾科學界幾十年的難題。

三階魔方最低還原步數,有個名詞叫做--上帝之數!

上帝之數的出現主要是因爲,三階魔方最低還原步驟的計算量太大,步驟的可能性是個天文數字,無法通過計算機全部模擬出來,也就無法給出準確的最低還原步數。

1992年,德國數學家科先巴提出了一種尋找魔方復原方法的新思路,大大減少了魔方還原的計算量。

三年後,科學家裏德依據科先巴提出的方法,輸入到計算機進行完善,通過計算發現,“上帝之數”不會超過 26。

但是,科先巴的計算方式是不嚴謹的,他的思路所得到的,有可能不是最佳的還原方式,由此對“上帝之數”所做的計算,也極有可能是高估。

可是,不引進科先巴的思路,計算量又實在太過龐大。

這個問題一直沒有得到解決。

趙奕苦笑着自語道,“所以,我的腦子能算數世界難題?”

“也不對!”

計算單一確定的魔方還原最低步驟,和算出‘上帝之數’,難度上完全不是一個級別,三階魔方的不同形態就是個天文數字--

43,252,003,274,489,856,000.

如果只是計算其中的一種,難度就相對簡單太多了,但只利用窮舉的算法,計算量依舊相當的龐大。

那肯定是不可取的。

這也是羣裏、帖子下方,有很多人討論算法的原因。

趙奕盯着屏幕陷入了思考。

如果沒有有效、準確、被公姓J可的計算方法,他的帖子上給出的結果就沒有意義,最多就是補充拍個視頻,證明自己確實能在固定步驟還原。

但是對方依舊有話說。

最好是以科學、嚴禁方式,讓對方根本無話可說。

“那就設計個算法,直接計算出,每一種固定形態的魔方,還原的最少步驟是多少!”

“如果能設計出來,就叫做‘魔方計算器’?”

“只要輸入魔方固定面小格子的顏色,就能得出該怎麼用最少的步驟,去轉動把魔方還原……”

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

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

一個是輸入數據。

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

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

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

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

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

接下來,設計開始。

建模。

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

這一過程有兩種方式。

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

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

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

這是個超級難題。

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

所以,此路不通。

重新想。

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

但是,科學是嚴謹的。

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

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

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

接下來是因果思維時間。

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

【科研幣:15。】

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

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

瞬間。

思維模式發生了改變。

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

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

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

等等。

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

編寫。

再編寫。

一個小時過去了。

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

怪不得!

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