0

1
0

文字

分享

0
1
0

計算機先驅:巴貝奇與他的小型差分計算機——《資訊大歷史》

azothbooks_96
・2022/07/01 ・3045字 ・閱讀時間約 6 分鐘

查爾斯.巴貝奇

查爾斯.巴貝奇(Charles Babbage),1792 至 1871 年。

1843 年,一位英國數學家提出了分析機原理,這個構思將在一百零三年後由後人付諸實踐,並有了一個為大家熟知的名字——計算機(今日俗稱電腦)。很遺憾,查理斯.巴貝奇終其一生也沒能實現造出分析機的願望,但他依舊是當之無愧的計算機先驅。

直到今天,許多計算機書籍扉頁裡仍然刊載著他的照片,以表紀念。

巴貝奇發明小型差分計算機

一七九二年,巴貝奇出生於倫敦一個富有的銀行家家庭,十八歲進入著名的劍橋大學三一學院,成為牛頓的校友。後來他擔任了牛頓擔任過的「盧卡斯數學教授」職務。在進入大學之前,他就展現出極高的數學天分。

進入大學後,巴貝奇發現,當時英國人普遍接受的牛頓建立在運動基礎之上的微積分,不如萊布尼茨基於符號處理的微積分那樣便於理解和傳播。為了推廣已被歐洲大陸普遍接受的萊布尼茨的微積分,他和其他人一同創辦了英國的(數學)分析學會。

不過巴貝奇並不是一個安分的學生,他一方面顯現出超凡的智力,另一方面又不按照要求完成學業,為此他不得不轉了一個學院,才能繼續學業。在學校裡,他還對很多超自然的現象感興趣。

延伸閱讀:巴貝奇誕辰|科學史上的今天:12/26

如果不是趕上工業革命,巴貝奇或許會尋找某個傳統的數學領域或者自然哲學領域做一輩子研究,並且留下一個巴貝奇定律或者巴貝奇定理。但是,工業革命的大背景,讓他把畢生精力和金錢都投入研究一種能夠處理資訊的機械中。

這也不奇怪,因為工業革命為資訊處理提供了思想上的依據、技術上的條件和廣闊的市場。工業革命是人類歷史上最偉大的事件。它不僅第一次讓人類從此進入可持續發展的時代,也改變了人們的思想。人類從相信神,到今天開始變得自信起來,相信這個世界是確定的、有規律的,而自己能夠發現世界上所有的規律。

早在牛頓時代,著名物理學家玻意耳(Robert Boyle)在總結牛頓等人的科學成就之後,就提出了「機械論」,也被稱為「機械思維」。

提出「機械論」的玻意耳(Robert Boyle)。圖/Wikipedia

玻意耳等人(包括牛頓、哈雷等)認為,世間萬物的規律都可以用機械運動的規律來描述,包括蒸汽機和火車在內的工業革命中那些最重要的發明,都受益於機械思維。人們熱衷於用機械的方法解決問題,從精密的航海導航,到能夠奏樂的音樂盒,再到能織出各種圖案的紡織機。

既然能想到的所有規律都可以用運動規律來描述,那麼就很容易想到讓具有特殊結構的齒輪組運動來完成計算,這便是設計機械計算機的思想基礎。

其實,這種想法早在十七世紀就有人嘗試過。法國數學家帕斯卡(Blaise Pascal)發明了一種手搖計算器——雖然有時人們將它稱為最早的機械計算機,但實際上它和我們今天理解的電腦概念沒有太多相似之處,稱之為「計算器」更為恰當。

帕斯卡計算器從外觀上看有上下兩排旋鈕,每個旋鈕上都刻著○至九這十個數字。在做加減法時,只要將參加運算的兩個數字分別撥到相應的位置,然後轉動手柄,計算器裡的一組組齒輪就會轉動,完成計算。

帕斯卡計算器。圖/Wikipedia

帕斯卡計算器最初只能做加法,後來經過改良, 可以做減法和乘法, 但做不了除法。在帕斯卡之後,萊布尼茨改良了計算器。他發明了一種以他名字命名的轉輪「萊布尼茨輪」,方便實現四則運算中的進位和借位。

到了十九世紀初,經過近兩個世紀的改進,機械計算器已經能夠完成四則運算,但是計算速度很慢,精度也不夠高,而且設備造價昂貴。不過,這種計算器更大的缺陷在於,對於複雜的運算(比如對數運算和三角函數運算)都做不到。

