還不快點登入,你們這些看小說都不登入就離開的。
登入可以幫助你收藏跟紀錄愛書,大叔的心血要多來支持。
不然管理員會難過。
《高人竟在我身邊》100.第100章 101號選手提前交卷?
  第100章 101號選手提前交卷?

  相比起詹永樞院士的驚訝,郝雲在考慮這個問題的時候倒是沒有想的特別複雜,純粹是撓頭的時候靈機一動想出來的這個方法。

  程序首先猜測了一個接近1/sqrt(number)的值,然後運用牛頓迭代公式進行了迭代運算。

  單從算法邏輯上來講,其實他改寫之後的代碼,和之前那個Q_Sqrt函數的代碼並沒有太大的區別。冰川引擎在math.c文件中定義的Q_Sqrt函數,事實上也是采用的這個思路。

  而要說唯一哪裡不同,大概就是在那個神秘的數字——0x5f375a86上了。

  根據牛頓迭代算法的原理,猜測值距離最終結果越接近,迭代的次數越少。而神秘的數字0x5f375a86,便是用來計算猜測值的。

  而郝雲在嘗試了幾次之後意外地發現,如果使用“0x5f375a86”這個數,得到的y將非常接近1/sqrt(n),以至於最終執行牛頓迭代算法時,只需要2次代法就可以達到他所需要的精度!

  至於這個數是怎麽得出來的?

  郝雲也沒辦法解釋。

  畢竟他只是遵循著自己的數學直覺,覺得原來那個程序中選取的數字不夠好用,然後試著換了個更好用的數字試試。

  一開始他也試了好幾次,發現更改的數字都沒有原先那個數好用,直到後來靈機一動試到了這個0x5f375a86,發現居然只需要兩次迭代就能完成整個計算過程。

  老實說,他自己也驚訝的不行。

  可能……

  這也和他的數學屬性達到了精通有點關系?

  總而言之,采用了0x5f375a86這個特殊的數字之後,單從運算步數來看,整個函數的運算效率將比原本math.c文件中定義的Q_Sqrt函數快上足足兩倍!

  至於這個結果會產生怎樣的效果……

  老實說郝雲也沒有一個準確的概念。

  畢竟他對這款冰川引擎的了解,遠遠沒有達到業內人士的高度。

  之前他雖然做過遊戲,但其實也就隻做過2048這一款遊戲而已。神殿逃亡算是運用到了和冰川引擎同源的一款開發軟件,但那款遊戲基本上都是李宗正一個人完成的,郝雲壓根兒就沒參與到開發環節中,就算參與進去了八成也不會研究引擎的源代碼。

  這個世界的遊戲開發工具已經進化到足夠傻瓜的程度,除開那些大製作之外,絕大多數的中小型遊戲都是能夠單純的依靠開發工具,以及二級程度的編程水平來實現的。

  “……話說到底怎測試引擎效率提升了多少?這電腦上就沒有一個打分軟件,或者測試用的遊戲嗎?”

  郝雲在電腦上仔細搜尋了一番,然而根本沒有找到那種能夠用來給引擎打分的工具軟件,也沒找到能測試引擎性能的遊戲。

  事實上,主辦方確實沒有準備這種東西。

  畢竟從一開始,他們壓根兒就沒考慮過有人能真的完成這道送命題。

  “我去,這是搞毛線啊?”

  搜索了一番之後仍然沒有找到檢測工具,郝雲哭笑不得地看著屏幕,徹底沒轍了。

  總不能當場開發一款遊戲來跑分吧?

  雖然也不是不行,但手邊一點素材都沒有,電腦更是不能聯網,總不能從最基礎的素材開始做起吧?

  一番糾結之後,最終郝雲還是放棄了。

  算了。

  反正自己也想不到更好的優化方法了……

  如此想著,郝雲歎了口氣,伸手點了下考試程序中的提交選項,然後便雙手離開了鍵盤。

  考試隻設置了三天的最長時限,並沒有設置最低交卷時間,提交了答案隨時都可以離場。

  因為即便是提前交卷也不會加分,所以大多數人就算提前做完了也會選擇熬到飯點再交卷,和一起來參賽的朋友出去吃飯。

  郝雲一開始也是這麽打算的,但奈何他的隔間裡啥也沒有,除了乾坐著等之外根本沒事情可乾,於是只能從自己的隔間裡出來了。

  離開考場的時候,站在安檢口的還是那個保安小哥。

  郝雲看了他一眼,他也盯著郝雲看了一會兒。

  “上廁所?你走錯方向了。”

  “沒,我考完了。”

  “考,考完了?”

  “嗯,”郝雲點了下頭,指了指體育館的出口,“我可以出去了嗎?”

  總算是從愣神中回過了神來,保安小哥木木地點了下頭,解開了攔在入口處的隔離帶。

  兩年前的希望杯也是在夏東師范大學比的,當時的他也是站在這裡維持秩序。如果他沒記錯的話,當時最早交卷的考生,也是下午五點鍾的事情了。

  然而現在,距離九點鍾考試正式開始還沒一個小時……

  這特麽是交了白卷嗎?

  好歹也是從幾萬份作品中入圍的決賽強者,不至於交白卷吧?!

  事實上,驚訝的不只是站在考場入口的幾名保安小哥。

  站在考場後台的主試委員會們,遠遠比這裡的所有人都要驚訝。

  尤其是張存浩教授。

  在看完了郝雲重寫的代碼之後,整個人都傻掉了。

  盯著草稿紙上密密麻麻的算式,不信邪地筆算了無數遍的張存浩教授,終於忍不住爆了一句粗口。

  “臥槽!這家夥……是怎麽想到這個數字的?”

  這……

  這也太不可思了!

  僅僅隻更改了一個猜測數,就讓整個函數的運算效率提升了足足兩倍?!

  站在張存浩教授的旁邊,龍威集團軟件開發部門的馮正青經理,悄悄拉了他一把,小聲問道,“如果將它運用在冰川引擎上能提升多少運行效率?”

  “保守估計百分之二十,3D引擎中針對反平方倒數的相關運算還是不少的……”

  “怎麽會這麽多?”馮經理微微動容。

  身為外行人的他並不懂那麽多門道,也不懂什麽是牛頓迭代算法,只是覺得這簡直是不可思議!

  冰川引擎雖然不是龍威集團的核心研發項目,但該項目組裡的計算機大牛也絕對不少。然而這麽多人都沒有發現這個改進方法,卻被一個學生給發現了?

  換誰也特麽的沒法信啊!

  滿對著寫滿的草稿紙,張存浩教授扔在苦思冥想著,雖然他已經漸漸感覺到這個東西超出了他所熟悉的研究領域。

  站在他旁邊的是一名來自首都國防大學的老教授,只見這位老教授在沉默許久之後,也是發出了一聲由衷的感慨。

  “不可思議……沒想到居然讓這家夥在最不可能找到突破口的地方找到了突破口。我之前一直認為math.c文件中的函數已經足夠完美了,就像加減乘除這些工具一樣可以直接使用。沒想到居然還有如此神奇的方法,能夠讓完美的邊界再向上一步。”

  “這小子是個人才啊!”

  不知心裡頭在想著些什麽,張存浩教授沉默的表情中忽然浮起了一絲糾結。

  掙扎了許久之後,他看向了自己的老師詹永樞院士。

  “不過恕我直言,這樣的答案真的沒問題嗎?”

  詹永樞院士看了他一眼。

  “你還不服氣嗎?”

  “倒是沒有不服氣,我只是覺得……有點兒憋屈,”張存浩教授憋了好久,才說出了心裡話,“這根本不是程序意義上的解法,他甚至壓根兒就沒有修改哪怕一行代碼。無論是誰都能看得出來……這特麽,根本就是數學!”

  是的,這特麽根本就是數學!

  那個參賽者只不過是修改了一個隨機數,結果湊巧地讓計算“反平方倒數”的底層函數少做了幾次牛頓迭代,然後就這麽“積少成多”地實現了對引擎的優化?

  說到底為什麽偏偏是這個數字啊?!

  畢竟不是數學家,張存浩想的都快崩潰了,也沒想出來。

  看著一臉抓狂的學生,詹永樞院士忽然笑了。

  “誰說不是呢?”

  他也沒想到這個數字到底是怎麽算出來的,而且是完全一點頭緒都沒有的那種。

  完全依靠直覺?

  類似的情況倒也不是沒有過,有些數學常數其實最開始也是依靠經驗猜出來的,直達十幾年年甚至是幾個世紀之後才被證明其中的數學原理。

  想到這兒,看著那個正在離開考場的考生,詹永樞院士不禁在心中輕聲感慨。

  可能……

  這就是天才吧。

  (本章完)
鍵盤左右鍵 ← → 可以切換章節
章節問題回報:
翻譯有問題
章節內容不符
章節內容空白
章節內容殘缺
上下章節連動錯誤
小說很久沒更新了
章節顯示『本章節內容更新中』
其他訊息