296.第296章 理論結合實際
第296章 理論結合實際
當然,常浩南也知道,對方三人所說的教父跟黑手黨電影裡面那個godfather其實並不是同一個意思。
而是指宗教語境中,一個人受洗禮時,賜以教名,並保證承擔其宗教教育的人。
大概意思就是雖然那兩位伯克利的教授給了DE演算法以生命,但常浩南和徐洋才是賦予了DE演算法靈魂的人。
考慮到很少有華夏人會用這種方式說話,對方所言應該還是有一定可信程度的。
對於常浩南來說,在這些與涉密項目無關的工程理論或者演算法領域出點名也是好事,相當於給他披了一層絕佳的偽裝。
真真假假才是保密的奧義。
否則你一個明面上什麼都沒幹的人,地位跟坐火箭一樣往上躥,稍微有點腦子的人就不難想明白其中的緣由。
這個時候,軟盤裡的文件也被讀取了出來。
常浩南打開其中一個。
「這是去年ICEO比賽第一名,普林斯頓大學的演算法,下面那個文件是第二名,京都大學的,因為名古屋大學沒有參賽,所以他們算是去年的東道主,這兩個學校今年也會參加第二屆,應該是我們最主要的競爭對手。」
林芝在旁邊適時地介紹道。
「第一名……我來看看。」
常浩南打開了裡面的第一個程序文件。
「這兩種演算法在優化效率上確實非常高,我們上個月用優化過後的DE演算法改進了對這五個測試函數的效率,雖然相比去年第三名的成績有了很大提高,但還是沒辦法跟他們競爭,所以才想著麻煩您來看一下,還有沒有什麼更進一步的辦法。」
菅飛昂說著從軟盤盒裡面挑出了另外一張:
「這裡面就是我們的設計結果。」
「不急,先看看他們的,能比DE快這麼多,也是相當有本事。」
其實在剛才聽到差分進化演算法只得了第三名的時候,常浩南還是有點驚訝的。
即便在他進行改進和優化之前,DE的效率在大多數情況下也應該超過這個年代比較流行的模擬退火演算法和在原來的時間線上即將流行起來的遺傳演算法。
考慮到剛剛看的那幾個測試函數都很正常,並沒有什麼奇奇怪怪的東西。
只拿第三要麼是參賽者學藝不精,要麼就是有什麼其他原因——
要是真有這麼牛逼的演算法,早就在學界出名了。
因為比賽時間有限,而且測試函數也並不複雜,所以常浩南沒用多長時間就看完了。
當然正常來說看完之後還要對關鍵部分進行分析和測試,不過以他現在接近LV3的理論水平,倒是可以在很大程度上省去前面那步的功夫。
「這個東西……」
常浩南眉頭皺起,首先嘗試跑了一下測試題目中的Michalewiczs函數。
它是基準測試函數中相對不那麼常見的一種,至少在這個年代還是如此,因為它作為一個單目標優化函數,含有若干個本地最小值和平面區域,其中所有的 z值幾乎相等,對於絕大多數演算法而言都並不友好。
結果確實非常好。
「我們試了好幾種辦法,都跑不出他們這麼高的效率,您可以再跑一下第五個測試函數,結果更誇張,所以過去一年來始終有人懷疑是這兩個組在測試中做了弊,大概上個星期,主辦方迫於壓力,才公開了全部的相關文件。」
剛剛一直沒說過話的宋庭遇用有些嘶啞的嗓音說道。
這也解釋了他們為何在知道有效率更高演算法的情況下依然堅持選擇DE。
並不是因為他們是DE演算法的崇拜者,而是之前一直以為別人開了掛。
不過無論如何,他們的選擇是正確的。
因為常浩南已經看懂了對方玩的小花招。
疑似開掛和真開掛相比,終究還是差了點意思。
「不用了,我大概明白他們是怎麼搞的了。」
他說著打開了排名第二的那個文件,用比剛才更快的速度瀏覽了一下。
「啊?」 林芝驚訝的聲音剛剛發出一半,就趕緊捂住了嘴巴。
他們本來是打算今天過來把東西交給常浩南,然後回去等幾天消息的。
剛剛都已經準備把帶的禮物拿出來然後走人了。
結果竟然當場就出了結果?
「只要我們換個測試方式,這兩個演算法就原形畢露了。」
常浩南活動了一下身體,開始著手建立一個新的數學模型。
Min f(r,n)=-∏(i=1,m)R(ni)
s.t. g1(r,n),g2(r,n),g3(r,n)
0≤ri≤1,ni∈Z+,1≤i≤m……
儘管沒有任何背景,只有幾個寬泛的數學公式,但三人不愧是燕大選出來參加國際比賽的人,其中的菅飛昂還是很快看出了這個模型所對應的實際問題:
「這應該是一個串聯繫統的可靠性冗餘計算?」
常浩南甚至連各個符號所表示的物理量註釋都還沒寫,這樣還能被看出來,一方面說明他腦子確實轉得快,另一方面也說明過去應該沒少刷題。
物理不是純數學,再聰明的人,遇到之前完全沒接觸過的物理問題,也不可能一眼看穿的。
「沒錯,不過不要小看這種簡單的串聯繫統。」
既然他們已經看懂,常浩南也樂得省去解釋的麻煩,在運行第一個演算法開始優化之後,點了點頭回答道:
「有很多複雜設備,比如燃氣輪機或者內燃機的過保護系統,就對應這個模型,如何在不影響系統安全性的前提下,儘可能榨取設備潛力,壓縮冗餘度,就成了工程師們的優化目標。」
「在過去,這件事情一般只能靠經驗來完成,所以像是西門子、三菱重工、通用電氣、安薩爾多這些巨頭,入行時間早,積累的數據和經驗更豐富,哪怕是拿著同樣技術水平的硬體設備,他們的機組性能指標也要好得多,這給他們帶來了更多客戶,反過來又提供了更多反饋的數據,形成良性循環,所以在這套模式下,後來的人永遠也不可能超過他們。」
「但是隨著我們這些演算法工程師的努力,這類控制問題近些年開始逐漸脫離純經驗範疇,可以獲得一些理論方面的指導,讓控制系統的開發效率加快,也就給了我們這些沒趕上工業革命的國家後來居上的可能。」
實際上,常浩南所說的,正是他過去一年中已經在做的事情——
不僅僅是通過他的超前眼光,而且還通過技術手段來提高科研效率,讓有限的經費發揮出比別人更大的作用。
而在聽過這一番話之後,旁邊的三個人竟同時一怔,然後露出了不同,但都明顯是在思考的表情。
90年代末期,國內的計算機專業倒是也紅火過幾年功夫,不過基礎不牢地動山搖,這段時間計科專業的火熱有相當的盲目性,90年代初真正的先發紅利期早就已經過去,而計算機產業還沒有真正發展起來。
結果這幾屆學生畢業之後正好趕上互聯網泡沫崩盤,遭遇幾乎類似於21世紀初聽了「21世紀是生物學世紀」的鬼話去學生物的那批人。
除了少數大佬之外,大多數人根本熬不到十幾年後的產業爆發,早就轉行了。
這種背景下進入學校,哪怕是燕大這種等級學校的本科生其實未必知道自己學的東西到底有什麼用,很多人只是單純地習慣了努力學習,或者是根本不用努力學習就考了個很高的分數,然後順勢選了分數線最高的專業。
畢竟哪怕到了二十多年後的信息時代,高考考生對於大學專業的了解程度依然低到足以讓高考報名和職業規劃成為一個獨立行業,更別提現在。
三個人其實也不過是大二的本科生,在此之前還並沒有認真地考慮過所學所用之類的問題。
現在聽常浩南這麼一說,才第一次真切地有了些感受。
幾人說話的功夫,電腦上正在運行的優化演算法也到了尾聲。
不過跟前面幾次不同,並不是真正輸出了什麼東西。
「已經不用繼續下去了。」
常浩南中止了程序運行並打開日誌文件,很快找到了癥結所在:
「處理約束的辦法有問題,所以沒辦法收斂,再怎麼跑也不會輸出有效解。」
三臉震驚.jpg
「你們看,這兩個函數雖然不能算作弊,但其實也是鑽了賽制的空子,第一名的演算法只適用於可分量的競賽驗證函數,根本不能叫通用優化演算法,幾乎不具備解決複雜實際問題的能力,第二名的稍好一些,但要計算拉丁方,不適用於參數太多的情況,也有很大的限制,換句話說,前兩名都是完全為了比賽而生的應試演算法。」
常浩南分析道:
「當然,從參賽的角度上,通用演算法並不比它們高貴,但就我個人而言,還是希望演算法學的發展能夠更加貼近實際的應用層面,而且……」
說到這裡時,他猶豫了一下,因為後面的內容確實完全是他的推論,不過最後還是講了出來:
「而且根據你們的描述,我估計這一屆比賽可能會針對這種行為增加一些限制,比如在測試流程裡面加上一個標準以外的模型或者函數。」
「……」
總之,當天晚上,常浩南又成了實驗室最後一個離開的人。