十九世紀機械工業的發展需要進行大量的複雜計算,比如三角函數的計算、指數和對數的計算等。在微積分出現之前,完成這些函數的計算是幾乎不可能的事。

十八世紀之後,歐洲數學家用微積分找到了很多計算上述函數的近似方法,不過這些方法的計算量極大,需要很長的時間,而且當時除了數學家,一般人是完成不了那些計算的。為了便於工程師在工程中和設計時完成各種計算,數學家設計了數學用表,如此一來工程師就可以從表中直接查出計算的結果。

不過,那個時代的數學用表錯誤百出,為生產和科學研究帶來了很多麻煩。而這個問題很難避免,因為手算很難保證完全不出錯。如果很多數學家分別獨立計算,還可以比對結果發現錯誤。但是巴貝奇發現,那些不同版本的數學用表都是抄來抄去,而犯的錯也都一樣。

因此,巴貝奇想設計一種機械來完成微積分的計算,然後用它來計算各種函數值,得到一份可靠的數學用表。當時他只有二十二歲。

延伸閱讀:兩艘軍艦換不到兩噸重的計算機?巴貝奇與差分機|《電腦簡史》 齒輪時代(十八)

在隨後的十年裡,巴貝奇造出來一台有六位精度(巴貝奇最初的目標是達到八位精度)的小型差分計算機。隨後巴貝奇用它算出了好幾種函數表,用於解決航海、機械和天文方面的計算問題。

值得指出的是,巴貝奇的這次成功受益於工業革命的成就——當時機械加工的精度比瓦特時代已經高出了很多,這讓巴貝奇能夠加工出各種尺寸獨特的齒輪。

但是,當時並沒有二十世紀的精密加工技術,製造小批量特製齒輪和機械部件的成本高、難度大,這給巴貝奇後來的工作帶來了諸多不便。

巴貝奇小型差分計算機的部分模組。圖/Wikipedia

不過,首次成功還是讓巴貝奇獲得了英國政府的資助,用以打造一台精度高達二十位的計算機。

幾年後,他又獲得了劍橋大學盧卡斯數學教授的職位,讓他有了穩定的收入。在此之前,他一直在花自己繼承的十萬英鎊遺產。勝利女神似乎正向他招手,但接下來的時日,他在計算機研究方面一籌莫展。

從表面上看,巴貝奇遇到的困難是因為那台差分機太複雜了,裡面有包括上萬個齒輪的二點五萬個零件,當時的加工水準根本無法製造。但更本質的原因是,巴貝奇並不真正理解計算的原理。他不懂得對於複雜的計算來說,不是要把機器做得更複雜,而是要用簡單的計算單元來實現複雜的計算。

當然,在那個年代沒有人瞭解這些。作為現代計算機基礎理論的布林代數要再等十幾年才會被提出來,而且要再過近一個世紀,才會被應用到計算技術中。

後人根據巴貝奇的設計打造而成的差分機。圖/Wikipedia

——本文摘自《資訊大歷史:人類如何消除對未知的不確定》,2022 年 6 月,漫遊者文化,未經同意請勿轉載。

文章難易度
azothbooks_96
51 篇文章 ・ 19 位粉絲
漫遊也許有原因,卻沒有目的。 漫遊者的原因就是自由。文學、人文、藝術、商業、學習、生活雜學,以及問題解決的實用學,這些都是「漫遊者」的範疇,「漫遊者」希望在其中找到未來的閱讀形式,尋找新的面貌,為出版文化找尋新風景。

0

2
2

文字

分享

0
2
2
【成語科學】運籌帷幄:古人不用筆算數學?一隻小竹棍居然可以開三次方根、解方程式!
張之傑_96
・2023/07/28 ・1261字 ・閱讀時間約 2 分鐘

劉邦(漢高祖)打敗項羽,取得天下,建立漢朝。一天舉行盛大宴會,他問群臣:「我為什麼會勝?項羽為什麼會敗?」群臣都說劉邦善於用人,項羽恰恰相反。劉邦點頭稱是,司馬遷在《史記‧高祖本紀》記下劉邦說的一段話

夫運籌帷幄之中,決勝於千里之外,吾不如子房。

