0

0
1

文字

分享

0
0
1

第一位程式設計師愛達·勒芙雷斯,能否改變分析機的命運?│《電腦簡史》 齒輪時代(二十一)

張瑞棋_96
・2020/07/13 ・3190字 ・閱讀時間約 6 分鐘 ・SR值 556 ・八年級

四十一歲的巴貝奇與十七歲的愛達相遇,會蹦出怎樣的火花?不,他們共同譜出的不是忘年戀曲,而是——電腦程式。愛達為了替巴貝奇的分析機宣傳,寫出了第一個白紙黑字的演算法,後人才知道巴貝奇設計出史上第一部可編程的通用計算機。然而他們兩人固然是相見恨晚,卻都生得太早;分析機在齒輪時代註定無用武之地,只能成為兩位時代先驅的見證。

本文為系列文章,上一篇請見:分析機——史上第一部通用型計算機終將誕生?│《電腦簡史》 齒輪時代(二十)

繼承父親詩人特質與母親數學天分的愛達·拜倫

愛達·勒芙雷斯結婚前本姓拜倫 (Byron),是的,她的父親就是著名的浪漫詩人拜倫。拜倫婚後仍到處拈花惹草,甚至與同父異母的妹妹發展出不倫戀。 1816 年,拜倫夫人終於無法忍受,帶著剛滿月的愛達離家出走,躲回娘家。幾個月後兩人正式離婚,結束僅一年多的婚姻,拜倫遠走他鄉,躲避閒言閒語,卻從此沒返回英國,再也未見到女兒。

拜倫夫人沒有再婚,獨自扶養愛達長大。她對愛達的教養特別著重於數學,一方面是因為拜倫夫人個人對數學的熱愛,一方面則是擔心愛達遺傳到父親的濫情衝動,希望能藉此抑制她這方面的特質。

愛達·勒芙蕾絲27歲時的銀版相片。圖/wikipedia

1833 年 6 月,拜倫夫人帶著才十七歲的愛達參加巴貝奇的社交沙龍。此時的巴貝奇位居劍橋大學的盧卡斯數學席位(Lucasian Chair of Mathematics),這個榮譽席位向來都是給予當世最負盛名的數理學者,例如牛頓和霍金也都曾擔任盧卡斯教授。因此這個於巴貝奇家中定期舉辦的沙龍,總是聚集許多名流、學者,或有才藝演出,或有新奇事物與發明的展示;巴貝奇也大方展出因經費中止而暫停開發的差分機。

愛達乍見差分機就眼睛一亮,在了解它的功能與原理後更讚嘆不已。愛達的數學天賦讓她體會到其中以簡馭繁之美,也看到計算機的未來性。她毫不掩飾對巴貝奇的崇拜之心,四十一歲的巴貝奇也對這個少數懂他的聰慧女子極為賞識,兩人此後時常交換心得,即使愛達十九歲結婚成為勒芙雷斯夫人後,仍是如此。

愛達之前隨著母親參觀機械展時,就曾看過雅卡爾織布機,相當了解打孔卡片的作用。因此當她於 1836 年聽聞巴貝奇要用於分析機時,馬上領略箇中之妙,熱烈希望也能參與其中,助一臂之力。幾年後,愛達果然如願以償,也因此讓她在歷史上留名。

不只是程式設計師,更有超越巴貝奇的洞見

分析機在 1839 年底前就已大致設計完成(往後幾年巴貝奇做的只是進一步優化,包括精簡零件與提高運算速度),可以按圖施工,然而英國政府仍然興趣缺缺,讓巴貝奇對政府的短視忿忿不平。所以當他 1840 年受邀前往義大利演講,不但欣然前往,更毫不保留地詳細介紹分析機的構造與原理。

當地一位年輕數學家梅拉布瑞亞 (Luigi Menabrea,後來成為義大利首相) 有意撰寫專文介紹分析機,巴貝奇當然樂見其成,不厭其煩地予以解說指導。最後這篇報導於 1842 年發表於法國學術期刊,是第一篇關於分析機的介紹。

梅拉布瑞亞的報導與愛達的評注。圖/截圖自 fourmilab

