数学史 · 中文镜像

数学家传记

高德纳Donald Knuth

出生
1938年1月10日 美国威斯康星州密尔沃基

高德纳是一位美国数学家和计算机科学家,以对算法研究的贡献和发明TeX排版语言而最为著名。

完整传记

高德纳的父母是Ervin Henry Knuth和Louise Marie Bohning。高德纳的父亲Ervin是一所路德会学校的教师。他在决定高德纳的兴趣方面发挥了非常重要的作用,正是通过他的父亲,高德纳获得了对教育、音乐和数学的热爱。Ervin在周日教堂礼拜中演奏教堂管风琴,高德纳很快就成为管风琴的热情爱好者。

高德纳就读于路德会学校,这些学校特别强调英语语法,由此产生了高德纳对研究句子结构的热爱。他在中学头几年对此的迷恋,最终在接触计算机时自然而然地导向了编写计算机代码,但这直到他完成学校教育之后才发生。在中学的头几年里,还有其他迹象表明高德纳的兴趣最终会走向何方。有一个插曲,在大多数高德纳的传记中都有重复,但在这本传记中仍然值得重复,那就是关于“齐格勒巨型棒”的故事。

他参加了糖果制造商Ziegler设立的一项竞赛。竞赛的目的是看用“Ziegler's Giant Bar”的字母能组成多少个单词,对还是学生的高德纳来说,这正是他喜欢的那种挑战。他花了两周时间,期间假装生病,并借助词典想出了4500个单词。竞赛的评委只找到了2500个,高德纳轻松获胜。他事后评论说,如果他想到使用撇号,本可以找到更多!他的学校也因此受益,获得了一台电视机作为奖品。

在高中时,高德纳的兴趣更多地指向音乐而非数学。他的音乐兴趣包括演奏和作曲,他在那个阶段决定高中毕业后要学习音乐。高德纳在学校乐队中演奏萨克斯管,后来演奏大号。尽管他花了很多时间在音乐兴趣上,高德纳肯定没有忽视其他学校科目。他于1956年从高中毕业,平均成绩是他学校有史以来最高的。

在学校里,他开始表现出对数学的兴趣,并通过固定除一个变量外的所有变量、绘制所得图形来尝试在多个维度中想象曲面,以此自娱。这是理解数学函数的一种极好方法,如今借助计算机,这种方法以及更复杂的技术可以迅速让学生获得深刻理解。然而高德纳不得不通过为所绘制的每个值进行手工计算来绘制图形,这显示出他在“Ziegler's Giant Bar”竞赛中表现出的那种为解决问题投入数小时工作的奉献精神。人们可能会认为,鉴于他在学校的出色表现,他的老师会相信他能在大学里几乎任何他选择的科目上取得成功,但事实并非如此。问题在于高德纳在这个人生阶段并不相信自己,因此他的老师怀疑他是否具备成功所需的个性,尤其是自信。

这表明高德纳对自己的学习方向有多么犹豫不决:当他获得俄亥俄州克利夫兰凯斯理工学院学习物理的奖学金时,尽管他之前打算学习音乐,他还是接受了。他于1956年9月进入凯斯理工学院物理课程。从第二年起,高德纳开始转向数学而远离物理,这其实有两个原因。有一天,当高德纳本应与学院乐队一起演出时,他错过了送乐队去演出的巴士,于是发现自己有空闲时间,便尝试解决他的一位数学教授布置的挑战题。解出这道题使高德纳在那门课上自动获得“A”,也给了他所需的那种恰当激励,让他认为也许数学而非物理更适合他。其次,他发现物理实验课不适合他,因此最终转向数学成为自然而然的选择。

事实上,高德纳在凯斯学院的第一年就已经第一次接触计算机,那时他还没有转向数学。他不得不使用IBM 650,并查阅手册以了解如何编写程序[1]:-

……我们从IBM得到的手册会展示程序的例子,我知道我能做得……比那更好。所以我想我可能有些天赋。

高德纳利用他在编写计算机程序方面日益增长的专业知识,于1958年制作了一个程序来分析学院篮球队的表现。这引起了一些公众关注,IBM在他们的广告中使用了高德纳的照片。人们可能会预期这些事件会开始帮助他克服自卑情结,但他仍然觉得自己达不到标准。这使他投入大量额外时间在学术研究上。结果是,当他在1960年6月获得学士学位时,他被授予优异成绩,并且,在一个相当独特的举措中,学院同时授予他硕士学位,他的表现如此出色。高德纳在他毕业那年获得了两项奖学金,一项是伍德罗·威尔逊奖学金,另一项是国家基金会奖学金。

