科学 | #2 机械时代的绝唱

 文 | HW君 


1. 只会削土豆的机器

让机器做数学计算」这个想法在巴贝奇的脑海里久久不能散去,于是他开始尝试去实现它。

但是这并不是一个容易的事情,所以需要先从一个简单的地方开始着手。

巴贝奇从「差分运算」中看到了潜力,因为「有限差分方法」已经被数学家们研究了近百年,它可以将高阶计算简化为单纯的加法,并且很容易程序化。

这样的一种可以进行差分运算的机器,就叫做「差分机」。

 

当然,这样讲解真的太不直观了,差分机到底是用来干什么的呢?

巴贝奇所设计的差分机可以用来求解「一元多次方程式」的值。

而「差分运算」主要将这个过程中一些复杂的乘方变成简单的加减法,因为机械齿轮结构最适合做加减法。

 

巴贝奇忽悠了英国财政大臣资助他研发差分机,他曾许诺「数表将变得如同马铃薯一样便宜」,财政部后来批准了他一笔一千五百英镑的拨款。

但是差分机的研发在黄铜和铸铁的世界里进展缓慢。

为了生产出精度足够高的部件,巴贝奇不得不先建造一个机械工厂,生产钢铁和车床。

 

在动工了十年后,巴贝奇的机器有0.61米高,有六根轮轴和数十个数轮,可以进行六位数的运算,已经可以用来做计算演示。

但只能进行六位数的运算,使得巴贝奇的机器更像是一台昂贵的数学玩具,而非一个能够真正为人们提供计算结果的强大机器。

再过了一个十年后,图纸上机器的规模已经到了4.53立方米,重15吨,有25000个零件,光把图纸铺平开来就已经有37平方米。

此时巴贝奇和朋友陷入了各种各样的争执,机器的研发进度也停滞不前。

 

最后,英国政府在耗费了数十年和一万七千英镑后,对巴贝奇失去了信任,中止了这个项目。

对此,巴贝奇对英国政府抱怨不已:

如果你对他说,有一台机器能削土豆,他会宣称这不可能。

而如果你当面用机器削给他看,他又会宣称这玩意儿没用,因为它不能切菠萝。

 

 

2. Difference Engine

差分机是怎么样的呢?

它是一种非常精密的机械设备。

 

Difference-Engine_1

伦敦科学博物馆的差分机

 

Difference-Engine_3

密密麻麻的数轮

 

Difference-Engine_2

设置要计算的式子

 

Difference-Engine_5

转动手柄,机器开始计算

在巴贝奇的构想中会由蒸汽来当动力

 

Difference-Engine_6

计算结果将在白色纸带上打印出来

所以今天我们学编程时,输出结果的函数名是「print」

 

巴贝奇费劲一生心血制造出这样的一台机器,只是为了能够自动生成一些对数表。

但差分机远远做不到这一点,它只能用来求解一些简单的一元多次方程。

 

3. 注定失败的机械计算机

我们现在回看差分机,它是一个构思超前的机器。

因为构思超前,以至于注定是无法在巴贝奇的那个年代被实现。

 

巴贝奇制作的差分机,如果要达到实用的程度,那么它的计算速度就要快,否则就不如人工手算。

但是机械齿轮的转动速度不可能一直提高,齿轮带动的进位杆的传动也需要时间。

物理定律导致了这样的一种计算机运算速度有一个非常低的天花板。

这一切的难题需要等到后来半导体技术成熟、电子计算机出现,才能打破这个运算速度的瓶颈。

电子在电路中行进的速度远远比齿轮转动的速度要快。

 

后世电子计算机的设计者们,回过头来研究巴贝奇的机器,会有一种历史的错位感。

巴贝奇设计机器的初衷,是为了自动生成一些数表;

但今日计算机的发展,却直接导致了数表被废弃。

 

而在打磨了许多年「只能算一元多次方程」的差分机后,巴贝奇开始构思一种可以计算所有问题的机器,也就是一种通用计算机。

巴贝奇将这台机器称为「分析机」,启发他灵感的是雅卡尔提花机,一种当时新研发出来的织布机。

但这台「分析机」永远只存在于巴贝奇的构思和手稿之中,从未被实现出来。

 

巴贝奇知道自己这辈子实现这种机器是没有指望的,但他会好奇未来的人们将会如何利用他的远见。

按他的猜测,至少还要再过半个世纪,才会有人再次尝试制作一台通用计算机器。

在巴贝奇去世前几年,他曾对一个朋友说,他愿意放弃剩下不管多少可活的时日,只愿能在五个世纪后的未来生活三天。

 

事实上要过一个多世纪,这项工作必要的基础科研技术才准备就绪。

1936年,艾伦·图灵提出了他的一个通用计算机模型,也就是后来著名的「图灵机」。

那时候,波澜壮阔的电气时代已然拉开巨幕。

巴贝奇的机械计算机,作为蒸汽时代的杰作,从此静静地躺在博物馆,成为人们瞻仰那个时代的信物。

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

By HW君 @ 2020-02-27

guest
0 评论
Inline Feedbacks
View all comments