《創新者們》選摘(3):人類第一台電腦-巴貝奇的分析機

2015-10-04 05:10

? 人氣

堪稱人類史上第一部電腦的巴貝奇的分析機。(取自維基百科)

堪稱人類史上第一部電腦的巴貝奇的分析機。(取自維基百科)

巴貝奇和他的機器

巴貝奇從小就對替人類工作的機器深感興趣。十九世紀初,許多展覽廳和博物館在倫敦如雨後春筍般冒出,巴貝奇孩提時期常隨母親去參觀。有一回,漢諾瓦廣場的博物館經營者梅林(跟魔法師同名,相當名符其實)邀請巴貝奇到他的閣樓工作室,參觀名為「自動機」的各種機器娃娃。其中的銀色舞孃,大約30 公分高,會優雅的舞動手臂,手中的小鳥則拍翅擺尾,張開鳥喙。銀色女郎表露的感覺和個性,令小男孩十分著迷。巴貝奇還記得,「她的眼眸充滿了想像。」多年後,他在一次破產拍賣會中發現這個銀色舞孃,趕忙買下,當做在夜晚沙龍中頌揚神奇科技時的一大娛樂。巴貝奇在劍橋結交的眾多好友,包括劍橋大學教授赫歇耳(JohnHerschel)和皮柯克(George Peacock),他們都不滿意劍橋大學的數學教學方式,於是組成一個名為「分析學會」的社團,希望促使劍橋大學放棄之前由校友牛頓設計的微積分記法(仰賴點的標示),改採萊布尼茲記法,這個方法用dx 和dy 來代表無限小的增量,因此稱為「d」記法。巴貝奇為他們的宣言下了標題:「有別於劍橋大學老邁點標示法的純粹D 記法」*。他真是難纏,不過很有幽默感。

[啟動LINE推播] 每日重大新聞通知

電腦先驅巴貝奇
電腦先驅巴貝奇。(取自維基百科)

有一天,巴貝奇在分析學會研究一個誤差連連的對數表。赫歇耳問他在想什麼。「我真希望這些計算都由蒸汽機來執行,」巴貝奇回答。對於用機器來製作對數表的想法,赫歇耳的回答是:「頗有可能。」1821 年,巴貝奇把注意力都放在打造這類機器上。

多年來,許多人都曾經嘗試打造計算機。1640 年代,法國數學家及哲學家巴斯卡創造了一部機械式計算機,為擔任稅務官的父親分勞。這種計算機的金屬幅輪周邊有0 到9 的數字。進行數字加減時,操作人員會用筆尖先撥第一個數字,就好像操作舊式轉盤電話一樣,接著撥第二個數字;需要的時候,電樞會進1 或借1。這是史上第一部申請專利且在市場上販賣的計算機。

三十年後,德國數學家和哲學家萊布尼茲改良了巴斯卡的計算機,造出能乘除的「步進計算器」(stepped reckoner)。手搖步進計算器時,計算器周邊的小齒輪會與圓柱體表面的齒逐一嚙合。當時萊布尼茲碰到的困難也是後來數位時代常見的問題。巴斯卡是熟練的工程師,能運用自己的機械天分來實踐科學理論。萊布尼茲則不然,他不太懂工程技術,周遭也沒有懂機械的朋友。所以,萊布尼茲就和許多偉大的理論家一樣,因為缺乏具實務經驗的合作伙伴,沒辦法為自己的設計打造出能穩定運作的原型。儘管如此,他的核心概念(稱為「萊布尼茲輪」)將影響巴貝奇時代的計算機設計。

巴貝奇知道巴斯卡和萊布尼茲的設計,但他想打造出更複雜的機器,來計算對數、正弦、餘弦、正切。† 於是,他設法改進法國數學家戴普羅尼(Gaspard de Prony)在1790 年代提出的構想。戴普羅尼為了製作對數表和三角函數表,把計算過程分解為只包含加減運算的簡單步驟,再提出簡單指令,讓許多數學不太靈光的勞工也能執行簡單的計算,然後提供答案給下一組人。換句話說,他創造了裝配線,亞當.史密斯在描述大頭針工廠的勞務分配時,曾精闢分析這個工業時代的偉大創新。巴貝奇在巴黎聽人提起戴普羅尼採用的方式,他寫道:「突然之間,我想到可以用同樣的方法,解決我負擔的龐大工作量,也就是用生產大頭針的方法來生產對數。」