在还是博士生时就发表数学论文是一项真正的成就,但高德纳在完成本科学位的那一年就发表了两篇论文。这两篇是An imaginary number systemOn methods of constructing sets of mutually orthogonal Latin squares using a computer I,后一篇论文是与钱德拉·鲍斯和I M Chakravarti合写的。在第一篇中,高德纳描述了一个以虚数2ii为基的虚数系统,给出了这些数的加法、减法和乘法方法。在第二篇论文中,高德纳和他的合著者给出了两组各五个12阶相互正交拉丁方。

1960年秋,高德纳进入加州理工学院,并于1963年6月因其学位论文Finite semifields and projective planes获得数学博士学位。事实上,除了数学博士研究工作之外,高德纳从1960年起就开始把他相当可观的计算专长用于撰写论文之外的用途,成为加利福尼亚州帕萨迪纳Burroughs公司的软件开发顾问。到1962年,他的计算专长已广为人知,以至于尽管他当时仍是博士生,Addison-Wesley仍与他接洽,请他写一本关于编译器的书。他在1962年夏天开始了这个项目。

他这一时期的出版物表明,他正在把计算应用于与他的学位论文工作无关的组合数学问题。例如,他把莱昂哈德·欧拉常数计算到1271位小数,并于1962年发表了结果。同年,他发表了用计算机求多项式值的工作。尽管高德纳在数学上成果丰硕,他确实也抽出时间做其他事情。在研究生期间,高德纳于1961年6月24日与Nancy Jill Carter结婚。他们的两个孩子弗瑞兹·约翰 Martin Knuth和Jennifer Sierra 高德纳分别出生于1965年和1966年。

我们在上文注意到,高德纳的博士论文题目是Finite semifields and projective planes。半域是一种代数结构,它满足除乘法结合律之外的除环所有通常公理。该论文包含大量关于有限半域及其与某些类型射影平面联系的信息。1963年完成博士学位后,高德纳成为加州理工学院数学助理教授,并于1966年晋升为副教授。1964年至1967年,他担任美国计算机协会编程语言编辑。他继续把计算应用于代数和组合数学问题。例如,1964年他发表了有限域的数据表,使快速计算机计算得以进行。他对音乐的热爱——他曾几乎把一生献给音乐——仍在继续,并于1965年加入美国管风琴师公会。他继续演奏音乐、创作音乐,甚至设计了自己的管风琴。

到1966年,他关于编译器的书已经增长到3000页手写稿,艾迪生-韦斯利意识到这是一部比他们最初设想的要重要得多的著作。讨论后决定高德纳应该制作一部七卷本的著作,涵盖的内容远不止编译器。这部著作成为The Art of Computer Programming,并于1968年开始出版,当时第1卷:Fundamental Algorithms问世。第2卷:Seminumerical algorithms在次年出版,第3卷:Sorting and searching在1973年出版。在前言中,高德纳写道,这些是:-

……旨在训练读者掌握程序员技艺所需的各种技能的书籍……[它们]并非作为计算机编程的入门读物;读者应该有一些先前的经验。[我的目标是提供](a)总结若干重要领域已获得知识的参考书,以及(b)用于自学或大学计算机与信息科学课程的教科书。

高德纳的目标是:-

……组织和总结关于计算机方法这一快速发展的学科已知的内容,并为其提供坚实的数学与历史基础。

... show that the connection between computers and mathematics is far deeper and more intimate than these traditional relationships would imply

M Muller在评论这些精彩著作时写道:-

高德纳已经做出了及时而重大的贡献。他成功地在先前几乎不存在组织的地方提供了思想的组织;他提供了许多本质上新颖且有助于在所涵盖的各个领域中为早期工作者的努力获得抽象、整合或统一的基础的思想。

1968年,高德纳被任命为斯坦福大学计算机科学教授。在离开加州理工学院的同时,他也辞去了在Burroughs公司的顾问职位。高德纳在斯坦福大学度过了余下的职业生涯。他于1977年被任命为Fletcher Jones计算机科学讲席教授,并于1990年被命名为计算机编程艺术讲席教授。1993年,他成为斯坦福大学荣休教授,并继续居住在大学校园内。

高德纳对数学和计算做出了许多贡献。我们应该提到的一个特别贡献是高德纳-Bendix算法,这是用于代数结构计算的基本算法之一,特别是群和半群。这一重要贡献于1970年与他的学生Peter B Bendix联合发表,试图通过推导给定关系的后果来解决代数系统中的字问题,以在某种意义上给出一个完备集。另一个完全改变了数学印刷和传播方式的贡献是高德纳发明了TeX,一种用于排版数学和科学文章的语言。从1976年开始,高德纳从其他项目中抽出十年时间致力于TeX和METAFONT的开发,这是一种用于字母设计的计算机软件系统。