帷幄,指營帳子房,是張良的字籌,指算籌,是古時的運算工具。這段話的意思是說,張良在營帳中運用算籌計算,就能決勝千里之外,這方面我(劉邦)不如張良。因此,這個成語的原意是在營帳中策劃謀略,後來泛指謀劃或指揮。讓我們造兩個句吧。

要不是孔明運籌帷幄,劉備哪有三分天下的機會!

在里長的運籌帷幄下,為社區更新取得有利的條件。

不用筆,那用什麼?

成語的出典說了,句子也造了,接下去就要談談這個成語的科學意義。我們現在演算數學,都是用筆在紙上運算,也就是筆算。古人呢?古人從來不用筆算,而是使用工具運算。元代以前使用算籌,元代以後使用算盤

算盤一直使用到 1980 年代,小朋友家裡可能還有。至於算籌,只有少數博物館裡才能看到。

國立自然科學博物館內藏的漢朝骨製算籌複製品。圖/wikipedia

其實算籌只是一根根小竹棍,外形和筷子差不多。小朋友千萬不要看輕這些小竹棍,中國古代的數學曾經輝煌一時,就是用這些小竹棍運算出來的。

驚人的運算能力 曾經輝煌一時的數學成就

算盤被木框框住,計算能力受到限制。凡是算盤能算的,算籌一定能算。反過來,算籌所能算的,算盤就不見得勝任。算盤主要是生意人用的,算籌可作各種運算,數學家喜歡用它。中國的數學宋代發展到顛峰,元代以後不進反退,到了明代已沒人懂得宋代的數學了。

算籌平時放在算袋裡,繫在腰上,運算時取出,在席子上或桌子上擺弄。除了加減乘除,還能開平方、開立方,甚至解高次方程等高中才學得到的數學!關於算袋,有個小故事,傳說秦皇島東巡時,把算袋扔到海裡,變成了烏賊,所以烏賊又稱算袋魚。

十四世紀朱世傑《四元玉鑒》中的「古法七乘方圖」,紀錄宋代展出的「楊輝三角形」,就是我們現在所說的「巴斯卡三角形」。圖中一根根長條物就是當時用來計算的「算籌」。楊輝三角形的產生也顯見宋代數學已經發展出高次多項式的乘法。圖/wikipedia

數學家用算籌運算時,有時擺弄得極快,不要說外行人,連內行人的眼睛幾乎都跟不上,所以古人用「運籌如飛」來形容。因此,用算籌運算,運算過程不會留下記錄,一陣擺弄之後,最後得出答案。這對一般才質的人來說,學起來的確有點困難。

張之傑_96
96 篇文章 ・ 221 位粉絲
張之傑,字百器,出入文理,著述多樣,其中以科普和科學史較為人知。

0

1
0

文字

分享

0
1
0
如果子彈飛到最高點時,伸手抓住會怎樣?——《如果這樣,會怎樣?2》
天下文化_96
・2023/05/10 ・1577字 ・閱讀時間約 3 分鐘

有什麼方法可以開槍讓子彈在空中飛,然後安全的用手接住?比方說,開槍射擊的人在平地,而接住子彈的人在山上,位於射程的最遠處。
——艾德蒙.許(Edmond Hui),倫敦

接住!

「接住子彈」是舞台上的特技,表演者看似接住射擊出來飛到一半的子彈——通常是用牙齒接住的。當然啦,這是錯覺,像那樣接住子彈是不可能的。

但在適當的條件下,你可能接得住子彈,只是要有很多的耐心和運氣。

直直向上射擊的子彈最終會達到最大高度。子彈可能不會完全停止;比較可能的是,它會以每秒若干公尺的速率往旁邊偏移。

如果有人舉槍向上射擊子彈……。

……而你乘著熱氣球在射程範圍的正上方閒晃……

……當子彈飛到最高點時,你伸手出去抓住子彈,這是有可能的。

你不應該做的事情

(清單已更新)

#156,812 吃洗衣膠囊球

#156,813 在雷雨中踩高蹺

#156,814 在加油站放煙火

#156,815 餵你的貓吃「與人類手部形狀質地」一模一樣的零食

#156,816 在間歇泉噴口上方彎腰低頭想要一窺究竟

#156,817(新增!)搭乘熱氣球飛越射程範圍

如果你在子彈弧線的最高點成功抓住子彈,或許你會注意到奇怪的事情:子彈除了很燙之外,還會自旋。

