清華大學科學博物館展出巴貝奇的差分機模型看兩百年前的“神機妙算”
近日,“神機妙算——計算器具歷史展”在清華大學科學博物館開展。展覽中重現了計算機之父查爾斯·巴貝奇的傳奇人生與其精妙的設計。查爾斯·巴貝奇出生於英國倫敦,他的父親是艦隊街上的一名銀行合夥人。
清華大學科學博物館復原的巴貝奇差分機2號計算模型
巴貝奇雖然天資聰穎,但是從小體弱多病,不得不輾轉多地求學。在家庭教師的幫助下,巴貝奇在十幾歲時就掌握了當時幾乎所有的大學數學課程。父親希望他子承父業,把優秀的數學天分應用在金融領域,而年輕的巴貝奇則堅定地投身於科研事業。
1810年10月,19歲的巴貝奇進入了群英薈萃的劍橋大學三一學院,成為了培根和牛頓的校友。出於對數學的強烈興趣,1812年,巴貝奇與包括約翰·赫歇爾的在內的幾位同學一同創辦了名為“分析學會”的數學社團,致力於推廣萊布尼茨的微積分符號系統。而約翰·赫歇爾正是大天文學家威廉·赫歇爾的兒子,日後也成為了一名出色的天文學家。同年,巴貝奇轉學至劍橋大學彼得豪斯學院,並因為解決了一系列天文領域的計算問題,成為了名譽全國的數學家。1819年,在著名天文學家拉普拉斯的推薦下,巴貝奇被愛丁堡大學聘為教授。
年輕的巴貝奇雄心勃勃,他的理想不僅限於成為一名單純的數學家。在1824年,皇家天文學會將代表最高榮譽的金質獎章授予巴貝奇,以表彰他超越時代的偉大發明,一種高度自動化蒸汽動力的機械計算機械——差分機。
差分機的發明背景要從法國大革命說起,君主制被推翻後,新成立的國民議會大刀闊斧地推進多方改革,其中一項很重要的工作就是統一全國混亂不堪的度量衡。原本的《數學用表》不再適用,需要重新編制。1791年,法國數學家普羅尼接下了這份艱鉅的任務。普羅尼采取了頂級數學家、普通數學家和基層計算人員三級的分工系統,完成了足有17卷大部頭書稿。然而遺憾的是,這份完全由人工製作的《數學用表》還是錯誤頻發,沒能完成最初的設想。
法國數學家製表工作的失敗引發了“分析學會”會員們熱烈的討論,一些會員試圖尋找一種比法國人更加高效的計算方法。而巴貝奇進行了更加深入的反思,佔據整個製表工作絕大多數的基層計算人員需要進行大量的簡單重複計算工作,他們在長期的枯燥工作中很難避免計算錯誤。在目前的工作模式下,只要基層的計算工作始終無法擺脫人力,無論數學家們如何優化算法,都無法消除計算錯誤。因此巴貝奇認為,唯一行之有效的方法就是用機器取代人工。巴貝奇從法國人杰卡德發明的提花編織機上獲得了靈感,他想要發明一種機器,它不僅能夠實現固定的計算功能,更能按照設計者的需要,自動處理不同的函數計算。1822年6月14日,巴貝奇向皇家天文學會遞交了一篇名為《論機械在天文及數學用表計算中的應用》的論文,差分機的概念正式問世。
也正是從1822年開始,在英國政府的支持下,巴貝奇開始了差分機1號的設計和製造。局限於當時的工藝水平,以蒸汽為動力的差分機1號最終成為了一個高10英尺高,寬10英尺,長5英尺,重達2噸的龐然大物。儘管巴貝奇不斷修改設計圖紙,力求提升完成進度,但是差分機1號在10年間僅完成了整體設計的七分之一。英國政府做了一次清算,發現整個計劃一共花掉了17500英鎊,這差不多相當於22台蒸汽機車或者2艘戰艦的價格。最終,高昂的造價和渺茫的應用前景使得英國政府停止了對該項目的資金支持。
10年設計與製造差分機的經驗讓巴貝奇有了設計更強大機器的能力,他構想出了一種機械結構更加精密複雜的分析機。按照巴貝奇的設計,這台分析機能夠使用多項式展開的方法計算對數和三角函數,並完成類似彙編語言的程序指令,這已經具備現代計算機的基本雛形了。儘管巴貝奇傾盡家產,為差分機項目補貼了1.3萬英鎊,但由於缺乏政府的持續支持,以及研製進度始終無法取得突破,導致他的研究團隊逐步解散,巴貝奇走進了他人生中的至暗時刻。
故事的轉折發生在1833年,一位名為艾達·洛夫萊斯的年輕貴族女性被她的老師介紹給了巴貝奇。艾達出身名門,是大名鼎鼎的英國詩人拜倫勳爵的女兒。身為伯爵夫人的她雖然年輕,但卻擁有卓越的數學才能。
1842—1843年,艾達花了9個月的時間將意大利數學家路易吉·米那比亞講述巴貝奇分析機的論文《關於巴貝奇先生髮明的分析機簡訊》翻譯成了英文。在巴貝奇的建議和鼓勵下,艾達在翻譯的過程中擴充了很多自己的理解,最終留下的註釋篇幅足有原文的兩倍。在這些註釋中,艾達強調了分析機和以往所有的機械計算器存在著根本性的差別,它具有編程能力,這意味著它並不僅僅是一種機械計算器,更是一種跨時代的機械計算機。艾達認為,編程能力將使這台機器的應用潛力遠遠超出單純的數字運算。只要輸入適當的程序,人們就可以用分析機來表徵複雜的函數關係,甚至進行文字排版和音樂創作。受機械織機的打孔卡啟發,艾達也在編程的過程中,引入了打孔輸入的機制。艾達利用這種方式讓分析機具有了計算伯努利數的功能,而這被認為是世界上第一個“計算機程序”,當時的艾達只有27歲。在科學史上,艾達的這篇譯文被視為程序設計方面的第一篇著作,艾達本人不僅是維多利亞時代的一位伯爵夫人,更是人類歷史上第一位程序員。
在1847年到1849年這兩年裡,巴貝奇運用了開發分析機得到的心得,重新設計了差分機2號。這台2號機可以計算到31位數及第7階差,而它的零部件僅為差分機1號的三分之一。可惜的是,這時候巴貝奇已經找不到願意出資的人了,差分機2號也只停留在了紙面上。更加讓人遺憾的是,1852年,年僅36歲的艾達在治療宮頸癌時因失血過多去世。失去了得力助手的巴貝奇又孤獨地研究了20年,最終還是沒能看到差分機問世的那一天。
艾達的過早離世讓這段高山流水的知音之交很快中斷,巴貝奇因此失去了最堅定的擁護者和最得力的工作夥伴,這段友誼也讓參展觀眾不勝唏噓。
差分機是人類機械製造史上一個跨時代的狂想曲,更是成為了日後蒸汽朋克文學的象徵性符號。科幻小說大師威廉·吉布森的名作《差分機》,便描繪了一個差分機被成功製造出來的平行世界。在紀念偉大的科學先驅的同時,或許我們可以藉助文學家的想像力,感受人類科技樹的另外一種可能。
(圖片來源:清華大學科學博物館)
10年設計與製造差分機的經驗讓巴貝奇有了設計更強大機器的能力,他構想出了一種機械結構更加精密複雜的分析機。按照巴貝奇的設計,這台分析機能夠使用多項式展開的方法計算對數和三角函數,並完成類似彙編語言的程序指令,這已經具備現代計算機的基本雛形了。
遲到的差分機
以維多利亞時代工藝水平,製造一台蒸汽動力的純機械結構的巴貝奇差分機實在過於困難。
但是計算機理論經由阿蘭·圖靈和馮·諾依曼等人不斷發展,終於在1946年,人類第一台可編程的電子計算機埃尼阿克在大洋彼岸的美國誕生,這時距離巴貝奇去世已經過去了整整75年。為了紀念巴貝奇的偉大貢獻,1985年至1991年,倫敦科學博物館依照巴貝奇的圖紙,用6年的時間打造了一台完整的差分機2號。這台巨大的機械計算機,長3.35米,高2.13米,有4000多個零件,重2.5噸,能夠完美地實現巴貝奇設計的所有功能。