《程序员》VS一代算法大师高德纳.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《程序员》VS一代算法大师高德纳

《程序员》VS 一代算法大师高德纳 具有实践精神的理论家;我们时代的达芬奇--高德纳访谈录文/丁力译/赵斯思审校/高昂《程序员》杂志的一位作者袁泳先生,曾经说过高德纳是一位文艺复兴时期式的天才人物,这说的是他的博学,以及他同时具备的灵巧的编程能力。在分工越来越细致的现代社会,这确实非常罕见,就像一个人自己制造一架飞机,他既要考虑空气动力学问题,也要考虑飞机上的每棵螺丝钉的固定方式。也确实使我们想到达芬奇,后者创造了享誉后世的《蒙娜丽莎》,《计算机程序设计艺术》在计算机领域的影响可以与之媲美,同时也是机器设计方面的专家。从计算机科学史上说,高德纳正是生逢其时。1936年,图灵发表了《论可计算数及其在判定问题上的应用》一文,确立了可计算模型。1953年,巴克斯发明了Fortran语言。从1960年代起,高德纳以他的博识与耐心开始了《计算机程序设计艺术》的写作,该书旨在对计算机科学理论的数学背景与历史,做一梳理和总结。现在大学计算机系的《数据结构》课程的内容基本来自该书。有人更是把它与牛顿的《自然哲学和数学原理》并列,选为对世界历史发生影响的十大科学著作,这不无理由。高德纳本人在36岁时,获得了计算机科学的最高荣誉---图灵奖。从1993年起,他主要专心致力于完成七卷本的《计算机程序设计艺术》一书。几个星期以前,我们采访了他。使我们特感幸运与欣悦的是,高德纳先生对我们的采访表现出极大的热诚,在繁忙工作中抽出宝贵时间,细致地回答了我们的问题,并在通信中特别强调希望用他的中文名字。从这里,不难看出他对中国和中国文化的热爱。这在采访的本文中也有所体现。当我们谈到最早的算法时,他特别提到《九章算术》,这本即使中国人也很少读过的书。或者我们可以将此看作一种激励,正如高德纳在采访中所说,计算机科学的思想来自世界各个地域、各种文明。可以期待,今天的中国也会产生如刘徽、秦九韶那样的数学高手,对计算机科学与技术做出独特的贡献。以下是采访的本文:本刊记者:什么是最早的算法?高德纳:我想,第一个真正的算法可以追溯到大约4000年前,它们以楔型文字记载在粘土板上。我在文章史前巴比伦算法中对此有过讨论(我将其翻译为现代注记方式),这篇文章也重印为我的书《计算机科学论文精选》的第十一章。当然,这些早期的算法并不是很精巧。它们解释了如何以计算的方式解决这些问题,但后来发现使用代数方法能更好地解决它们。最早的有意义的算法,它对于今天的程序员们仍然很重要,是最大公约数的求解。其中一个算法被称为欧几里德算法,它被记载于欧几里德几何原本上,尽管它来自于欧多克索斯和其它一些更早期的人物。这种算法基于辗转相除法。另一个算法仅需要除以二,因此非常适合当前的二进制计算机。这个算法可能发源于2000年前的中国--这要取决于我们如何理解经典的《九章算术》中一些句子的隐藏的含义(我在我的书《半数值算法》的340到341页和中文版的309页讨论了这个问题)。本刊记者:奥运会今年夏天在中国举行,这是对于中国来说是一件很重要的事情,因为它有一些特殊的含义,也许是一个符号,表示中国人能像接受希腊火炬一样接受西方文化。希腊先哲毕达哥拉斯说过我喜欢作为奥运会的观众胜过成为一个运动员或商人。现在很多中国人也成为了奥运会观众,我来问个问题:为什么希腊人发现的数学对于人类文明(包括计算机科学)如此重要?高德纳:希腊数学家发明的最伟大的东西是严格证明的概念。这个概念将数学与其它知识区别开来,其它知识往往是基于事实的累计、由老师传授给学生的并由社会共识所评估(举个例子,物理中,并不知道一个假设的真假,而只能等着所谓专家们的想法越来越趋于统一。但是在数学中,很多事情都是无可辩驳的,或者说不存在不同的观点),纵观人类历史,那些没有遵从希腊方式理解数学的文明把数学认为是应该记忆的规则而不是可以由逻辑推演而来的事实。在这些文明(例如古代中国、日本、印度和哥伦布发现之前的美洲等)中,人们发现了很多重要的数学原理但是也犯了很多错误,因为学生否决老师是不明智的!这也是为什么我如此感激史前的希腊数学家教会其他人如何真正的证明问题。另一方面,我希望澄清一点,我相信所有文明之间都是相互学习的。我为计算机科学这个全世界成千上万的人的共同成果而庆祝,每个人都为此贡献了他们从经验中而来的重要观点。本刊记者:如何看待数学和计算机科学之间的关系,特别是数学和算法学习之间的关系?高德纳:你可以参照我对第二个问题的回答,我认为数学对于程序员最重要的意义在于它告诉我们如何证明我们的程序将会在所有情况下正常工作。若非如此,我们就得为此担心,尽管我们的程序通过了已有的所有测试,但或许明天它在处理另外一些新数据时就会出错。当然,仅仅知道程序能正常工作这一点并不够。有了数学,我们可以证明一个程序比另一个程序快成千上万倍。某些时候,我们甚至能证明程

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档