ramy  2019-07-09 09:42:12  云计算 |   查看评论   

高德纳

半个世纪以来,史丹佛电脑科学家高德纳(Donald Knuth)已成为算法领域的精神导师。他和《星际大战》中的尤达大师有些相似之处── 尽管他身高6尺4寸(约193厘米),戴着一副眼镜。

 

高德纳是《电脑程序设计艺术》的作者,这四卷巨着是他的毕生之作。第一卷出版於1968年,全卷(盒装出售,约250美元)2013年被科学杂志《American Scientist》收录进「塑造上世纪科学」的书本名单之中,与《查尔斯.达尔文自传》特别版、汤姆.沃尔夫《真材实料》、瑞秋.卡森《寂静的春天》,以及阿尔伯特.爱因斯坦、约翰.冯.诺伊曼、理查.费曼的着作并列。

高德纳

▲算法领域的精神导师、史丹佛电脑科学家高德纳着有《电脑程序设计艺术》,该书被誉为电脑领域的「圣经」

 

《电脑程序设计艺术》畅销超过一百万本,可说是电脑领域的圣经。「如同真正的圣经,它内容很长,也非常详尽,没有其他书籍能和它一样全面。」Google研究总监彼德.诺米格说。翻过第652页,第一卷结束,黑色封底上写着比尔盖茨的推荐语「如果你能看懂全部内容,一定要寄封履历给我。」

 

《电脑程序设计艺术》的开头节录自《McCall's CookBook》:

 

**这就是你们写了上千封信,要求我们出版的那本书。我们花了很多年反覆检查数不尽的食谱,只为带给你们最棒、最有趣、最完美的内容。 **

 

本书内文主要讲算法,这一数码时代的食谱──虽然高德纳总爱指出,3,800年前的巴比伦石板上,也能找到算法。高德纳是位备受敬重的算法学者,他的名字出现在领域内一些最重要的算法上,例如Knuth-Morris-Pratt字串寻找算法。这个算法是在1970年代构想的,它可以找出所有在文本中出现的给定文字,举例来说,当你在文件中使用Ctrl+F搜索关键字时,就是应用了这种算法。

高德纳

▲高德纳看着他19岁时发布的第一篇技术论文。

 

如同他往年的打扮,现年80岁的高德纳,时常穿得像个年轻的极客(geek):长袖T恤外面再套着件短袖T恤,以及一件牛仔裤,至少每年的这个时刻,他总是这样的打扮。早年的日子里,他终日与机器为伍,写些原始的程序,鼓捣着零与一。

 

诺米格提到,「高德纳证明了系统可以被解析到机器语言的等级。」然而算法成为了当今主流,使得一般工程师不再去理会那些二进制垃圾,转而专注在一层又一层的抽象层代码,且经常使用从函式库找来的一连串代码。不过,顶尖工程师偶尔仍会做较为深入的研究。

 

「在Google,有时我们只是把程序堆砌在一起。」在加州山景城举办的一场Google Trip会议上,诺米格说,「但其他时候,如果你是为数十亿使用者服务的话,那么效率便很重要。效率提升10%,就可以创造数十亿美元的价值。为了达到该有的效率水准,你必须理解程序的全部脉络。」

 

或者就如高德纳以前的一位研究生:Google顶尖科学家安德雷.布罗德在会议中解释的,「我希望为我们所做的研究提供些理论基础。我们不需要粗浅、漏洞百出或者二流的算法。我们不希望其他算法学家说『你们这些家伙是白痴。』」

 

创建於2016年的Google Trip赢咖4平台,采用「定向算法」排定一天中值得推荐的旅游行程。开发团队着眼於「最佳化最糟日子的旅游品质」──好比说,避免将使用者引导回同个地区,只为欣赏不同的景点。他们从瑞士数学家李昂哈德.欧拉300年前提出的算法中得到灵感,这位数学家想要绘制一条穿越普鲁士柯尼斯堡7座桥梁各一次的路线。高德纳博士在他的第一卷着作中,阐述了欧拉的古典问题。(他曾将欧拉的方法应用在一台由电脑控制的纺织机上)

 

依循高德纳的教诲,可以避免成为「堆砌代码的笨蛋」。众所周知,他曾提出「文学程序设计」的概念,强调对於人类以及电脑而言,代码的易读性非常重要──这个概念现在看来近乎矫情。高德纳甚至认为部分代码足以比肩伊莉莎白.毕晓普的诗章,以及菲利普.罗斯的《美国牧歌》,获得普立兹奖也不为过。

 

高德纳同时是个众人皆知的完美主义者。网络漫画《xkcd》、《万物解释者》作者兰德尔.门罗初次得知高德纳,还是因为有人说如果能从他的书中找到任何错误,就可以获得奖金。门罗回忆道,「他们说得到高德纳的奖金就如同获得电脑科学的诺贝尔奖。」

 

高德纳自我要求严格、文艺等诸多个人特质,或许可以解释为什么他这本着作离完成之时看似遥遥无期。高德纳和Google共同创办人谢尔盖.布林打赌,看布林能否在他完成着作前,获得博士学位。

高德纳

▲高德纳於加州的家。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自致敬算法领域的精神领袖:扎克伯格的尤达大师

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]