巴貝奇明白,即使非常複雜的數學計算,都可以分解為許多步驟,透過簡單的加減來計算「有限差分」。比方說要把平方數12、22、32、42 等等列表,你可以把一開始的數值照下列順序排列:1、4、9、16⋯⋯,這就是A 欄。然後,你可以在右邊的B 欄寫出這些數字之間的差數,也就是3、5、7⋯⋯。C 欄則列出B 欄各數字之間的差數,也就是2、2、2⋯⋯。整個計算過程經過如此這般簡化之後,就可以倒轉回去,把計算工作分包給未受過訓練的勞工;可能有人負責把B 欄最後一個數字加2,然後把計算結果交給同事,這個人再把答案與A 欄的最後一個數字相加,就產生平方數序列的下一個數字。

巴貝奇的分析機
巴貝奇的分析機。(取自維基百科)

巴貝奇設計的方法把這樣的過程機械化,他為機器取名為「差分機」。任何多項式函數,差分機都能製成表格,以數位方式算出微分方程的近似解。

1836 年6 月30 日,巴貝奇記在「塗鴉簿」上的這段話,代表電腦史前發展的里程碑:「假設用雅卡爾的織布機取代鼓輪。」用打孔卡來代替鋼鼓之後,可輸入無數指令,此外也可以調整工作順序,因此更容易設計出多功能且可重新編程的通用機器。

巴貝奇買了一幅雅卡爾的肖像在沙龍中展示,畫中的雅卡爾坐在搖椅上,背景有一部織布機,發明家手持卡尺對著長方形的打孔卡。巴貝奇常在餘興節目中,要賓客猜猜這是什麼。大多數人會以為那是一幅華麗的版畫。之後巴貝奇才會透露,事實上這是一幅精緻的絲綢織錦畫,裡面有兩萬四千條絲線,每條絲線都由不同的打孔卡操控。維多利亞女王的丈夫艾伯特親王參加巴貝奇的沙龍時,詢問巴貝奇為什麼對這幅織錦畫這麼感興趣。巴貝奇回答:「這幅畫有助於解釋我的計算機,也就是分析機的本質。」

不過,對於巴貝奇計畫中的新機器,懂得欣賞箇中奧妙的人並不多,不但英國政府無意資助,也吸引不了大眾媒體或科學期刊的注意。但巴貝奇仍然找到一位信徒。愛達充分了解通用機器的概念。更重要的是,她預見能讓這類機器一鳴驚人的特性:或許機器不但能處理數字運算,也能處理任何符號記法,包括音符和藝術符號。她看到其中蘊含的詩意,也鼓勵其他人抱持相同的看法。

愛達不斷寫信給巴貝奇,儘管巴貝奇比她年長二十四歲,愛達信中的內容有時候卻十分大膽,甚至近乎冒失和耍賴。她在其中一封信中,描述一種用到二十六顆彈珠的單人跳棋遊戲,目標是下到最後,只有一顆彈珠留下來。愛達是這種遊戲的高手,她試圖發展出「能以符號語言表達的數學公式⋯⋯ 做為解方。」然後她問:「是我的想像力太豐富嗎?我想不是。」

愛達希望為巴貝奇工作,擔任他的發言人兼搭檔,協助他尋求支持,打造分析機。她在1841 年初的信中表示:「我迫不及待想和你談談。我可以稍微透露一下我想談什麼。我認為,有朝一日⋯⋯我的腦力將依你的目標和計畫而為你所用。果真如此的話,假如我夠資格為你所用的話,那麼我願聽候你差遣。」

一年後,天上掉下來一個為愛達量身訂製的好機會。

愛達的譯者評注

