許多人得知「蝴蝶效應」大概都來自電影《侏儸紀公園》,片中那位數學博士為了解釋混沌現象而用了這樣的比喻:
「一隻蝴蝶在北京拍動翅膀,造成(紐約)中央公園從晴天變雨天。」
是的,這個比喻生動地突顯了混沌現象的特性:對初始條件極為敏感,一點點微小的變化最後可能導致截然不同的結果,使得未來難以預測。隨著這部片子大賣,加上後續諸多電影與影集繼續加以引用,蝴蝶效應成為人人琅琅上口的名詞,而且普遍以為就是出自《侏儸紀公園》的原創。
其實蝴蝶效應的比喻是在 49 年前的今天 (1972年12月29日),由最早發現混沌現象的氣象學家勞倫茲博士 (Edward N. Lorenz) 提出,而他原來的說法其實是:「一隻蝴蝶在巴西輕拍翅膀,會在德州引起龍捲風嗎?」。這個故事我之前已發表在《科學史上的今天》,可參閱泛科學的連結。
當初寫這篇時,我完全沒注意到這故事背後有一位關鍵角色,而且她後來在登月任務中還做出重要貢獻。所以就趁今天來介紹這位這位瑪格麗特.漢密爾頓 (Margaret Hamilton)。
漢密爾頓於 1936 年出生於印第安那州,大學主修數學、副修哲學,畢業後因夫婿進入哈佛法學院就讀,她也一起搬到波士頓。漢密爾頓原本已計畫繼續攻讀純數學,但發現麻省理工學院在徵程式設計員,於是改變計畫,於 1959 年中前往應徵這個工作。
徵求程式設計員的正是勞倫茲博士,他有個大膽計畫:預測天氣。天氣變化莫測,但畢竟仍遵守物理定律,他相信若能掌握各項變因之間的相互關係,是有可能預測未來的天氣。他整理出 12 條方程式,先從一個初始值開始計算,得出的結果再做為下次的初始值,如此不斷迭代運算,就能顯示未來的天氣變化。
這當然沒辦法用人工計算,勞倫茲向校方爭取購買了小型電腦 LGP-30(說是小型,卻是一張桌子的大小,重達 360 公斤),漢密爾頓要做的便是將這 12 條方程式寫成 LGP-30 上的程式,並且要能自動迭代運算,每次還要輸出計算結果。從沒寫過程式的漢密爾頓只能邊翻手冊邊學,最後終於駕輕就熟,能隨時修改程式以配合勞倫茲調整方程式。
雖然 LGP-30 已經可以用鍵盤輸入高階語言的程式,但其實所打的程式還是轉換成紙帶上的孔洞,再讓主機讀取。漢密爾頓要修改程式時,為了節省時間,已經練就一套本事:將打孔紙帶捲起來,再抽拉到要修改的位置,然後將某幾個洞用膠帶貼起來,或用鉛筆再戳幾個洞。
1961 年暑假,漢密爾頓要到麻省理工學院另一個由軍方資助的林肯實驗室,參與「半自動地面防空系統」的專案,必須找人來接替她協助勞倫茲博士。結果一個名叫伊蓮.費特 (Ellen Fetter) 的社會新鮮人前來面試;她同樣是數學系畢業,也從沒寫過程式,漢密爾頓當場錄用這個小她三歲的女生。(如果不當老師的話,程式設計員是當時念數學的女性所能找到最接近數學的工作了。也因為當時認為這是低階的工作,男性都不願意做,女性才有機會。)
費特接手幾個月後,就遇上那個開啟混沌理論的神奇時刻。冬季裡的某一天,勞倫茲想要確認程式跑出來的模擬結果,但他看著紙條上長長的數列,實在不想從頭再來,於是他從中間選了個數字當作初始值輸入電腦,讓程式去跑。結果同樣的程式、同樣的數值,第二次跑出來的數列竟然與第一次的越差越多!
原來紙條只會印到小數點後三位,而電腦記憶體貯存的卻是到後六位;他以為輸入同樣數值,但其實萬分位並不一樣。勞倫茲領悟到天氣就是差之毫釐卻失之千里的混沌系統;隨後他在費特的協助下,將數列畫成圖形,進一步發現其中暗藏似有若無的秩序,不斷自我摹仿卻又永不重覆。他於 1963 年在一份氣象學期刊上發表論文,但並未引起注意,直到九年後,他以蝴蝶效應為比喻的演說才開啟了研究混沌理論的風潮。
如今只要講到混沌這門學科的起源,一定要提到勞倫茲。儘管勞倫茲在論文中特別致謝漢密爾頓與費特,但幾乎沒有人記得她們兩人的貢獻。費特於 1963 年結婚後,隨夫婿搬到佛羅里達,當了幾年程式設計員後,為了養育小孩而選擇當家庭主婦。至於漢密爾頓,則在下一個舞台更加發光發熱,這就留待下一篇再說了。
- 標題圖片:勞倫茲吸引子圖形。圖片來源:KYC360。
- 參考資料:
- 《混沌——不測風雲的背後》 James Gleick 著,天下文化出版。
- The Hidden Heroines of Chaos | Quanta Magazine
- Margaret Hamilton (software engineer) | Wikipedia