对付他,我们已无需太多赘述。
他发明的TeX已成为科学界通用的排版工具,每个打算机专业学生该当都拜读过他的教材《打算机程序设计艺术》。

计算机界最大年夜“追书坑”82岁大年夜神高德纳仍在笔耕不辍_算法_法式 智能写作

这本书原来是他在1962年读研期间开始编写,至今尚未完成,第1卷第1版于1968年出版,到本日已经更新到第42版。

为了让自己能专心写书,他1993年从斯坦福大学的打算机科学教授职位上退休,按照他的方案这套书的统共有7卷。

现年82岁的他还在努力完成第4卷的B分册,他估量这本书至少包含A到F部分。

Donald Knuth的中文名“高德纳”是1977年访问中国前,姚期智夫人储枫所取。
姓高是由于他身材高大,德纳是Donald的音译。

高德纳从13岁开始就较真。
当时一家糖果公司举办了一场比赛:用Ziegler’s Giant Bar里的字母组成单词,最多者得胜。

为理解决这个问题,高德纳翻阅了2000页的字典,而且还骗父母说自己病了,在家不上学,用2周的韶光潜心研究并赢得了比赛。

末了他找到了4700个单词,而活动主理方以为最多只能找到2000多个单词。
他因此得到了巧克力的褒奖,而这只是他人生的第一个奖项。

1974年,高德纳得到了美国打算机学会的图灵奖;1995年,他又得到了冯·诺依曼奖。

今年2月,高德纳接管了美国科技网站Quanta Magazine的采访,谈到了他创立算法剖析的过程,以及《打算机程序设计艺术》4B卷的最新状态。

我们将采访的内容整理如下:

QM:您一贯对写作感兴趣吗?

小时候,我发觉现实天下对我来说太难了。
我没想到会创造任何新东西,但是我喜好用写作来表达自己对思想的享受。

六年级的时候,我和几个朋友在一台复印机上写了两页纸的文章。
上高中的时候,作为报纸编辑,每周一晚上,我要熬一整夜才把报纸出版。

我在大学里第一次看到过我的打印稿,是作为学生论文的复印编辑。
在大三和大四季,我们开始进行工程和科学评审。

例如,我写过“Th5E4CH3EmIC2Al2Ca3P4Er” ,每个词都是化学式。

(注:高德纳在大学的时候写过一篇短篇小说,个中每个词都是化学式。
是不是有《绝命毒师》片头的觉得?)

QM:是这个缘故原由导致你写书的吗?或者还是有其余一个故事?

《打算机程序设计艺术》是一个宣言。
这本书描述了我喜好的做数学的办法,我希望有人用这种办法来教我。
从第1页,我就开始讲述算法的故事。

当时大多数教科书都没有探索创造的人文一壁。
他们只是说,“这便是化学的样子”或者“这便是物理的样子”。

我还讲了一个技能故事。
我说:“这是行不通的,这里有一种方法可以办理这个问题。

以是我不但是陈述事实,而是加入了戏剧性身分。
如果你知道创造的先后顺序,那么学习科学就随意马虎得多。
其余,我无法抗拒一个好的故事。

我不认为自己是一个先驱,而是一名。

QM:那么,除了故事之外,《打算机程序设计艺术》这本书是关于什么的?

写了两年书之后,我意识到这本书的新颖之处该当是在定量上决定程序的质量。
我不但是想说一个程序比另一个更好,我想说的是一个程序比另一个要好13.8%,并解释如何比较它们。

作者A评论辩论算法A,作者B评论辩论他的竞争算法B。
作者A从来没有写算法B,作者B也从来没有写算法A。
而且,作者A和B利用不同的打算机。

作为中立的,我要从一个角度阐明了这两种算法。
问“算法到底有多好” 是一个有趣的问题,而那便是算法剖析。

QM:“算法剖析”只是“打算机程序设计艺术”的另一种说法吗?

1967年,在一次工业与运用数学协会的会议上,当时有人问我做什么。

那时,打算机科学被划分为数值剖析、人工智能和编程措辞。
就这样,我意识到我须要为自己的事情起个名字。

我的书创新在于,它对算法的好坏程度进行了严格研究。
以是我决定,下次有人再问我这个问题时,我会说我做的是“算法剖析”。

我对算法剖析的定义是:如果我对这个内容感兴趣,那它便是算法剖析。
这不是一个很好的定义。

后来,我决定证明这一点。
我认为算法剖析是对算法性能的定量研究。
我将其分为两部分:个中一部分考虑了某个问题的所有可能算法;另一部分考虑了某个特定问题的特定算法。

算法剖析将是我生平的事情。

我见告出版商把我的书名改成《算法剖析》,出版商说:“那(这本书)就永久卖不出去了。

他们做出了精确的决定。
不过,让我非常高兴的是,这本书出版40年后,有五六个版本里算法剖析(作为副标题)涌现了。

QM:但是对付您来说,编程不仅仅是功能性的。
例如在设计TeX时,您想要找到连接某些点的“最令人愉悦的曲线”。
您是在考试测验为俏丽编程吗?

