我想對大部份在中學的同學對「科學」的想法一般都是對生物科,化學科和物理科的認識。 可是對我來說,慢慢發覺科學並不只是這幾們科目那麼簡單,而是一個理解日常生活的一個方式。什麼是「科學」呢?這是一個聽起來很簡單,可是想起來十分難以解答的問題。 我覺得科學是一套理解自然界所有事物的方法。科學的目的,就是嘗試去理解日常生活上面不同事情發生的原因,經過的原理,和所可能導致的結果。所以,科學就是一套嚴謹的辯證系統,希望對人類世界所看見的事情有一套正確的解釋。

傳統的科學,分為理論和實驗兩個步驟。理論就是說,從日常觀察得到的現象運用邏輯推理的方法,從而得到的一門學說。然後再經由實驗不斷的進行測試,如果從無數的測試裏面,這門學說都可以給予一個圓滿的解釋,這個科學理論就得到證實。這個傳統的科學方法,在一些生活問題上有些時候比較難以實踐。譬如說,有一些實驗非常昂貴。我們希望設計一款新的飛行工具,可以用更小的燃料達到更好的效能。如果我真的要把這個飛行工具真實地做出來,然後慢慢研究他的形狀如何影響飛行效能,非常不切實際。以往的辦法,是將飛行工具的形狀按比例縮小,然後放到風洞裏面進行測試。可是如果我們真的要慢慢改變不同形狀去做這個實驗,聽起來也非常花時間。然後也可能有一些非常危險的實驗,不可能無了期的不斷進行測試。譬如說,我要設計核彈,看看他組合成份跟他爆炸威力的關係。根本不可能做任何的實驗。

所以由於這幾十年來電腦發展的速度,就造就了一門叫做計算科學的科學方法。這裏談的計算科學,並不是計算機科學。計算機科學,是對電腦本身的一門學科。可以是關於軟件的製造,也可能是關於編寫程式方法的研究。這裏所說的「計算科學」,是希望運用電腦,幫忙測試和理解科學的一門新方法。上面飛行工具設計的例子,就是一個很好的示範如何可以用計算科學的方法幫我們發展一些新的科技。以數學為例,這個飛行工具設計的例子裏面就包含了很多數學技巧。其中一個是如何解決複雜的偏微分方程。複雜的地方不只在於方程組本身,而且也要考慮邊界條件(就是說機身本身)跟流體之間的互相影響。這些影響就反映在對飛機阻力和承拓力大小上面。而且,如何改變飛機形狀去增加承拓力,也是一個困難而且重要的優化問題。

我們科大化學系教授,嘗試運用計算技巧去認識一些複雜的生物系統是如何運作,從而幫助我們了解如何控制裏面的過程。其中一個曾經聽過的例子,是關於蛋白酶運作原理的研究。蛋白酶對DNA自我複製非常重要。一般我們認識的,就是說「細胞分裂,細胞核內的DNA就會自我複製,細胞從此一分為二」。可是,中間的原理是什麼?需要什麼材料?經過什麼過程?中間的這些問題完全沒有討論。所以如果我們有方法,可以從蛋白酶和DNA的成份結構裏面研究出一個運作原理,對我們了解生命的創造過程非常重要。其中一個研究的方式,就是運用計算技巧,將DNA和蛋白酶這些巨大的分子結構用數學模型的方式表示出來。而他們進行化學反應的原理,就只是一些能量遞減(Energy minimization)的過程。由於方程式非常複雜,所以就沒有方法用人手的方式把能量遞減的過程找出來。可是這些問題對電腦來說就「輕而易舉」(雖然這樣說,我聽回來的,這些計算都需要使用到超級電腦幫助找出這些化學反應中間的過程!)。

由於這些計算技巧在生物或化學研究裏面非常重要,我們在不同諾貝爾得獎學科裏面 都會找到這些計算科學的足跡。2013年諾貝爾化學獎三位得主作出的貢獻,就是 關於計算化學。根據諾貝爾獎網頁所提到的,他們之所以得獎是因為他們建立了一些多尺度(Multiscale)的模型應用在複雜化學系統的貢獻(多尺度計算在數學本身也是非常有趣,有機會再另外開一個題目仔細討論)。年代久遠一些,1998年諾貝爾化學獎兩位得獎者就是由於運用了密度泛函理論(Density-functional Theory)建立了一些重要的計算技巧,對量子化學作出了深遠的影響。

計算科學本身,有好一些非常有趣的特性。其中一個是他有着非常明顯的跨學科和多樣性的性質。以上面這個計算化學的例子,研究問題本身聽起來就已經好像是一個生物科的研究課題。計算技巧,就好像是一個數學問題。由於有着這些跨學科特性,不同背景的科學家,都可以運用這些技巧在不同領域上。剛剛提到的1998年諾貝爾化學獎得獎者,Prof. W. Kohn[1]和Prof. J.A. Pople[2] 都可以說是物理學家。而2013年其中一位化學獎得主Prof. M. Levitt[3]是史丹佛大學(Stanford University)結構生物學 (Structural Biology)的教授。

