从“图灵机”到“图灵测试”,从破译德*的Enigma到自杀之谜,图灵一生都是传奇,关于图灵的故事我们不在这里赘述。今天我们更想聊聊,计算机领域最高奖项——图灵奖(TuringAward)。
为纪念艾伦·麦席森·图灵在计算机领域的卓越贡献,美国计算机协会于年设立图灵奖,此奖项被誉为计算机科学界的诺贝尔奖。
每年,美国计算机协会将要求提名人推荐本年度的图灵奖候选人,并附加一份到字的文章,说明被提名者为什么应获此奖。
任何人都可成为提名人,但美国计算机协会将组成评选委员会,对被提名者进行严格的评审,并最终确定当年的获奖者,当年的图灵奖一般于次年3月下旬颁发。
虽然图灵奖被称为计算机界的诺贝尔奖,但与诺贝尔奖万美元的奖金相比,图灵奖的奖金显得相形见绌。
初时期为20万美金,年增长到25万美金,年开始,Google宣布赞助图灵奖奖金,金额达到万美元。
群星闪耀的时代
下面我们来盘点一下,这54年里的图灵奖得主及其主要贡献,来看看那些“计算机领域的巨星”。
年代
艾伦·佩利AlanJ.Perlis
贡献领域:高级程序设计技巧,编译器构造
成就:艾伦·佩利是ALGOL语言和计算机科学的“催生者”,由于在ALGOL语言的定义和扩充上所作出的重大贡献,以及在创始计算机科学教育,使计算机科学成为一门独立的学科上所发挥的巨大作用而成为首届图灵奖当之无愧的获得者。
ALGOL是算法语言(ALGOrithmicLanguage)的简称,是在计算机发展史上首批清晰定义的高级语言,国际计算机学会将ALGOL模式列为算法描述的标准,启发ALGOL类现代语言Pascal、Ada、C语言等出现。
莫里斯·威尔克斯MauriceV.Wilkes
贡献领域:存储程序式计算机EDSAC,程序库
年5月,他获得冯·诺伊曼起草的EDVAC计算机的设计方案的一份复印件。年10月,返回剑桥大学后,以EDVAC为蓝本设计建造了世界上第一台存储程序式电子计算机EDSAC。
它使用了水银延迟线作存储器,穿孔纸带为输入设备和电传打字机为输出设备。它是第一台冯诺依曼结构的电子计算机。
理查德·卫斯里·汉明RichardHamming
贡献领域:数值方法,自动编码系统,错误检测和纠错码
他是美国计算机协会(ACM)的创立人之一,曾任该组织的主席。在曼哈顿计划中负责编写电脑程式,计算物理学家所提供方程的解,来为核弹实验提供可靠的计算依据。
以理查德·卫斯里·汉明命名的“汉明距离”和“汉明重量”广泛应用在信息论、编码理论、密码学等多个领域。
马文·闵斯基MarvinMinsky
贡献领域:人工智能
马文·闵斯基是人工智能领域著名的框架理论(frametheory)的创造者,该理论的核心是以框架这种形式来表示知识。
框架的顶层是固定的,表示固定的概念、对象或事件。下层由若干槽(slot)组成,其中可填入具体值,以描述具体事物特征。每个槽可有若干侧面(facet),对槽作附加说明,如槽的取值范围、求值方法等。
这样,框架就可以包含各种各样的信息,利用多个有一定关联的框架组成框架系统,就可以完整而确切地把知识表示出来。
年代
詹姆斯·维尔金森JamesH.Wilkinson
贡献领域:数值分析,线性代数、向后误差分析
维尔金森在数值分析领域具有杰出贡献,尤其是在数值线性代数方面,发现很多有意义的算法。年,他在研究矩阵计算误差时而提出“向后误差分析法”是计算机上各种数值计算最常用的误差分析手段。
在英国国家物理实验室,维尔金森一开始协助图灵设计计算机PilotACE。图灵离开实验室后,他接手整个项目,使得PilotACE于年5月10日,第一次正式试运行成功。
约翰·麦卡锡JohnMcCarthy
贡献领域:人工智能
麦卡锡是著名的α-β搜索发发明人,α-β搜索法至今仍是解决人工智能问题中一种常用的高效方法。基本思想是根据倒推值的计算方法,或中取大,与中取小,在扩展和计算过程中,能剪掉不必要的分枝,提高效率。
他也是LISP语言发明人,LISP语言是一种函数式的符号处理语言,其程序由一些函数子程序组成,是人工智能界第一个最广泛流行的语言。
艾兹格·迪科斯彻EdsgerDijkstra
贡献领域:程序设计语言的科学与艺术
迪科斯彻被西方学术界称为“结构程序设计之父”和“先知”(Oracle),他一生致力于把程序设计发展成一门科学。科学研究的帅才最重要的素质是洞察力,能够发现有前景的新领域或在新领域内发现和解决最关键的问题。
查理士·巴赫曼CharlesW.Bachman
贡献领域:数据库技术
巴赫曼在数据库方面的主要贡献有两项,第一是主持设计与开发了最早的网状数据库管理系统IDS,而且它的设计思想和实现技术被后来的许多数据库产品所仿效。
第二是巴赫曼积极推动与促成了数据库标准的制定,那就是美国数据系统语言委员会CODASYL下属的数据库任务组DBTG提出的网状数据库模型以及数据定义和数据操纵语言即DDL和DML的规范说明,于年推出了第一个正式报告——DBTG报告,成为数据库历史上具有里程碑意义的文献。
高德纳DonaldE.Knuth
贡献领域:算法分析、程序设计语言的设计、程序设计
算法和程序设计技术的先驱者,计算机排版系统TeX和字型设计系统METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作而誉满全球。
《计算机程序设计艺术》堪称计算机科学理论与技术的经典巨著,被《美国科学家》杂志列为20世纪最重要的12本物理科学类专著之一,与爱因斯坦《相对论》、狄拉克《量子力学》、理查·费曼《量子电动力学》等经典比肩而立,因而荣获年度的图灵奖。
艾伦·纽厄尔AllenNewell
赫伯特·西蒙HerbertA.Simon
贡献领域:人工智能,人类认知心理学和列表处理(listprocessing)
西蒙和纽厄尔给“物理符号系统”下了定义,提出了“物理符号系统假说”PSSH(PhysicalSymbolSystemHypothesis),成为人工智能中影响最大的符号主义学派的创始人和代表人物,而这一学说则鼓励着人们对人工智能进行伟大的探索。这也是两人在人工智能中做出的最基本的贡献。不仅如此,西蒙还是年诺贝尔经济学奖获得者。
迈克尔·拉宾MichaelO.Rabin
达纳·斯科特DanaS.Scott
贡献领域:非确定性自动机
拉宾和达纳·斯科特共同发表了“有限自动机与其判定性问题”(FiniteAutomataandTheirDecisionProblems)的论文,提出了非确定自动机的观点,被证明是(计算理论科学研究中的)一个非常重要的概念。拉宾和斯科特的这篇经典论文成为了这个领域后续研究的源泉。
约翰·巴克斯JohnBackus
贡献领域:高级编程系统,程序设计语言规范的形式化定义
他提出了BNF(用来定义形式语言语法的记号法),发明函数式编程这个概念及实践该概念的计划生育语言,被誉为“Fortran语言之父”。
罗伯特·弗洛伊德RobertW.Floyd
贡献领域:设计高效可靠软件的方法学
前后断言法的创始人,堆排序算法和Floyd-Warshall算法的创始人之一,FPL(Floyd-EvansProductionLanguage)语言发明者之一,FPL用来编写计算机语言的语法分析程序。
肯尼斯·艾佛森KennethE.Iverson
贡献领域:程序设计语言和数学符号,互动系统的设计,运用APL进行教学,程序设计语言的理论与实践
他发展了一套数学表达式来操作阵列,以便教授学生。在IBM工作时,他开发的数学表达式建立了APL语言。
APL语言是一种表达能力很强的会话语言。应用范围包括数学统计、事务经营、信息检索、报表生成、财务预算等。它也可用于模拟计划管理、图形处理、正文编辑、计算机辅助教学等方面。
年代
东尼·霍尔C.AntonyR.Hoare
贡献领域:程序设计语言的定义与设计
他设计出了快速排序算法、霍尔逻辑。
快速排序算法,经典的排序算法,是对冒泡排序的一种改进。
霍尔逻辑,是东尼·霍尔开发的形式系统,这个系统的用途是为了使用严格的数理逻辑推理来替计算机程序的正确性提供一组逻辑规则。
埃德加·科德EdgarF.Codd
贡献领域:数据库系统,尤其是关系型数据库
在IBM工作期间,首创了关系模型理论。他一生中为计算机科学做出了很多有价值的贡献,而关系模型,作为一个在数据库管理方面非常具有影响力的基础理论,仍然被认为是他最引人瞩目的成就。
史提芬·古克StephenA.Cook
贡献领域:计算复杂度
因其在计算复杂性理论方面的贡献,尤其是在奠定NP完全性理论基础上的突出贡献而荣获年度的图灵奖。他整理了NP完备性的目标,亦产生了古克定理——布尔可满足性问题是NP完备的证明。因为其论文开启了NP完备性的研究,令这个范畴于之后的十年成为计算机科学中最活跃和重要的研究。
肯·汤普森KenThompson
丹尼斯·里奇DennisM.Ritchie
贡献领域:UNⅨ操作系统和C语言
肯·汤普森与丹尼斯·里奇设计了B语言、C语言,之后用C语言重写了UNIX,安装于PDP-11的机器之上。不仅如此,6年,汤普森进入Google工作与罗勃特·派克,罗伯特·格瑞史莫共同主导了Go语言的开发。
尼古拉斯·沃斯NiklausWirth
贡献领域:程序设计语言设计、程序设计
凭借一句话获得图灵奖的Pascal之父,让他获得图灵奖的这句话就是他提出的著名公式:“算法数据结构=程序”。
理查德·卡普RichardM.Karp
贡献领域:算法理论,尤其是NP-完全性理论
主要贡献有二,其一就是对计算复杂性理论中的术语进行了规范和统一。把有多项式时间算法的问题命名为P类问题,就是卡普在这篇论文中首次采用的,已为学术界所接受并普遍采用,这为学术交流带来了很大的好处。
其二是卡普在刻画NP类中的“最困难”问题类时,提出了与史提芬·古克归约不同的另一种归约方法,称作“多项式时间多一归约”,有时直接把它叫做“卡普归约”。
约翰·霍普克罗夫特JohnHopcroft
罗伯特·塔扬RobertTarjan
贡献领域:算法和数据结构的设计与分析
罗伯特·塔扬以在数据结构和图论上的开创性工作而闻名。他的一些著名的算法包括,塔扬最近共同祖先离线算法,塔扬的强连通分量算法以及Link-Cut-Trees算法等。其中Hopcroft-Tarjan平面嵌入算法是第一个线性时间平面算法。
塔扬也开创了重要的数据结构如:斐波纳契堆和splay树(splay发明者还有DanielSleator)。另一项重大贡献是分析了并查集。他是第一个证明了计算反阿克曼函数的乐观时间复杂度的科学家。
霍普克罗夫特的研究领域是理论计算机科学。他将计算机科学萌芽阶段的零散结果总结为具有整体性的系统知识,提出用渐近分析作为衡量算法性能的主要指标,成为当今计算机科学的一大支柱。
约翰·科克JohnCocke
贡献领域:编译理论,大型系统的体系结构,及精简指令集(RISC)计算机的开发。
科克又主持了一个计算机项目,计算机原是为每小时能处理万次呼叫的全数字电话交换机设计的专用机。
但实现中被发展为一种具有小指令集、每个指令都是单地址、有固定格式、以流水线方式重叠执行、指令高速缓存和数据高速缓存则分开并互相独立的一种超级通用小型机。
科克对编译器的代码生成技术进行了深入研究,提出了一系列优化方法,如过程(Procedure)的集成、循环(loop)的变换、公共子表达式(