Nature盤點的這些代碼,個個都改變了科學
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
今天,Nature的一篇報道有點不同。
沒有說最新的科學研究進展,也沒有說這個時代的科學家們。
而是將鏡頭聚焦在計算機上,更具體一點,是聚焦在計算機代碼上。

在過去的一年中,Nature對數十名研究人員進行了調查,以選出這幾十年以來,改變研究的關鍵代碼。
現在,評選結果新鮮出爐。
簡單看了下,有半世紀的“語言先驅”、“祖宗之法”Fortran,理工科的老朋友了,相信個中滋味很多人都能體會。
還有不知不覺已經“而立之年”的論文利器arXiv.org——全球最大的免費預印本平臺,每月吸引超過15000份投稿和3000萬次下載。
……
究竟還有哪些代碼改變了現在的科學?Nature又為何Pick這些代碼?
“語言先驅”Fortran(1957)
說到Fortran,相信很多大學生都受到它的摧殘“洗禮”。
在知乎上有一個2015年的古早問答:“和 C++ 相比,用 Fortran 編程是怎樣的體驗?”

其中一個高贊回答講述了他被Fortran“洗禮”的經歷,引發廣泛共鳴,得到了1331個點贊。
即便如此,依然沒辦法磨滅它在語言界的地位。
最早的現代計算機對用戶,尤其對科學家并不友好。其中的機器語言、編程語言需要科學家對計算機的體系結構有深入的了解。
直到在上個世紀50年代,IBM團隊開發了“公式翻譯語言”Fortran,情況發生了改變。
普林斯頓大學的氣候學家Syukuro Manabe表示,Fortran使非計算機科學家的研究人員可以訪問程序。
他和他的同事使用該語言開發了全球第一個氣候模型,被美國國家海洋和大氣管理局200年來發生的十大突破之一。
如今,Fortran已經發展到第八個十年了,它仍然被廣泛地應用于氣候建模、流體動力學、計算化學等一些涉及復雜計算的學科。
古早的Fortran代碼庫仍然活躍在實驗室和全球的超級計算機上。
而立之年的arXiv.org(1991)
一定沒有想過,幾乎所有科研人員都使用過的論文福音——arXiv已進入第三十個年頭。
目前,它已經收錄約180萬份預印本,全部免費提供大家交流。
每月的投稿和下載數量也一直只增不減。
據Nature統計,現在每月將吸引了15000多份投稿和約3000萬次下載。
而它一開始,也不過只是一個聚焦于高能物理的電子郵件自動回復系統。

在沒有arXiv之前,科學家們大多通過郵寄的方式將提交的手稿副本寄給同事,以征求評價。
但寄出的數量有限,看到論文的也不過幾個人。
見到此狀,一位墨西哥州工作的高能物理學家Ginsparg決定編寫了一個電子郵件自動回復系統。
訂閱者每天都會收到預印本的清單,每個清單都有一個文章標識符。
于是,通過一封電子郵件,世界各地的用戶可以從實驗室的計算機系統中提交或檢索文章,獲得新文章列表或按作者、標題搜索。
一開始,Ginsparg計劃是將文章保留三個月,論文內容限制在高能物理學界。
但在同事的說服之下,1993年他將該系統遷移到互聯網上。5年之后,他給它起了今天的名字:arXiv.org。
Hinton指導的AlexNet(2012年)
如果要說當前更接地氣一點,就要提到這個快速學習AI——AlexNet。
一開始,人工智能有兩種。一種是使用編碼規則,另一種使用計算機通過模擬大腦的神經結構來“學習”,幾十年來,人工智能研究人員一直將后一種方法視為“廢話”。直到2012年,Hinton改變了這一格局。
最初的ImageNet全球挑戰賽,最好的算法錯誤率也有25%之高。
而Hinton的兩位研究生提出的這個AlexNet,一種深度學習算法,直接將錯誤率降低到了16%。
Hinton表示,我們基本上將錯誤率降低了一半,或者說幾乎降低了一半。而這樣的成績,揭開了深度學習在各個領域上的應用。
200年“歷史”的快速傅里葉變換(1965)
相信很多數學、工程領域的同學都對它很熟悉, 快速傅里葉變換 (fast Fourier transform) 即利用計算機快速計算離散傅里葉變換(DFT)的統稱,簡稱FFT。
值得一提的是,這里的基本思想早在1805年就已推導出來,但直到在1965年才得到普及。
來自美國的兩位數學家James Cooley和John Tukey提出利用算法讓計算所需要的乘法次數大為減少,特別是被變換的抽樣點數N越多,FFT算法計算量的節省就越顯著,計算速度也會提高。
比如,對于1000抽樣點數,速度提升約100倍;對于100萬點,速度提升5萬倍。
由此,快速傅里葉變換開啟了數字信號處理、圖像分析、結構生物學等方面的應用。它曾被IEEE科學與工程計算期刊列入20世紀十大算法。
軟件驅動的生物數據庫(1865)
數據庫已經成為當今科學研究的一個重要組成部分,以至于很少有人注意到它其實是由軟件驅動的。
在過去十幾年中,數據庫以肉眼可見的速度影響了很多領域,但也許沒有什么地方可以比生物學更為顯著。
不管是從蛋白質序列發現癌癥致病因子,還是合成生物學等領域都少不了龐大基因組和蛋白質數據庫的工作。
上個世紀60年代初,當生物學家還在努力拆解蛋白質的氨基酸序列時,Margaret Dayhoff(生物信息學先驅)則開始默默整理這些蛋白質信息,創建蛋白質和核酸數據庫以及查詢數據庫的工具。
她的《蛋白質序列和結構圖譜》在1965年首次出版,描述了當時已知的65種蛋白質的序列、結構和相似性。而且她還將其數據編碼在打孔卡中,這使得擴大數據庫并進行搜索成為可能。
之后,更多計算機化的生物數據庫也隨之而來,蛋白質數據庫于1971年上線,今天它詳細記錄了17萬多個大分子結構。
天氣預報員:一般流通模型(1969年)
“螞蟻搬家蛇過道,明天必有大雨到。”
以前的天氣預報都是依靠人們的經驗和直覺,直到這個模型——一般流通模型的出現,根據物理定律進行氣候建模的工作,由此開啟了計算機預測天氣的時代。
在20世紀40年代末,現代計算機之父約翰·馮·諾依曼便成立了他的天氣預測小組。
1955年,第二個團隊—地球物理流體動力學實驗室也開始了所謂的 “無限預報”—即氣候建模的工作。
直到1969年,這其中才有人真正做出了天氣預測模型,使其首次能夠在硅片中測試二氧化碳水平上升的影響。,創造了2006年Nature形容的科學計算的“里程碑”。
今天的模型可以將地球表面劃分為25×25公里的方塊,將大氣層劃分為幾十個層次。
相比之下,Manabe和Bryan的海洋-大氣組合模型,使用的是500公里的方塊和9個層次,只覆蓋了全球的六分之一。
除此之外,還有數字處理者BLAS,顯微鏡必不可少的NIH Image,序列搜索器BLAST,數據瀏覽器IPython Notebook。
好了,你Pick哪一款?如果其他心儀的代碼,歡迎與我們分享。



























