【創新者們】愛達‧拜倫:揭開電腦時代序幕的女人(四)

Print Friendly, PDF & Email

作者:華特‧艾薩克森(Walter Isaacson,知名記者、傳記作家,著有《賈伯斯傳》)

前情提要:
【創新者們】愛達‧拜倫:揭開電腦時代序幕的女人(一)
【創新者們】愛達‧拜倫:揭開電腦時代序幕的女人(二)
【創新者們】愛達‧拜倫:揭開電腦時代序幕的女人(三)

愛達的分析機〈譯者評注〉上

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

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

於是,巴貝奇提議愛達為米那比亞的論文補充一些評注,愛達欣然接受,並熱情展開工作。結果,這篇愛達題為〈譯者評注〉的文章總共有19,136個字,是米那比亞原文的兩倍長。文章署名「A. A. L. 」,代表愛達的全名「Augusta Ada Lovelace」的英文縮寫。

米那比亞著,愛達‧拜倫譯,《巴貝奇的分析機概述》。1843年,在倫敦由Taylor and Francis出版。左圖掃描自Charles Sumner藏本,右圖則是Charles Sumner的題字。圖片來源:Wikimedia Commons,兩張圖的編號為AC85.Su662.Zz843m,藏於哈佛大學Houghton圖書館。
路易吉‧米那比亞著,愛達‧拜倫譯,《巴貝奇的分析機概述》。1843年,在倫敦由Taylor and Francis出版。左圖掃描自Charles Sumner藏本,右圖則是Charles Sumner的題字。圖片來源:Wikimedia Commons,兩張圖的編號為AC85.Su662.Zz843m,藏於哈佛大學Houghton圖書館
題字內容如下:「本文由拜倫勛爵的女兒、勒夫雷思夫人翻譯,所有的譯註也出自於她之手。巴貝奇先生建議……C. S. (Chalres Sumner)」This article was translated by Lady Lovelace, the daughter of Lord Byron. Mr. Babbage recommended…
題字內容如下:「本文由拜倫勛爵的女兒、勒夫雷思夫人翻譯,所有的譯注也出自她之手。巴貝奇先生建議……C. S. (Chalres Sumner)」This article was translated by Lady Lovelace, the daughter of Lord Byron. Mr. Babbage recommended…

後來這篇〈譯者評注〉變得比米那比亞的論文還有名,愛達注定成為電腦發展史上的指標人物。1843年夏天,愛達在薩里郡鄉間撰寫〈譯者評注〉時,和巴貝奇通了幾十封信,愛達在秋天搬回倫敦後,他們又討論了無數次。

究竟〈譯者評注〉中有多少是愛達自己的觀點,有多少是巴貝奇的想法,曾在某些學術討論和性別相關的辯論中,引發小小的爭議。但巴貝奇在回憶錄中把大部分功勞歸於愛達。

「我們一起討論應該附哪些圖表:我提議了幾個,但完全由她自己挑選。她也完成了針對不同問題的代數計算,只有與伯努利數相關的計算除外,我向勒夫雷思夫人提議,這部分由我代勞。但她檢查時發現我在計算過程中犯了一個嚴重錯誤,因此把數字寄回來給我修正。」

愛達在〈譯者評注〉中探討了四個觀念,這些觀念在百年後電腦終於誕生時,獲得歷史性迴響。首先是通用機器的觀念。通用機器不但能執行預先設定的工作,還能透過程式化和重新編程,執行可更動的無數工作。換句話說,她已經預見現代電腦的本質。這是她在「譯者評注A」中提出的核心觀念,強調巴貝奇最初的差分機和後來倡議的新分析機之間的差異。

「這部差分機計算的是函數Δ7ux = 0 的積分。」愛達開頭先解釋差分機的功能是計算航海表。「分析機則恰好相反,不是單單為了計算某個特殊函數而設計,而是用來發展和計算任何函數。」愛達接著寫道,分析機之所以具備這樣的功能,是因為巴貝奇「引進雅卡爾設計的新方法—─在織布過程中,透過打孔卡來調節設定複雜的花樣」。愛達甚至比巴貝奇更清楚這件事代表的意義。