它會失去向上的動量,但不會失去自旋角動量;子彈仍然具有槍管造成的自旋。

當子彈射擊在冰面時,可以很明顯的看到這種效應。正如數十部 YouTube 影片所證實的那樣,我們常發現射進冰中的子彈仍在快速自旋。你必須緊緊抓住子彈,不然它可能會跳出你的手掌心。

如果你沒有熱氣球,在山頂很有機會行得通。加拿大索爾山(Mount ­Thor)的垂直落差有 1,250 公尺。根據「近距離對焦研究」(Close Focus Research)彈道學實驗室的數據,這幾乎剛好是 0.22 長步槍子彈直直向上射擊會飛的高度。

如果你想要用更大的子彈,就需要更大的落差;AK-47 子彈向上射擊可能超過 2 公里。地球上沒有那麼高的垂直懸崖,因此你需要以某個角度發射子彈,結果子彈在弧線頂點會具有顯著的橫向速度。不過,夠硬的棒球手套也許有辦法接住子彈。

其中任何一種情境下,你都必須非常走運。由於子彈的弧線有不確定性,你恐怕必須射擊數千發子彈才能碰巧接個正著。

等到那個時候,你可能會發現自己招來了某些人的關注。

——本文摘自《如果這樣,會怎樣?2:千奇百怪的問題 嚴肅精確的回答》,2023 年 3 月,天下文化出版,未經同意請勿轉載。

天下文化_96
129 篇文章 ・ 613 位粉絲
天下文化成立於1982年。一直堅持「傳播進步觀念,豐富閱讀世界」,已出版超過2,500種書籍,涵括財經企管、心理勵志、社會人文、科學文化、文學人生、健康生活、親子教養等領域。每一本書都帶給讀者知識、啟發、創意、以及實用的多重收穫,也持續引領台灣社會與國際重要管理潮流同步接軌。

2

2
2

文字

分享

2
2
2
買樂透真的可以賺錢?大數法則揭示了賭博的真相!——《統計,讓數字說話》
天下文化_96
・2023/03/05 ・2394字 ・閱讀時間約 4 分鐘

  • id S. Moore、諾茨 William I. Notz
  • 譯者:鄭惟厚、吳欣蓓

什麼是大數法則?

期望值的定義是:它是可能結果的一種平均,但在計算平均時,機率大的結果占的比重較高。我們認為期望值也是另一種意義的平均結果,它代表了如果我們重複賭很多次,或者隨機選出很多家戶,實際上會看到的長期平均。這並不只是直覺而已。數學家只要用機率的基本規則就可以證明,用機率模型算出來的期望值,真的就是「長期平均」。這個有名的事實叫做大數法則。

大數法則
大數法則(law of large numbers)是指,如果結果為數值的隨機現象,獨立重複執行許多次,實際觀察到的結果的平均值,會趨近期望值。

大數法則和機率的概念密切相關。在許多次獨立的重複當中,每個可能結果的發生比例會接近它的機率,而所得到的平均結果就會接近期望值。這些事實表達了機遇事件的長期規律性。正如我們在第 17 章提過的,它們是真正的「平均數定律」。

大數法則解釋了:為什麼對個人來說是消遣甚至是會上癮的賭博,對賭場來說卻是生意。經營賭場根本就不是在賭博。大量的賭客贏錢的平均金額會很接近期望值。賭場經營者事先就算好了期望值,並且知道長期下來收入會是多少,所以並不需要在骰子裡灌鉛或者做牌來保證利潤。

賭場只要花精神提供不貴的娛樂和便宜的交通工具,讓顧客川流不息進場就行了。只要賭注夠多,大數法則就能保證賭場賺錢。保險公司的運作也很像賭場,他們賭買了保險的人不會死亡。當然有些人確實會死亡,但是保險公司知道機率,並且依賴大數法則來預測必須給付的平均金額。然後保險公司就把保費訂得夠高,來保證有利潤。

  • 在樂透彩上做手腳

我們都在電視上看過樂透開獎的實況轉播,看到號碼球上下亂跳,然後由於空氣壓力而隨機彈跳出來。我們可以怎麼樣對開出的號碼做手腳呢? 1980 年的時候,賓州樂透就曾被面帶微笑的主持人以及幾個舞台工作人員動了手腳。

