高德纳

高德纳（Donald Ervin Knuth，音译唐纳德·尔文·克努斯，1938年1月10日），出生于美国密尔沃基，著名计算机科学家及数学家，斯坦福大学计算机系荣誉退休教授。高德纳教授为现代计算机科学的先驱人物，创造了算法分析的领域，在数个理论计算机科学的分支做出基石一般的贡献。在计算机科学及数学领域发表了多部具广泛影响的论文和著作。1974年图灵奖得主。

高德纳所写的《计算机程序设计艺术》（The Art of Computer Programming）是计算机科学界高度敬重的参考书籍之一。他也是排版软件和字型设计系统Metafont的发明人。此外，他还曾提出文学编程的概念，并创造了WEB与CWEB软件，作为文学编程开发工具。

## 名称

高德纳的英文名直译为唐纳德·尔文·克努斯（Knuth发音为/kənuːθ/），“高德纳”这个中文名字是1977年他访问中国之前所取的，命名者是储枫（姚期智的夫人，计算机科学家，2004年至2011年在香港城市大学电脑科学系担任系主任）。

## 简历

### 早年

高德纳出生于于美国威斯康辛州密歇根湖边的密尔瓦基。密尔瓦基是一个山灵水秀、人才辈出的地方，诺贝尔奖得主司马贺（H. A. Simon）也是在这里出生的。他父亲 Ervin Henry Knuth是德裔美国人，母亲是 Louise Marie Bohning。父亲有研究生学历，是一个多才多艺的人，星期天在教堂演奏风琴，在自家地下室经营一个小印刷厂，并在高德纳就读的 Milwaukee Lutheran High School中学教簿记。

### 中学时期

高德纳在中学时期就已经展现出学术天分，初中二年级，当地的Ziegler糖果公司为了促销其称为Giant Bar的一种棒棒糖，在学校中办了一个比赛，看谁能用Ziegler's Giant Bar中的字母排列组合出最多的单词。高德纳假装胃疼，在家里待了两个星期，利用一部大字典，得出了4,500个单词，而裁判只掌握了约2,500多个单词，他的班级赢得冠军，获得一台电视机和每人一块Giant Bar，而他本人则赢得一副雪橇。

### 大学时期

1956年，高德纳以各科平均97.5分的创记录的高分从中学毕业。由于高德纳对物理和音乐都很有兴趣，他曾犹豫大学要念物理还是音乐，后来他决定念物理，进入俄亥俄州克利夫兰的凯斯理工学院（现在并入凯斯西储大学）攻读物理。在此时期，他接触到当时最先进的大型电脑 IBM 650，他读过了电脑的手册后，认为自己可以帮IBM 650写出更好的编译程式，便动手开始做。

1959年，高德纳成了第一届Engineering and Science Review 期刊的编辑，该期刊是当时最好的工程科学期刊，获得了国家奖。高德纳从主修物理改成主修数学。1960年，高德纳从凯斯理工学院毕业时，由于他的杰出表现，同时获得学士与硕士学位。

### 博士生研究时期

1960年，高德纳进入加州理工学院研究所，研究所二年级时，为私人公司写编译器，赚得5,000元美金。1962年1月Addison-Wesley公司的顾问理查·瓦嘎（Richard Varga）请他出版一本有关编译器的书籍。1963年，高德纳获得加州理工学院数学博士学位，指导教授是数学家马绍尔·哈尔。

### 学术成就

高德纳毕业之后留在加州理工学院任教，并在数学与计算机程序设计领域取得多项成就。

1966年，当高德纳的著作已经长达3000多页时，他与出版商商定，编纂一部系统地介绍计算机程序设计的巨著《计算机程序设计艺术》。截至2018年12月，该书已经出版了4卷，并对计算机领域产生了深远的影响。高德纳本人预计第5卷将会在2025年完稿。《科学美国人》杂志曾将该书与爱因斯坦的《相对论》、狄拉克的《量子力学原理》、理查·费曼的《量子电动力学》等书并列为20世纪最重要的12本物理科学类专论书之一。

