当前位置: 科技热点 > 计算机界最大“追书坑”,82岁大神高德纳仍在写《计算机程序设计艺术》4B卷

计算机界最大“追书坑”,82岁大神高德纳仍在写《计算机程序设计艺术》4B卷

2020-05-16 09:40 点击:15次 ats 发现 mini 世纪 bac gaz Aria aria

原标题:计算机界最大“追书坑”,82岁大神高德纳仍在写《计算机程序设计艺术》4B卷 来源:量子位

关注前沿科技

Arial;font-variant-ligatures: normal;orphans: 2;widows: 2;background-color: rgb(248, 248, 248);border-radius: 3px;overflow-wrap: break-word;margin-top: 10px;margin-bottom: 10px;padding: 10px;font-size: 14px;text-align: left;line-height: 2;word-break: break-all !important;letter-spacing: 1px !important;word-spacing: 1px !important;">晓查 编译整理 
量子位 报道 | 公众号 QbitAI

Donald Knuth,中文名高德纳,是他创造了“算法分析”这一新的计算机科学研究领域。

mini j_p_gallery">

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

这本书原本是他在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”的曲率从正变到负,也许它会在中间稳定一段距离。字母的设计者遵循一些逻辑将线条做成字母形状。

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

我与设计师交谈,了解他们想要达到的目标。数学是以定量的方式获取设计。

通过数学,我在每样东西上都放了小刻度盘。我可以说字母“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页。作者希望主角人生故事完整,但是他没有做到。斯特恩一直在写项狄传,直到去世。

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

我一直非常幸运,在适合我的特别的时候出生。

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

正骨后的小鬼 美国新冠病毒感染病例超过161万例 喻言变温柔了 王俊凯探访最高检 建议为中小学幼儿园配备专职保安 谁最懂宋茜 77名诺奖获得者联名谴责美政府 上海新增1例境外输入 纽约时报提前公布次日头版 高校为设计专业学生办VR毕业展 有没有一种小龙虾是蓬松的 建议对援鄂在鄂医务人员心理援助 意大利下周对15万人进行血清学检测 吴昕跳舞 乃万甩话筒 政协委员谈南方供暖需求问题 朋友圈式交友相亲 建议地铁建立免安检白名单 酒桌文化有多讨厌 全面5G网络覆盖还需5至8年 你因为怕鬼做过哪些傻事 周游记 南方人第一次去搓澡的经历 不计成本救新冠病人的成本到底是多少 高伟光情商 开斋节 美国房地产市场遭受严重打击 国漫要走出中国道路 期待Lisa组 小朋友是生活里的哲学家 刘雨昕长发 张艺凡反串 TES晋级季后赛 猫咪迷惑行为图鉴 孙如云p图实力 建议将过度弹窗运营商纳入失信名单 幸福触手可及 大学生活费最大的一笔支出 被开过最过分的玩笑 韫色过浓 全国政协十三届三次会议第二场委员通道 孟鹤堂曾毅跳女团舞 当代年轻人的常见谎言 山东济宁3.1级地震 赫兹中国回应申请破产 被老师区别对待的经历 吉林四平拟禁养中华田园犬 31省区市新增3例新冠肺炎 31省区市新增无症状感染者36例 前CUBA篮球队员参军护航亚丁湾