他們把 10 個號碼球中的 8 顆注入油漆,這樣做會把球變重,因此可保證開出中獎號碼的 3 個球必定有那 2 個沒被注入油漆的號碼。然後這些傢伙就下注買該 2 個號碼的所有組合。當 6-6-6 跳出來的時候,他們贏了 120 萬美元。是的,他們後來全被逮到。

歷史上曾有主持人在樂透上做手腳,後來賺了 120 萬美元隨後被逮捕。圖/envatoelements

深入探討期望值

跟機率一樣,期望值和大數法則都值得再花些時間,探討相關的細節問題。

  • 多大的數才算是「大數」?

大數法則是說,當試驗的次數愈來愈多,許多次試驗的實際平均結果會愈來愈接近期望值。可是大數法則並沒有說,究竟需要多少次試驗,才能保證平均結果會接近期望值。這點是要看機結果的變異性決定。

結果的變異愈大,就需要愈多次的試驗,來確保平均結果接近期望值。機遇遊戲一定要變化大,才能保住賭客的興趣。即使在賭場待上好幾個鐘頭,結果也是無法預測的。結果變異性極大的賭博,例如累積彩金數額極大但極不可能中獎的州彩券,需要極多次的試驗,幾乎要多到不可能的次數,才能保證平均結果會接近期望值。

(州政府可不需要依賴大數法則,因為樂透彩金不像賭場的遊戲,樂透彩用的是同注分彩系統。在同注分彩系統裡面,彩金和賠率是由實際下注金額決定的。舉例來說,各州所辦的樂透彩金,是由全部賭金扣除州政府所得部分之後的剩餘金額來決定的。賭馬的賠率則是決定於賭客對不同馬匹的下注金額。)

雖然大部分的賭博遊戲不及樂透彩這樣多變化,但要回答大數法則的適用範圍,較實際的答案就是:賭場的贏錢金額期望值是正的,而賭場玩的次數夠多,所以可以靠著這個期望值贏錢。你的問題則是,你贏錢金額的期望值是負的。全體賭客玩的次數合起來算的話,當然和賭場一樣多,但因為期望值是負的,所以以賭客整體來看,長期下來一定輸錢。

然而輸的金額並不是由賭客均攤。有些人贏很多錢,有些人輸很多,而有些人沒什麼輸贏。賭博帶給人的誘惑,大部分是來自賭博結果的無法預測。而賭博這門生意仰賴的則是:對賭場來說,結果並非不可測的。

對賭場來說,贏錢金額期望值為正。圖/envatoelements
  • 有沒有保證贏錢的賭法?

把賭博很當回事的賭客常常遵循某種賭法,這種賭法每次下注的金額,是看前幾次的結果而定。比如說,在賭輪盤時,你可以每次把賭注加倍,直到你贏為止—或者,當然,直到你輸光為止。即使輪盤並沒有記憶,這種玩法仍想利用你有記憶這件事來贏。

你可以用一套賭法來戰勝機率嗎?不行,數學家建立的另一種大數法則說:如果你沒有無窮盡的賭本,那麼只要遊戲的各次試驗(比如輪盤的各次轉動)之間是獨立的,你的平均獲利(期望值)就會是一樣的。抱歉啦!

  • 高科技賭博

全美國有超過 700,000 台吃角子老虎(拉霸)。從前,你丟硬幣進去再拉下把手,轉動三個輪子,每個輪子有 20 個圖案。但早就不是這樣了。現在的機器是電動遊戲,會閃出許多很炫的畫面,而結果是由隨機數字產生器決定的。

機器可以同時接受許多硬幣,有各種讓你眼花撩亂的中獎結果,還可以多台連線,共同累積成連線大獎。賭徒仍在尋找可以贏錢的賭法,但是長期下來,隨機數字產生器會保證賭場有 5% 的利潤。

——本文摘自《統計,讓數字說話》,2023 年 1 月,天下文化出版,未經同意請勿轉載。

所有討論 2
天下文化_96
129 篇文章 ・ 613 位粉絲
天下文化成立於1982年。一直堅持「傳播進步觀念,豐富閱讀世界」,已出版超過2,500種書籍,涵括財經企管、心理勵志、社會人文、科學文化、文學人生、健康生活、親子教養等領域。每一本書都帶給讀者知識、啟發、創意、以及實用的多重收穫,也持續引領台灣社會與國際重要管理潮流同步接軌。