科学 | #1 巴贝奇的自动机

 文 | HW君 


1. 计算员

在计算机随处可见的智能化时代,很少有人会知道计算机「computer」这个词,从前是指一种职业「计算员」。

 

从1767年开始,英国政府的经度委员会要求每年初版一本《航海天文历》,以为航海员提供恒星行星的位置表。

在这之后的近半个世纪里,这项工作是由一个计算员团队完成的,包括了三十四位男性和一位女性。

这些计算员们都在各自的家里工作,每年可以拿到七十英镑。

在当时,计算还是一个家庭作坊式的行业,这项工作其实不需要从业者有多么特殊的数学天赋,因为计算的每一步都有明确的规则,几乎是机械化的脑力劳动。

为了防止计算员出错,同样的工作常常会要求不同的人各做一遍,不过有时候计算员也会为了图省事而互相抄袭计算结果。

为了对各处的计算结果加以统一管理,项目还雇佣了一位「对比员」比较两位计算员的结果并核对校样。

计算员和对比员之间每隔几天就会通过邮递、步行或骑行传递一次讯息。

 

在17世纪之后,「对数」的发明催化了数表事业的发展。

对数(logarithm)是一种用来降低算数和几何问题的求解难度而发明出来的数,名字源于两个古希腊语单词,Logos(逻辑)和Arithoms(数)

简单来讲,借助对数,我们就可以将一些计算中麻烦的乘法和除法,用加法和减法来代替,简化计算。

 

这种将复杂乘除法转换为加减法的技巧,大大简化了数学计算。

1627年的开普勒,就运用对数来整理他的老师第谷所观测出来的天文数据。

第谷的天文观测非常精确,但是在第谷的那个年代很难处理这么庞大而复杂的数据,而到了开普勒的年代,对数表出现了,使得开普勒能够计算出比第谷精确得多的天体运行表。

也正是这种精确性,才使得开普勒后来能够提出全新的日心说理论。

从那时起,一直到电子计算机出现以前,人类大部分的计算都是借助对数表进行的。

 

而专门从事计算的人,我们称为「计算员」。

我们给「计算员」一些数,他会返还给我们另外一些数。

我们可以说,计算员们在大量生产一种商品,这种商品就是「」。

认为数是一种可以通过生产得到的商品,这个想法并不自然,因为数是抽象的,只存在观念中,没有重量。

数也是无穷的,但其中的一些对某些人会有重要的意义。

例如,2.096910013对一些人来说就有特殊意义,会经常用到,因为它是125的常用对数。

总而言之,计算的需求很大,计算的成本也高昂。

 

 

2. 会计算的机器

对数的出现,使得许多复杂繁琐的乘除法转变为了简单的加减法,但前提是,你需要有一份「对数表」。

虽然对数表可以「一次计算,多次使用」,但制作一份对数表的工作,仍然是繁琐不已。

就如同今天的软件应用一样,一次开发,多次安装运行,但开发一个软件仍然是很麻烦的。

在那个计算力贫乏的年代里,对数表是罕见之物。

 

再到一两个世纪之后,人们开始能够系统地收集到不同的印刷数表,并进行对照检查。

于是他们发现了一些意想不到的瑕疵。

例如迈克尔·泰勒就编纂过《对数表》,其1792年在伦敦印刷的标准四开本中就被发现包含十九个错误。

这些错误都在后来的《航海天文历》新增的「对泰勒对数表的勘误」中被一一更正,因为对海军来说,每一个错误都可能导致船毁人亡。

但不幸的是,这十九处勘误中,有一处的更正也被证明是错误的。

所以第二年的《航海天文历》新增了「对泰勒对数表的勘误的勘误」,但不幸的是人们又引入了一个新的错误。

于是第三年的《航海天文历》不得不再加入一条「对泰勒对数表的勘误的勘误的勘误」。

 

1792年出生于英国的查尔斯·巴贝奇,在学生时代,曾和朋友一起为剑桥天文学会准备一份对数表手稿。

这些对数在以前都已经计算过了,但对数这种东西总是会被计算、验算、对比和质疑,就像今日的程序员一样,总是在「重复造轮子」。