愛達見到這篇文章即主動翻譯成英文,希望也能讓英國同胞了解分析機的偉大。巴貝奇讀了譯稿後大表讚許,鼓勵她多做一些補充。結果愛達寫了多達一萬九千字,篇幅是梅拉布瑞亞本文的兩倍半。

正是在這篇〈譯者評注〉中,愛達為了說明分析機如何算出白努利數 (Bernoulli numbers) ,一步一步地寫出完整程序。這道程序即相當於今日的演算法,而且已經具有「迴圈」 (Loop,一種迭代計算,每次的計算結果都是下次迭代的初始值) ,以及「次常式」 (Subroutine,一段執行特定運算的小程式,由主程式呼叫執行),這兩個現代電腦程式中常用的技巧。愛達因此才被譽為史上第一位程式設計師。

不過也有人不以為然,畢竟巴貝奇在設計分析機時,就曾模擬過多種運算,也就是說他實際已經完成了許多程式,只不過沒有公諸於世。因此嚴格來說,巴貝奇比愛達更有資格稱得上第一位程式設計師。縱使如此,愛達在〈譯者評注〉中仍展現了無與倫比的洞見,這是巴貝奇自己都未能察覺的。

在巴貝奇心中,分析機就是處理數字的機器,但愛達卻看出分析機能做的不僅如此。她如此寫道:

分析機也能處理數字以外的事物,只要它們之間的基本關係可以用抽象的科學符號表達,應該就能輕易轉換為符合分析機機制與運作概念的實際動作。

此外,或許是得自拜倫的遺傳,愛達還以頗具詩意的手法形容分析機的能耐:

就像雅卡爾織布機編織出花與葉,分析機能編織出代數的模式。

處理抽象符號與底層模式在當時可能無人理解,但如今已是現代電腦的日常。愛達的目光如此之遠,可惜她的生命太過短暫。她後來罹患子宮癌,卻因為醫生用放血療法治療,導致失血過多身故,年僅 36 歲。

差分機二號。圖/wikipedia

分析機仍不受青睞,是價格太高、需求太少的老問題?

愛達的翻譯與評注並未發揮作用。眼見分析機得不到支持,巴貝奇於 1847 年又回頭去改進差分機。他費時兩年完成「差分機二號」的設計,可以計算 31 位數,零件卻只需原始差分機的三分之一,希望這能讓英國政府回心轉意。但英國政府對他早已死心,巴貝奇始終無法獲得資金實現構想。

反倒一位瑞典發明家舒茲(Per Georg Scheutz)於 1834 年讀了巴貝奇發表第一代差分機的文章後,按圖索驥著手打造分析機,後來獲得瑞典政府資助,成功完成完整的全尺寸差分機,並於 1855 年的巴黎萬國博覽會公開展示。巴貝奇也去現場看了,當他觸摸這台機器時,心情應該是欣慰與苦澀參半吧。

除了舒茲的差分機,十九世紀下半葉陸續還有許多不同的差分機問世,都不脫巴貝奇的設計,但最後都以失敗收場。並非巴貝奇的原始設計有問題,倫敦科學博物館就於 2002 年打造出差分機二號,一如巴貝奇的構想運作,吐出正確無誤的答案。當時那些山寨差分機的確也都能算出對數表等各種數值表,問題在於投資效益不敷成本,還不如採取德普羅尼的老方法,用差分法交給一群計算員用手工計算。

表面看起來,這似乎再度反映出自巴斯卡以降,計算機始終面臨的老問題:產品價格太高、市場需求太少。

但事實上,巴貝奇所處的十九世紀中葉,已經不只是編製數值表或天文學家才需要大量計算。當時倫敦的銀行清算中心就有數百名計算員,每天要結算銀行之間的往來。而隨著鐵路的大幅擴建,載送的乘客與貨物快速增長(英國的載客人次從 1855 年的一億一千萬增加到 1900 年的十一億一千萬),鐵道清算中心也有近千名計算員,處理不同鐵道公司彼此之間的結算。那麼,為什麼差分機仍不受他們青睞?

以過去的工資來說,人工相對划算。圖/wikipedia