巴貝奇為分析機尋求金援時,曾應邀到都靈市,在義大利科學家大會中演講。年輕軍官兼軍事工程師米那比亞(Luigi Menabrea)也在場做筆記,他後來成為義大利首相。在巴貝奇協助下,米那比亞在1842 年10 月,於法國發表了一篇詳細描述分析機的論文。愛達的朋友建議她替《科學實錄》(Scientific Memoirs)期刊翻譯米那比亞的論文。這是她既能為巴貝奇效勞,又能一展身手的大好機會。論文翻譯完成後,愛達才告知巴貝奇,巴貝奇又驚又喜。

「我問她,既然她對這個題目這麼熟悉,何不自己寫一篇原創論文呢?」巴貝奇說。愛達回答,她從沒有這種念頭。一般而言,當時的女人鮮少發表科學論文。

於是,巴貝奇提議愛達為米那比亞的論文補充一些評注,愛達欣然接受,並熱情展開工作。結果,這篇愛達題為〈譯者評注〉的文章總共有19,136 個字,是米那比亞原文的兩倍長。文章署名「A.A.L.」,代表愛達的全名「Augusta Ada Lovelace」的英文縮寫。後來,這篇〈譯者評注〉變得比米那比亞的論文還有名,愛達注定成為電腦發展史上的指標人物。1843 年夏天,愛達在薩里郡鄉間撰寫〈譯者評注〉時,和巴貝奇通了幾十封信,愛達在秋天搬回倫敦後,他們又討論了無數次。

究竟〈譯者評注〉中有多少是愛達自己的觀點,有多少是巴貝奇的想法,曾在某些學術討論和性別相關的辯論中,引發小小的爭議。但巴貝奇在回憶錄中把大部分功勞歸於愛達。「我們一起討論應該附哪些圖表:我提議了幾個,但完全由她自己挑選。她也完成了針對不同問題的代數計算,只有與伯努利數相關的計算除外,我向勒夫雷思夫人提議,這部分由我代勞。但她檢查時發現我在計算過程中犯了一個嚴重錯誤,因此把數字寄回來給我修正。」

愛達在〈譯者評注〉中探討了四個觀念,這些觀念在百年後電腦終於誕生時,獲得歷史性迴響。首先是通用機器的觀念。通用機器不但能執行預先設定的工作,還能透過程式化和重新編程,執行可更動的無數工作。換句話說,她已經預見現代電腦的本質。這是她在「譯者評注A」中提出的核心觀念,強調巴貝奇最初的差分機和後來倡議的新分析機之間的差異。「這部差分機計算的是函數Δ7ux = 0 的積分」愛達開頭先解釋差分機的功能是計算航海表。「分析機則恰好相反,不是單單為了計算某個特殊函數而設計,而是用來發展和計算任何函數。」愛達接著寫道,分析機之所以具備這樣的功能,是因為巴貝奇「引進雅卡爾設計的新方法—在織布過程中,透過打孔卡來調節設定複雜的花樣」。愛達甚至比巴貝奇更清楚這件事代表的意義。換句話說,巴貝奇的機器很可能像我們今天習以為常的電腦一樣:是一部通用機器,而並非只能執行一種特定的計算功能。愛達解釋:一旦萌生利用卡片的念頭,就跨越了算術的界限。分析機並非只是一般的「計算機」,而是有自己的獨特定位,它的運算機制能結合一連串各式各樣、毫無止境的通用符號,在實體機械操作和抽象心智運作之間,建立起統一的連結。

句子雖然有點累贅,卻值得仔細研讀。因為這些句子勾勒出現代電腦的本質,而愛達以帶詩意的華麗筆觸,生動描繪了其中的核心概念。她寫道:「正如同雅卡爾織布機編織出花與葉,分析機也編織出代數的型態。」巴貝奇讀了「譯者評注A」後,非常高興,不做任何修改。他說:「希望不要改動它。」

愛達第二個值得注意的觀念,來自她對通用機器的描述。愛達充分了解,毋須把通用機器的作業局限於處理數學和數字。沿用從前數學老師笛摩根把代數延伸到邏輯關係的觀念,她指出,像分析機這樣的機器可以儲存、操作、處理任何可用符號代表的事物:包括文字、邏輯、音樂,以及其他任何我們可能透過符號來傳達的事物。

