H********g 发帖数: 43926 | 1 【 以下文字转载自 Military 讨论区 】
发信人: hsh (nidaye), 信区: Military
标 题: 王垠: 图灵的光环
发信站: BBS 未名空间站 (Mon May 9 12:34:11 2016, 美东)
http://www.yinwang.org/blog-cn/2015/10/18/turing
图灵的光环
仿佛全世界的人都知道,图灵(Alan Turing)是个天才,是他创造了计算机科学,是
他破解了德国纳粹的Enigma密码。由于他的杰出贡献,计算机科学的最高荣誉,被叫做
“图灵奖”。然而根据自己一直以来对图灵机等计算模型的看法,加上一些历史资料,
我发现图灵本人的实际成就,相对于他所受到的崇拜,其实相差甚远。
由于二战以来各国政府对于当时谍报工作的保密措施造成的事实混淆,再加上图灵的不
幸生世所引来的同情,图灵这个名字似乎拥有了一种扑朔迷离的光环。人们把很多本来
不是图灵作出的贡献归结在他身上,把本来很平常的贡献过分地夸大。图灵的光环,掩
盖了许多对这些领域做出过更加重要贡献的人。
图灵传
2012年,在图灵诞辰一百周年的时候,人们风风火火的召开各种大会,纪念这位“计算
机之父”,很多媒体也添油加醋地宣传他的丰功伟绩。还有个叫Andrew Hodges的人,
抓住这个时机推销自己写的一本传记,叫做《Alan Turing: The Enigma》。这本书红
极一时,后来还被改编成了电影。
这本传记看似客观,引经据典,字里行间却可以感受到作者对图灵个人的膜拜和偏袒,
他在倾心打造一个“天才”。作者片面地使用对图灵有利的证据,对不利的方面只字不
提。仿佛图灵做的一切都是有理的,他做的不好的地方都是因为别人的问题,或者风水
不好。提到别人做的东西,尽是各种缺陷和局限性,不是缺陷也要说成是缺陷;提到图
灵的工作,总是史无前例,开天辟地的发明。别人先做出来的东西,生拉硬拽,硬要说
成是受了图灵的“启发”,还怪别人没有引用图灵的论文。这让你感觉仿佛别人都在抄
袭图灵伟大的研究成果,都在利用他,欺负他似的。如果你不想花钱买书,可以看看同
一作者写的一个图灵简要生平,足以从中感受到这种倾向。
我写这篇文章的很大一部分原因,就是因为这本传记。作者对图灵贡献的片面夸大,对
其他一些学者的变相贬低,让我感到不平。图灵在计算机界的名声,本来就已经被严重
的夸大和美化,被很多人盲目的崇拜。现在出了这本传记和电影,又在人们心中加重了
这层误解。所以我觉得有必要澄清一些事实,让人们不再被迷惑。
密码学
很多人提到二战Enigma密码的故事,就会把功劳一股脑地归到图灵头上,只字不提其他
人。其实呢,破解Enigma密码是很多人共同努力的结果,图灵只是其中的一员。这些人
缺少了任何一个,都可能是灾难性的后果。其中好些人的想法早于图灵,启发过图灵,
贡献比图灵的大,设计的东西比图灵的先进,却很少有人听说过他们的名字。论智力和
贡献,图灵在其中只是中等水平,最后说起来倒好像是他单枪匹马拯救了大家,这是不
公平的。
最初破掉Enigma密码的,其实不是英国人,而是波兰人。波兰人不但截获并且仿造了德
国人的Enigma机器,而且发现了其中微妙的漏洞,发明了一种用于解密的机器叫做
BOMBA,以及一种手工破解的方法叫做Zygalski sheets。BOMBA可以在两个小时之内破
解掉Enigma密码。波兰人一声不吭地窃听了德国人的通信长达六年半,最后在二战爆发
前夕把这技术送给了英法盟友。
BOMBA的工作原理,其实就是模拟好几个Enigma机器,“并发”运转,这样可以加速猜
出秘钥。最开头这样还行,但后来德国人改进了Enigma机器,把可选的齿轮从3个增加
到了5个。5选3,有60种情况,这样秘钥的空间增大了60倍。理论上BOMBA只要运转60倍
多的Enigma机器,就可以破解这增大的解空间,然而那已经超出了波兰的物资和人力。
再加上德国人就要打过去,所以波兰只好请英法盟友帮忙。
图灵最重要的贡献,就是改进波兰人的BOMBA,设计了一个更好的机器叫BOMBE。BOMBE
比起BOMBA,其实并没有质的飞跃,只不过BOMBE同时模拟的Enigma机器更多,转的更快
。另外它加入了一些“优化”措施,尽早排除不可行的路径,所以速度快很多。图灵最
初的设计,要求必须能够事先猜出很长的文本,所以基本不能用。后来Gordon
Welchman发明了一种电路,叫做diagonal board,才使Bombe能够投入实用。关于
Gordon Welchman的故事,你可以参考这个BBC纪录片。
在Bombe能够投入使用之前,有一个叫John Herivel的人,发现了一种特殊的技巧,叫
做Herivel tip,这种技术在Bombe投入使用之前几个月就已经投入实用,破解掉很多德
军的消息,立下汗马功劳。如果Herivel tip没有被发明,盟军可能在1940年5月就已经
战败,BOMBE也就根本没机会派上用场。
同时在Bletchley Park,还诞生了一台大型可编程电子计算机Colossus,它是由一个叫
Tommy Flowers的工程师设计的。Colossus不是用来破解Enigma密码的,而是用于破解
Lorenz SZ-40。那是一种比Enigma还要先进的密码机器,用于发送希特勒的最高指令。
德国人后来又改进了他们的通信方式,使用了一种具有四个齿轮的Enigma机器。这大大
的增加了破解的难度,普通的Bombe机器也破不了它了。后来是Harold Keen设计了一个
叫做Mammoth的机器,后来加上美国海军的帮助,制造了更快的Bombe,才得以破解。
所以你看到了,所有这些人的工作加起来,才改善了二战的局面。波兰人的BOMBA,已
经包含了最重要的思想。图灵的工作其实更多是量的改进,而不是质的飞跃。现在很多
人喜欢跟风,片面的夸大图灵在其中的作用,这是不对的。如果你对Enigma机器的技术
细节感兴趣,可以参考这两个视频:[视频1][视频2]。
理论计算机科学
图灵被称为“计算机之父”,计算机科学界的最高荣誉,被叫做“图灵奖”(Turing
Award)。然而如果你深入的理解了计算理论和程序语言理论就会发现,图灵对于理论
计算机科学,其实并没产生长远而有益的影响。在某种程度上说,他其实帮了一个倒忙
。图灵的理论复杂不堪,给人们造成很大的误导,阻碍了计算机科学的发展。而且他对
于发表论文,对待研究的态度让我怀疑,我觉得图灵本人其实就是当今计算机学术界的
一些不正之风的鼻祖。
图灵机和lambda演算
绝大部分计算机专业的人提到图灵,就会想起图灵机(Turing Machine)。稍微有点研
究的人,可能知道图灵机与lambda演算在计算能力上的等价性。然而在“计算能力”上
等价,并不等于说它们具有同样的价值,随便用哪个都无所谓。科学研究有一条通用的
原则:如果多个理论可以解释同样的现象,取最简单的一个。虽然lambda演算和图灵机
能表达同样的理论,却比图灵机简单,优雅,实用很多。
计算理论(Theory of Computation)这个领域,其实是被图灵机给复杂化了。图灵机
的设计是丑陋,复杂,缺乏原则的。它的读写头,纸带,状态,操作,把本来很简单的
语义搞得异常复杂。图灵机的读写两种操作同时发生,这恰好是编程上最忌讳的一种错
误,类似于C语言的i++。图灵机是如此的复杂和混淆,以至于你很难看出它到底要干什
么,也很难用它清晰地表达自己的意思。这就是为什么每个人上“计算理论”课程,都
会因为图灵机而头痛。如果你挖掘一点历史,也许会发现图灵机的原型,其实是图灵母
亲使用的打字机。用一台打字机来建模所有的计算,这当然是可行的,然而却复杂不堪。
相比之下,lambda演算更加简单,优雅,实用。它是一个非常有原则的设计。Lambda演
算不但能清晰地显示出你想要表达的意思,而且有直接的“物理实现”。你可以自然的
把一个lambda演算表达式,看成是一个电子线路模块。对于现实的编程语言设计,系统
设计,lambda演算有着巨大的指导和启发意义。以至于很多理解lambda演算的人都搞不
明白,图灵机除了让一些理论显得高深莫测,还有什么存在的意义。
历史的倒退
图灵机比起lambda演算来说,其实是一个历史的倒退。1928年,Alonzo Church发明了
lambda演算(当时他25岁)。Lambda演算被设计为一个通用的计算模型,并不是为了解
决某个特定的问题而诞生的。1929年,Church成为普林斯顿大学教授。1932年,Church
在Annals of Mathematics发表了一篇论文,纠正逻辑领域里几个常见的问题,他的论
述中用了lambda演算。1935年,Church发表论文,使用lambda演算证明基本数论中存在
不可解决的问题。1936年4月,Church发表了一篇两页纸的“note”,指出自己1935年
那篇论文可以推论得出,著名的Hilbert“可判定性问题”是不可解决的。
1936年5月,当时还在剑桥读硕士的图灵,也写了一篇论文,使用自己设计的一种“计
算机器”(后来被叫做图灵机)来证明同一个问题。图灵的论文投稿,比Church最早的
结论发表,晚了整整一年。编辑从来没见过图灵机这样的东西,而且它纷繁复杂,远没
有lambda演算来得优雅。就像所有人对图灵机的第一印象一样,编辑很难相信这打字机
一样的操作方式,能够容纳“所有的计算”。他无法确定图灵的论述是否正确,只好找
人帮忙。Church恐怕是当时世界上唯一能够验证图灵的论文正确性的人。所以一番好心
之下,编辑写了封信给Church,说:“这个叫图灵的年轻人很聪明,他写了一篇论文,
使用一种机器来证明跟你一样的结果。他会把论文寄给你。如果你发现他的结果是正确
的而且有用,希望你帮助他拿到奖学金,进入Princeton跟你学习。”
图灵就是这样成为了Church的学生,然而图灵心高气傲,恐怕从来没把Church当成过老
师,反倒总觉得Church抢先一步,破坏了自己名垂青史的机会。跟Church的其它学生不
一样,图灵没能理解lambda演算的精髓,却认为自己的机器才是最伟大的发明。进入
Princeton之后,图灵不虚心请教,只是一心想发表自己的论文,想让大家对自己的“
机器”产生兴趣,结果遭到很大的挫折。当然了,一个名不见经传的人,做了个怪模怪
样的机器,说它可以囊括宇宙里所有的计算,你不被当成民科才怪呢!
1937年,在Church的帮助下,图灵的那篇论文(起名为《Computable Numbers》)终于
发表了。Church还是很器重图灵的,他把图灵的机器叫做“图灵机”。不幸的是,论文
发表之后,学术界对此几乎没有任何反响,只有两人向图灵索取这篇论文。图灵当然不
爽了,于是后来就到处推销自己的图灵机,想让大家承认那是伟大的发明。有了一个锤
子,看什么都是钉子。后来每到一个地方,每做一个项目(见下一节),他都想把问题
往自己那篇论文和图灵机上靠,东拉西扯的想证明它的价值,甚至称别人发明的东西全
都是受到了图灵机的启发…… 经过人们很长的时间的以讹传讹之后,他终于成功了。
图灵当年的作法,其实跟当今计算机学术界的普遍现象差不多。我想发表自己的想法A
,结果别人已经发表了B,解决了A要解决的问题,而且还比A简单和清晰。怎么办呢?
首先,我声明自己从没看过B的论文,这样就可以被称为“独立的发现”。然后,我证
明A和B在“本质”上是等价的。最后,我东拉西扯,挖掘一下B的局限性,A相对于B在
某些边沿领域的优势…… 这样反复折腾,寻找A的优势,总有一天会成功发表的。一旦
发表成功,就会有人给我唱高调,没用的东西也要说成是有用的。他们会在A的基础上
发展他们自己的东西,最后把我推崇为大师。那发表更早,更简单优美的B,也就无人
问津了。胜利!
现在不得不说一下《图灵传》对此的歪曲。Church的论文发表,比图灵的论文投稿还早
一年,而且Church使用了比图灵机更简单优雅的计算模型。Church的成果本来天经地义
应该受到更多的尊重,到头来作者却说:“...and Turing was robbed of the full
reward for his originality”(见第3节“The Turing machine”)。让人感觉貌似
是Church用不正当的手段“抢走”了图灵的“原创性”一样。你本来没有什么原创性,
还丑陋复杂,所以何谈抢走呢?我怎么觉得恰恰相反,其实是图灵抢走了Church的原创
性?现在提起Hilbert可判定性问题,可计算性理论,人们都想起图灵,有谁还想得起
Church,有谁知道他是第一个解决了这问题的人,有谁知道他用了更优美的办法?
Lambda演算与计算理论
由于图灵到处推销自己的理论,把不好的东西说成是好的,把别人发明的机器硬往自己
的理论上面靠,说他们受到了图灵机的“启发”,以至于很多人被蛊惑,以为它比起
lambda演算确实有优势。再加上很多人为了自己的利益而以讹传讹,充当传教士,这就
是为什么图灵机现在被人们普遍接受作为计算模型。然而这并不能改变它丑陋和混淆的
本质。图灵机的设计,其实是专门为了证明Hilbert的可判定性问题不可解决,它并不
是一个用途广泛的计算模型。图灵机之所以被人接受,很大部分原因在于人的无知和愚
蠢。很多人(包括很多所谓“理论计算机科学家”)根本没好好理解过lambda演算,他
们望文生义,以为图灵机是“物理的”,实际可用的“机器”,而lambda演算只是一个
理论模型。
事实恰恰相反:lambda演算其实非常的实用,它的本质跟电子线路没什么两样。几乎所
有现实可用的程序语言,其中的语义全都可以用lambda演算来解释。而图灵机却没有很
多现实的意义,用起来非常蹩脚,所以只能在计算理论中作为模型。另外一个更加鲜为
人知的事实是:lambda演算其实在计算理论方面也可以完全取代图灵机,它不但可以表
达所有图灵机能表达的理论,而且能够更加简洁和精确地表达它们。
很多理论计算机科学家喜欢用图灵机,仿佛是因为用它作为模型,能让自己的理论显得
高深莫测,晦涩难懂。普通的计算理论课本,往往用图灵机作为它的计算模型,使用苦
逼的办法推导各种可计算性(computability)和复杂性(complexity)理论。特别是
像Michael Sipser那本经典的计算理论教材,晦涩难懂,混淆不堪,有时候让我都怀疑
作者自己有没有搞懂那些东西。
后来我发现,其实图灵机所能表达的理论,全都可以用更加简单的lambda演算(或者任
何一种现在流行的程序语言)来表示。图灵机的每一个状态,不过对应了lambda演算(
或者某种程序语言)里面的一个“AST节点”,然而用lambda演算来表示那些计算理论
,却可以比图灵机清晰和容易很多。在Indiana大学做计算理论课程助教的时候,我把
这种思维方式悄悄地讲述给了上课的学生们,他们普遍表示我的这种思维方式更易理解
,而且更加贴近实际的编程。
举一个很简单的例子。我可以用一行lambda演算表达式,来显示Hilbert的“可判定性
问题”是无解的:
Halting(λm.not(Halting(m,m)), λm.not(Halting(m,m)))
完整的证明不到一页纸,请看我的另外一篇文章(英文)。这也就是图灵在他的论文里
,折腾了十多页纸证明的东西。
我曾经以为自己是唯一知道这个秘密的人,直到有一天我把这个秘密告诉了我的博士导
师,Amr Sabry。他对我说:“哈哈!其实我早就知道这个,你可以参考一下Neil
Jones写的一本书,叫做《Computability and Complexity: From a Programming
Perspective》。这本书现在已经可以免费下载。
此书作者用一种很简单的程序语言,阐述了一般人用图灵机来描述的那些理论(可计算
性理论,复杂性理论)。他发现用程序语言来描述计算理论,不但简单直接,清晰明了
,而且在某些方面可以更加精确地描述图灵机无法描述的定理。得到这本书,让我觉得
如获至宝,原来世界上有跟我看法如此相似,对事物洞察力如此之高的人!
在一次会议上,我有幸地遇到了Neil Jones,跟他切磋思想。当提到这本书的模型与图
灵理论的关系,老教授谦虚地说:“图灵的模型还是有它的价值的……” 然而到最后
,他其实也没能说清楚这价值何在。我心里很清楚,他只是为了避免引起宗教冲突,或
者避免显得狂妄自大,而委婉其词。眼前的这位教授,虽然从来没有得过图灵奖,很少
有人听说过他的名字,然而他对于计算本质的理解,却比图灵本人还要高出很多。
总的说来,图灵机也许不是一文不值,然而由于lambda演算可以更加清晰地解释图灵机
能表示的所有理论,图灵机的价值相对来说几乎为零。Church在1937年给图灵论文写的
Review指出,图灵机的优势,在于它可以让不懂很多数学,不理解lambda演算之类理论
的人也可以看得懂。我怎么觉得图灵机对于不懂很多数学的人,理解起来其实更加痛苦
呢?而且就算它真的对“外行”或者“笨人”的理解有好处,这价值貌似也不大吧?:P
电子计算机
很多“理论计算机科学家”喜欢说,大家现在用的计算机,只不过是一个“Universal
Turing Machine”。就算你根本不知道图灵是谁,自己辛苦设计出一个机器或者语言,
他们总喜欢说:“是图灵启发了你,因为你那东西是跟图灵机等价的,是图灵完备的…
…”
那么现在让我们来看看,图灵本人和他的理论,真正对电子计算机的发展起过多大的作
用吧。如果一个人对一个行业起过重大的作用,那我们可以说“没有他不行”。然而事
实却是,即使没有图灵,计算机技术会照样像今天一样发展,丝毫不会受到影响。看一
看历史,你也许会惊讶的发现,图灵的理论不但没能启发任何计算机的设计,而且图灵
亲自设计的唯一一个计算机(ACE),最后也以悲惨的失败告终。
什么是Universal Turing Machine(UTM)
ACE失败的一个重要原因,是因为图灵过度的看重他自己发明的Universal Turing
Machine(UTM)。所以我想首先来解密一下,这个被很多人吹得神乎其神的,似乎什么
都可以往上面扯的UTM,到底是什么东西。
说白了,UTM就是一个解释器,就像Python或者JavaScript的解释器一样。计算机的处
理器(CPU)也是一个解释器,它是用来解释机器指令的。那这样说来,任何可编程,
具有指令集的机器都是UTM了,所以图灵的理论启发了所有这些机器?你尽管跟我扯吧
你应该知道,在图灵的UTM出现以前,Church的lambda演算里面早就有解释器的概念了
,所以UTM根本不是什么新东西,而且它比起lambda演算的解释器,真是丑陋又复杂。
而Church其实也不是第一个提出解释器这概念的人,像这类通用的概念,已经很难追溯
是谁“发明”的了。也许并不是某一个人发明了它,而是历史上的很多人。
解释器这个概念的涵义实在是包罗万象,几乎无处不在。只要是“可编程”的机器,它
本质上必然包含一个解释器。一个工程师在不知道解释器这概念的情况下,照样很有可
能“不小心”设计出一个可编程的机器,所以如果你把这些全都归结成图灵或者Church
的功劳,就太牵强了。
图灵与ACE的故事
事实上,最早的电子计算机,并不是图灵设计的,而是电子工程师跟其他一些数学家合
作的结果。根据老一辈工程师的叙述,图灵的工作和理论,对于现实的电子计算机设计
,几乎没有任何的正面作用。很多工程师其实根本不知道图灵是谁,图灵机是什么。他
们只是根据实际的需求,设计和制造了那些电路。这就是为什么我们今天看到的电子计
算机,跟图灵机或者图灵的其他理论几乎完全不搭边。
世界上最早的两台电子计算机,ENIAC和EDVAC,都是美国人设计制造的。其中EDVAC的
设计报告,是冯诺依曼(von Neumann)参与并签署的。提到EDVAC的设计,《图灵传》
有一段有趣的介绍,它基本是这样说的:“冯诺依曼在Princeton的时候,很了解图灵
开天辟地的发明—UTM。UTM只有一根纸带,而EDVAC把指令和数据放在同一个存储空间
,所以EDVAC的设计肯定是受了UTM的启发。然而EDVAC的设计报告,却只字不提图灵和
UTM的名字,更没有引用图灵划时代的论文《Computable Numbers》……”
这其实是在含沙射影的说,冯诺依曼和EDVAC团队抄袭了图灵的研究成果。照这种歪理
,我洗衣服的时候,袜子和内裤放在同一个桶里洗,也是受了图灵的启发了,就因为
UTM只有一条纸带?这世界上的事物,还有啥不是受了UTM启发的?这让我想起某些全靠
打专利官司赚钱的公司(patent troll)…… 冯诺依曼作为一代数学大师,比UTM重大
的研究成果多得是了,他会在乎抄袭图灵的东西吗?其实人家恐怕是根本没把图灵和他
的论文当回事。而且其他人(比如Church)早就有跟UTM等价的想法,而且还更好,更
简单。之前抢了Church的风头,现在居然欺到冯诺依曼头上来了。哎,真受不了这种一
辈子只想出过一个点子的人……
所以听说美国人造出了EDVAC,图灵开始各种羡慕嫉妒恨,感叹自己英才无用武之地。
终于有一天,他的机会来了。在EDVAC诞生几个月之后,英国国家物理实验室(NPL)联
系了图灵。他们想赶上美国的计算机技术发展,所以想招募图灵,让他帮忙山寨一个
EDVAC的“英国特色版本”。图灵设计的机器叫做ACE(Automatic Computing Engine)
。最初,图灵给NPL一个很宏伟的蓝图:ACE可以如此的强大,以至于整个英国只需要这
样一台计算机就够了,我们可以把它叫做“英国国家计算机”…… 然而再大的口号,
也难逃脱现实的检验,ACE项目最终以失败告终。
《图灵传》把ACE失败的责任,推托到NPL和其它人的“近视”和“官僚”,然而ACE失
败的主要责任,其实在于图灵自己:他完全没有设计一台现实的计算机的基本技能,却
总是自以为是,设立高大空的目标。图灵的设计跟当时(包括现在的)所有实用的计算
机都有巨大的差别。不出你所料,他最初的设计思路,是根据自己之前的论文《
Computable Numbers》里提到的“Universal Turing Machine”,不过从中去掉了一些
不实际的设计,比如用一根纸带来存储数据。这一点改进貌似做对了,可是呢,他又加
入了一些让工程师们无语的设计,美其名曰“极简设计”(minimalism)。比如,ACE
的硬件只提供AND, OR, NOT之类的逻辑运算作为“基本操作”,其它的算数操作,包括
加减乘除,全部用代码来实现。图灵大师啊,你知不知道有一种重要的指标,叫做“效
率”?
这还不算…… 后来他更加异想天开,终于扯上了“思考机器”(thinking machines)
—他想让ACE成为可以像人一样思考的机器,还想让这机器能够自己写自己的代码。按
照图灵的原话:“在ACE的工作中,我对人脑建模的兴趣,比实际的计算应用更感兴趣
。” 他显然已经把ACE当成了自己一个人的玩具,而不再是解决人们实际需求的工具。
只要有人反对这想法,他就会嘲笑说,你是怕我的机器太聪明了,抢了你的饭碗吧?其
实图灵对于实际的人脑工作原理所知甚少,基本处于初中生理卫生课本水平,然而他总
喜欢对人说,人脑不过就是一个UTM。看吧,它有输入,输出,状态转换,就跟UTM一样
…… 所谓“图灵测试”(Turing Test),就是那时候提出来的。当然了,因为他扯到
了“thinking machine”,就有后人把他称为人工智能(AI)的鼻祖。其实呢,图灵测
试根本就不能说明一个机器具有了人的智能,它只是在测试一些肤浅的表象。后来,“
thinking machines”成为了一种通用的幌子,用于筹集大笔科研经费,最后全都血本
无归。
图灵设计了这机器,NPL当时却没有能力制造它。于是他们求助于另外两位实现过计算
机的工程师:F. C. Williams和Maurice Wilkes(后来EDSAC计算机的设计者),请他
们帮忙实现图灵的设计。可想而知,Williams和Wilkes都表示不喜欢ACE的设计,而且
指出图灵的性格与自己的研究风格不匹配,不愿跟他合作,所以双双拒绝了NPL的邀请
。最后,NPL新成立了一个电子部门,ACE的工程终于可以开始。然而,根据资深工程师
们的讨论,觉得图灵提出的制造一个“电子人脑”和“智能机器”,并不是实际可行,
或者在短期之内能派上用场的项目,所以决定做一些实际点的事情。图灵对此非常恼火
,各种抱怨,说别人官僚啊,近视啊,没想象力啊之类的,然后开始公开的抵制NPL的
决定。
最后工程师们和管理层都受不了他了,鉴于他名声在外,又不好意思开掉他,只好提出
一个破天荒的提议:由NPL资助,让图灵回到剑桥大学去度年假(sabbatical),做一
些纯数学的研究。于是ACE在图灵不在的情况下,终于开工了⋯⋯1950年,
ACE运行了它的第一个程序。然而工程师们实现的ACE,完全偏离了图灵的设计,以至于
实际的机器和图灵的设计之间,几乎没有任何相似性。一年之后,图灵还想回到NPL,
继续影响ACE的设计,然而NPL的领导们却建议他继续留在大学里做纯理论的研究,并且
让曼彻斯特大学给他一个职位。最后图灵接受了这个建议,这下大家伙儿都松了一口气
…… :P
图灵设计的唯一一个计算机ACE,终究以图灵完全退出整个项目而告终。今天回头看来
,如果当时图灵留下来了,NPL真的按照图灵的意思来做,ACE恐怕直到今天都造不出来
。由于图灵不切实际的设计和高傲的性格,NPL失去了最优秀的人的帮助。1949年,
Maurice Wilkes按照EDVAC的思路,成功制造了EDSAC,速度是ACE的两倍以上,而且更
加实用。所以你看到了,图灵并不是一个实干家,他的双脚飘在半空中。他的理论,他
设计的机器,他的代码,全都停留在纸上。他并没有帮助造出任何一台实际可用的计算
机,他对计算机的工程实现几乎没有任何有益的影响。可惜的是,有些人喜欢把实干家
们千辛万苦造出来,真正可以用的东西,牵强附会地归功于某些高谈阔论的理论家,仿
佛那是理论家的功劳似的。这也许就是为什么图灵被他们称为“计算机之父”吧。
如果对ACE和其它早期计算机感兴趣,你可以参考一下更详细的资料。你也可以看一看
《图灵传》,虽然它观点荒唐,对图灵各种偏袒,然而图灵和其他人的通信,基本的史
实,他应该不好意思篡改。
总结
我说这些是为了什么呢?我当然不是想否认图灵所做出的贡献。像许多的计算机工作者
一样,他的某些工作当然是有意义的。然而那种意义并不像很多人所吹嘘的那么伟大,
它们甚至不包含很多的创新。
我觉得很多后人给图灵带上的光环,掩盖了太多其它值得我们学习和尊敬的人,给人们
对于计算机科学的概念造成了误导。计算机科学不是图灵一个人造出来的,图灵并不是
计算机科学的鼻祖,他甚至不是在破解Enigma密码和电子计算机诞生过程中起最重要作
用的人。
许许多多的计算机科学家和电子工程师们,是他们造就了今天的计算科学。他们的聪明
才智和贡献,不应该被图灵的光环所掩盖,他们应该受到像跟图灵一样的尊敬。希望大
家不要再神化图灵,不要再神化任何人。不要因为膜拜某些人,而失去向另一些人学习
的机会。 |
d****o 发帖数: 32610 | 2 王天才的自我剖析
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 【 以下文字转载自 Military 讨论区 】 : 发信人: hsh (nidaye), 信区: Military : 标 题: 王垠: 图灵的光环 : 发信站: BBS 未名空间站 (Mon May 9 12:34:11 2016, 美东) : http://www.yinwang.org/blog-cn/2015/10/18/turing : 图灵的光环 : 仿佛全世界的人都知道,图灵(Alan Turing)是个天才,是他创造了计算机科学,是 : 他破解了德国纳粹的Enigma密码。由于他的杰出贡献,计算机科学的最高荣誉,被叫做 : “图灵奖”。然而根据自己一直以来对图灵机等计算模型的看法,加上一些历史资料, : 我发现图灵本人的实际成就,相对于他所受到的崇拜,其实相差甚远。
|
H********g 发帖数: 43926 | 3 镜中人
【在 d****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王天才的自我剖析
|
d****o 发帖数: 32610 | 4 菌版的银粉水平不行
看不出这篇文章的本意
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 镜中人
|
H********g 发帖数: 43926 | |
n*********2 发帖数: 357 | 6 这个帖子的笑点是什么?
王垠的文章说的很多都是正确的: 比如说关于密码的那部分 [图灵的贡献没那么大]
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这句不错 : == : 有了一个锤子,看什么都是钉子。
|
d****o 发帖数: 32610 | 7 这算俗语了,Maslow's hammer
天才在北美混一遭也不能免俗,
文章里整些西式俗语和句法
比如
图灵机是如此的复杂和混淆,以至于你很难看出它到底要干什么
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这句不错 : == : 有了一个锤子,看什么都是钉子。
|
H********g 发帖数: 43926 | 8 本版关心图灵测试的多,学术学术,不是笑话。
【在 n*********2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这个帖子的笑点是什么? : 王垠的文章说的很多都是正确的: 比如说关于密码的那部分 [图灵的贡献没那么大]
|
m**o 发帖数: 9805 | 9 菌斑怎么好像一堆这货的粉丝?
我看也就是个拳打牛顿脚踢老爱的货...
愤世嫉俗的半桶水而已
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 本版关心图灵测试的多,学术学术,不是笑话。
|
n******t 发帖数: 4406 | 10 這為仁兄,主要是沒有solution,都是說某人不行,某東西很渣,這樣肯定不招人待見。
雖然他的東西大部分也有相當道理。
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 【 以下文字转载自 Military 讨论区 】 : 发信人: hsh (nidaye), 信区: Military : 标 题: 王垠: 图灵的光环 : 发信站: BBS 未名空间站 (Mon May 9 12:34:11 2016, 美东) : http://www.yinwang.org/blog-cn/2015/10/18/turing : 图灵的光环 : 仿佛全世界的人都知道,图灵(Alan Turing)是个天才,是他创造了计算机科学,是 : 他破解了德国纳粹的Enigma密码。由于他的杰出贡献,计算机科学的最高荣誉,被叫做 : “图灵奖”。然而根据自己一直以来对图灵机等计算模型的看法,加上一些历史资料, : 我发现图灵本人的实际成就,相对于他所受到的崇拜,其实相差甚远。
|
|
|
a****o 发帖数: 6612 | 11 哈哈,在王垠的眼里,爱因斯坦更不行。狭义相对论其实是洛仑兹搞出来的;光电效应
不过是解释了一个试验现象,而且其解释远远没有后来的量子力学解释的好;广义相对
论的场方程其实希尔伯特已经先于爱因斯坦写出来;等等
見。
【在 n******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 這為仁兄,主要是沒有solution,都是說某人不行,某東西很渣,這樣肯定不招人待見。 : 雖然他的東西大部分也有相當道理。
|
n******t 发帖数: 4406 | 12 愛因斯塔那個有本質區別。
再說愛因斯坦也沒靠狹義相對論得諾貝爾獎。
【在 a****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 哈哈,在王垠的眼里,爱因斯坦更不行。狭义相对论其实是洛仑兹搞出来的;光电效应 : 不过是解释了一个试验现象,而且其解释远远没有后来的量子力学解释的好;广义相对 : 论的场方程其实希尔伯特已经先于爱因斯坦写出来;等等 : : 見。
|
r****z 发帖数: 12020 | 13 这文章读起来感觉是图灵这人做的东西啥也不行,也没什么用,idea 还偷来偷去的,
但不知道为什么,前辈同辈后辈大多数人都莫名其妙地纷纷犯贱,什么好处都上赶着给
他喂。
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 本版关心图灵测试的多,学术学术,不是笑话。
|
w*x 发帖数: 3456 | 14 我觉得吧他要是能搞出和linus一样的东西来就算是说fuck图灵也没人多少人喷他了。
。 |
s******y 发帖数: 28562 | 15 典型的眼高手低吧。他写的那个名校学生的缺点可以全盘套在他身上每一条都不拉下。
【在 w*x 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我觉得吧他要是能搞出和linus一样的东西来就算是说fuck图灵也没人多少人喷他了。 : 。
|
n****4 发帖数: 12553 | 16 王垠是捧哏还是逗哏??
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 本版关心图灵测试的多,学术学术,不是笑话。
|
r*g 发帖数: 3159 | 17 church vs Turning, 我觉得他说得对。否则专家们不妨解释一下turing 机比lambda
calculus好到哪里? |
a***e 发帖数: 27968 | 18 因为他政治正确
★ 发自iPhone App: ChineseWeb 1.0.6
【在 r****z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这文章读起来感觉是图灵这人做的东西啥也不行,也没什么用,idea 还偷来偷去的, : 但不知道为什么,前辈同辈后辈大多数人都莫名其妙地纷纷犯贱,什么好处都上赶着给 : 他喂。
|
a***e 发帖数: 27968 | 19 据说更基本?相当于汉字五笔画
没法真用
★ 发自iPhone App: ChineseWeb 1.0.6
【在 r*g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : church vs Turning, 我觉得他说得对。否则专家们不妨解释一下turing 机比lambda : calculus好到哪里?
|
H********g 发帖数: 43926 | 20 王哏
【在 n****4 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王垠是捧哏还是逗哏??
|
|
|
k*n 发帖数: 1203 | 21 Smart guy, nice blog. He might accomplish more if he could finish schools,
but that is his own business. |
g***n 发帖数: 14250 | 22 跟他读不读完书无关。看他做出来啥。
看起来普普通通的 linux gcc 之类他有啥贡献么
【在 k*n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Smart guy, nice blog. He might accomplish more if he could finish schools, : but that is his own business.
|
I*******y 发帖数: 4893 | |
w*****7 发帖数: 5038 | 24 王要搏出位啊,其实骂骂霍金伪科学反而效果更好
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王哏
|
o*******w 发帖数: 349 | 25 很有见地。竟然转到这一版,这才是joke.
对turing的评价另说,对turing机的评价正是我想说的。
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王哏
|
r*g 发帖数: 3159 | |
g****t 发帖数: 31659 | 27 王银不懂计算机。
没人说过turing machine是多大的原创。
图灵机算是之前Godel,Church
的东西的直观变形。
但是Universal Turing Machine,也就是可以跑
程序的程序。以及由此衍生来的计算复杂理论,那就是
Einstein 级别的发现了。
Universal lambda machine 也有。但那是图灵之后的事
【在 d****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王天才的自我剖析
|
a***e 发帖数: 27968 | 28 爱因斯坦级别?
尼玛787还和iPhone4一个难度呢
★ 发自iPhone App: ChineseWeb 1.0.6
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王银不懂计算机。 : 没人说过turing machine是多大的原创。 : 图灵机算是之前Godel,Church : 的东西的直观变形。 : 但是Universal Turing Machine,也就是可以跑 : 程序的程序。以及由此衍生来的计算复杂理论,那就是 : Einstein 级别的发现了。 : Universal lambda machine 也有。但那是图灵之后的事
|
n****4 发帖数: 12553 | 29 王垠是个逗哏,没错。有很多种逗法,方肘的是一种逗,王垠是另一种逗。
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 王银不懂计算机。 : 没人说过turing machine是多大的原创。 : 图灵机算是之前Godel,Church : 的东西的直观变形。 : 但是Universal Turing Machine,也就是可以跑 : 程序的程序。以及由此衍生来的计算复杂理论,那就是 : Einstein 级别的发现了。 : Universal lambda machine 也有。但那是图灵之后的事
|
H********g 发帖数: 43926 | 30 你们这么多码农,能不能都出来说说到底图灵机强还是蓝布搭计算强?为什么这个楼里
意见这么不一致? |
|
|
r****z 发帖数: 12020 | 31 问题是他的认识也有偏差。他好像说牛校的问题是老师不怎么教东西,就让学生做难题
,相当于自学。他是研究生阶段才开始接触牛校的,而研究生阶段即便是上课也不应该
是老师手把手教,就是该训练自学的。他恰巧研究生才接触牛校,就安在牛校身上,正
常的教学他却接受不了。
【在 s******y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 典型的眼高手低吧。他写的那个名校学生的缺点可以全盘套在他身上每一条都不拉下。
|
s******y 发帖数: 28562 | 32 上面有人贴的连接里已经有解答了。
在绝大部分情况下,图灵机能做的事情蓝布搭也能做。所以一般情况下大家认为这两者
功能差不多。但是特殊情况也有。有些功能是图灵机能实现而蓝布搭不能做的(连接里
举了一个例子)。
另外,图灵机的历史地位不是因为它多么的好用或者牛叉,而是因为它是现代计算机理
论的奠基者。蓝布搭计算一开始不是为了这种事情而设计的,但是后来被adapt 到那个
领域去了而且在大部分情况下比图灵机容易使用和理解。
图灵在计算机领域里的地位堪比达尔文在生物学里的地位。虽然达尔文的理论在现代生
物学看来是很不完善的,有些地方甚至是错的,但是这个不影响他作为现代生物学奠基
人的地位。
王某只从功能的强大或者易用与否来评价图灵机,其实是本末倒置。这个就好像说最早
之一(注意是之一)的可编程计算机ENIAC 的功能不如现代的iPhone 强大所以ENIAC就
是狗屎一样无聊和可笑。
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你们这么多码农,能不能都出来说说到底图灵机强还是蓝布搭计算强?为什么这个楼里 : 意见这么不一致?
|
n******r 发帖数: 4455 | 33 骂清华是八百年前的事情了,后来是骂康奈尔,骂印第安纳,骂google,骂开始自己吹
上天的一个startup
一次两次可以说是他运气不好,每次都这样只能说他自己有问题
【在 r****z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问题是他的认识也有偏差。他好像说牛校的问题是老师不怎么教东西,就让学生做难题 : ,相当于自学。他是研究生阶段才开始接触牛校的,而研究生阶段即便是上课也不应该 : 是老师手把手教,就是该训练自学的。他恰巧研究生才接触牛校,就安在牛校身上,正 : 常的教学他却接受不了。
|