機械計算機的宿命,齒輪時代終要結束

追根究柢,所謂不符投資效益,背後隱藏的技術問題才是真正原因。差分機的運轉是靠齒輪、轉軸、彈簧、鉤環等機械零件,運轉速度有其極限,計算速度也因此受限,再怎麼快也比不過數百名計算員同時計算;而以當時的工資,還是用人工划算多了。必須等到進入二十世紀,各式電磁零件發明後,電子計算機才能提供人力遠遠不及的運算能力。

用齒輪打造的機械計算機受限於物理原理,註定不合時宜,無法生存。

巴貝奇這位超越時代的天才不幸生得太早,儘管他已預見計算機的重要性,甚至設計出已具現代電腦雛型的分析機,無奈技術面與市場面都還未就緒,他的傑作只能成為空中樓閣,徒留三百張設計圖與數千頁的筆記做為見證。另一個殘酷的事實是,他的畢生心血宛如浪花泡沫,除了打孔卡片,什麼也未能傳承給後世。

新一代計算機所用的是截然不同的機電零件,巴貝奇設計的齒輪架構毫無幫助。計算機的齒輪時代終究要畫上句點,讓位給全新的數位時代。

  • 註:白努利數是從 1 開始,連續正整數的冪次和。可以寫成 Sm(n)=1m + 2m + 3m +……+ nm

文章難易度
張瑞棋_96
423 篇文章 ・ 325 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。浮沉科技業近二十載後,退休賦閒在家,當了中年大叔才開始寫作,成為泛科學專欄作者。著有《科學史上的今天》一書;個人臉書粉絲頁《科學棋談》。


1

4
0

文字

分享

1
4
0

發炎性腸道疾病的獵奇療法:來一杯「鉤蟲卵」吧!——《我們為什麼還沒有死掉?》

麥田出版_96
・2021/10/24 ・2290字 ・閱讀時間約 4 分鐘

• 作者/伊丹.班—巴拉克
• 譯者/傅賀

上一節,我提到了犬蛔蟲,我好不容易才忍住沒有提另外一種寄生蟲:蠕蟲。這類寄生蟲成員眾多,個個都是入侵或躲避免疫系統的行家,牠們有許多花招可以幫助牠們在人體內存活下來、繁榮昌盛。牠們之所以需要這些花招,是因為作為寄生蟲,牠們的個頭太大了,免疫系統不可能看不到牠們。即使是較小的蠕蟲物種,也有幾公釐長,跟病毒或細菌比起來,可謂龐然大物。

蠕蟲感染者的腸道 X 光照片,圖中黑線都是蠕蟲。圖/WIKIPEDIA by Secretariat

在世界上許多較貧窮的地區,由於衛生條件較差,蠕蟲帶來了無盡的痛苦:據統計,世界上約四分之一的人口感染了某種類型的蠕蟲。衛生機構正在嘗試使用預防、清潔的手段和抗蟲藥物來緩解疫情。與此同時,在已開發國家,人們已經成功消滅了蠕蟲疾病。

也許有點過於成功。

免疫反應有幾種不同的形式。我們理解得最透徹的兩種是 Th1 和 Th2(Th 代表輔助 T 細胞,這是一種重要的 T 細胞)。它們的細節比較複雜,但大體畫面是這樣的:這兩種反應處理的是不同類型的感染——Th1 類型的輔助 T 細胞會向吞噬細胞和胞毒 T 細胞發出啟動訊號。聽到「集結號」之後,這些細胞會追蹤並摧毀任何被病毒或特定細菌感染的人類細胞。與此相反,Th2 反應是直接攻擊那些尚未入侵人體的病原體,Th2 細胞會啟動一種叫作嗜酸性球(eosinophils)的免疫細胞,來殺死蠕蟲。只要一種 Th 反應上調,另外一種就會下調。這種機制是合理的,因為這樣可以節約身體的資源,並降低免疫反應的副作用。

TH2 細胞(左)正在被 B 細胞(右)活化。圖/WIKIPEDIA