我的程序必须以某种办法把点连接起来,对精良书法家的事情进行逆向工程。

字母“S”的曲率从正变到负,大概它会在中间稳定一段间隔。
字母的设计者遵照一些逻辑将线条做成字母形状。

我不仅想获取设计的结果,还想获取它背后的聪慧。
这就像编写打算机程序。

△ 1980年,高德纳与字体设计师Herman Zapf互助

我与设计师交谈,理解他们想要达到的目标。
数学因此定量的办法获取设计。

通过数学,我在每样东西上都放了小刻度盘。
我可以说字母“A”有这个点、这个宽度、这个角度、在那里变细、底部有确定的衬线长度。

我从未打算取代设计师,我只想为下一代人精确获取我们现在正在做的事情。
有了TeX,设计就可以重现。

QM:您有没有预见到TeX在全天下被接管?

TeX最初只是给我的秘书和我自己利用。
Phyllis是一位出色的秘书,她可以读懂我的字迹并使它更俊秀。

由于履历的方法变得过于昂贵,因此印刷技能日渐衰落。

1970年代揭橥的险些所有数学著作都看起来都很糟糕。
比如在《美国数学月刊》中,下标的字体与主线文天职歧。

我知道打算机编程可以使书本看起来不错。

1978年4月,我完成了TeX的试用版调试。
5月有10个用户,6月有100个用户,7月份有1000个用户……每个新的团队都会说:“你必须有这个功能。

五年后,我发布了我们现在拥有的TeX。
Tex最初为美国人设计的,然后欧洲人也开始利用它。
到了1980年代,天下上各种措辞的人都在利用它。

QM:听起来探索创造一贯是您人生进程的一部分,到本日仍旧适用吗?

我每周均匀写五个新程序。
墨客必须写诗,而我必须写打算机程序。

理解某件事的终极测试是能否向打算机阐明。
我可以对你说些什么,你会点头,但我不愿定我阐明得很好。

但是打算机没有点头,它重复了我所说的。
在生活中大多数时候,您可以欺骗,但是对打算机弗成。

QM:您花韶光写作,但您还有其他兴趣,您每天是如何处理的?

杰克·伦敦(注:美国现实主义小说家)每天在与别人交谈之前都要写1000字。
他完备就像这样:“让我一个人静一静,直到我有千言万语!
”然后他会在一天的剩余韶光里饮酒或校正。

我不是,我的日程安排原则是,在待办事项清单上先做自己最讨厌的事情。
到周末,我就会很愉快。

QM:真的吗?做讨厌的事情怎么能让自己快乐?

对我来说,说“哦,让我成为一个天才,永久不要打扫厕所”,这是很随意马虎的。
即便你还是要去打扫厕所。

我妻子的吉尔和我买了一套409清洁套装,然后就可以到处喷喷,心情愉悦地去打扫厕所!

一个人的成功是由高的下限决定的,而不是高的上限。
如果你能把某件事做得很好,但还有其他事情你失落败了,而后者会让你退缩。

但是如果你所做的每件事都成了,那么你就有了美好的生活。
以是我努力学习如何让自己去做不喜好的事情。

QM:您也有许多与打算机科学无关的项目,例如您的音乐作品《抱负曲天下》,您乃至在两层高的管风琴周围建造屋子。
这些事情是否也使您感到快乐?

我写了几本书,包括《打算机科学家很少评论辩论的事情》(Things a Computer Scientist Rarely Talks About),这些书是关于神学的,它不像数学或者的打算机科学,你无法证明。

如果只剩下机器的东西,我的生活就不会完全。
我不理解的神秘事物让我谦善,有些事情超出了我的理解。

在数学中,我知道定理是否精确,我喜好这样。
但是如果统统都可行的话,我就不会有太多的生活乐趣。
这些知识不会使我失落望,相反,它让我不会墨守成规。

QM:完成《打算机程序设计艺术》是否主要?

打算机科学将连续发展。
一种情形是,每个人都将不再利用我们现有的那种打算机,他们都会去做机器学习并利用量子打算机。

然后我就可以结束非量子打算机的故事。
当我可以说“这便是故事的结局”的时候,我会更愉快。

那是我想象的完成这本书的最大略方法,但是我没有回答你的问题。

你知道“项狄”的故事吗?劳伦斯·斯特恩(注:英国伤感主义小说家)在18世纪后期撰写了一本自传体小说《项狄传》,以分册办法出版。

主人公的故事大概只有100页。
作者希望主角人生故事完全,但是他没有做到。
斯特恩一贯在写项狄传,直到去世。

我想以我所知的最佳办法连续去写出好的内容,并涵盖我独创性的部分。
我会尽我所能,而不是说我必须在某个截止日期之前完成。

我一贯非常幸运,在适宜我的特殊的时候出生。

除了《打算机程序设计艺术》,我现在已经实现了我生平的所有目标。
我将连续讲述我找到的故事并持续下去。

原文链接:https://www.quantamagazine.org/computer-scientist-donald-knuth-cant-stop-telling-stories-20200416/

— 完 —

量子位 QbitAI · 号签约

关注我们,第一韶光获知前沿科技动态