阿达·洛夫莱斯,计算机时代的预言家

通过|2022年7月1日

艾达·洛夫莱斯被誉为第一批计算机科学家之一,他在计算机问世之前一个世纪就看到了计算机的潜力。
阿达·洛夫雷和分析引擎

英国诗人拜伦勋爵(Lord Byron)、奥古斯塔·阿达·金(Augusta Ada King)、洛夫莱斯伯爵夫人(Countess of Lovelace)的女儿,也就是人们所熟知的阿达·洛夫莱斯(Ada Lovelaces),是一位数学家,因在19世纪40年代编写了第一个计算机程序而受到赞誉。

早期的计算机只存在于纸上,是由数学家兼发明家查尔斯·巴贝奇设计的,当时她正与他合作。这台机器的目的是比人类更有效地进行简单计算,但洛夫莱斯超越了简单计算的狭隘应用,他是第一个明确表达计算概念的人,基本上是“计算机程序”的一个萌芽概念。

尽管历史学家们不确定该程序是否可以进行计算——机器可以计算的一系列步骤伯努利数——实际上是她或巴贝奇写的,无论她是否写过,洛夫莱斯在这些设计中看到了其他人甚至巴贝奇都没有看到的东西。

也许最好称之为“计算机时代的先知”科学先驱庆祝第一批计算机科学家之一Ada Lovelace的一生和富有远见的工作。

沉浸在学习中的严格童年

洛夫莱斯1815年出生于伦敦,是拜伦勋爵和他的妻子安妮·伊莎贝拉·米尔班克·拜伦夫人唯一的合法女儿。他们的婚姻并不幸福,拜伦夫人认为她的丈夫快要精神错乱了。洛夫莱斯出生几周后,这对夫妇分居,拜伦勋爵出国,再也没有见到他的女儿。

据说拜伦夫人很聪明,虽然很霸道,但她本人对数学很感兴趣。据推测,她担心女儿会追随父亲的脚步,因此洛夫莱斯度过了一个纪律严明的童年,专心学习数学和地理。

当时,英国妇女的权利受到了严格限制,人们认为学习数学对她们的智力来说过于繁重,但出身贵族有很多好处。

当时数学和科学界有几位杰出的女性人物,例如洛夫莱斯的导师和讲师玛丽·索默维尔,她是首批获准与天文学家卡罗琳·赫歇尔一起加入皇家天文学会的两位女性之一。需要注意的是,除了能力之外,一个人还需要钱才能成为一名女性并学习数学。

差异引擎

当时在伦敦,住着一位名叫查尔斯·巴贝奇的绅士科学家。巴贝奇现在被称为“计算机之父”,他以设计但从未制造过世界上第一台计算机而闻名。

他是一个复杂而多姿多彩的人物,被科学历史学家描述为敏感、易怒、骄傲,而且经常表现得粗鲁无礼,尽管他通过自己的魅力和魅力,设法摆脱了这些缺点。他毕业于剑桥大学,于1816年被选为皇家学会会员,并于1828年成为卢卡斯数学教授。

1833年,巴贝奇在周六晚上的一次晚会上展示了他一直在精心研制的一种名为“差异引擎”的装置的原型,晚会上总是会有伦敦科学界的名人录。

巴贝奇对人类计算器在航海和天文计算中使用的数据表中的错误数量感到失望,他曾寻求解决人类易犯错误的方法,1821年他曾哀叹道:“我希望这些计算是用蒸汽执行的”。

他将自己的天赋用于制造一台能够进行简单计算的自动化蒸汽动力发动机,方法是先用一个函数对其进行编程,然后用手转动发动机以得出结果。本质上,他发明了世界上第一台自动计算器。

洛夫莱斯和参加派对的母亲对这台设备非常着迷,随后,当时17岁的洛夫莱斯联系了巴贝奇,要求研究这台机器的蓝图。这开始了对Lovelace长达十年的热情,她和母亲一起对这台“思考机器”能实现什么产生了浓厚的兴趣。

在接下来的几年里,巴贝奇和洛夫莱斯定期通信,讨论差异引擎和其他一些数学思想。1835年,她嫁给了威廉·金,当他在1838年被封为伯爵时,她成为了洛夫莱斯伯爵夫人。