雅卡爾緹花織布機(Jacquard loom),由法國人雅卡爾(Joseph Marie Jacquard)發明,並在1801年第一次展示在大眾眼前。
幫大家再複習一下雅卡爾緹花織布機(Jacquard loom),由法國人雅卡爾(Joseph Marie Jacquard)發明。圖片來源:Wikimedia Commons
從放大圖可已經更清楚看到指揮織布機、操作各種不同圖案的打孔卡。這兩張照片皆由George. H. Williams攝於2004年7月,地點則是在英國曼徹斯特的科學工業博物館。
從放大圖可已經更清楚看到指揮織布機、操作各種不同圖案的打孔卡。這兩張照片皆由George. H. Williams攝於2004年7月,地點則是在英國曼徹斯特的科學工業博物館圖片來源:Wikimedia Commons

換句話說,巴貝奇的機器很可能像我們今天習以為常的電腦一樣:是一部通用機器,而並非只能執行一種特定的計算功能。

愛達解釋:一旦萌生利用卡片的念頭,就跨越了算術的界限。分析機並非只是一般的「計算機」,而是有自己的獨特定位,它的運算機制能結合一連串各式各樣、毫無止境的通用符號,在實體機械操作和抽象心智運作之間,建立起統一的連結。

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

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

為了解釋這個想法,愛達審慎定義「電腦作業」的意義:

「也許可以說,『作業』一詞,是指會改變兩個以上事物間相互關係的流程,無論兩者之間的關係是哪一種。」

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

這樣的洞見後來成為數位時代的核心概念:任何內容、數據或資訊(包括音樂、文字、圖像、數字、符號、聲音、影像)都能透過數位化的表達方式,利用機器來操控。即便巴貝奇自己,都沒能充分洞察箇中涵義,他只專注於處理數字。但愛達領悟到齒輪上的數字不只代表數值,也代表其他東西。因此她在觀念上有了大躍進,從原本只是計算機的機器中,看到今天所謂的「電腦」。

研究巴貝奇機器的電腦史學家史韋德(Doron Swade)宣稱:

「這是愛達留給後世的重要遺產,如果我們檢視歷史,研究這段轉變過程,那麼很明顯,轉變是由愛達1843年的論文所帶動的。」

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

愛達的「譯者評注G」,一步步寫下了計算伯努利數的程序。圖片來源:Wikimedia Commons
愛達的「譯者評注G」,一步步寫下了計算伯努利數的程序。圖片來源:Wikimedia Commons

為了說明分析機如何產生伯努利數,愛達先描述作業程序,然後再以圖表說明如何編寫程式碼、輸入機器。她提出「次常式」(執行特定工作〔例如計算餘弦或複利〕的指令序列,需要時可以把它插入更大的程式中)和「遞迴圈」(recursive loop,會自我重複的指令序列)的概念。這些方式都因為採用打孔卡而變得可行。愛達解釋,產生每個數字都需要用到七十五張卡片,接著把產生的數字再輸入機器,產生下一個數字,整個程序反覆進行。

她寫道:「顯然在計算一個接一個數字時,可以反覆使用相同的七十五張變數卡。」她想像以後會有程式庫儲存各種常用的次常式,而愛達在智識上的傳人,包括哈佛大學的霍普(G. Hopper,後來參與馬克一號的設計)、賓州大學的麥克納提(K. McNulty)和詹寧斯(J.Jennings)等人,在一個世紀後的確開發了許多次常式。此外,由於巴貝奇的機器可以根據已計算出來的中間結果,在一連串指令卡片中反覆「跳越」(jump),因此為今天所謂的「條件分支」(在符合特定條件時,改變指令路徑)奠定基礎。

巴貝奇協助愛達計算伯努利數,但往來信函顯示愛達深陷細節裡。「我為了推演伯努利數,一直鍥而不捨,抽絲剝繭。」她在七月寫道,而此時離譯文和評注付梓,只剩幾星期的時間。「我因為這些數字而深陷泥沼,苦惱萬分,眼看今天是不可能完成了,真是令人沮喪……我正處於混亂狀態。」

最後終於推演成功時,愛達加上了自己獨特的貢獻:用圖表說明如何一步步把演算法(包括兩個遞迴圈)輸入電腦。這是一張編了號的編碼指令清單,上面包含目的暫存器、操作和注解──今天任何使用C++ 語言編碼的人對此都很熟悉。

「我整天努力不懈,進行得很順利,」她寫信給巴貝奇,「你會大大讚賞這份圖表,我製作時可是小心翼翼。」從所有的信函中都可看出,表格是由愛達自行繪製的,唯一的助力來自她的丈夫,他雖然不懂數學,但願意把愛達以鉛筆繪製的表格用墨水筆重新描一遍。「L爵士正好心的幫我把它全部描上墨水,」她寫信給巴貝奇,「我起先必須用鉛筆製表。」