巴贝奇和他的朋友在验算对数表时,觉得这项工作枯燥乏味。

这些计算要是能由蒸汽完成该多好啊。」巴贝奇说到。

这完全可能。」朋友回复。

 

在巴贝奇的那个年代,短短几十年间,「蒸汽」成为了动力、力量以及一切蓬勃、现代事物的代名词。

一如我们现在这个年代里,短短几十年间,「互联网」成了一切具有蓬勃生命力的事物的代名词。

在此之前,水力和风力驱动着磨坊,其他大部分工作还是要依靠人力、马力或者其他生物来完成。

而经由煤炭加热产生的热蒸汽,在能工巧匠的控制下,有着更强的便捷性和灵活性。

于是「蒸汽」在各个场合都取代了肌肉,成为了一个口号。

新潮的人们口中不时会蹦出如「打开蒸汽(意为「开始工作」)、「增加蒸汽(「变得强大」)、「释放蒸汽(「释放能量或情绪」)的说法。

颇如2020年的今日,人们喜欢在一切事物前加「互联网」「智能」「AI」诸如此类的情形。

 

当时的政治家和小说家本杰明·迪斯累里(Benjamin Disraeli)会说,「你的道德steam可以改变世界」。

「steam」就是蒸汽的意思,他的意思应该是「你的道德能量可以改变世界」。

蒸汽可以说是当时人类已知的最强大的能量传递媒介。

 

但即便如此,巴贝奇会想要将这种强而有力的蒸汽力量运用到一种无重量的领域,将蒸汽应用到看不见摸不着的计算和思考上,仍然是一件十分奇怪的事。

在多年以后,巴贝奇的这个想法越来越清晰,他将会造出一种由蒸汽带动的机器。

对于这台机器,数是原料,投入原料后,蒸汽带动支杆滑行、齿轮转动,然后它会产出另外一种数,于是代替人们大脑的工作就完成了。

 

3. 自动化

当然在此之前,人类已经有很多计算工具了。

算盘和计算尺,或者更早的结绳记事,都算得上是使用工具来进行计算。

 

1642年,布莱士·帕斯卡制造出了一台加法机,它由一排转轮构成,每个转轮代表一个十进制数位。

再过了三十年后,莱布尼茨改进了帕斯卡的机器,他发明了一种带有突齿的圆柱形转轮,借此来完成从一个数位到另一个数位的「进位」。

但是,帕斯卡和莱布尼茨的计算机仍然更接近于是一种加强型的算盘。

我们可以称其为一种反映存储状态的被动型寄存器,而不是一种自动化的机器。

 

而巴贝奇,希望创造出一台能够自动化计算的机器。

他预见到,对于计算的需求会随着商业、工业和科学的繁荣发展而增长。

总有一天,不断积累的数学计算工作,最终将制约妨碍到科学的有益发展,除非能够有某种方法将人们从数学计算的沉重负担中解放出来。

 

而另一个需要解决的问题,便是人类大脑的不可靠。

1824年,爱尔兰成立了自己的地形测量局,准备以史无前例的精度对国土进行测绘。

这时一件紧要的事情是为这支由工兵和矿工组成的测量员队伍准备250套对数表,这些表要求相对便于携带且精度要达到小数点后七位。

测量局在对照了过去两百年伦敦初版的十三份对数表,还有其他来自法国、德国、荷兰、意大利和中国的对数表,他们发现有六个错误在几乎每一张表都存在,并且是一模一样的错误。

结论便是,这些表里的数据存在互相抄袭。

有些错误来源于进位时的错误,还有些则由于数字的颠倒。

可能有时候是计算员写错了,有时是印刷工排错了。

这些都展示了人类的大脑是多么的不可靠。

 

而巴贝奇很早就知道了解决问题的方法,唯有通过机械生成的数表,才能避免这种人为的错误。

后来,巴贝奇开始着手制作他脑海中会自动思考的机器,差分机和分析机。

(本章节完,敬请期待下一节)

 

By HW君 @ 2020-02-17

guest
0 评论
Inline Feedbacks
View all comments