1968年，高德纳拒绝了美国国家安全局的工作邀请，受聘成为斯坦福大学计算机系教授，直到退休，其间1972—1973年曾经在奥斯陆大学当客座教授。和他的一个学生开发了克努斯-莫里斯-普拉特算法（KMP算法），该法则使计算机在文章中搜索一串字符的过程更加连贯。他在担任该职务期间开发了排版软件，成为今天大多数科技书籍使用的排版程序。除此之外高德纳还在计算机领域作出了多项贡献，例如LR解析理论（LR parsing theory）、克努斯-莫里斯-普拉特模式（Knuth-Moris-Pratt pattern）等。

1979年卡特总统颁与国家科学奖。1996年11月荣获京都奖。

## 个人生活

### 婚姻

高德纳与妻子高精兰（Jill）定居于斯坦福大学校园内，育有一儿高小强（取名John）和一女高小珍（取名Jennifer）。

### 性格

很多人都认为高德纳非常有趣。他会奖励每一个找出他的著作中任何错误的人，就能得到2.56美元，因为“256美分刚好是十六进制的一美元”（256 pennies is one hexadecimal dollar）

另外，对于每个“有价值的建议”，他设立了0.32美元的奖金。高德纳可以算是一名标准的黑客，他最喜欢的软件是Emacs，并曾向其作者理查·史托曼提交修补补丁。

与大多数传统黑客一样，高德纳酷爱音乐。高中的时候，Knuth兴趣所在并非数学，而是音乐，尤其是听音乐和作曲。他一度还曾考虑报考音乐专业。他在他的书房中放了一个特别定制的84管的管风琴。除此之外他也会吹萨克斯风和大号。

高德纳的作品《歌曲的计算复杂度》（The Complexity of Songs）曾两度刊印在计算机协会期刊上。

## 著作

高德纳的《计算机程序设计艺术》计划出版7卷，该书自第3卷于二十世纪七十年代初版以来，一直没有下一卷的进展。因此他自1990年起就停止使用电子邮件（高德纳自1975年就开始使用电子邮件）以专心撰写余下的4卷。

在计算机科学以外，高德纳亦著有论述基督教信仰的书籍，如《3:16 Bible Texts Illuminated》（1991年，ISBN 0-89579-252-4），以及《Things A Computer Scientist Rarely Talks About》（2001年，ISBN 1-57586-326-X），这些被视为计算机科学家少有的作品。

## 荣誉

- 1971年获首届美国计算机协会Grace Murray Hopper奖
- 1973年当选为美国人文与科学院院士
- 1974年获ACM协会图灵奖
- 1975年当选为美国国家科学院院士
- 同年荣获美国数学协会Lester R. Ford奖
- 1979年获卡特总统颁发美国国家科学奖章
- 1981年当选为美国工程院院士
- 1982年获计算机先锋奖（Computer Pioneer Award）
- 1982年成为IEEE荣誉会员
- 1986年荣获美国数学学会Steele Award
- 1988年获富兰克林奖章
- 1994年获瑞典科学院Adelskold奖
- 1995年获IEEE冯·诺伊曼奖
- 1996年获Inamori基金会京都先进技术奖（Kyoto Prize for Advanced Technology）

## 基本资料

- 日语原文：高德纳
- 原文名：Donald Knuth
- 出生日期：1938年1月10日
- 出生地：美国威斯康星州密尔沃基
- 国籍：美国
- 研究领域：计算机科学
- 机构：斯坦福大学
- 母校：凯斯理工学院、加州理工学院
- 博士导师：马绍尔·哈尔
- 博士生：Leonidas J. Guibas、Scott Kim、沃恩·普拉特、罗伯特·塞奇威克、Jeffrey Vitter、Bernard Marcel Mont-Reynaud
- 知名于：《计算机程序设计艺术》、TeX, METAFONT, Computer Modern、Knuth–Morris–Pratt算法、Knuth-Bendix completion algorithm、MMIX
- 获奖：冯·诺伊曼奖（1995）、图灵奖（1974）、京都奖（1996）