2020/2/3

重返歷史(十三): 史上第一位電腦程式設計師愛達·勒芙蕾絲(Ada Lovelace)

19世紀時,第一代芙蕾絲伯爵夫人(1st Countess of Lovelace)
愛達(Augusta Ada King-Noel, 1815-1852)英國著名的數學家兼作家

她是第一位看出電腦潛能,主張電腦不只能進行數學計算的人;
更因在著作中發表了查爾斯·巴貝奇(Charles Babbage, 1791-1871)
分析機所使用的白努利數(Bernoulli Numbers Bn)演算法註解,
而被公認為史上第一位程式設計師,對現代電腦科學發展產生重大影響。

部分參考自這篇文章


愛達·勒芙蕾絲畫像


1815年,第6代拜倫勛爵(6th Baron Byron,簡稱Lord Byron)
著名英國浪漫派詩人、革命家與劇院導演拜倫(George Gordon Byron)
為避免與同父異母姐姐Augusta Leigh亂倫的醜聞,
註: 當時傳聞Augusta Leigh女兒Elizabeth Medora Leigh
的父親其實是拜倫,而非其丈夫George Leigh。
與第11代溫特沃斯女爵(11th Baroness Wentworth,簡稱Lady Wentworth)
英國數學家安妮貝拉(Anne Isabella Milbanke,綽號Annabella Milbanke)結婚。
婚後的拜倫變本加厲,經常酗酒、欠債與家暴妻子安妮貝拉。

1815年12月10日愛達·拜倫(Augusta Ada Gordon Byron)出生,
拜倫因出生的不是兒子而發怒,與妻子的關係降到冰點,
甚至將Augusta Leigh帶來家裡住,豪不掩飾地在妻子面前亂倫。