TeX改变了数学和科学出版的技术,因为它使数学家和科学家能够以最高质量印刷数学文章,而这只需使用家用电脑即可实现。然而,它不仅改变了数学和科学文章的出版方式,也改变了它们的传播方式。在17世纪,一位数学家会给另一位数学家写信,他们会用英语、法语或德语等讨论日常生活,但每当他们解释数学内容时,他们会使用拉丁语。如今,数学家通过电子邮件交流,每当他们想解释数学内容时,他们需要数学符号,几乎总是使用TeX来传播。据我们所知,没有人试图衡量TeX对数学产出水平的影响,事实上这将是一件非常难以衡量的事情,但尽管如此,我[EFR]确信,使用TeX带来的数学生产和传播的额外便利,在过去十年中对这门学科产生了重大影响。

我们应当提及高德纳众多进一步贡献中的几项:编程语言的语义学;属性文法;LR(k)LR(k)解析的发展;用于搜索字符串的高德纳-Morris-Pratt算法;以及结构化文档和文学编程。关于LR(k)LR(k)解析的工作出现在1965年的论文On the translation of languages from left to right中。在这篇论文中,高德纳写道:-

最近,人们对那些语法足够简单、以至于可以从语法机械地生成高效从左到右分析算法的语言产生了很大兴趣。在本文中,我们定义LR(k)文法,这也许是这类文法中最一般的一类,它们为理解在构造简单结构语言(例如代数语言)的分析算法时所使用的所有特殊技巧提供了基础。

高德纳-Morris-Pratt模式匹配算法发表在1977年的论文Fast pattern matching in strings中。高德纳继续在计算机科学、组合数学和代数(他博士论文的主题)方面发表重要贡献。例如在后一领域,他于1991年发表了Efficient representation of perm groups。他在引言中写道:-

本文给出了C C Sims算法的一个初等版本,用于计算给定置换群的强生成元,并附有正确性证明以及关于适当底层数据结构的一些说明。

由于他相当杰出的贡献,高德纳获得了许多荣誉——多到无法在这篇长度的文章中一一提及。让我们只列出其中一小部分。1971年,他成为美国计算机协会格蕾丝·霍珀奖的首位获得者;1973年,他当选为美国艺术与科学院会士;1974年,他获得美国计算机协会的艾伦·图灵奖;1975年,他当选为国家科学院院士;同年,他获得美国数学协会颁发的Lester R 莱斯特·佛特奖;1979年,他被授予国家科学奖章(由卡特总统颁发);1981年,他当选为国家工程院院士;1982年,他当选为IEEE荣誉会员,并于同年获得该组织的计算机先驱奖;1986年,他获得美国数学会颁发的凯瑟琳·斯蒂尔阐述性写作奖;1988年,他被授予富兰克林奖章;1992年,他当选为Académie des Sciences院士;1994年,他获得瑞典科学院颁发的Adelskold奖章;1995年,他获得IEEE颁发的冯·诺伊曼奖章;1996年,他获得稻盛基金会颁发的京都奖。

让我们提一下高德纳自2000年以来获得的一些荣誉。他获得了世界范围内众多大学的荣誉学位:加拿大滑铁卢大学(2000年)、图宾根大学(2001年)、奥斯陆大学(2002年)、安特卫普大学(2003年)、哈佛大学(2003年)、马其顿大学(2003年)、蒙特利尔大学(2004年)、苏黎世联邦理工学院(2005年)、康考迪亚大学(2006年)、威斯康星大学(2006年)、波尔多大学(2007年)。2003年,他当选为伦敦皇家学会会士,2008年当选为俄罗斯科学院会士。2006年,他被授予亚美尼亚国立工程大学金质奖章,同年获得埃里温国立大学金质奖章。2001年,小行星“(21656) 高德纳”以他的名字命名。

2015年,高德纳在其150周年之际当选为伦敦数学会荣誉会员。简短引文如下:-

高德纳是世界上最伟大的计算机科学家之一,他的工作在过去半个世纪中对这门学科产生了深远影响。他的研究涵盖数学和计算机科学的多个领域,包括随机图中的结构、泛代数中的字问题、字符串中的模式匹配、前缀码和二叉搜索树。

最后让我们引用Stanford Magazine中关于高德纳退休后日常生活的内容:-

退休后,他仍然每周编写几个程序。他不再指导学生,但每年主持几次免费的公开计算机沉思讲座,偶尔旁听研究生课程,并且每周大多数日子骑自行车到校园使用图书馆或在水上中心游泳。

参考文献

正文里的方括号编号指向这里,悬停即可直接看到条目。书目保留原文——译了书名反而查不到文献。

延伸资源

原站列出的延伸阅读与外部数据库,照原样保留,目标多为英文页面。

相关专题

原站的交叉引用。指向本站已镜像专题的留在站内,其余仍指回原站。