【探索22-2】計算機世界中的真實——談電腦模擬在科學上的應用
承接著李國偉老師上星期演講(本期第1講)所介紹的計算機軟硬體發展,在理論計算的算法和電腦計算效能突飛猛進的今日,科學計算已產生本質上的重大轉變。本次的探索講座,就讓理論計算化學的專家—臺大化學系副教授鄭原忠老師,與大家分享電腦模擬在科學應用上的觀點。
講者|臺灣大學化學系副教授 鄭原忠
彙整撰文|鄭兆庭
●計算在科學的起始點:牛頓的理論力學典範與難題
牛頓最為人所知的著作《自然哲學的數學原理》,是科學史上一本重要的劃時代經典。鄭原忠老師在演講一開始指出牛頓翻天覆地的貢獻在於,跳脫他之前的經驗科學,發展出理論力學這門新領域。換句話說,先前的科學是以實驗開始,再由實驗結果歸納出經驗的規律。然而,牛頓卻更進一步的認為自然界有更基本的作用力與運動定律,利用數學從這些基礎力學定律中推導的公式,可以描述世界萬物的運行。牛頓在書中的名言:「我不作假設(Hypotheses non fingo)」,表達的就是不論天體運行或地上的球體之間,都是遵守相同的規則,不需借助多餘的假設。從此,理論因為具有預測性而得以和實驗並列,為日後的計算立下基礎。
牛頓在《自然哲學的數學原理》中的一項重要貢獻就是證明了克卜勒定律(雙體問題)。不過,對於日、月、地球的三體問題分析,牛頓卻碰到了瓶頸。他無法利用當時已知的數學工具找出三體問題的公式解,亦無法證明日、月、地能夠在穩定的軌道上運行。這個問題持續困擾了往後數百年間的數學家,其中龐加萊(Henri Poincaré)證明了三體問題沒有穩定解,並且對於初始條件(即三體一開始的擺放位置)極為敏感。因此對於三體以上的力學問題,物理學家只能針對特定初始條件,將數值帶入,一步一步計算得出數值解,然而計算是一門龐雜的工作,且結果不具普遍性,因此18世紀的科學家常常不認可計算的貢獻,認為計算是不入流的科學。勒波特 (Nicole-Reine Lepaute)等人計算哈雷彗星的軌道並預測其回歸時間的工作即是數值解的一個知名例子,這項工作引起了很大的關注,同時也透過計算來驗證牛頓理論的成功,但是在論文發表時,真正不眠不休從事計算的勒波特甚至沒有被列名在共同作者之中。
●計算科學的發展
18世紀至20世紀初期間,「計算」持續在天文學、大氣科學、物理學、統計力學等領域扮演要角,但被認為「只是計算而已」,不被視為獨立的學科。不過,為了計算上的需要,數學家相繼發明了為日後奠基的數值算法,至今仍在使用。有了理論和數值以後,便可以利用計算解析物理與化學模型隨著時間的變化。英文的computer一詞,最早指的就是一群有組織在從事計算的人,在當時這些計算師們大多是女性,例如對天文學發展有重要貢獻的哈佛計算師(Harvard Computers)即是著例。
美國開發原子彈的曼哈頓計劃中,計算也扮演重要的角色。為解決核分裂連鎖反應的基本物理(臨界質量)以及原子彈設計的流體力學兩大難題,唯有得到精確的數值計算結果,才能製造出真正的原子彈。而領導美國原子彈計劃的費米(Enrico Fermi)和領導德國原子彈計劃的海森堡(Werner Heisenberg),計算出不同的連鎖反應臨界質量,造成兩國研發命運兩歧,成為歷史軼事。費米在研究此問題上所發展出的蒙地卡羅法(以知名賭場命名)的雛形,是基於隨機亂數的計算方法,其將計算的典範移轉為「模擬」真實世界,是一項重大貢獻。
然而,人工計算有其極限。1922年時,英國人理查森(Lewis Fry Richardson)曾幻想由64000人所組成的天氣預測系統,這當然只是空談。直到1950年代,MIT教授夏爾尼(Jule Gregory Charney)才利用電腦ENIAC的計算能力完成史上第一次天氣預測,其結果卻非常的不準確(“uniformly poor”)。這是由於當時的演算法和計算能力仍十分粗糙所致(參考本期第4講)。
由上述的歷史軌跡看來,正是科學模擬對於高效能計算的需求,驅動著電腦硬體的快速發展。今天任何一支手機都遠遠優於ENIAC的計算速度,而世界上最快的電腦,主要也服務於研究機構中,供科學家們進行模擬計算使用(參考本期第6講)。1950至1980年代的計算科學,因為電腦資源昂貴,所以發展比較緩慢。不過,重要的算法和理論幾乎都是在這個時期發展出來的,為後世打下基礎。更重要的是,計算漸漸脫離只是一個機械化演算的過程,演變成可以模擬真實世界的工具,甚至發現新的物理原理而反過來指導理論的發展,例如:蝴蝶效應與混屯理論,正是因為模擬的結果推翻舊有的物理認知,進而發展成為一門重要的物理領域。1980至1990年代,由於電腦作業系統環境的完備,重要的數值計算程式開始正規化和模組化,降低了計算的門檻。1990至2000年代隨著個人電腦普及,計算軟體也更加普及。這段時間工業界採用「有限元素分析法」在各式工程問題的分析上,也促成商用計算軟體的蓬勃發展。電腦模擬被普遍接受為一種新的「實驗」手段(稱“in silico”「在矽之中」)。2000以後,平行計算的發展以及圖形處理器(GPU)的應用,實現了多尺度計算以及人工智能的發展,大大加速新材料以及新藥等產品研發的過程。
●當今計算科學的應用實例
為說明上述發展的應用,鄭原忠老師舉了幾個例子。首先是「多尺度模擬」,其概念是從第一原理(基本的物理定律和常數)出發,透過跨越巨大空間與時間尺度的模型計算,來模擬巨觀的現象。材料研究中的裂紋擴張、破壞力學分析即是一例,這些模擬可以用於合金設計和故障分析,有預防災難的功能。接著是計算化學,在量子力學的基礎完備以後,人類便能知曉所有化學的相關問題。而解分子體系的薛丁格方程式涉及繁複的計算,需要借助好的近似方法與電腦計算能力,如今,化學家已經可以方便地透過量子化學計算軟體,預測各種化學分子的結構與性質。
量子化學的應用,則包含研究材料設計、化學反應預測、表面催化、太陽能電池、蛋白質結構、藥物開發等等。台灣的高速電腦中心中的大量資源都是用在計算化學上。2013年的諾貝爾化學獎頒給三位計算化學家更具有時代的意義,因為它承認了計算軟體和算法對基礎軟體對科學的重要性,並認為電腦模擬因其預測性而能反應真實世界。計算不再是「不入流」的科學。
●今日科學的第三支柱
到了今日,科學家已經可以利用機器學習來進行材料設計,甚至運用在製造飛機上,這樣的發展可以說是現代鍊金術。回到前述難解的三體問題,在過去二十年間,利用電腦模擬發現了許多前人未曾想過的解,為這個看似簡單的問題增添了新生命。由於電腦模擬的進展,科學家便有可能從中發現新的物理理論(例如:天文學上針對整體宇宙結構的模擬)。總結來說,鄭老師認為今日科學已經達成新的典範轉移,推動科學發展的支柱,除了傳統的「實驗」、「理論」,更要加上「模擬」這一支,因為科學模擬已經成為了一項不可或缺的知識領域。
--
本文整理自:108/9/28由鄭原忠老師在臺大思亮館國際會議廳所主講之「計算機世界中的真實—談電腦模擬在科學上的應用」演講內容。