1816年1月16日,安妮貝拉與拜倫離婚後,獨自扶養1個月大的愛達;
為杜絕"來自拜倫的劣根性",安妮貝拉教導女兒數學而忽略文學,
並對女兒進行詆毀父親的思想控制,更將拜倫醜聞傳遍全英國社交圈。
同年(1816年)4月21日,拜倫被迫簽下分居協議後便永遠離開英國。
註: 早在1816年3月,克萊爾·克萊爾蒙特(Claire Clairmont)
便因曾寄信給拜倫尋求"職涯建議"而相識,並於6月時發現自己懷孕。 
拜倫作品《恰爾德·哈羅爾德遊記(Childe Harold's Pilgrimage, 1812-1818)》
第三章讚美詩便以女兒愛達為靈感;其後也曾向第十三任博士提及此事。
(NuWho S12E08: The Haunting of Villa Diodati)

1824年4月19日,拜倫(36歲)逝世於希臘獨立戰爭(愛達當時僅8歲)。

蘇聯於1988年發行的詩人拜倫
誕生200周年紀念郵票


約莫此時,Master為19世紀送來了工程學革新之作--"銀女士(Sliver Lady)"
利用它將Kasaavin(光型態生物)轉換並傳輸至N-Space中進行間諜研究。

被Master送來19世紀的"銀女士"

"銀女士"會將Kasaavin(光型態生物)
轉換並傳送至N-Space來進行間諜研究


其第一個目標為電腦發展起點的關鍵兩人--愛達與巴貝奇。

1829年6月,愛達(13歲)因麻疹發作而首度全身行動癱瘓,
劇中解釋是因為被"銀女士"傳送來N-Space的Kasaavin(光型態生物)
會用自己的身體將她傳送至"Kasaavin的領域(Realm)"中研究,
以了解人類電腦發展史,並在研究結束後將她傳送回N-Space。

不知真相的愛達誤將"Kasaavin的領域"視為自己的大腦,
並將前來研究的Kasaavin當成帶領她進出自己大腦的守衛。

Kasaavin將愛達傳送至自己的領域中研究,
並因而造成了愛達的全身行動癱瘓


1819年~1822年間查爾斯·巴貝奇(Charles Babbage)
實作了小型的差分機,稱之為差分機0號(Difference Engine No.0)
其可以進行10進位制數字系統運算,並由搖動手桿給予動力。

其於1822年6月14日發表於皇家天文學會(Royal Astronomical Society)後,
隔年(1823年)在英國政府的1700元英鎊資助下啟動差分機計畫。

1824年,巴貝奇(33歲)獲得皇家天文學會金獎(Gold Medal)
1828年~1839年間,巴貝奇在劍橋大學擔任盧卡斯教授。
註: 盧卡斯數學教授席位(Lucasian Chair of Mathematics)
是英國劍橋大學(University of Cambridge)的一個榮譽職位。 
其是依據英國劍橋大學議會成員亨利·盧卡斯(Henry Lucas)遺囑所設,
授予對象為數理相關的研究者,且同一時間只授予一人。
差分機0號

差分機1號(Difference Engine No.1)由工匠Joseph Clement打造,
預計完工需要2萬5千個零件(大致均分計算與印刷),重達4噸。
其基本想法是利用機器將計算到印刷的過程全面自動化,
原理是利用N次多項式求值共通的N次階差特性帶動10進位運算。

然而儘管巴貝奇的設計是可行的,但該時代的金屬加工技術無法勝任,
直至10年後(1832年),巴貝奇只能拿出7分之1部分來展示,
但整個計畫已經嚴重超支(1842年中止計畫後清算為17500英鎊)。

因為家庭環境關係,愛達認識了許多科學家與作家並跟著他們學習,
受到母親的教育與父親的感性影響,自稱在做"詩意的科學"
1833年,愛達(17歲)透過數學家教Mary Somerville認識了巴貝奇(42歲)
當時計畫進行到可運算2階與3階數,並可提取二次方程式的根。

製作差分機期間,巴貝奇逐漸意識到建造更加通用的機器是可行的,
於是在同年間(1833年),便開始設計分析機(Analytical Engine)

7分之1部分差分機1號

劇中出現的巴貝奇與7分之1部分差分機1號


同年(1833年)年底,愛達(18歲)在與家教的不倫戀曝光之後私奔;
最終在母親安娜貝拉與其朋友聯手封鎖消息下,才不讓醜聞流傳開來。

1834年,愛達(18歲)在英國倫敦阿德萊德美術館(Adelaide Gallery)
的發明展中再度行動癱瘓,而被傳送至"Kasaavin的領域"中,
意外遇見了困在此地的第十三任博士,並將之解救回N-Space。

與Master的決戰之後,愛達隨博士穿過Kasaavin前往2020年
卻因其急抓住手而意外抵達1943年(第二次世界大戰時期)的法國巴黎
其對此時期的黑暗深感意外,聲稱自己一直很想回到到此地(指法國)。
註: 推測此為暗示愛達與素未謀面父親的關聯性。
在博士的協助下,愛達使用未來的掀蓋式手機播打電話並錄音,
更於抵達2020年後見證電腦可用來設計飛機的逃生說明書。

被博士送回1834年後,愛達不斷表明想要保留住看見未來科技的記憶,
但博士仍清除了其此經歷的記憶,並稱她不需要預視就能看見未來。
(NuWho S12E02: Spyfall II)

第十三任博士清除愛達此經歷的記憶後離開,
並向其保證她不需要預視就可以看清未來


1835年,愛達(19歲)嫁給了後來晉封第1代勒芙蕾絲伯爵
(1st Earl of Lovelace)威廉·金-諾爾(William King-Noel)

1837年,巴貝奇開始設計分析機(Analytical Engine)
這台機器由內存記憶體(可儲存1000個40位的10進位數)
控制流程(可執行條件及迴圈)算術邏輯單元所組成,
與現今的電腦架構非常類似,可以說是現代電腦的鼻祖

此分析機內所寫入的程式包含可以計算多項式、疊代公式、
高斯消去法和伯努利數等,可惜最終未被完整製造出來。

實驗性的部分分析機


1842年~1843年,愛達(26-27歲)花了9個月翻譯了
1篇義大利將軍、政治家與數學家費德里科·路易吉(Federico Luigi)
闡述巴貝奇分析機的論文《分析機概念》,並在其後加上詳盡的註記,
說明用分析機計算伯努利數的方法,被認為是史上第一個演算法
註: 部分歷史學家持反對意見,認為1836年~1837年
的巴貝奇私人筆記中,已有了更早的分析機用演算法。
其曾斷言未來分析機將可以處理更複雜的工作,如編曲或排版等,
但仍僅能依照人類指令運作,並無自我分析真理的能力。

因為靠翻譯所賺到的錢有限,愛達起了用差分機賭馬的念頭,
期望能夠透過數學運算來預測事物走向,是以數學計算運動賭局的先驅
儘管計算方式已是當時最先進,但因仍不足以做為可靠運算而賠產。

除了沉迷賭博之外,愛達更因鴉片酊成癮而未能即時發現癌症;
最終在1852年,其(36歲)為了治療子宮癌而死於失血過多
極其諷刺的是,她與素未謀面的父親拜倫死於相同的年齡與原因。

愛達所撰寫的伯努利數演算法註解


1871年,被後世喻為"電腦之父"的巴貝奇(80歲)
最終在未能完成分析機的遺憾中逝世;
《泰晤士報》甚至在訃文中取笑他的失敗。

1990年9月,近代蒸氣龐克的始祖小說《差分機》出版,
內容就是以巴貝奇的研究為基礎所寫成的,
而讓其也被後世推崇為"近代蒸氣龐克的始祖"

劇中查爾斯·巴貝奇與其對蒸氣龐克貢獻的暗示


1953年(愛達死後100年),《分析機概論》譯文筆記被重新公布。

1980年12月10日,美國國防部開發了一支高級軍用程式語言,
整合了美軍系統中上百種不同程式設計語言,提高除錯能力與效率,
並以Ada為該程式語言命名以紀念其對於現代電腦科技的貢獻。

此外,美國國防部標準局也用她的生日設立編號MIL-STD-1815

美國國防部高級軍用程式語言Ada


此外,每年10月13日被定為"愛達·勒芙蕾絲日(Ada Lovelace Day)"
時長50小時,用來表揚在理工科(包含科學(Science)、科技(Technology)、
工程(Engineering)與數學(Math),簡稱STEM)上表現傑出的女性。

2017年國際婦女節Google Doodle上的
傑出女性代表包含愛達·勒芙蕾絲