洛夫莱斯继续通过巴贝奇、无数函授课程以及与当时杰出数学家的家庭联系进行自我教育。虽然据说洛夫莱斯是一位称职但并非天资过人的数学家,但学者们将她最大的才能定义为她对数学所能达到的目标的远见,不仅理解概念,而且欣赏其可能性。

这一点在一系列注释中最为明显,这些注释将定义她的声誉。

第一个计算机程序

到了19世纪30年代,巴贝奇离开了差异引擎,并没有真正完成它,他将注意力集中在一种新的更复杂的设备上,称为分析引擎。新设备体现了现代数字计算机的逻辑特征,但如果没有洛夫莱斯,当时可能还没有区分机械化计算和数字计算。

这始于巴贝奇在米兰做了一场关于分析引擎的讲座,该讲座由意大利数学家路易吉·梅纳布雷亚用法语撰写并发表在瑞士杂志上。洛夫莱斯将这篇文章翻译成了英文,同时提供了她自己的评论——甚至一些更正——结果证明这篇文章的长度是原稿的三倍。

这些笔记包含了从现代角度来看具有远见卓识的陈述,表明Lovelace看到了巴贝奇没有看到的东西,即新引擎不必局限于数字和数学。“分析引擎”,她写道,“拥有完全属于自己的地位。”

Lovelace设想机器的数字代表数量以外的东西,例如音符、图像或字母表中的字母,并描述它根据一组规则进行“符号操作”。在她现在著名的笔记“G”中,Lovelace逐步描述了引擎如何计算伯努利数,这是算法的基础。她还提出了一种让引擎重复一系列指令的方法,这是当今计算机程序使用的循环过程。

巴贝奇和洛夫莱斯于1843年联合出版了这本书,洛夫莱斯在这本书中只使用了她的首字母缩写“A.A.L.”——当出版作品被认为只适合男性时,女性这样做并不罕见。

尽管她因此被誉为“第一个计算机程序员”,但围绕这一标题仍有一些争议,因为算法本身的工作被认为是巴贝奇的。然而,毫无疑问,她对巴贝奇思维的发展起到了关键作用,并独立掌握了通用数字计算机的概念。

她的笔记被誉为最早、最全面的计算机记述,比现代例子早了近一个世纪。洛夫莱斯在世时,她的文章几乎没有引起人们的注意,她的想法从未付诸实践。她死于1852年,很可能死于癌症,与与她疏远的父亲葬在一起,她的作品被遗忘了近一个世纪。

直到1953年,B.V.Bowden在年出版了Lovelace的作品速度快于想象:数字计算机器研讨会Lovelace对计算机科学领域的贡献最终得到认可,她被公认为计算机编程的先驱。

阿兰·图灵1950年(鲍登推广她的三年前),他发表了一篇论文,驳斥了她的观点,即虽然计算机有无限的潜力,但它们不可能真正智能化。

她写道:“我们需要防止可能出现的关于分析引擎威力的夸大想法。”。“分析引擎没有任何自命不凡的本事来产生任何东西。它可以做我们知道如何命令它执行的任何事情。它可以跟随分析,但它没有预测任何分析关系或真理的能力。”

另一方面,图灵则持相反的观点,认为她的推测意味着“计算机永远不会让我们感到惊讶”。他著名的图灵测试是一种确定机器是否能演示人类智能的方法,但遭到了Lovelace测试由Bringsjord、Bello和Ferrucci于2001年提出,这要求计算机显示出明显独立于其编程的创造力。Lovelace测试尚未完成。

洛夫莱斯是一位富有远见的思想家,为后人提供了一条主要的渠道,使他们能够理解甚至欣赏巴贝奇作品的重要性。洛夫蕾斯因此获得了许多遗赠,1980年,美国国防部以她的名字命名了一种新开发的计算机语言“ADA”。

插图:Kieran O'Brien

阅读更多科学故事中的先驱者在这里.

ASN每周

注册我们的每周时事通讯,并直接在您的收件箱中接收最新的科学新闻。

ASN每周

注册我们的每周通讯,接收最新的科学新闻。

相关职位:

吴建雄,贝塔衰变的权威

吴建雄,贝塔衰变的权威

吴建雄是核物理方面的专家,不仅在该领域,而且在我们对宇宙的理解方面做出了许多重大贡献。