《伟大的计算原理》一第1章 Great Principles of Computing 作为科学的计算

   本节书摘来自华章出版社《伟大的计算原理》一书中的第1章,第1.1节,作者[美]彼得 J. 丹宁(Peter J. Denning)克雷格 H. 马特尔(Craig H. Martell),更多章节内容可以访问云栖社区“华章计算机”公众号查看。


第1章

Great Principles of Computing

作为科学的计算

计算机科学研究计算机周边的各种现象。

——Newell,Simon和Perlis

计算机之于计算机科学,正如望远镜之于天文学。

——Edsger W. Dijkstra

计算与科学密不可分:计算不仅仅是一种数据分析的工具,更是一种用于思考和发现的方法。

这种观点的形成并得到广泛认同经历了曲折的过程。计算是一门相对年轻的学科,其作为一个学术研究领域确立于20世纪30年代,确立的主要标志是由Kurt G?del(1934)、Alonzo Church(1936)、Emil Post(1936)、Alan Turing(1936)等人所发表的一组重要论文。这些研究者敏锐地意识到了自动计算的重要性,为“计算”这个概念奠定了必要的数学基础,并探讨了实现自动计算的不同模型。但人们很快就发现,这些看似不同的计算模型实际上是等价的,即由一种模型所描述的计算过程总能够被其他模型所描述。而更为值得关注的是,这些不同的计算模型都指向了一个共同的结论:某些具有现实意义的问题(例如一个算法是否能够终止)并不能通过计算的方式进行求解。

在这些研究者所处的时代,“计算”和“计算机”这两个术语已经得到了广泛的使用。那时,计算指的是求解数学函数的机械步骤,计算机则指的是执行计算的人。作为对这些研究者所开创的崭新领域的致敬,第一代数字计算机的设计者通常会将其所构造的系统命名为一个带有后缀字符串“AC”的名字,其含义为自动计算机(automatic computer)或类似的变体。这些名字的典型代表包括ENIAC、UNIVAC、EDVAC、EDSAC等。

在第二次世界大战的初期,美、英两国的军方开始对自动计算机产生兴趣,他们想使用自动计算机进行弹道计算和密码破译。为此,他们资助了若干项目进行电子计算机的设计与实现。在二战结束前,只有一个项目顺利完成。这是一个设在英国布莱切利公园的绝密项目。这个项目使用由阿兰·图灵设计的方法成功破译了德军使用的Enigma密码系统。

在20世纪50年代初,很多参与这些项目的研究人员开始创办计算机公司。20世纪50年代末,大学也开始进行计算机领域的研究项目。从此以后,计算机领域的学术研究和工业实践开始持续地增长,直到我们目前所看到的一个现代化的庞然大物。这个庞然大物包含了海量的互联网连接和数不清的数据中心,据说消耗了全世界所生产的3%的电能。

99cdfa43679a9967e556c24e007fbb062500c9a5

图1.1 查理斯·巴贝奇(Charles Babbage,1791—1871,左图)发明了差分机,一种机械式的算术运算机器。后来,他提出了分析机的设计方案:该方案如果能够实现,则有望成为一种通用计算机。Ada Lovelace(1815—1852,右图)帮助Charles Babbage完成了分析机的设计。Lovelace的视野不仅仅局限在数字计算上,而是扩展到了谱曲、绘画,甚至逻辑推理等领域。在1843年,她编写了一段能够使用分析机计算伯努利数列的程序。她也因此被称为世界上“第一个计算机程序员”(来源:Wikipedia Creative Commons)

在其青年时期,计算对于已有的科学和工程领域而言,是一种难以被理解的新兴事物。对于不同的观察者而言,第一眼看上去,计算像是一种对数学、电子工程或其他科学领域的技术应用(译者注:即,计算来源于这些领域,没有这些领域,计算就如同无源之水)。经过多年的发展以后,计算似乎又为人们提供了无数的深刻见解,打破了人们对计算的早期理解,即计算不可能成为一个独立的领域,而必将被其来源领域所重新吸纳。到1980年,计算领域对于算法、数据结构、数值方法、编程语言、操作系统、网络、数据库、图形图像、人工智能、软件工程等方面已经具备了相当成熟的理解。计算领域的伟大技术成就——芯片、个人计算机、互联网——将计算带入了更加丰富多彩的境界,并促成了更多新兴子领域的产生,包括网络科学、web科学、移动计算、企业计算、协同工作、网络安全、用户界面设计、信息可视化等。由此产生的大规模商业化应用为社交网络、演化计算、音乐、视频、数字化摄影、视觉、大规模多用户在线游戏、用户生成内容(user-generated content)以及其他领域带来了全新的研究挑战。

为了适应这种持续的变化,计算领域的名称在历史上已经发生了数次变化。在20世纪40年代,这个领域被称为自动计算。在20世纪50年代则被称为信息处理。在20世纪60年代,其进入了学术界,那时,美国人将其称为计算机科学,欧洲人则称其为信息学。到20世纪80年代,计算领域已经包含了一组具有复杂相关性的子领域,包括计算机科学、信息学、计算科学、计算机工程、软件工程、信息系统、信息技术等。到1990年,“计算”这个词已经成为引用这些领域的标准术语。

52846c18c3a4b9f3cd7122560f40c906bc5e0cef

图1.2 阿兰·图灵(Alan Turing,1912—1954)认为计算就是对数学函数的求解。1936年,他设计出一种后来被称为图灵机(Turing Machine)的抽象计算机器。这个机器由一条无限长的纸带和一个可沿该纸带左右移动的有限状态控制器构成。纸带上包含了无限个左右排列的方格,每个方格里可以存放来自特定符号集合的一个符号。控制器每次可以向左或向右移动一个方格。在每一次移动前,控制器读取当前方格内存储的符号,并有可能在当前方格中写入新的符号,然后向左或向右移动一个方格,从而进入一个新的控制状态。图灵展示了如何构造一个统一的计算机器对任何计算过程进行自动执行。图灵认为,任何具有可计算性的函数都可以被一个具体的图灵机自动计算。图灵也发现存在一些不可计算的函数,例如:确定一个具体的图灵机是否会停机或陷入无限循环(来源:Wikipedia Creative Commons)<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值