我們也可在計算流體力學這個範疇看出計算科學本身的跨學科特性。在應用上面來說, 不僅不同的工程學也會使用到計算流體力學(上面的飛行器設計就是一個例子),在氣象學上面,也會見到他的身影。最簡單的,可以想像颱風軌跡的預測。裏面就要依靠不同氣象模型提供的數據,加進去氣象的流體動力系統,去猜測颱風跟附近氣象數據比如氣壓等等的相互影響。這裏就不只需要用到流體力學的知識,也需要一點地球物理學的背景。2014年,我們科大的高等研究院,舉辦了一個很有趣的學術會議。題目是「生物啟發的飛行系統和生物啟發的自治系統」(Bio-inspired Flight System and Bio-inspired Autonomous System)[4]。目的是希望從不同生物身上學習到如何設計飛行工具。裏面就有一些很有趣的例子。首先科學家運用很多不同的高速相機(High Speed Camera),從不同角度拍攝蚊子飛行的狀況。運用這些照片,我們就可以做出一個蚊子翅膀的模型出來。然後我們運用計算流體力學的技巧,把這個「飛行系統」可以產生的承托力計算出來。 根據這些成果,我們就可以研究,是否可以將這蚊子啟發的「飛行工具」放大成可載人的工具。會議裏面也提到另外一個很特別的生物。相對起一對非常細小的翅膀,甲蟲(或者是瓢蟲)的身軀非常重,問題是,為什麼他的翅膀可以產生那麼大的承拓力?在這些例子裏面,我們就可以看到不單單是計算流體力學本身的問題,也可以看到在生物學或者是工程學上面另外一些應用。

另外一個計算科學的特色,就是他的包容性非常強。就是說,同一個問題不同背景的人都可以有不同的研究方法和研究方向。自己也有做一些反問題(Inverse Problem)的研究。其中一個經常會拿出來介紹給同學的反問題例子,是在哈利波特電影裏面的一件神奇工具。話說哈利波特從父親那裏得到了一件隱形斗篷。披上了這個隱形斗篷,其他人就會直接看見斗篷後面的東西。所以對光線來說,原本直線行走的光線就會繞過斗篷外面進入觀察者的眼睛。如果我們知道附近環境的參數,可以有一個簡單的電腦方法找出光線的運動軌跡。數學上來說,這個叫做前向問題或者正問題(Forward Problem)。如何設計出這個隱形斗篷就是一個反問題。我們需要找出一些材料的特性令到光線可以沿着我們希望他走的路線運行。由於問題本身用了一條非線性偏微分方程模擬出來,找出這個反問題的答案,就需要運用了一些計算數學的技巧。我自己的背景,比較是希望設計出一些比較簡單的數值方法把問題找出來。所以對編寫程式的要求會高一些。同一個問題,純數學家也可以有他們的研究方法。數學系和高等研究院也有一位純數學家Prof. G. Uhlmann[5]從數學理論出發,希望研究這個反問題的答案的存在性和唯一性。物理系也有陳子亭教授[6],希望從實驗物理的角度出發,用計算科學的輔助,嘗試把這個東西做出來。

第三個計算科學的特色,我將它叫做可擴展性(Extensibility)。就是說雖然我是看着這一個問題設計了一些計算的工具,可是這個工具不一定只會在這個應用上面出現。所以我就可以發展一個具有自己特色的工具,嘗試把它由一個應用拓展到另外一個應用上邊。這個有點像金庸小說《天龍八部》裏面的「小無相功」[7]。只要你有這一個內功心法,只需要多花一點點的時間,把外在的功夫練上一些,也就會好像精通了「少林派七十二門絕技」一樣,可以在各個領域上顯得很有本事。自己有一門研究範疇是去設計動態界面(Dynamic Interface)即表示方式(Representation)。其中一個例子,就是模擬多相流(Multiphase Flow),也就像是氣泡在液體流動的計算方式。由於氣泡在水裏面不斷移動,形狀也會因而改變。更困難的,是由於幾個氣泡可能由於運動關係聚在一起最終變成一個大的氣泡,一個大的起泡也可能因為在液體流動而分裂成好一些小起泡。所以如何找出一個簡單的介面表示方式就非常重要。這個我們研究的標示方式,就是上面講的「小無相功」。而所謂的外在「拳腳功夫」,可能是剛剛提到的多相流模擬,可能是高頻波運動(High Frequency Wave Propagation)模式, 可能是一些運用重力場(Gravimetry)計算出冰川形狀的反問題,也可以是癌細胞在體內生長的一個數學模型,更可能是在電腦動畫裏面如何繪製雪花生長的狀況。 雖然這樣子說起來,做計算科學的研究好像很簡單似的。可是,如何把「小無相功」練得爐火純青,如何把自己內功弄到無跡可尋而又能應用在「拳腳功夫」上面,也需要一番的修練和指導。


[1] https://www.wikiwand.com/en/Walter_Kohn

[2] https://www.wikiwand.com/en/John_Pople

[3] https://www.wikiwand.com/en/Michael_Levitt

[4] http://iasprogram.ust.hk/2014bio-inspired/index.html

[5] https://www.wikiwand.com/en/Gunther_Uhlmann

[6] http://www.phys.ust.hk/ctchan/

[7] https://kknews.cc/zh-hk/culture/vkbp2z4.html