求阙新斋分享 http://blog.sciencenet.cn/u/Jacking 用博客记录成长的历程!

博文

计算机学习漫谈(2)-巴贝奇与他的计算机梦

已有 6978 次阅读 2010-12-4 21:29 |个人分类:计算机漫谈|系统分类:科普集锦| 计算机, 差分机, 巴贝奇, 分析机

在今天出版的许多计算机历史书籍的扉页里,很多都刊登着一位先驱者的照片。宽阔的额头,狭长的嘴巴,锐利的目光,他那坚定但绝不缺乏幽默的外表,给看过这张照片的人留下了难以磨灭的印象,也给人以一种极富深邃思想的学者形象。他就是查尔斯·巴贝奇(Charles Babbage,1792~1871)。
  巴贝奇出生于英格兰西南部的托特纳斯,是一位富有银行家的儿子,后来继承了相当丰厚的遗产。但与现在的富二代不同,巴贝奇把他的全部金钱都用于科学研究上,并且到最后沦落到穷困潦倒的地步。现在让我们一起来品味一下这位计算机历史上的创奇人物。
  童年时代的巴贝奇显示出极高的数学天赋,当他考入剑桥大学后,发现自己掌握的代数知识已经超过了他的老师。1817年他获得硕士学位;第二年,26岁的他就荣幸的受聘担任了剑桥大学“卢卡斯讲座”的数学教授。这是一个很少人能获得的殊荣,牛顿的老师巴罗是第一位,牛顿是第二位。巴贝奇于1820年创建了剑桥大学分析学会,;1827年出版了1到108000的对数表;1831年创建了英国科学进步协会;1832年出版了《机械制造经济学》;1834年创立了伦敦统计学会;1864年出版了《一个哲学家的生命历程》。我们现在邮局采用统一的邮费制度,也是得益于巴贝奇的运筹学研究成果。
  假若巴贝奇继续在这些数学研究和科技发明领域里耕耘,他本来是可以走上鲜花铺就的坦图的。然而,这位旷世奇才却选择了一条无人敢于攀登的崎岖险路。
  故事得从法国讲起。18世纪末,法兰西发起了一项宏大的计算工程--人工编制《数学用表》。我们中学用过的对数表、乘幂表、三角函数表等,都是这种《数学用表》。编制精确的数学表,在没有先进计算工具的当时,可是件及其艰巨的工作。为此,法国数学界召集了大批精兵强将,组成了一种人工计算流水线,算的天昏地暗,终于完成了17卷大部头书稿。但是,这种人工手算的数学用表却是错漏百出。当时有位专家撰文指出,他随意挑选的40张数学用表,其中就包含有3700出公认的错误。
  面对错漏百出的天文数表,巴贝奇显示出惊讶与恐惧,他甚至喊出声来:“天哪,但愿上帝知道,这些计算错误已经充斥弥漫了整个宇宙。”巴贝奇在他的自传《一个哲学家的生命历程》里写到发生在1812年的一件事:“有一天晚上,我坐在剑桥大学的分析学会办公室里,神情恍惚地低头看着前面打开的一张对数表。这时,有一位会员走进屋来,瞧我的样子,喊道:'喂!你梦见什么啦?'我指着对数表回答说:‘我正在考虑这些表也许能用机器来计算!’”于是,年仅20岁的巴贝奇毅然放弃了他在经济学、语言学、生物学等多方面的多种成就和爱好,义无反顾地向着荆棘密布的“机器丛林”迈出坚定的第一步。
  巴贝奇的第一个目标是制作一台“差分机”。所谓“差分”的含义,是把函数表的复杂算式转化为差分运算,这样就能快速计算出全部自然数的平方表。巴贝奇的想法就是用这样发明一台自动计算《数学用表》的专用机器。差分机设计闪烁着程序控制的灵光--它能够按照设计者的旨意,自动处理不同函数的计算过程。1822年,巴贝奇小试锋芒,初战告捷,第一台差分机呱呱坠地。但是,这一“小试”也耗了整整10年。巴贝奇的这台机器的运算精度达到了6为小数,能够轻松演算出好几种函数,并制作出了一些准确无误的《数学用表》。
  成功的喜悦激励着巴贝奇,他连夜奋笔上书皇家学会,要求政府资助他制造第二胎精度为20位的大型差分机。英国政府看到巴贝奇的研究在提高皇家海军的战斗力上有特殊的使用价值,慷慨地为这台大型差分机提供了1.7万英镑。巴贝奇自己也贴进去了1.3万英镑。这在当年可是一笔天文数字,1831年约翰·布尔制造一台蒸汽机车的费用才784英镑。然而,英国政府和巴贝奇都失算了,第二台大型差分机在剑桥的“阴沟”里翻了船!
  巴贝奇当时设计的大型差分机大约有25000个零件,主要零件的误差不得超过每英寸千分之一,即使用现在的加工设备和技术,想要造出这样搞精度的机械业绝非易事。时间在不断的流逝,而工程却进展缓慢。日复一日,年复一年,不知不觉又一个10年过去了,巴贝奇望着那台不能运转的机器发愁,全部零件亦只完成不到一半数量。参加试验的同事们再也坚持不下去了,纷纷离他而去。尽管如此,他独自苦苦支撑到了第三个10年后,他终于感到自己再也无力回天了,大型差分机的制造宣布失败。
  30年的努力付诸流水,但是困难和挫折并没有让巴贝奇折服,在经历差分机失败的打击后,他把最后冲刺的目标定位于更高的机器--通用数字计算机。巴贝奇把这种新的设计叫做“分析机”--用程序控制来计算各种数学题目。巴贝奇设计的分析机大体上由三大部分组成:其一是齿轮式的“存储库”,巴贝奇称它为“仓库(Store)”,每个齿轮可存储10个数,齿轮组成的阵列总共能够储存1000个50为数。分析机的第二个部件是“运算室”,它被巴贝奇成为“作坊(Mill)”,其基本原理与帕斯卡的转轮相似,用齿轮间的齿合、旋转、平移等方式进行数字运算。第三部分巴贝奇没有为它命名,其功能是模仿自动提花编织机的“穿孔纸带”,用“无孔(0)”和“有孔(1)”来控制运算操作的顺序,类似于现在电脑里的控制器。此外,巴贝奇也构思了送入和取出数据的机构,以及在“仓库”和“作坊”之间不断往返运输数据的部件。我们可以看到,一个多世纪后,现代电脑的结构几乎就是巴贝奇分析机的翻版,他当之无愧为计算机系统设计的“开山鼻祖”。大约用了两年,巴贝奇基本完成了分析机的图纸设计,开始了踏上制造分析机这条漫漫长路。我们可想而知,等待巴贝奇的必将又是一个无情的失败。到了最后,巴贝奇在贫困潦倒中郁郁而终。
  巴贝奇的失败不在于他犯了任何错误,而在于他看得太远了。大型差分机和分析机的设想远远超出了他所处时代至少有一个世纪!1985年,伦敦皇家学院博物馆的科学家按照巴贝奇的设计图纸着手制作大型差分机,并模仿巴贝奇当年的工艺技术加工,花了整整6年,终于在巴贝奇诞辰200年纪念日的前一个月完成了一台重达3吨的机器。这台大型差分机没有令人失望,它能算出7次乘幂表的前100个值,而且一直正常的运行着。但是,这是距离他提出制造大型差分机已过去了163年。1977年,为了研究信息革命历史,美国建立了巴贝奇研究所(简称CBI)。人类将永远记住这位为实现人类计算机梦想而奋斗一生的孤独勇士,他的灵魂和梦想将随着计算机的发展而得到永生。
      在巴贝奇制造分析机过程中,唯一支持他的就只有一位年轻的女数学家阿达·奥古斯塔(Ada Augusta Byron),她也是计算机历史上一位伟大的先驱。阿达是英国著名诗人拜伦的独生女,也是当时闻名遐迩的数学才女,她不顾世俗偏见,参与了巴贝奇的分析机的研究,与他并肩奋斗到生命的最后一刻。1842年,巴贝奇关于分析机的讲演和谈话被编辑成一本书,不过是用法文写的。于是,阿达花了一年时间将那本245页的原稿翻译成542页的著作,加进了自己所写的297也,其中很多都是她自己独到的见解。她在著作中非常得体的评价道:“分析机‘编织’的代数模式同杰卡德编织的花叶完全一样。”,她建议分析机应该把十进制编码改为二进制,巴贝奇对此赞叹不已。在巴贝奇面临资金难题时,阿达忍痛两次把家中祖传的珍宝送进当铺,以维分析机的研究工作。不过,在贫困交加和无休无止的脑力劳动下,阿达的身体一天不如一天,健康状况极差,于1852年英年早逝。阿达最大的成就在于她开天辟地为分析机编写了程序,其中包括计算三角函数程序、级数相乘程序、白努力数计算程序等等,被视为是“第一套计算机软件”。她还设计出系列程序方法,包括循环和递归,以及类似于我们今天使用的流程图。阿达因此被世人成为第一位软件设计师。1981年,美国国防部把它花了10年开发的一种计算机语言命名为ADS(阿达)语言,1985年,北大西洋公约组织决定,ADA语言将是北约组织指挥控制工程中使用的惟一高级程序设计语言。


https://wap.sciencenet.cn/blog-489092-390322.html

上一篇:神秘的核电不神秘(2)--揭秘压水堆
下一篇:计算机学习漫谈(3)-数字计算机之父
收藏 IP: .*| 热度|

2 蒋迅 吴晓邃

发表评论 评论 (2 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 08:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部