為了解釋這個想法,愛達審慎定義「電腦作業」的意義:「也許可以說,『作業』一詞,是指會改變兩個以上事物間相互關係的流程,無論兩者之間的關係是哪一種。」她指出,電腦作業不只會改變數字之間的關係,也會改變符號之間的關係,只要這些符號有邏輯上的關聯性。「只要事物之間的相互基本關係能以作業的抽象科學來表達,那麼除了數字之外,也能對其他事物產生作用。」理論上,分析機甚至能處理音樂符號:「比方說,假如在和聲學和作曲學中不同音高之間的基本關係,也適用於這樣的表現方式和改編方式,那麼這部機器或許就能以科學方式,精心製作出複雜程度不一的樂曲。」

這樣的洞見後來成為數位時代的核心概念:任何內容、數據或資訊(包括音樂、文字、圖像、數字、符號、聲音、影像)都能透過數位化的表達方式,利用機器來操控。即便巴貝奇自己,都沒能充分洞察箇中涵義,他只專注於處理數字。但愛達領悟到齒輪上的數字不只代表數值,也代表其他東西。因此她在觀念上有了大躍進,從原本只是計算機的機器中,看到今天所謂的「電腦」。研究巴貝奇機器的電腦史學家史韋德(Doron Swade)宣稱:這是愛達留給後世的重要遺產,如果我們檢視歷史,研究這段轉變過程,那麼很明顯,轉變是由愛達1843 年的論文所帶動的。」

愛達的第三個貢獻是,她在最後的「譯者評注G」中一步步詳細說明了我們今天所謂「電腦程式」或「演算法」的運作。她提出的例子是用來計算伯努利數 * 的程式,伯努利數是極複雜的無限數列,以不同的形式在數論中扮演重要角色。

 

巴貝奇的分析機
巴貝奇的分析機的部份零件。(取自網路)

多年來,愛達一直被視為女權主義的代表人物和電腦科學的先驅。比方說,美國國防部把軍方開發的高階物件導向程式語言命名為「愛達」。不過,她也曾備受奚落,被說成痴心妄想、反覆無常,對自己掛名的〈譯者評注〉其實只有小小的貢獻。她在〈譯者評注〉中寫道:「在思考任何新物件時,我們很容易先高估我們覺得很有趣或不尋常的情況,接著又出於某種自然反應,低估了真實狀況。」雖然她是在探討分析機時寫下這段文字,但也可用來形容她起伏不定的聲譽。

實情是,愛達的貢獻影響深遠且深具啟發。比起同時代的巴貝奇或其他任何人,她眼光獨到,能預見未來機器將會與人類的想像力相輔相成,如雅卡爾的織布機般,共同編織出美麗的織錦。她欣賞詩意的科學,因此大力讚揚當時科學界漠視的計算機提案,獨具慧眼的看出,這類機器的資訊處理能力將可用來處理其他任何形式的資訊。勒夫雷思伯爵夫人愛達,就這樣為數位時代播下種子,百年後終於開花結果。

*本文選自天下文化出版的《創新者們》一書,本書作者為以撰寫《賈伯斯傳》而聞名的艾薩克森(Walter Isaacson),他畢業於哈佛大學文學院,後以羅德學者身分在牛津大學進修,並取得哲學及政經碩士學位。曾任《時代》雜誌執行總編輯、CNN董事長兼執行長,在歐巴馬總統上任後,被指派擔任美國廣播理事會(BBG)主席。他不僅是傑出的記者,更是備受讚譽的傳記作家,寫作功力一流。著有《賈伯斯傳》(Steve Jobs)、《愛因斯坦》(Einstein: His Life and Universe)、《富蘭克林傳》(Benjamin Franklin: An American Life)、《季辛吉傳》(Kissinger: A Biography)等暢銷傳記。

創新者書封與作者
 

 

關鍵字:
風傳媒歡迎各界分享發聲,來稿請寄至 opinion@storm.mg

本週最多人贊助文章