蠕蟲激發的正是 Th2 反應。有人因此認為,此消彼長,在那些蠕蟲病發病率較高的國家,過敏反應( Th1)的概率恰恰因此更低。(在過去幾十年裡,已開發國家裡出現過敏反應的人越來越多)。流行病調查顯示:蠕蟲越是肆虐,過敏反應就越少。

蠕蟲採取的各種躲避和反擊策略,以及牠們的存在本身,都會對免疫系統產生影響。一個效果就是牠們會抑制發炎反應——要知道,世界上有許多人巴不得他們的發炎反應受到一點抑制呢。

因此,許多患有慢性自體免疫疾病(比如,發炎性腸道疾病)的人現在正在接受蠕蟲療法(用的是鉤蟲),針對其他發炎疾病的臨床治療也正在測試。

Necator Americanus L3 x1000 12-2007.jpg
鉤蟲, 被用在慢性自體免疫疾病的蠕蟲療法 。圖/WIKIPEDIA

這聽起來有點怪誕:有人竟希望——不,堅持要——被寄生蟲感染。他們向醫生求助,醫生給他們的藥是一小杯鉤蟲卵,然後他們就喝下去了。在他們的胃裡,這些卵會孵化,幼蟲會爬出來。然後,不知怎的,患者就感覺好多了。當然,鉤蟲不會存活很久(醫生選擇的物種並不會在人體腸道內存活很久,否則就會有新的麻煩了),因此,過一段時間,患者又要接受新一輪的感染,以維持免疫系統的平衡。

當然,如果我們可以不用蟲子(比如使用其中的有效成分,類似某種「鉤蟲萃取物」的藥物)就可以治療疾病,那就更好了。但是,目前還沒人知道到底哪些成分重要——而且似乎要見效,必須要用活的蠕蟲。

為了解釋關於蠕蟲的這個情況,研究人員提出了「老朋友假說」(old-friends hypothesis),這是「衛生假說」的一個改良版。你也許聽說過「衛生假說」,它已經流傳了很長一段時間,但直到一九八九年才由大衛.斯特拉昌(David Strachan)正式提出。他進行的流行病學調查顯示,那些在農場裡或田野邊上長大的孩子要比那些在城市裡長大的同齡人更少患上過敏。從此之後,「衛生假說」就被用於描述許多不同的觀念,其中一些得到了研究支持,而另一些則沒有。

總的來說,老朋友假說的大意是,人類的免疫系統是在一個充滿微生物的世界裡發育的,我們經常要跟許許多多的微生物打交道。我們已經看到了免疫系統跟腸道微生物的密切聯繫,但是這樣的親密關係也可能會擴展到病原體。免疫系統已經對一定程度的接觸和較量習以為常了。現代西方社會,是人類有史以來最愛清潔、刷洗、消毒的階段,我們受感染的機會大大減少——但這破壞了免疫系統的平衡。我們的免疫系統習慣了跟某些病原體對抗,一旦沒有了對手,它就會工作失常。因此,嬰兒和小朋友也許最好要接觸一點髒東西。

現代社會,是人類有史以來最愛清潔及消毒的階段,我們受感染的機會大大減少,但這破壞了免疫系統的平衡。圖/Pixabay

顯然,你不希望你的孩子臉上有霍亂弧菌,雖然研究人員在二○○○年發現結核病對預防氣喘有幫助,但這並不意味著你要讓孩子染上結核。但是「髒東西」裡含有許多常見病原菌的減毒突變株(不再那麼有害),這可能對孩子的身體有益。沒有它們,孩子日後也許更容易患上免疫疾病——比如過敏和自體免疫病。

問題是,要多乾淨才算乾淨,要多髒才算髒呢?抱歉,我真的不知道答案。

——本文摘自《我們為什麼還沒有死掉?》,2020 年 9 月,麥田

所有討論 1
麥田出版_96
156 篇文章 ・ 375 位粉絲
1992,麥田裡播下了種籽…… 耕耘多年,麥田在摸索中成長,然後努力使自己成為一個以人文精神為主軸的出版體。從第一本文學小說到人文、歷史、軍事、生活。麥田繼續生存、繼續成長,希圖得到眾多讀者對麥田出版的堅持認同,並成為讀者閱讀生活裡的一個重要部分。
網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策