由於這份圖表,加上產生伯努利數的複雜流程,愛達受粉絲譽為「全世界第一位電腦程式設計師」。這個說法有一點牽強。因為至少在理論上,關於機器執行工作的可能流程,巴貝奇已經設計了二十多種說明。然而巴貝奇都沒有公開發表,而且也沒有清楚描述如何安排運算程序。因此持平而論,愛達對於產生伯努利數的演算法和程式的詳細描述,可說是公開發表的第一個電腦程式,而且講到底,那幾個英文縮寫終究是代表愛達.勒夫雷思。

愛達在〈譯者評注〉中還提出另一個重要觀念(起源則要回溯到瑪麗.雪萊在與拜倫勛爵共度的週末中創作的科學怪人故事),這個觀念引發了有關電腦和人工智慧最有趣的哲學議題:

機器能思考嗎?

愛達認為不能。

巴貝奇打造的這類機器可以依照指令執行工作,卻無法自行產生想法或意圖,「分析機完全沒有創造任何東西的意圖。」她在〈譯者評注〉中寫道:「只要我們知道如何對它發號施令,它就會一一執行。分析機能夠遵循分析結果,但沒有能力預測任何分析關係或真相。」

一個世紀以後,電腦先驅圖靈(Alan Turing)稱她的主張為「勒夫雷思夫人的反對意見」。


最終回:未盡的偉大理想

〈譯者評注〉是愛達生命中最燦爛的煙火。此作發表後,她的人生就開始走下坡,沒有成為夢想中的偉大科學家。但愛達以領先時代的思維,播下電腦的種子,並在百年後開花結果。

接著讀:
【創新者們】愛達‧拜倫:揭開電腦時代序幕的女人(五)


作者簡介

資料來源:Wikimedia Commons

《賈伯斯傳》作者、世界級權威傳記作家──華特‧艾薩克森(Walter Isaacson)

現任國際非營利組織亞斯本研究院(Aspen Institute)執行長暨總裁。該機構是美國當代最著名、最有影響力的政策研究與教育機構之一。

艾薩克森畢業於哈佛大學文學院,後以羅德學者身分在牛津大學進修,並取得哲學及政經碩士學位。曾任《時代》雜誌執行總編輯、CNN董事長兼執行長,在歐巴馬總統上任後,被指派擔任美國廣播理事會(BBG)主席。

艾薩克森不僅是傑出的記者,更是備受讚譽的傳記作家,寫作功力一流。著有《賈伯斯傳》(Steve Jobs)、《愛因斯坦》(Einstein: His Life and Universe)、《富蘭克林傳》(Benjamin Franklin: An American Life)、《季辛吉傳》(Kissinger: A Biography)等暢銷傳記。


cover

《賈伯斯傳》作者、世界級權威傳記作家

艾薩克森醞釀15年的科學史詩作品

跨越150年時空  生動描繪85位創新者們的超凡心智

科技、人文與藝術的交織

如詩般的科學、整合的團隊  才能改變世界

公開發表的第一個電腦程式

出自百年前一位熱愛數學的詩人拜倫之女—愛達之手

活在電腦與網路世界的我們  現都身處在她早就預言的境界


本文選自天下文化出版《創新者們》,愛達的故事是本書的第一章。沒人想得到電腦時代居然是由一位維多利亞時代的女人揭開序幕,但這樣的意想不到,或許也是創新者的特質。
艾薩克森在暢銷巨著《賈伯斯傳》之後,繼續以《創新者們》記錄輝煌的數位時代,但是《創新者們》不僅是數位革命的故事,更是創新突破的指南。
艾薩克森從浪漫詩人拜倫之女愛達開始說起,他也一一探索掀起數位革命的秀異之士,具備了什麼樣的特質,其中包括MIT的教授布許、早夭的天才圖靈、大科學家馮諾伊曼、英特爾的諾宜斯、微軟的比爾蓋茲、蘋果電腦的賈伯斯、發明WWW的柏納-李等人。
他揭露了這群天才、怪傑和駭客如何思考、為何如此有創造力,同時也寫出他們尋求合作的智慧,以及如何借助群體合作之力,使創造力更上層樓。
在這個亟需創新、創意與團隊合作的年代,《創新者們》清楚點明促使這一切發生的祕訣。