科学网

 找回密码
  注册

tag 标签: 图灵

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

相对论为什么是正确的?
热度 2 liwei999 2011-12-8 12:37
相对论为什么是正确的?空间为什么是3维的?“专科”里的“民科”事例。 作者: mirror (*) 日期: 12/07/2011 20:22:37 对N大力学,没听说过、听说过、学过和融会贯通属于不同的档次。电 学与力学之间,又有个“鸿沟”,到了电动力学的档次,就很少有人跟得上来了。这个情景,很像的 讲课的最高境界中曹老师的描述 。 Quote 曹老师说: 教师与学生是种什么关系?形象地比喻的话,老师是站在高山之巅的指路人,学生则是在茂密的山林中爬山的人。换句话说,老师需要居高临下,需要熟悉地形地貌,学生的目的是爬山,至于地形地貌怎样暂时不必关心,自有老师为其指引方向。看官们要说了,学生在丛林中看不见老师,老师也看不见学生,如何指引方向?好办啊,现在技术这么发达,用手机就行了。如果有幸爬上山顶,地形地貌自然会一目了然,如果到不了山顶,那就呆在半山腰得了,本文只说老师。 闲话休提。相对论为什么是正确的?空间为什么是3维的?这类问题一般正统“民科”是不会提的。所谓“正统”,问题必须是“相对论为什么是不正确?” “专科”中的“民科”代表,是说科大的沈惠川老师。沈老师有写 《经典力學》 、 《统计力学》 教科书的水平,当然是属于“专科”了。“专科”人论 相对论为什么是正确的问题 ,比较难有新意。沈老师有意“创新”,不料却走了麦城。 电磁现象的媒介“以太”是个古老的概念。今天人们说“以太”跟“燃素”一样,属于是被淘汰的概念(模型)。科学史的专家们对19-20世纪之交的这场 物理革命 的故事也算是“如数家珍”了。但是这些故事当中,很少有说明、解说为什么当时的物理学家们需要“以太”。而这个事情的答案,正是沈老师给出的、认为是 证明了为什么相对论是正确的 那段文字。如果沈老师用 那些说法 去解释为什么需要 以太 的话,无疑对科学史教育是个贡献。因为至少很多现在的科学史专家们并不能理解到这一层次,他们的很多故事也都是“听说”来的。 镜某的结论是:沈老师认为是 证明了为什么相对论是正确的 那套思考,应该是用在 解释当初人们为什么需要“以太” ,而不是证明了为什么相对论正确。需要“以太”的思考,到了现代,被人们“忘却”了,只记住了一个结论。不需要以太的思考模式(相对论的思考),在现代标准的教科书上有N多种解释方法,这里就不再费口舌了。 对 空间为什么是3维的 解说,援引统计力学的数据来解释,显然是不够漂亮。因为还有更漂亮的解释法。比如说,因为万有引力是1/r 2 ,所以宇宙空间必须是3维的。这是来自 数学结构上的保证 。 发现某种客观存在与某种数学结构的对应,有些与发现新药的事儿相似,讲究的是那个 对应 。 为什么斑马会有条纹?援引“进化论”的说法基本上都是忽悠。解释来自数学家的 图灵 。什么叫牛人?立即能被人们接受的思考、想法,基本而上还都不够牛。如此一来,“真牛”和“民科”的偏执就比较难区分了。其实区分两类人不难,看看还有没有其他的作品就是了。超前几十年的牛人,不会就固守在一个学术领域里。比如这个图灵,能这样去思考问题,与艺术家的境界是相通的。真正的“科学家”的数量,应该与艺术家的差不多。这样一比较,就会感觉“科学家”的人数太多了,都“毛”了。 在今天,对孩子们解释斑马条纹时,就没有必要引用什么“进化论”的说法了。直接讲有个叫 图灵 的“精灵”在起作用也许效果更好。 ---------- 就“是”论事儿,就“事儿”论是,就“事儿”论“事儿”。
个人分类: 镜子大全|3641 次阅读|2 个评论
图灵(Alan Turing)的伟大贡献 -- 给大学生报告 (讲稿PPS下载)
kghao 2011-11-4 23:07
(讲稿PPS下载): 1028纪念图灵诞辰100周年.pps 西北大学信息科学与技术学院 “大学生 IT 创新教学实践”活动 培养好的心智与理想 拥有丰富的专业理论知识与实践能力 锻炼强健的身体。 学术报告会 报告题目:图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年 报告人: 西北大学 郝克刚 教授 时间: 2011 年 10 月 28 星期五 下午 3:30 (约 2 个小时) 地点: 听众: 西北大学信息科学与技术学院一、二年级学生自愿参加 内容简介: 图灵( Alan Turing )是计算机和计算机科学的理论奠基人。明年是他诞辰 100 周年。为了纪念他对计算机科学的伟大贡献,从今年年底开始世界计算机界要举行一系列的纪念活动,并称 2012 年是图灵年( Alan Turing Year )。 就如同文学院的学生都熟悉曹雪芹和红楼梦,物理系的学生都熟悉爱因斯坦和相对论一样,学习计算机有关专业和学科的学生,不能不知晓图灵和图灵机的基本知识和概念。为此向大学生们做一次通俗的学术讲座,简要列举和介绍图灵的一些重要贡献以资纪念。希望能起到普及计算机科学的基本知识,弘扬科学精神,活跃学术气氛的作用。 在报告中还将演示我最近用 HTML5 编的图灵机演示软件,以提高大家编程的兴趣。 报告提纲: 图灵的生平 什么是图灵机和通用图灵机 为什么说它是电子计算机的理论基础 有超越图灵机计算能力的模型吗 是否存在计算机不可解的问题 怎么度量计算的能力和复杂度 图灵测试,计算机能思维吗 图灵奖,对年轻人的期盼和希望
个人分类: 学术交流|4454 次阅读|0 个评论
何为伟大? --谨以此文纪念图灵先生
热度 10 shanbowei 2011-10-22 14:15
何为伟大?  --谨以此文纪念图灵先生
2012年的6月23日,将迎来图灵100岁诞辰。届时,全球计算机界必将掀起盛大的纪念活动。鄙人作为小角色自然没资格去参加那些大腕们的高层次聚会了。因此只好赶个大早,躲在角落处提前撰文,以此来纪念计算机界的鼻祖--图灵先生。 图灵先生的照片来自网络 阿兰.图灵(Alan Turing),1912年出生在英国伦敦周边一个名叫曼达威尔的小镇。他从小爱好数学,后来考入剑桥大学,他读大学时展现了其优秀的数学天赋,获得了数学奖学金,并于1938年在普林斯顿大学获得博士学位。图灵博士毕业后回到英国,继续从事数理逻辑方面的研究工作。二战爆发后,他协助英国军方进行通信方面的工作,并成功的破解了德国纳粹的军事密码。 在1936年,图灵的经典论文《关于可计算数,及其在决策问题中的应用》( Turing, A. M. (1936). "On Computable Numbers, with an Application to the Entscheidungsproblem" . Proceedings of the London Mathematical Society . 2 42 : 230–65. 1936–37. ),公开发表,此文提出了“图灵机”的概念,将一个数学问题是否可解,最终等价为“图灵机”是否停机的问题。(关于“图灵机”的具体概念,可以参考郝克刚教授的博文) 这篇经典的论文,为计算机的制造,奠定了理论基础。也正是因为图灵的伟大贡献,计算机界的最高奖项被命名为“图灵奖”。 鄙人作为计算机行业的一名小学生,始终认为 图灵先生是最伟大 的。何为伟大? 伟大就是做出了巨大的成就,而并不为人所注意,我们普通人享受着他的伟大成果,却甚至都没有感受到他的存在 。我在此敲击的键盘,看着计算机显示器上的字符图画,尽情在网络上挥洒着自己的想法,但什么时候会去细想这计算机的工作细节,什么时候会去思考奠定计算机工作原理的图灵机是怎么被发明出来的。估计像我一样的绝大多数博友们都在享用着计算机和网络的好处,却早已忽略了图灵的存在了..... 想想我们脚下的大地;天上的太阳;以及呼吸的空气吧。我们时时刻刻的享受着她们,却甚至早已忽略了她们的存在。我们甚至肆意的毁坏蹂躏她们,却甚至将她们对我们的宽厚包容视为软弱可欺。 大地、阳光、空气,这难道不是最伟大的东西吗? 图灵先生是在1954年去世的,死时年仅41岁。普遍的说法是因为他误食了沾有氰化钾的毒 苹果 ,而死亡的具体细节在学术史界还有争论。人们在惋惜他英年早逝之余,也不禁感叹: 看来苹果真的是会造就伟人的,无论是亚当和夏娃偷吃的那一个,砸中牛顿头的那一个,还是被乔布斯咬了一口的那一个......
9637 次阅读|14 个评论
图灵 Alan Turing 的伟大贡献-- 纪念图灵诞辰100周年 8 全文下载
热度 8 kghao 2011-9-20 00:02
图灵 Alan Turing 的伟大贡献-- 纪念图灵诞辰100周年 8 全文下载
图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年( 8 全文下载 ) 西北大学 郝克刚 8) 图灵奖,中国人的期盼和展望 1966 年,美国的国际计算机学会 ACM ( Association for Computing Machinery )为表彰图灵对计算机科学的伟大贡献,设立了图灵奖( A. M. Turing Award ),每年一届,奖金 25 万美元,用以奖励在计算机科学研究中做出创造性贡献,推动计算机科学技术发展的杰出科学家。选择条件要求很高,程序极严,一直被公认是世界计算机科学领域的最高荣誉奖项,相当于计算机科学界的诺贝尔奖。奖金由 Intel 和 Google 公司提供。 . 1966-2010 年已举行 45 届,有 55 名科学家获此殊荣。许多著名的对计算既科学技术作出重大贡献的科学家都是图灵奖的得主。获奖者的名单和他们一个个的贡献推介,活生生地展现了几十年来计算机科学技术发展的历程和辉煌成就的方方面面。 令我们中国人感到遗憾的是我们国内培养成长的专家至今还没有一个在获奖名单中出现。获图灵奖的唯一一位华人是 2000 年得主姚期智博士 (Chi-Chih Yao) ,台湾大学毕业,在美国哈佛大学和伊利诺斯大学取得博士学位,曾在美国著名的麻省理工学院、斯丹佛大学、加州大学贝克莱分校任教,获奖时任美国普林斯顿大学教授。现在海归聘为中国清华大学教授。 很多人都在问和思考为什么我们培养不出高水平的能获得诺贝尔奖和图灵奖的科学家?我认为除了我们的大学和研究所的研究水平、研究环境与先进国家有较大的差距外,可能在我国的教育制度和科研体制上有缺陷,不利于一流人才的成长。从思想氛围上过于浮躁,鼓励和导向倾向于急功近利。研究人员思想上整天考虑的是如何去完成论文数量任务,如何去申请科研项目经费,如何去通过鉴定验收,如何去争取获奖,如何去拼一级一级的职称。那里有时间和精力去思考真正的自己感兴趣的研究问题,谁还敢冒出不来成果坐冷板凳的风险去研究重要但很难的大问题,结果就导致研究上的“短平快”低水平重复,垃圾论文滥竽充数,甚至弄虚作假、侵权抄袭丑闻百出。 我们国家的科学研究水平同国家的经济和政治地位是不匹配的。大家都看到了这点,都有殷切的期待和展望,希望在不远的将来能够有我们自己培养的科学家做出重大的贡献。其实有很多外国学者也这么看。例如 1993 年图灵奖得主世界著名计算机科学家米勒( Robin Milner )在他的经典著作 “ 通信与移动系统:π - 演算 ” 中译本( 2009 年出版)序言中,对中国学者就给与了很大的期待,他写道: “ 中国,作为在世界上发挥日益重要作用的大国,具有 引领 为新技术建立科学基础 的机会 …… 。 ” 这也正是我们广大中国学者所日夜期盼的,外国人说出了我们中国人的心声。我们希望把机会变为现实。 (全文完) 2011 年 9 月 19 日 作者简介: 郝克刚。 西北大学 信息科学与技术学院教授。早年从师于中国科学院已故著名的数理逻辑学家,计算机科学家胡世华、唐稚松院士。曾在美国马里兰大学计算机科学系作访问学者。中国计算机学会 Petri 网专委会资深委员。研究领域:软件工程及相关理论。 全文PDF文件下载: 图灵的伟大贡献v2.pdf
个人分类: 学术交流|7168 次阅读|10 个评论
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(7)
热度 1 kghao 2011-9-18 23:24
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(7)
图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年( 7 ) 西北大学 郝克刚 7) 图灵测试,计算机的智能 电子计算机诞生以后,人们惊奇地发现它的能力大大超出原来的预期。计算机不仅可以做大量的计算,还能进行复杂的推理。于是就把它同人的大脑进行比较,提出“计算机能思维吗”的问题。这里涉及到对“什么是思维”的理解和界定,涉及哲学、认知学以及社会学等各个方面,相当复杂众说纷纭,很难有一个统一的标准。图灵 1950 年 10 月在英国曼彻斯特大学发表论文 “ 计算机和智能 ” ,巧妙地把这个问题转化为一种可操作的方法,那就是测试。后来被称为图灵测试。简单说就是与其争论什么是“思维”,不如我们去做实验测试。通过了测试就叫计算机能思维,否则就说还达不到思维的水平。 图灵测试是这样设计的。测试分测试人员和被测试方两部分。被测试方由 A 和 B 构成, A 和 B 分别是一个人和一台被测试的计算机。测试人员和被测试方是分开的,提问和回答是通过一些中间设备实现的。测试人员并不知道 A 和 B 那个是人那个是计算机。测试时由测试人员分别向 A 和 B 提问,由被测试的人或者计算机回答问题。通过一系列的提问后,如果测试人员能够通过问题的回答,正确地分出 A 和 B 谁是人谁是机器,说明计算机还没有达到人的水平,那机器就没有通过图灵测试,如果测试人分不出 A 和 B 谁是机器谁是人,那这个机器就通过图灵测试。图灵指出: “ 如果机器在某些条件下,能够非常好地模仿人回答问题,以至提问者在相当长时间里误认它不是机器,那么机器就可以被认为是能够思维的。 ” 当时的计算机根本无法通过这一测试。图灵预言, 50 年内 , 即在 20 世纪末会有计算机通过图灵测试。图灵测试没有规定问题的范围和提问的标准,如果想要制造出能通过试验的机器,必须在电脑中储存人类所有可以想到的问题,储存对这些问题的所有合乎常理的回答,并且还需要理智地作出选择。这几乎是不可能的。到目前为止还没有电脑能通过图灵测试。但是如果限制在一定的领域和范围之内通过图灵测试是完全有可能的。 人工智能专家经过多年的努力,开发了不少智能软件,在理论和实践上取得了很大的进步。 1997 年 5 月 3-11 日, IBM 的计算机深蓝( Deep Blue )以 2 胜 1 负 3 平的成绩第一次战胜国际象棋冠军卡斯帕罗夫大师。在世界引起轰动。也可以说在一定意义下实现了图灵的预言。 自然对于图灵测试的理解以及它的作用等方面,学界也有各种不同的争论。而正是由于有这些争论才推动了科学技术的发展。 (未完待续)
个人分类: 学术交流|5583 次阅读|1 个评论
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(4,5,6)
kghao 2011-9-17 20:18
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(4,5,6)
图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年 ( 4 , 5 , 6 ) 西北大学 郝克刚 4) 有超越图灵机计算能力的模型吗 图灵机是为直观的“计算”给出一个严格的形式化的定义。它的神妙之处还在于它的组成和执行规则相当简单,但是功能却非常强大。试图对其扩展来扩大它的计算能力都不成功。例如多增加几个无穷长的带子和读头,最后证明它的计算能力还是等价于原来的图灵机。即使是非确定的图灵机的能力也等价于确定的图灵机。 图灵 1937 年被邀请到美国普林斯顿和丘奇 (Alonzo Church) 一起合作,他们提出了一个后来被叫做丘奇 - 图灵论题。这个论题断言图灵机同直观的有效的函数计算具有等价的问题求解机制。即所有 “ 能解 ” 的问题都存在一个图灵机,只要把问题放在图灵机带子上,若有解则停机后带子内容即是解答。这个断言叫做“论题”是由于他无法严格证明。 那个时代和后来曾经提出过不少的形式化计算模型,如 λ 演算、递归函数、正规算法、 POST 系统、递归算法(胡世华)等,全都被证明同图灵机等价。这些事实在一定程度上加强了这个论题。 当然在学界也有一些对此论题的质疑,例如有人认为交互式机器超越了图灵机( Peter Wegner ),有人认为量子计算机,生物计算机可能会超越图灵机,但是这些意见都还没有能给出具有说服力的论证,从而也没有为普遍学者所认可。在纪念图灵诞辰 100 周年之际,关于是否有超越图灵机计算能力的模型也是一个争论的热门话题。 5) 使不可解问题的证明成为可能 由于图灵机是为 “计算”给出的一个严格的形式化的定义。从而使严格证明某些问题是“不可计算”(“不可解”或“不可判定”)成为可能。要知道这种否定的证明通常是相当困难的,所以说这也是图灵的一个重要贡献。 首先可以证明图灵机的停机问题是不可判定的。接着证明了推导系统的字的问题是不可判定的。后来又证明了逻辑系统以外的许多实际数学问题是不可判定的。如有名的 希尔伯特 第十问题是不可解的,即不存在这样的算法,它能判定一个任意的丢番图方程 (Diophantine Equation) 是否有整数解。 即使是不可解的问题,也有程度层次的不同,克林 ( Stephen Kleene) 曾对其进行了分层。笔者早期也曾涉及此类研究,提出过 “ 可构造实数论中若干谓词在 Kleen 分层下所属的类型 ” (《数学学报》 1964 年第四期。) 6) 为计算机科学的研究奠定重要的理论基础 图灵机的提出,影响深远,可以说它为以后整个计算机科学的研究奠定了重要的理论基础。例如关于的形式语言和自动机的理论研究就以图灵机作为基础,它对计算机编译系统和操作系统技术的发展起着重要作用。 乔姆斯基( Avram Noam Chomsky )曾按生成文法的不同对语言进行分类。所谓语言就是某字母表上字的集合。而后来发现语言又和接受它的机器类型有关。 说某机器 M 接受某个字 w , 是指 如果以字 w 作为机器 M 的输入(对图灵机来说就是作为他的初始字),运行后以某指定的接受状态结束计算。也就是说,如果 M 在其他状态结束计算,或计算不终止,则 M 不 接受该字 w 。 理论研究证明语言,生成文法和机器的类型有如下的对应关系: 语言类型 生成文法 接受的机器类型 0 型语言 0 型文法 图灵机 一型语言 上下文有感文法 线性有界自动机 二型语言 上下文无关文法 下推自动机 三型语言 正则文法 有穷自动机 再例如关于算法复杂度的研究,也常以图灵机作为研究的起始模型。我们知道,同样是算法,在机器上运行时所需要的时间和空间资源的数量时常相差很大。因而需要定义算法的复杂度来作为度量算法优劣的一个重要指标。假定算法在图灵机上计算的输入字的长度是 l ,那么完成此计算所需要的最长时间(即运算的最长步数)是 l 的一个函数 ,称此函数为此算法的时间复杂度。同样,完成此计算所需要的最大空间(即运算涉及的格子最大数量)也是 l 的一个函数 ,称此函数为此算法的空间复杂度。例如函数不超过多项式函数,就说此算法具有多项式时间或多项式空间复杂度。函数不超过指数函数,就说此算法具有指数时间或指数空间复杂度。 大家知道指数函数要比多项式函数增长得快得多,因而常认为具有多项式时间复杂度的算法是 “ 实际可行的 (feasible) ” 算法。而具有指数时间复杂度的算法是实际不可行的。 例如:多项式函数 t=n 3 , n=60, t=216000 ,一台百万次计算机, 0.2 秒即可完成。而指数函数。 t=3 n , n=60, t=3 60 ~ 4x10 28 ,若能用 10 亿台百万次计算机并行运算,需要运行一百万年。 这里再顺便介绍一下悬赏奖金一百万美元巨奖,被称为 “ 千僖年数学难题 ” 之一的 “P = NP?” 问题。这个问题是: “ 在多项式时间界限下,确定的和非确定的图灵机器是否具有同等的功能? ” 我们知道,确定的和非确定的有穷自动机的功能是相同的,它们所接受的语言都是正则集合。如果不加多项式时间的限制,确定的和非确定的图灵机的功能也是相同的,它们所接受的语言都是递归可枚举集。如果对图灵机加上空间的限制,在多项式空间界限下,确定的和非确定的图灵机也具有同样的功能。但是,并不是在所有情况下确定的和非确定的机器都具有同样的功能。例如,对具有一个下推存贮的有穷机器来讲两者的功能是不相同的,非确定性的下推自动机所接受的语言是上下文无关语言,而确定的下推自动机所接受的语言却是上下文无关语言的一个真正的子类。 那么在多项式时间界限下,确定的和非确定的图灵机器是否具有同等的功能呢?即是否 P = NP? 回答究竟是肯定还是否定,只能有一种。这个问题的提法相当清晰,但是要解答这个问题却不容易。当代很多有名的计算机科学家都研究过这个问题,问题至今仍未解决,而且愈来愈觉得是相当困难的。解决这个问题似乎需要在方法上有重大突破。 上世纪 70 年代提出的 NP 完全的理论,对解决此问题有很大的推进,但仍未最终解决。笔者 3 0 年前曾写过一篇综述文章, "NP 完全问题及有关理论研究 " (《计算机科学》, 1980 年 1 期。) 不久前,有一位 HP 公司的工程师宣称他证明了 P != NP ,不过目前还尚未被认可。 (未完待续)
个人分类: 学术交流|5518 次阅读|0 个评论
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(3)
kghao 2011-9-17 20:00
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(3)
图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年(3) 西北大学 郝克刚 3) 通用电子计算机出现的理论基础 以前的资料认为最早的电子数字计算机是 ENIAC (Electronic Numerical Integrator and Computer). 1946.2 诞生于美国宾州大学莫尔学院。 ENIAC 是一台为各种炮火计算弹道的专用计算机,程序用外接电路板输入。后查证,实际上世界上第一台专用电子计算机是 1939 年爱荷华( Iowa ) 州立大学开发的 Atanasoff –Berry Computer( 简称 ABC) 。此外,后来还发现二战期间德国当时也独立研制成功了计算机。 1945 年冯 · 诺伊曼发表了 “ 关于离散变量自动电子计算机 EDVAC (Electronic Discrete Variable Automatic Computer) 的设计草案 ” 。这台计算机由他设计,不仅数据,程序也可存储在计算机中。数据可变,程序也可变,是所谓 “ 存储程序式 ” 的通用计算机。建造合同 1946 年 4 月签订。预算是十万美元 , 但最后耗资五十万。 1949 年 8 月交付美国军队的弹道研究实验室, 1951 年开始运行 最先实现 “ 存储程序式 ” 计算机的是 EDSAC(Electronic Delay Storage Automatic Calculator) 。它采用水银延迟先做存储器,可存储 512 个 34bit 字长的字,研制者是英国剑桥大学威尔克斯 (M.V.Wilkes) 。伦敦一家面包公司 (Lyons) 投资, 1949 年 5 月 6 日 试运行成功。 1951 年批量生产投入市场 LEO(Lyons Electronic Office) 。但是他的设计思想完全来自冯 · 诺伊曼的 EDVAC 的设计。而冯 · 诺伊曼的设计思想却又来自图灵 1936 年的文章中引入的概念 — 图灵机器和通用图灵机。 之所以这么快就由硬件连线构成的专用计算机过渡到 “ 存储程序式 ” 的通用计算机,完全归功于通用图灵机概念的引入。因而我们说,是图灵的图灵机理论奠定了通用电子计算机设计的理论基础。这种理论准备同电子技术的结合才最终产生了 20 世纪最伟大的奇迹。 (未完待续)
个人分类: 学术交流|5644 次阅读|0 个评论
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(2)
kghao 2011-9-17 19:02
图灵(Alan Turing)的伟大贡献-- 纪念图灵诞辰100周年(2)
图灵( Alan Turing )的伟大贡献 -- 纪念图灵诞辰 100 周年(2) 西北大学 郝克刚 2) 图灵机和通用图灵机 图灵机器是图灵在他的论文中提出的一个抽象的计算机模型。模型非常简单,由下面几部分构成: n 个符号 S ={ s 1 ,…,s n }, 其中有空格符号 b S ; m 个状态 Q={ q 1 , … ,q m }, 其中有初始状态 q 1 Q 一条两个方向或一个方向是潜在无穷长的由格子组成的带子。每个格子可以存放一个符号。带子边附有一个读写头,读写头处于某个状态并指向某个格子,可以读写所指格子上的符号,并在带子上左右移动。 另有一组有穷个形如下式的规则: s i ,q j s k ,q l ,d. 其中 d=H,L 或 R . 图灵机器这样执行:开始时,在图灵机带子的一串格子上放上由符号(除 b 外)组成的初始字,其余格子均放置空格符号 b 。读写头处于初始状态 q 1 ,并指向初始字的第一个格子。然后如下执行。如果所指的符号是 s i , 读头的状态是 q j ,刚好是某规则的左端,则按照该规则做动作:在所指格子上写符号 s k ,读头变换状态为 q l ,根据 d 的值( d=H,L 或 R )读头位置保持不动 ( H ) ,左移 ( L ) 或右移 ( R ) 一格。 上一步做完后,如果所指的符号和读头的状态刚好又是规则组中某规则的左端,则图灵机器按此规则继续执行。余次类推,直到所指的符号和读头的状态不能同所有规则的左端匹配时,图灵机停机,执行终止。一般将执行终止时带子上的字作为相对于初始字的计算结果。 我用 Java 编了一个图灵机的模拟软件,在讲座时可以演示图灵机的执行过程。如果阅读此文就只好自己做做练习,来体验图灵机的执行了。例如下面就是一个把二进制数展开成同等数量的 1 的图灵机。例如,初始字是 10 ,结果就是 11 ,初始字是 101 ,结果就是 11111 等 ,… 。此图灵机的符号集 ={ b,0,1 } ,状态集 ={ q1,…, q7,St,Er } ,规则集合是: b,q1 b,q7,L; b,q2 b,q3,R; b,q3 1,q4,L; b,q4 b,q5,L; b,q5 b,Er,H; b,q6 b,q1,R; b,q7 b,St,H; 0,q1 0,q1,R; 0,q2 0,q2,R; 0,q3 0,q3,R; 0,q4 0,q4,L; 0,q5 1,q5,L; 0,q6 0,q6,L; 0,q7 b,q7,L; 1,q1 1,q2,R; 1,q2 1,q2,R; 1,q3 1,q3,R; 1,q4 1,q4,L; 1,q5 0,q6,L; 1,q6 1,q6,L; 1,q7 1,Er,H; 如果执行中每次只可能有一个规则匹配,也就是说所有规则的左端都不完全相同,图灵机的执行是唯一确定的,称这样的机器为确定的图灵机。反之,有两个或更多的规则的左端完全相同时,图灵机的执行就不是唯一确定的,称这样的机器为非确定的图灵机。 图灵的伟大贡献不仅是提出了图灵机器的概念,更重要的是还提出了通用图灵机的概念。我们把一个这样构造的图灵机 T ,称为通用图灵机 :  对任给的图灵机 A ,只要把它 (A) 的规则和初始字,并列起来作为通用图灵机 T 的初始字,让通用图灵机 T 运行,运行结果就是图灵机 A 的运行结果。而正是这个思想奠定了 10 年后通用电子计算机出现的理论基础。 (未完待续)
个人分类: 学术交流|3885 次阅读|0 个评论
图灵的魅影
zhengjiaolin 2010-11-1 16:38
阿兰.图灵是个绝对的鬼才,这家伙建造了一座巨大的迷宫图灵机。 所有对可计算理论着迷的人都是其中迷路的天真小孩。 P要等价于NP-Hard,are you kidding? 用线性的CPU去破解大自然超指数的天龙八部,悲壮啊! But,any way. 既然我们是从大自然中来的,在大脑DNA的编码中,一定携带了破解密码的吧,I believe。
个人分类: 未分类|3230 次阅读|2 个评论
电脑人心 之 计算机能思维吗?(二)图灵的机器(4)停机问题
luocun 2010-9-28 06:20
前面说到图灵机可以做一些很有用的事情,比如 咱们讨论过的奇偶校验 ,再比如计算圆周率。那么,图灵机究竟能做多少事情呢? 先来看看图灵机的所谓通用性(universality)。通用性是不是意味着图灵机可以做任何事情呢?不是。因为,正如 我们上次说过的 ,通用性并不是说一台通用图灵机(universal Turing machine)能够做所有的事情,而是说它跟任何其他图灵机指令表的编码结合起来,可以做那台图灵机本来做的事情。这就意味着,如果有某个任务,我们不可能构造出任何图灵机──就是说构造出适当的指令表──来完成,那么这个任务自然也就是通用图灵机也不能完成的了。 那么,究竟是不是人们能够想到的一切计算任务,都可以构造某台图灵机来完成呢?图灵1936年的文章证明了这是不行的。就是说,存在着严格定义的计算任务或者问题,它是任何图灵机都不能完成的。图灵当时讨论了一个问题,是后来被叫做停机问题(halting problem)的一个变形。下面俺非正式地介绍一下停机问题。 会编程序的朋友都知道,一个程序在运行时有可能进入所谓死循环,就是说程序反复不停地做一些事情,一遍又一遍,没完没了,让它停止执行的条件永远得不到满足。死循环是程序设计中常见的臭虫之一。那么,大家可能会想,能不能构造一个程序,叫做死循环检测器,这个程序,以任何程序P及其任何输入S为输入──就像通用图灵机那样──然后告诉你P在S下会不会运行到一个死循环,而永远停不下来。如果能够造出这样的死循环检测器,那么程序 调试 就会方便很多。图灵证明了停机问题不可解,也就排除了构造出这样的死循环检测器的可能性。 稍微形式化一点,所谓停机问题是说,是否存在一个图灵机,我们可以把它叫做H,它实现这么一种判定程序:给定任何图灵机M和任何输入m,H总是会就M在m输入下会不会停机给出肯定或者否定的正确答案。 请注意,所谓停机问题不是说,图灵机出问题了。不是像最近酒后驾车的问题很严重 那种问题,那种坏现象。 停机问题 就像能不能造出死循环检测器呢?那样, 是一项任务,一种期望 。所谓停机问题不可解,就是说不存在H那样的图灵机,就像不可能造出死循环检测器那样。 下面来看看如何用反证法来论证这种不可能性。 假定 H 存在 ,或者说可以构造出来,这就是说H的行为大致可以用如下的伪代码来表示: H(M, m) { 如果M在输入m下停机,那么 打印停机 否则 打印不停机 } 这里H(M, m)的意思就是说H接受M和m为输入。 那么,以H为基础,我们可以构造另一个图灵机,可以叫做E,它的行为如下 E(n) { 如果H(n, n)打印停机,那么 反复执行 打印不停机 直到1等于2 否则 打印停机 } 由于1永远也不会等于2,所以E的构造里面有个死循环,一旦进到那里,就再也出不来,不停地打印不停机。而进入那个死循环的条件呢,就是H(n,n)打印停机。根据H的定义,这也就是说编码为n的图灵机,在以自己的编码n为输入的情况下会停机。 既然,E也是一个图灵机,那么它就可以有它相应的编码。我们讨论在 通用图灵机 时说过的,任何一个图灵机都可以被编码,然后该编码可以被用作图灵机的输入。那么,E也就自然有它的编码,我们把这个编码叫做e。那么,当E以e为输入时,就是执行E(e)时,情况会怎样呢? 根据E的构造,E(e)只有两种可能。要么是情况(甲):进入死循环,不停地打印不停机,运行永远也不结束;要么 是情况 (乙):打印一次停机然后就结束。 假定是情况(甲)或者说死循环,那么根据E的构造,H(e,e)打印的是停机。前面提到过,按照H的定义,这也就是说编码为e的那个图灵机──就是E!──在输入为e时会停机,或者说E(e)会停机。这就跟这里假定的(甲)刚好矛盾了。 假定是情况(乙)或者说打印一次就停机,那么根据E的构造,H ( e,e)打印的是不停机。按照H的定义,这也就是说E在输入e下面 不停机, 亦即E(e)不停机,这就和这里假定的(乙)刚好矛盾了。 既然 E(e)出现 其仅有的两种可能行为中的任何一种都导致矛盾,那么我们最初关于H可以构造出来的假定 必然 是错的。这样我们就证明了不可能构造出一个H,给它任何其他图灵机M的编码和输入m,它都能告诉我们M在输入m下是否会停机。就是说,我们证明了停机问题不可解。 在说明了停机问题(的一种变形)不可解之后,图灵在论文中把判定问题规约为停机问题,从而作为图灵机理论的一个应用,证明了判定问题不可解,从而跟丘奇一样,否定性地回答了 希尔伯特和艾克曼的问题 :不存在一般性的判定过程,能够从形式化了的算术系统里的命题出发,就该命题是否为真或者是否可证给出确定的答案。
个人分类: 电脑人心|6601 次阅读|0 个评论
电脑人心 之 计算机能思维吗?(二)图灵的机器(3)"通用性"
luocun 2010-9-24 11:31
上次讲到图灵机的构造,就这么简单的一种安排[link],图灵认为它是体现了有效过程,并通过证明一系列的结果来论证这一点,其中最有名的两个结果无疑是通用性和可计算性(毋宁说是不可计算性)。前一个结果是正面的、肯定性的结果,是说咱们可以构造一个图灵机(就是说构造一个指令表了),叫做通用图灵机。 这个通用图灵机──我们可以把它叫做U──完全按照任何普通的图灵机那样运行,就像上次我们讲到的那样:每一步不过是根据当前状态和读写头下当前的符号,按照指令表里面的相应指令,决定新的状态、写出的记号和读写头移动的方向。可是,放到这个图灵机的带子上的输入,其组织比较特别,分为两部分,一部分是任何某个图灵机M(其实就是说M的指令表了)的编码,另一部分是给M的输入m。 U能做的事情呢,就是说如果本来M在输入为m的情况下,最后停机并在带子上留下输出m',那么U在以M的指令表编码和m联合组成的输入下,最后停机并在带子上留下输出m';反之,如果本来M在输入为m的情况下,不停机,那么U在相应的以M指令表编码和m的联合输入下,也不停机。就是说,在任何输入m下,U跟M的指令编码部分──这可以视为是U的程序──联合起来,都可以跟M本身在m输入下表现得一样。当然,这里的一样,或者说等价,只是从输入输出关系和停机与否而言,也就是说如果我们忽略中间过程里状态和纸带的在每一步上的具体变化的话。(换句话说,这其实是一种非常行为主义的等价。) 咱们来简单看看为什么构造这样一个U是可能的。基本的思路是让U来模拟M的每一步。 首先,任何一个图灵机M都可以用一个有限的记号串来编码。这是因为,除了带子之外,图灵机的任何其他方面都是有限的:(1)带子上记号的种类是有限的。比如,上面咱们一直就只考虑了0和1两种,即使加上空白的化,也才三种;而即使用上所有的UNICODE字符,包括全部汉字,也还是有限的。(2)可能的状态数是有限的。(3)读写头的可能移动是有限的:向左、向右或者不动。这样的话,由于构成指令表的任何五元组都是由状态、记号和读写头移动的可能情况组合而成的,指令表也就是必然是有限的。这就意味着,M的指令表可以用有限长度的编码来代表。 其次,输入是很简单的,我们可以不失一般性地假设U和M用的记号是相同的,这样的话,就可以直接把M的输入m放到U的带子上。 第三,M有自己的控制器,控制器不光包括了上面讨论了的指令表,还有M在当前的状态。请注意,这里我们不能根据M的不同,每次有个新的M时,都相应改变U的状态集合。那样的话,U就不再有通用性了。可是,我们可以用U自己的带子!具体而言,我们可以在U的带子上面开辟出特定的一块来专门记录M当前的状态。这里可以采取跟M的指令表编码时采取同样的状态编码。这样的话,每次M的状态改变时,U就可以把自己带子上的专用记录区加以相应更新。 最后,在任何特定时刻,M的读写头也在一个特定的位置,所以U也需要跟踪M的读写头的位置。这里可以采用插入一个特殊的记号的方式。比如把#放在U自己带子上对应于M的输入输出记号串的那部分里M的读写头当前所在空格的右边那一格。 有了这些编码M的指令表、输入与状态,以及跟踪M的控制器状态和读写头位置方面的准备,我们就可以考虑U如何去执行(编码后的)M的指令表。 根据U自己带子上对M的控制器状态和读写头位置的记录,可以很容易得到M(如果它自己在运行的话)的当前状态和当前输入记号。拿到了这些之后,就可以根据它们去找出U的带子上那条编码后的相应的M的指令。这里需要图灵机能够进行有限记号串的匹配操作。这个大家想想,应该不难。 找到指令后,就剩下三件事情了:(1)状态转换,这个其实只需要U把找到的指令里的新状态拷贝到的自己带子上记录M状态的那片专用记录区就可以;(2)写出记号,这个只要在带子上用#标出的,M的读写头当前位置处(就是#的右边),把格子里的旧记号用找到的M的指令里的新记号替换就可以;(3)模拟M读写头的移动,这个需要改变特殊记号#的位置,就是说让它和它左边或者右边的邻居格子里的记号交换就可以。 咱们这里只是粗粗勾勒了一下通用图灵机的构造,省略了很多细节,不过由此也应该可以看出构造通用图灵机是可能的。 至于说这个通用性结果的意义,主流的说法是它很了不起,表明了可以有一个图灵机可以做任何其他图灵机可以做的事情。这个结果,或者说这种理解,在历史上曾经刺激了McCulloch和Pitts的开创性的神经网络研究。 不过,俺觉得,这个所谓通用性,其实真正的意义在于引入了编程的概念,甚至基本框架。因为要说U可以做任何其他图灵机M可以做的事情,其实是不准确的,因为U总还是需要M的指令表的,就像前面提到的,做M所做的事情的,其实总是U和M的指令表编码的组合。所以,其实U的真正意义在于设立了一个编程框架,这样的话,就不用在物理地去构造M,而只要在U的带子上构造M的指令表编码就行了。所以,通用性这个名字很有欺骗性,其实质其实是可编程性。
个人分类: 电脑人心|5737 次阅读|0 个评论
电脑人心 之 计算机能思维吗?(二)图灵的机器(2)构造
luocun 2010-9-22 11:22
那么,图灵机是啥样子的呢?它其实非常简单。图灵的主要构思之一,是考虑人在进行数学或者逻辑演算的时候是如何工作的。把人按照既定规则做计算和推理的这个操作过程加以最简化而得来的。具体而言,图灵机有下列零部件。 首先是一根一维的 带子 ,可以把它想象成一根纸带。带子分成确定的格子,每个格子里面可以写上记号,比如0和1,也可以为空,就是说没有写记号或者记号给抹掉了。这根带子是图灵机输入和输出的来源,也是图灵机记录中间结果的存储器。所以,这个带子的角色就好像一个人做算术或者逻辑推理时用的草稿纸那样。通常的草稿纸是二维平面的,比如除法演算的规则就告诉我们除数写在被除数左边,商写在被除数上面的横线之上,余数写在被除数相应位的底下,如此等等。但是按照图灵的分析,这种二维的安排,并不是必需的,因为只要有办法把哪个数写在哪里给有章有序地归置好,一维的带子就应该够用了。同时,也不需要太多种类的记号,因为更复杂的记号总可以由简单的给组合出来。比如,0、1和空白,就可以在二进制下做任何运算了。 人做计算时用纸,自然是为了看清纸上的数字,把下一步的结果用比较原子性的操作(比如一位数的加减乘除)一个个算出来,写到纸上,如此一步一步反复直到得到结果。所以就需要和草稿纸交互作用的机制,这在人就是用眼睛看,用手写。同样,图灵机的带子也有相应的读和写的机制。读在这里的意思,就是把带子上特定空格的 记号 给区分出来:0就是0,1就是1,空白就是空白;写的意思,就是在带子的特定空格放上个0或者1,替换掉了那里原来的记号,或者把那个格子抹成空白。我们平时做算术,在任何一个时刻,要么读和要么写,总是只在一个位置发生,比如读出被除数的某一位,或者写上商数的新的一位。即使我们有可能同时注视或者写出多位数,但这也可以分解成单独注视或者写出某一位。同样,在图灵机里,读和写在任何时间,只在一个空格进行。这样,我们就可以说有个 读写头 ,它就好像磁带录音机的磁头那样,在任何特定的时间总是在带子的一个特定的格子上方。要改变位置的话,就需要沿着带子挪动读写头,每次或左或右挪动一格。同样,如果需要挪多格的话,总可以通过反复挪动来实现。 有一点要说明的,就是图灵机的带子是没有头的,读写头向左或者向右都可以无穷无尽的走下去。更准确地讲,这个意思不是说在任何时候带子的长度是无限的,而是说在任何时候假使读写头往以便走到了带子在当前长度下的最后一格,那么总可以在头上再接上一段带子,让机器继续运行下去。这就好像草稿纸用完了,总可以再添一张。 有了带子(草稿纸)跟读写头(眼睛和铅笔或者说磁头),还缺负责计算的组织运作的东东。完成这个事情的,就是所谓控制器。这个可以想象成一个小盒子。盒子有特定的有限数目的状态。在不同的盒子状态下,机器可以有不同的行为,所以这个盒子才叫做控制器。具体状态在盒子里面是如何实现的不重要,比如可以用指针的位置或者用算盘珠子的位置,重要的是状态和状态之间可以分得一清二楚不会混淆。 艺术化的图灵机 [原图取自: Wikimedia Commons ] 有了这些基本零部件,我们就可以讨论如何让图灵机干活了。在任何一步上,决定图灵机做什么事情的有两方面的情况:(1)控制器现在的状态(这可以对应于现在的任务做到哪一步了(比如在做加法的话,可以是刚写了和,现在该写进位了),(2)读写头下面是什么;图灵机可以做三方面的事情:(3)从当前状态转移进入下一状态,与此同时(4)在当前格子上写个什么记号(包括用空白抹掉当前记号),并(5)让读写头在带子上左移一格、右移一格或是原地不动。所以,图灵机每一步做的事,就是根据它的(1)当前状态qi跟(2)当前读出的记号sj,决定(3)下一状态qij,(4)写出的记号sij,和(5)读写头的移动方向dij。 这样,图灵机的任何一步都可以用一个五元组来描述:( q i ,s j , q ij , s ij , d ij )。这里的下标 i 表示控制器的当前状态 q i 是所有可能状态之一,下标 j 表示当前读到的记号sj是所有的可能记号之一。两个合在一起的 ij 就表示新的状态 q ij ,写出的记号 s ij ,移动的方向 d ij 是由 q i 和 s j 共同决定的,或者说这三者分别都是 q i 和 s j 的函数。给定特定的一组( q i ,s j , q ij , s ij , d ij ),就是给定了图灵机在 q i 和 s j 下的行为,所以可以这样的五元组叫做图灵机的指令。当 q i 和 s j 不同的时候,就是说处于不同状态,读取不同记号的时候, q ij , s ij , d ij 相应地也可以取不同的(或者相同的)值,这样我们就有一些不同的五元组。把这些五元组都合到一起,就得到了决定了机器行为的 指令表 。我们通常想象指令表是存储在控制器里的,读写头是连在控制器上的。这样,在任何时刻,控制器就可以根据它的当前状态和带子上当前格子里的记号,决定图灵机的行为。 这里,有必要强调说明一下图灵机 彻底的离散性 。具体说来,带子是离散的:一格就是一格;记号是离散的:一个就是一个;控制器的状态是离散的:此状态非彼状态。读操作的区分和写操作的改变是离散的:读写头下面的是0,读到的就是0,写出的是1,格子上面出现的就是1,读的是啥、写的是啥不会有任何模糊之处。读写头移动是离散的:一格就是一格。状态转换是离散的:从状态甲到状态乙,没有中间状态可言,不会有混淆,不会有交叠。时间是离散的:读写操作、读写头移动、状态转化都是原子性的,一步完成,一步就是一步,没有完成了一半这样的说法。 举个具体的例子:二进制串奇偶性的检查。这里所谓的奇偶性是指二进制串里面有奇数个还是偶数个1。二进制串奇偶性这个概念挺有用。比如你和朋友之间发送消息,事先约定所有的消息都是7位,比如0101010,1110110,1111110,如此等等。这三个串里面,前两个有奇数个1,是奇串,后一个有偶数个1,是偶串。假设你们进一步约定,在发送消息前,每个7位的消息串尾巴上再增加一位,叫做校验位。这个校验位根据消息串的奇偶性来设置:如果消息串是奇,校验位就是1,否则就是0。这样,上面三个消息串在增加了奇偶校验位之后,就分别是01010101,11101101,11111100。然后你的朋友再把这样的包含校验位的8位的串,比如11101101,发送给你。如果传输正常,那么不管你的朋友发的是那个消息,这个8位的串都应该是偶串。这样,当你每收到一个串的时候,就可以对它进行 奇偶性检验 。如果你收到了一个偶串,比如11101101,那可能就没有问题(当然也可能有,比如,本来传输的是00101101,结果半路上前两位给反转而变成了11101101)。但是,如果你收到的是个奇串,比如10101101,那你就知道这中间肯定出问题了,至少有一位的0和1(一定有奇数个0和1)给反转过来了。于是,你就可以要求你的朋友重新传一次。通过这种奇偶校验,就可以抓住传输中发生的错误。 这个很有用的奇偶性检验,可以用图灵机来实现。把一个二进制串,放到带子上,串的两头的格子都是空白,读写头对准最左边的那一个非空白的数字(0或者1)。机器的任务是扫描并抹掉整个串,如果是个偶串,就在结束运行之前在带子上留下个0,如果是个奇串,就留下个1,而带子的其他格都是空白。 下面这个指令表,就能让图灵机实现奇偶性检验。在运行开始是,初始状态为偶。表中的H的意思是HALT,就是停机。遇到这个状态,机器就不再运行了。(所以,H不出现在 q i 那一列里面)。 ────────────────────────── ─── ─ ─── q i s j q ij s ij d ij ────────────────────────── ─── ── ─ ─ 偶 0 偶 空白 右 ────────────────────────── ─── ─ ─── 偶 1 奇 空白 右 ────────────────────────── ─── ─ ─ ── 偶 空白 H 0 - ─────────────────────────── ─── ─ ─ ─ 奇 0 奇 空白 右 ──────────────────────── ─── ───── ─ 奇 1 偶 空白 右 ─────────────── ── ─ ────────────── ─ 奇 空白 H 1 - ───────────────────── ─── ──────── ─ 下面看看为什么这个指令表能够完成任务。根据读写头当前所遇到的符号sj,首先,如果遇到0,就不改变状态:偶还是偶(第1行),奇还是奇(第4行);其次,如果遇到1,就改变状态,从偶到奇(第2行),从奇到偶(第5行);最后,如果遇到空白,读写头下面的不再是0或者1了,说明整个串都检查完了,这时,就可以根据状态输出0(第3行),或者输出1(第6行),并进入停机状态H。请注意,在整个过程中,除了进入停机状态H的时候,读写头不移动之外,读写头总是在向右移动;此外,除了进入H的那次,每读完一格,就把那格擦掉,所以 s ij 总是空白。 那么,我们通常所谓这个或者那个图灵机,就是指给定了一个如上表那样的指令表。给定了指令表之后,带子上的输入可以变,只要满足初始状态设置和读写头初始位置的条件,一个图灵机就应该可以对任何合法的输入串进行指令表所实现的处理。 跟学习编程序一样,学习理解图灵机如何运作的最好办法跟踪执行一些指令表和自己构造一些完成各种简单任务的指令表,比如做二进制加法、判断一个串是不是回文等等。 [声明:此处的图灵机,细节上不同于Turing于1936年提出的,属于现在比较通用的改进型。这里是基于明斯基的Computation: Finite and Infinite Machines。奇偶校验的例子,来自该书第120页。]
个人分类: 电脑人心|5831 次阅读|0 个评论
电脑人心 之 计算机能思维吗?(二)图灵的机器(1)源起
luocun 2010-9-17 10:55
今天,计算机跟数学和形式逻辑之间恐怕显不出什么特别的天然联系,计算机与信息科学和工程并不比物理、化学、生物来得更数学。所谓计算早已不再是当年算数那样的意思了,而更多的是在对付电子游戏、手机短信、文档编辑等等。然而,作为理论计算机科学源头的图灵机,在它的起源上是和数学与逻辑分不开的,特别是数学和逻辑里面的元数学运动。 元数学运动起源于1900年前后,其动力来自于数学家们澄清数学基础的努力。当时在几何学、数学分析理论、算术的公理化等等方面,都遇到了不少基础性问题。后来,由于罗素、怀特海、弗雷格、皮亚诺、希尔伯特等等数学家和逻辑学家的努力,元数学和数理逻辑得到长足的发展,解决了不少问题。到了1928年,希尔伯特在国际数学家大会上很乐观地预期,数学将在不久的将来建立在牢固的基础上。不过,他在讲话时也提到了四个问题:这些涉及如何通过证明来确立数理逻辑系统的一致性(就是说不自相矛盾的)、完全性(就是说系统里所有的真命题都在系统中可证)等等。 不过,很快,希尔伯特就开始失望了。奥地利逻辑学家库尔特哥德尔引入递归函数的概念和给逻辑推理编码的哥德尔配数法,于1931年证明了包含自然数算术的一阶逻辑系统的不完全性,表明了如果这个系统是一致的,那么系统里就存在这不可证明的真命题,所以是不完全的。[此处谢谢真傻兄指正!] 希尔伯特和艾克曼(Ackermann)在他们1928年编的逻辑课本里面,还提到了另外一个问题:可判定性问题。这是在问存不存在确定的有效过程或程序(effective process or procedure),给定任何一个形式化了的关于算术的命题,这个程序将可以判定其真伪、或者判断它是否可证明。这个问题和哥德尔解决了的完全性问题不同。 首先,它涉及有效过程这个直观的概念,并没有也不可能有明确的形式化定义的,而是取决于人们如何具体安排和构造这样的程序,而这些安排和构造的可能性可以说是没有明确的边界的。 其次,它只要求针对一定的属性进行判定,而并不要求给出证明。就是说,这只是在要求按照程序就能给出是或者非的答案,只要求答案正确,而不要求给出任何理由或者推理过程。比如哥德巴赫猜想:任何大于2的偶数都可以分解成两个素数之和。咱们对判定程序的要求就是,如果把这个命题作为输入,程序要输出是或者非,判定这个猜想的真伪。这样,即使这个猜想被正确地判定为真,咱们也依然不知道如何去证明这个猜想,但是(如果这个程序是可靠的话)至少可以知道它是真的。 1935年,图灵刚刚从剑桥大学的国王学院本科毕业,留在那里做研究员(fellow)。他从Newman的课听到这些后,用了一年左右的时间,就把判定问题搞通了,论证了在他自己提出的一种非常一般化的后来叫做图灵机的对有效程序的形式化之下,存在不可判定的问题。由此图灵在1936年春写完了著名的《论可计算数及其在判定问题上的一个应用》这篇理论计算机科学的奠基性文章。不过,丘奇(Church)在一年前已经用另外的一种叫做演算的形式化方法,得到了同样的结果。当Newman给图灵看丘奇论文的清样时,图灵颇为郁闷,后来给自己的文章补充了一个附录,证明它的图灵机和演算是等价的,然后,发表了他的论文。 其实,虽然图灵的结果比丘奇的结果晚出来大概一年,但是由于跟丘奇的演算,以及同样是等价的哥德尔的递归函数相比,图灵机的构造要直观很多,可以说更直接地反映出了有效过程或者程序这个直观概念的关键部分。所以,当哥德尔自己看到图灵的构造,也信服地表示,图灵机反映出了问题的基本要点,这些等价的各种形式系统看来确实是抓住了直观上的有效过程的核心。 更具体一点,图灵在这篇文章取得到了一系列重要结果。首先,他提出了图灵机这种有效程序的模型,用于模拟一切算术和逻辑操作;其次,他开发了一套把任何图灵机加以编码的方式,并构造出以这些编码为输入的通用图灵机,能够执行任何其他图灵机的编码;然后,图灵说明了图灵机这种构造能够进行很多计算,包括圆周率和自然对数的底e等等;此外,图灵说明了存在着可以准确定义,然而不能由任何图灵机完成的问题,比如判定任何给定的图灵机是不是只有有限多的输出,说明了存在着图灵机不能输出其二进制表示的数,从而指出了有效程序能完成的工作的限度;最后,他把希尔伯特的判定问题化约为数字的生成问题,证明了判定问题不可解:不存在图灵机意义上的一般性的判定程序,可以就任何给定的关于自然数的一阶逻辑命题进行可证明性的判定。
个人分类: 科学网|4096 次阅读|2 个评论
电脑人心 之 计算机能思维吗?(一)图灵同志生平
热度 1 luocun 2010-9-14 11:33
回到咱们的电脑人心?专题。先来看看计算机能思维吗?这一问题的辩论。正方是阿兰图灵。反方共有10路纵队。咱们先从介绍正方选手的生平开始。 (1)图灵同志生平 在前面的历史简述里,我们已经提到了AI这娃的爸爸阿兰图灵同志。 阿兰图灵1912年6月23日出生于英国帕丁顿。他的父亲朱利叶斯图灵毕业于剑桥大学,是大英帝国在印度殖民地的文职官员,供职于印度东南孟加拉湾边上的马德拉斯(现在叫清奈)地区。母亲萨拉是移民爱尔兰的英国人的后代,家里多出工程师,她的父亲当时是马德拉斯铁路系统的总工。图灵祖辈曾经有人在印度发迹,并获得爵士称号。图灵的祖父早死,留下一大家子,儿子们继续为大英帝国的建设效力。图灵的大伯在印度从军,1899年在现在巴基斯坦的西北边疆省中埋伏被打死。图灵生于1914年爆发的第一次世界大战之前两年,死于1945年结束的第二次世界大战之后9年,而大英帝国正是通过两次大战而迅速走向衰落的。图灵可以说是日渐衰落的大英帝国的孩子。 图灵有个大他四岁的哥哥,出生在印度。图灵是在印度怀上的,不过朱利叶斯爸爸安排了全家回英国休假,所以图灵生在了英国。图灵9个月时,父亲就回印度去了,1岁3个月时,母亲也回去了。作为留守儿童,图灵由寄养家庭的爷爷奶奶带大,10岁前,大概一半多的时间父母都不在身边。他从小很招人喜欢,很淘气,也很聪明,自己用了三个星期,照着一本《不哭鼻子也能读书》教会了自己阅读。不过,9岁的时候,母亲从印度回来,发现开朗活泼,乐于社交的小图灵变得木讷、不合群了。 小学毕业之后,图灵上的是雪伯恩公立中学(Sherborne public school)。在英国当时的教育系统里面,公立中学大致是培养中规中矩的有文化、有纪律、有道德的帝国建设者,管教是相当严格的,不过还是有一定的空间,尤其是图灵上的雪伯恩公立中学,在数学和科学的学习上还是有一定的条件的。图灵上学期间,用很多时间学习数学和科学,不是很合群但也不添麻烦吧。他虽然手不是很巧,但是喜欢做各种东西,喜欢地图,喜欢远足,擅长长跑,有着在沙漠荒岛如何生存的最简主义思维方式。用他自己13岁时候在一封信里的话来讲,我似乎总是想以最节能的方式,用自然界里最平常的东西来造各种东西。 删繁就简,可以说是他一贯的思维特点。 图灵从小就对心灵问题感兴趣。高中的时候结识了同校一位叫做克里斯托弗莫科姆。莫科姆比图灵高一个年级,家境宽裕,有自己的天文观察台和化学实验室,在他的影响下,图灵对天文和化学发生了浓厚兴趣。1929年底图灵和克里斯托弗一起参加了剑桥大学三一学院的奖学金考试,克里斯托弗被录取。可是,两个月之后,莫科姆就因为结核病发作而死。莫科姆可以说是图灵同志的初恋吧,他的去世给图灵很大打击,促使他思考灵魂的问题,追问永恒的可能性。 1931年,图灵进入剑桥大学国王学院。当时的国王学院,有思想开明的凯恩斯任校长,有著名数学家哈代同志任教,思想活跃,气氛宽松,这很适合于在社交上很笨拙的图灵,也使得他逐渐觉醒的同性恋意识没有受到额外的压制。在剑桥期间,图灵专攻数学,成绩优异。1935年,图灵听了数学家纽曼(M.H.A. Newman)的数学基础(Foundations of Mathematics)讲座,接触了希尔伯特的判定问题。图灵听到之后,就开始攻这个问题。在一年左右的时间里,就搞通了,并完成了它的经典论文《论可计算数及其在判定问题上的一个应用》。在论文中,图灵提出了后来叫做图灵机的一种机器模型,用于模拟一切算术操作。虽然,图灵不是第一个阐明判定问题不可解的数学家──他当时并不知道阿伦佐丘奇比他早一年以另一种等价的方式解决了这个问题,但是图灵机的直观性,其明确的机械性,使得大家对他的构造很认同。图灵机及其各种变形,今天仍然在理论计算机科学里广泛使用。 从剑桥毕业之后,图灵赴美国普林斯顿留学,并于1938年在丘奇指导下取得博士学位。当时,普林斯顿想挽留他继续在学术界发展,但是图灵选择了回国,并在二战前返回了英国。在二战爆发后,图灵加入了政府密码学校(GCCS, Government Code and Cipher School),从事破译谜团密码的工作。谜团系统是整个二战期间德军使用的密码系统。在波兰人的先驱工作的基础上,图灵为破译谜团密码做了奠基性的工作,后来又负责GCCS的大西洋室的工作。当时,英国沦为孤岛,后勤接济全靠海运,尤其是经由北大西洋来自美国的海运。然而,德国潜艇肆虐其间,击沉大量商船,曾经数度击沉船舶吨位的速度超过英美制造的速度。谜团密码之后破译,使得英国能够非常有效地定位并攻击德国潜艇,同时引导船队避开。可以说,图灵自己和同事们的工作对扭转大西洋战场的战局,起了非常关键的作用。 在GCCS工作期间,图灵曾与同事琼克拉克短暂订婚,后来面对自己是同性恋这一事实,图灵取消了婚约。 战后,图灵在1945年到1948年期间,在国家物理实验室工作,负责王牌机(ACE──自动计算引擎)的基本设计,明确要把它做成通用机,提出了很多崭新的思想:存储程序、子程序、高级程序设计语言等等。不过,随着战争的离去,科研机构回归官僚化,图灵的思想和主张难以得到支持和采纳,ACE计算机也拖到1952年才建成,而图灵也早已于1948年离开国家物理实验室,前往曼彻斯特加入大学,从事计算机程序设计工作。 与此同时,基于战时学习的电子技术和战后计算机设计与编程的经验,图灵回到了他一直感兴趣的人的心灵问题,提出可以通过编程让机器思维。通过一系列的采访、辩论、报告和文章,尤其是1950年发表在英国哲学杂志《心》上的《计算机械与智能》一文,图灵明确提出了后来被叫做人工智能的思想。如果说1936年的《可计算数》是理论计算机科学的奠基性文章,那么这篇文章可以说是人工智能的奠基性文章。 在曼彻斯特大学工作期间,从小就对生物形态感兴趣,以着迷于野菊花而闻名的图灵,开始从事形态发生学(morphogenesis)的研究。他以简单的微分方程表达化学成分的分布,来解释斑点的形成等等,并利用计算机来进行微分方程的计算,做出了开创性的工作。 在战后的年头,图灵对自己身为同性恋更为自觉和自信。1952年,他在曼彻斯特的家被窃,窃贼是他的同性恋对象的朋友──他当时正试图与这位朋友发展长期关系。在警方调查中,他直述自己的同性恋关系和行为,于是被起诉,被判大大有伤风化,处以化学阉割,就是注射雌性激素来治疗他的同性恋。 虽然,此时的图灵对于自己的同性恋身份和行为早已没有任何负罪感,然而,这些对待无疑给图灵带来巨大的压力,使他不可能有任何空间与任何人建立起他所期望的稳定关系。很快,随着冷战的加深,麦卡锡时代来临,在大西洋的另一边,奥本海默正被审查。同性恋者被视为对敌斗争中的薄弱环节,英美两国都加紧了对接触国家机密的同性恋者的审查和控制。按照图灵传记作者霍奇司的说法,因为图灵接触绝密,而且仍然为英国情报部门做顾问,图灵自然会受到更大压力。 1954年6月7日,图灵吃蘸过氰化钾的苹果自杀。55年以后的2009年,英国首相就图灵的遭遇发表声明公开道歉。 从1966年起,计算机械学会(Association of Computing Machinery)设立了图灵奖,相当于计算机界的诺贝尔奖吧。除了理论计算机科学和人工智能上的奠基性工作,图灵在形态发生学方面的工作,也得到广泛认可。虽然他计算机系统结构的工作,由于ACE计算机问世太晚,其原创性没有充分肯定;不过,近年来,人们又进一步发现图灵在神经网络方面的开创性工作。如果图灵多活些年头,他究竟还会做出什么科学贡献,真的是难以蠡测的。 纵观图灵的一生,基本上是对最深刻的理论问题有良好直觉的应用数学家,具有超凡的删繁就简的洞察:图灵机,谜团密码的破解,形态发生学里的图灵方程式,还有后面将会讲到的图灵测试都体现了这一特点。这个特点,也是他待人处事的特点。然而,这在社会上恐怕是难以行得同的。所以,尽管在中学时期,他可以有足够的空间与资源,专心于学习;在剑桥大学期间,可以在国王学院宽松的环境里自由探索和发展;在战时,可以在特殊情况下,取得发挥很大作用的空间,甚至可以直接写信给丘吉尔,绕过官僚体系来推动事情;随着二战结束,一方面是冷战来临,社会政治走向保守,而另一方面,是图灵那简单真诚到几乎幼稚的自我肯定,撞车就难免了。这样,当日渐衰落的大英帝国的儿子,秘密战线上的二战英雄图灵,简单而真诚地去面对在传统惯性和时代压力下挣扎的帝国时,他很快就为复杂的黑暗给吞噬了。
个人分类: 电脑人心|7225 次阅读|1 个评论
图灵语录
luocun 2010-8-25 03:27
(1)图灵小时候说过的一句话: 我似乎总是想以最节能的方式,用自然界里最平常的东西来造各种东西。 I seem always to want to make things from the thing that is commonest in nature and with the least waste of energy. 见图灵妈妈Sara Turing的图灵传第23页。 (2)图灵被逮捕之后写下的三段论: 图灵相信机器会思维 图灵跟男人睡觉 所以机器不会思维 Turing believes machines think Turing lies with men Therefore machines do not think 出自:Andrew Hodges的Turing: Natural Philosopher (3)来自未现世界的消息之三 宇宙不过是大爆炸之光锥的内部。 The universe is the interior of the light cone of the Creation. 来自未现世界的消息是图灵自杀前三个月写给学生和朋友Robin Gandy的一组明信片的标题。详见Andrew Hodges的Alan Turing: The Enigma第513页。此处按照Hodges的解释把the Creation译作大爆炸。 (4)来自未现世界的消息之四 科学是微分方程。宗教是边界条件。 Science is a differential equation. Religion is a boundary condition. 这图灵对爱丁顿关于科学与宗教关系观点的概括。 (5)来自未现世界的消息之八 制定[泡利]不相容原理纯粹是为了电子们自己好, 如果让它们自由来往的话,它们恐怕会腐败堕落(而变成妖魔鬼怪)。 The Exclusion Principle is laid down purely for the benefit of the electrons themselves, who might be corrupted (and become dragons and demons) if allowed to associated too freely. 别忘了电子们是同性的,呵呵。
个人分类: 科学网|8239 次阅读|2 个评论
推荐Andrew Hodges的《图灵:谜团》
热度 1 luocun 2010-8-25 02:12
终于读了 Andrew Hodges 的 《图灵:谜团》(Alan Turing: The Enigma) 一书,感触颇多。 书写得好啊!科学人物的传记写到这样的水平,非常难得。作者既不造神,也不毁人,对图灵的才华与贡献欣赏而不膜拜,对图灵的科学思想和为人处事都有中肯的评论,对图灵身前身后、国际国内、学院家庭的社会历史大小背景进行了清醒而清晰的梳理。总之是深深的理解、欣赏和同情跟冷静的分析与评价的很好结合。读下来的感觉是:图灵虽然死得早,能有个如此理解他的人给他做传,也是一大幸运啊。Hodges可以说是很大程度上帮我们解开了图灵人生的谜团,贡献实在不小。 强烈推荐此书给计算机、人工智能、认知科学、信息科学、哲学、逻辑、数学方面的学人,并推荐给所有关心科学与社会、宗教、政治的关系或者关注同性恋问题的人们。 遗憾的是,国内好像还没有中译本。 卡通女孩 在 博文 里提到如果没有任何报酬,也愿意精雕细琢地翻译一本书,那就是Alan Turing: The Enigma。真是于我心有戚戚焉。如果有人想推动这个事情,请通知俺一声,虽然俺的能力和时间都有限,但是敲敲边鼓或许还是可以的。 关于这本书的介绍,除了上面Hodges的网页上的资料,前面提到的卡通女孩的博文也值得一读. 关于图灵在元数学和理论计算机科学方面贡献的简单介绍,可以参见若奇的 《孤独的破译者和他的计算机器》 一文。 若奇的博文没有提到的图灵在morphogenesis方面的贡献,王号的一篇博文里提到了: http://www.sciencenet.cn/m/user_content.aspx?id=352274 8月25日更新: 涉及图灵在二战期间的密码破译工作,题为《Enigma的兴亡》的文章,作者署名异调,原文应该出自《三思科学》2001年第2、3、4、5、6期和2002年1、2期: http://www.oursci.org/archive/magazine/200108/010809.htm , http://www.oursci.org/archive/magazine/200109/010909.htm , http://www.oursci.org/archive/magazine/200110/011019.htm http://www.oursci.org/archive/magazine/200111/011107.htm , http://www.oursci.org/archive/magazine/200112/011213.htm , http://www.oursci.org/archive/magazine/200201/020108.htm , http://www.oursci.org/archive/magazine/200202/020222.htm 科学网上 刘晓东的博客 也有转载: http://www.sciencenet.cn/m/user_content.aspx?id=271870 http://www.oursci.org/archive/magazine/200108/010809.htm 老郭的 盐光书舍BLOG 上也有转载: http://blog.sina.com.cn/s/blog_593a85730100dpvs.html http://blog.sina.com.cn/s/blog_593a85730100dpw4.html http://blog.sina.com.cn/s/blog_593a85730100dpwp.html http://blog.sina.com.cn/s/blog_593a85730100dpwz.html
个人分类: 阅读生活|4622 次阅读|1 个评论
英国首相2009年关于图灵的声明
luocun 2010-8-18 12:55
英国首相戈登布朗2009年9月发表了一份关于图灵的声明。现作为资料翻译如下,立此存照吧。其中的链接由译者所加。 布朗在夸耀他们工党政府过去12年里为LGBT群体做的好事之余,恐怕是不会想到将来谁会为这个政府参与发动伊拉克战争而道歉的。 ~~ 译者:Trespassers Will 原文出处: http://webarchive.nationalarchives.gov.uk/+/number10.gov.uk/news/latest-news/2009/09/treatment-of-alan-turing-was-appalling-pm-20571 声明正文: 2009年是深刻追思的一年,让英国作为一个国家有机会纪念先行者们给与我们那无比的恩惠。若干周年纪念和事件的独特组合,在我们心里激起了英国经验里特有的那种自豪和感恩。今年早些时候,我曾与萨科齐和奥巴马两位总统站在一起,缅怀65年前冲上诺曼底海滩的那些英雄们的贡献和牺牲。就在上周,我们纪念了英国政府宣布拿起武器反对法西斯、宣告第二次世界大战爆发70周年。因此,令我既欣慰又自豪的是,由于计算机科学家们、历史学家们和 LGBT 活动家们的联手推动,我们今年有机会纪念和颂扬一项对英国的反黑暗独裁斗争的贡献,这就是阿兰图灵的贡献。 图灵是一位相当卓越的数学家,以他破译德国的谜团[Enigma]密码的工作而最为著名。可以毫不夸张地说,没有他的杰出贡献,二战历史很可能会改写。他真的是属于那些我们可以指出来的、对扭转战争进程做出了独特贡献的人之一。他的巨大恩惠也因此使得他受到的不人道待遇尤为骇人听闻。1952年,他被判犯有严重流氓罪[gross indecency或曰大大地有伤风化]──实际上也就是因为同性恋身份而受审。他被判处接受一系列雌性激素注射的化学阉割──他当时面临的悲惨选择是化学阉割或者坐牢。仅仅两年之后,他就自杀身亡。[作家 王尔德 在1895年被判同样罪名,苦役两年,出来后不到三年就一病归天。──译者注] 成千上万的人站到了一起,要求给阿兰图灵以公道,承认他受到了骇人听闻的对待。图灵是在当时的法律下被处理的,我们也不能让时光倒流,然而,对他的处理当然是完全不公平的。我很高兴能有机会说:我自己和我们所有人都为他的遭遇感到深深的遗憾。阿兰和其他成千上万依据仇视同性恋的法律而被判刑的男同性恋者惨遭迫害。多年来,数以百万计的更多的人们则生活在对被判罪的恐惧中。 让我自豪的是,那样的日子已经一去不复返了,而且在过去12年里这个政府为了使生活对我们的LGBT群体更公正、更平等已经做了那么多。这里对阿兰作为英国最有名的同性恋仇视受害者之一的地位的承认是早该迈出的、走向平等的又一步。 不仅如此,阿兰对整个人类的贡献也应该得到承认。对于我们这些1945年后生于一个统一、民主、和平的欧洲的人来说,难以想像我们的大陆曾经是人类最黑暗时刻的剧场;难以相信,在鲜活的记忆中,人们可以被仇视──反犹主义、同性恋仇视、仇外心理和其他残忍的偏见──所支配,从而让毒气室和火葬场由此跟画廊、大学和音乐厅这些数百年来欧洲文明的标志一起成为了欧洲景观的一部分。正是由于象阿兰图灵那样的、完全投身于打击法西斯主义的人们的努力,大屠杀和全面战争[total war]的恐怖才是欧洲的过去,而不是欧洲的现在。 因此,代表英国政府以及所有那些由于阿兰的工作而自由生活的人们,我非常自豪地说:我们很抱歉,你本来应该受到好得多的对待。 戈登布朗
个人分类: 译海苦航|3380 次阅读|1 个评论
曼德勃罗特集美图——上帝的葫芦里卖的什么药
热度 1 sheep021 2010-8-13 12:23
一沙一世界,一花一菩提。一人一乾坤,,一草一太极 以上佛道名言为科学所不齿,但是近代科学的深入发展终于带来了一线曙光: 图灵认为,简单的数学方程,可以描述生物学问题。如胚胎发育问题,即宇宙形成的问题。 遗憾的是,图灵这一观点依然为科学所不齿,图灵至死都没有看到自己的模型被承认和接受 见: 黑白之道:用图灵方程式解释黑奶粉,雌性激素牛奶和黑心棉现象 好在还有人愿意继续研究,终于大放光明 曼德勃罗特集是一个简单的方程(Zn+1=(Zn)^2+C)的点集。 然而曼德勃罗特集却是人类有史以来做出的最奇异,最瑰丽的几何图形.曾被称为上帝的指纹。 本博更愿意称其为上帝的葫芦 【 葫芦装天可是中华美谈,透过曼德勃罗特集的一张张美图,也许会对葫芦装天有深入的理解,对中华文化有更深的热爱】,只要你计算的点足够多,不管你把图案放大多少倍,都能显示出更加复杂的局部。因为你永远看不到这个图的最底层,所以永远也不会明白上帝的葫芦里到底没得什么药。   这是一个迭代公式,式中的变量都是复数.这是一个大千世界,从他出发可以产生无穷无尽美丽图案,他是曼德勃罗特教授在二十世纪七十年代发现的.你看上图中,有的地方象日冕,有的地方象燃烧的火焰,只要你计算的点足够多,不管你把图案放大多少倍,都能显示出更加复杂的局部.这些局部既与整体不同,又有某种相似的地方,好像着梦幻般的图案具有无穷无尽的细节和自相似性.曼德勃罗特教授称此为魔鬼的聚合物.为此,曼德勃罗特在1988年获得了科学为艺术大奖.   图形是由美国数学家曼徳勃罗特教授于1975年夏天一个寂静的夜晚,在冥思苦想之余翻看儿子的拉丁文字典是想到的,起拉丁文的原意是产生无规则的碎片 曼德勃罗特集的计算与编程 以下图片来自网络,仅供个人欣赏,没有商业使用 曼德勃罗特集可以持续展开, 上帝的葫芦里别有洞天: 另类 曼德勃罗特集 美图: 大礼包:以上图片下载
个人分类: 生活点滴|1621 次阅读|10 个评论
简论如何在中国的土地上出产诺贝尔、图灵奖
dulizhi95 2010-7-25 09:31
简论如何在中国的土地上出产诺贝尔、图灵奖 十三亿人口的泱泱大国,目前经济总量上去了,科技总量亦很具规模,缺憾的是,这么一个世界人口第一的大国,却没有一个自己的诺贝尔、图灵级的奖项。如何才能具备拿诺奖的条件?或者说,到底该朝什么方向努力? 首先,将一些曾经拿过诺奖、图奖的老人,花大价钱买到中国来,买到某具体单位来充数(被买者当然何乐而不为),是绝对愚蠢可笑的举动。指望这样的人凭着自己的经验就能培养出新的诺贝尔和图灵,那是不懂科研规律的庸吏腐吏的思维方式。为什么? 逻辑上非常简单,一个人之所以能拿诺奖、图奖,从他个人的角度有两点因素决定: 1 )他确实有过人的专业实力和智慧(或曾经有), 2 )幸运以及过人的成就。大师们往往都强调幸运的重要意义,如数学大师陈省身,最近的诺奖得主钱永健,都承认幸运的决定性作用。全世界多少科研人员,每年的诺奖图奖就那么几个,不难判断,具备第 1 )条的人很多,而同时具备 1 ) 2 )条的人则极少,因而从逻辑上可以这样说,任何一个拿诺奖图奖的人,在拿之前,他不可能保证自己的方向自己的实力一定能拿奖;在拿之后,他也绝不敢保证,凭着第一次拿奖的实力和经验,他就能再拿第二次第三次,否则全世界的诺奖图奖,就会被几个人垄断下去了!试问,连自己都不能保证,如何能保证自己的学生能拿奖? 第 1 )条过人的实力也会随年龄的增长而衰退,因而你买一些曾拿过奖的老家伙来,哪一方面都起不到作用。凭着手头曾有的诺奖图奖招牌,而胡吹大牛:我拿过奖,所以我也能在你中国的土地上培养出能拿奖的学生来,那只能是一种蒙骗资金的行为,受其蒙骗的庸吏应被追究责任。要是再进一步胡吹:我在宇宙之外拿到了一把一般人看不到摸不着也理解不了的特殊尺子,能测量出由我所造的、你中国的图灵之路现在走了多长距离,还有多长的距离就能到达目的地,那简直就是滑天下之大稽的牛皮了。如此弱智的蒙骗,难道欺我相关的领导专家都是白痴么? 对诺奖,一个国家只能从这样的角度来努力来保证:使自己具备出产诺奖级人才的土壤,土壤具备了,从概率的角度,总有人要冒出来拿奖,而任何时候都绝不能保证:我所培养的某一个人或某几个人一定能拿奖。显而易见,具备土壤,绝非个人之力所能办到。 那么,中国现在具备拿诺奖的环境或土壤吗? 简单一条,物理学化学奖需要实验条件,需要高端实验设备。前文说过,你不能保证某一个人或某几个人能拿奖,诺奖只能从概率的角度产生,因而花钱为几个人买几台高端设备那是没有用的,你必须普遍具有这样的实验条件,然后从概率中产生拿奖者。当然,这还在其次,文化、社会环境的因素影响更大更持久。 中国是官本位主导的国家,官的趣向即是民的趣向。楚王好细腰,国中多饿鬼,吴王好勇士,国中多伤残。当今官场商场无所不用其极的逐利行为、权钱交易的盛行,在多大程度上影响到科技界?对此,我只想问一个问题,当今有几个专家教授不将自己的大量精力花在以潜规则主导的关系上?那些所谓的项目,到底是需要关系还是需要实力?甚至学生选导师,主要就是看导师是否有这方面的能量,有多大。如此一个急功近利的浮躁社会,能出诺贝尔出图灵? 大的科研成就,需要创造性思维,需要想别人所不敢想,干别人所不敢干的个性勇气,而中国文化包括社会环境恰恰是压抑这样的个性。幼儿时,父母对孩子讲得最多的就是:乖,听话。上学之后,中小学老师最喜欢干的事情就是推举表彰听话的学生,打压调皮生。而且,中国学生从幼儿园起,什么班长什么委员,层层的组织管理,层层的条条框框,将人性框死,使得中国人自小就适应了按长官、权威、框框的方式去思考,去行动,这如何能出创造性人才? 应试教育,一切按照试题、大纲所定的框框去努力去思考,窒息了创造性。然而,中国又不能不搞应试教育。现在的许多改革是越改越糟,比如,一把手负责制、企业自主权,结果是一人不受约束的独裁权,导致贪官盛行,现在又要搞什么中学校长推荐制,你看看众多贪官们权钱交易的丑恶表演,中学校长们就能特别些么?可以说,高考是中国现在仅剩的一片净土,改用推荐制只好让这片仅剩的净土彻底消失。 从根本上改变这些,应是打造我国诺奖图奖之路的正确方向。
个人分类: 未分类|993 次阅读|7 个评论
恩尼格玛的兴亡
liuxiaod 2009-11-18 10:56
人类使用密码的历史,从今天已知的,最早可以一直追溯到古巴比伦人的泥板文字。古埃及人,古罗马人,古阿拉伯人几乎世界历史上所有文明都使用过密码。军事和外交一直是密码应用的最重要的领域,国王、将军、外交官以及阴谋分子等,为了在通讯过程中保护自己信息不被外人所知,使用过形形色色的密码;而为了刺探于己不利的秘密,他们又绞尽脑汁地试图破译对手的密码。加密与解密一直是密码学这枚硬币互相对抗又互相促进的两面。在所有用于军事和外交的密码里,最著名的恐怕应属第二次世界大战中德国方面使用的ENIGMA(读作恩尼格玛,意为谜)。   一、诞生   直到第一次世界大战结束为止,所有密码都是使用手工来编码的。直接了当地说,就是铅笔加纸的方式。在我国,邮电局电报编码和译码直到很晚(大概是上个世纪八十年代初)还在使用这种手工方法。手工编码的方式给使用密码的一方带来很多的不便。首先,这使得发送信息的效率极其低下。明文(就是没有经过加密的原始文本)必须由加密员人工一个一个字母地转换为密文。考虑到不能多次重复同一种明文到密文的转换方式(这很容易使敌人猜出这种转换方式),和民用的电报编码解码不同,加密人员并不能把转换方式牢记于心。转换通常是采用查表的方法,所查表又每日不同,所以解码速度极慢。而接收密码一方又要用同样的方式将密文转为明文。其次,这种效率的低下的手工操作也使得许多复杂的保密性能更好的加密方法不能被实际应用,而简单的加密方法根本不能抵挡解密学的威力。   解密一方当时正值春风得意之时,几百年来被认为坚不可破的维吉耐尔(Vigenere)密码和它的变种也被破解。而无线电报的发明,使得截获密文易如反掌。无论是军事方面还是民用商业方面都需要一种可靠而又有效的方法来保证通讯的安全。   1918年,德国发明家亚瑟谢尔比乌斯(Arthur Scherbius)和他的朋友理查德里特(Richard Ritter)创办了谢尔比乌斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。谢尔比乌斯负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方法。 亚瑟谢尔比乌斯   谢尔比乌斯发明的加密电子机械名叫ENIGMA,在以后的年代里,它将被证明是有史以来最为可靠的加密系统之一,而对这种可靠性的盲目乐观,又使它的使用者遭到了灭顶之灾。这是后话,暂且不提。 ENIGMA   ENIGMA看起来是一个装满了复杂而精致的元件的盒子。不过要是我们把它打开来,就可以看到它可以被分解成相当简单的几部分。下面的图是它的最基本部分的示意图,我们可以看见它的三个部分:键盘、转子和显示器。   在上面ENIGMA的照片上,我们看见水平面板的下面部分就是键盘,一共有26个键,键盘排列接近我们现在使用的计算机键盘。为了使消息尽量地短和更难以破译,空格和标点符号都被省略。在示意图中我们只画了六个键。实物照片中,键盘上方就是显示器,它由标示了同样字母的26个小灯组成,当键盘上的某个键被按下时,和此字母被加密后的密文相对应的小灯就在显示器上亮起来。同样地,在示意图上我们只画了六个小灯。在显示器的上方是三个转子,它们的主要部分隐藏在面板之下,在示意图中我们暂时只画了一个转子。   键盘、转子和显示器由电线相连,转子本身也集成了6条线路(在实物中是26条),把键盘的信号对应到显示器不同的小灯上去。在示意图中我们可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe(咖啡),显示器上就会依次显示DBCE。这是最简单的加密方法之一,把每一个字母都按一一对应的方法替换为另一个字母,这样的加密方式叫做简单替换密码。   简单替换密码在历史上很早就出现了。著名的凯撒法就是一种简单替换法,它把每个字母和它在字母表中后若干个位置中的那个字母相对应。比如说我们取后三个位置,那么字母的一一对应就如下表所示:   明码字母表:abcdefghijklmnopqrstuvwxyz   密码字母表:DEFGHIJKLMNOPQRSTUVWXYZABC   于是我们就可以从明文得到密文:(veni, vidi, vici,我来,我见,我征服是儒勒凯撒征服本都王法那西斯后向罗马元老院宣告的名言)   明文:veni, vidi, vici   密文:YHAL, YLGL, YLFL   很明显,这种简单的方法只有26种可能性,不足以实际应用。一般上是规定一个比较随意的一一对应,比如   明码字母表:abcdefghijklmnopqrstuvwxyz   密码字母表:JQKLZNDOWECPAHRBSMYITUGVXF   甚至可以自己定义一个密码字母图形而不采用拉丁字母。但是用这种方法所得到的密文还是相当容易被破解的。至迟在公元九世纪,阿拉伯的密码破译专家就已经娴熟地掌握了用统计字母出现频率的方法来击破简单替换密码。破解的原理很简单:在每种拼音文字语言中,每个字母出现的频率并不相同,比如说在英语中,e出现的次数就要大大高于其他字母。所以如果取得了足够多的密文,通过统计每个字母出现的频率,我们就可以猜出密码中的一个字母对应于明码中哪个字母(当然还要通过揣摩上下文等基本密码破译手段)。柯南道尔在他著名的福尔摩斯探案集中《跳舞的人》里详细叙述了福尔摩斯使用频率统计法破译跳舞人形密码的过程。   所以如果转子的作用仅仅是把一个字母换成另一个字母,那就没有太大的意思了。但是大家可能已经猜出来了,所谓的转子,它会转动!这就是谢尔比乌斯关于ENIGMA的最重要的设计当键盘上一个键被按下时,相应的密文在显示器上显示,然后转子的方向就自动地转动一个字母的位置(在示意图中就是转动1/6圈,而在实际中转动1/26圈)。下面的示意图表示了连续键入3个b的情况:   当第一次键入b时,信号通过转子中的连线,灯A亮起来,放开键后,转子转动一格,各字母所对应的密码就改变了;第二次键入b时,它所对应的字母就变成了C;同样地,第三次键入b时,灯E闪亮。 照片左方是一个完整的转子,右方是转子的分解,我们可以看到安装在转子中的电线。   这里我们看到了ENIGMA加密的关键:这不是一种简单替换密码。同一个字母b在明文的不同位置时,可以被不同的字母替换,而密文中不同位置的同一个字母,可以代表明文中的不同字母,频率分析法在这里就没有用武之地了。这种加密方式被称为复式替换密码。   但是我们看到,如果连续键入6个字母(实物中26个字母),转子就会整整转一圈,回到原始的方向上,这时编码就和最初重复了。而在加密过程中,重复的现象是很危险的,这可以使试图破译密码的人看见规律性的东西。于是谢尔比乌斯在机器上又加了一个转子。当第一个转子转动整整一圈以后,它上面有一个齿拨动第二个转子,使得它的方向转动一个字母的位置。看下面的示意图(为了简单起见,现在我们将它表示为平面形式):   这里(a)图中我们假设第一个转子(左边的那个)已经整整转了一圈,按b键时显示器上D灯亮;当放开b键时第一个转子上的齿也带动第二个转子同时转动一格,于是(b)图中第二次键入b时,加密的字母为F;而再次放开键b时,就只有第一个转子转动了,于是(c)图中第三次键入b时,与b相对应的就是字母B。   我们看到用这样的方法,要6*6=36(实物中为26*26=676)个字母后才会重复原来的编码。而事实上ENIGMA里有三个转子(二战后期德国海军用ENIGMA甚至有四个转子),不重复的方向个数达到26*26*26=17576个。   在此基础上谢尔比乌斯十分巧妙地在三个转子的一端加上了一个反射器,而把键盘和显示器中的相同字母用电线连在一起。反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。乍一看这么一个固定的反射器好象没什么用处,它并不增加可以使用的编码数目,但是把它和解码联系起来就会看出这种设计的别具匠心了。见下图:   我们看见这里键盘和显示器中的相同字母由电线连在一起。事实上那是一个很巧妙的开关,不过我们并不需要知道它的具体情况。我们只需要知道,当一个键被按下时,信号不是直接从键盘传到显示器(要是这样就没有加密了),而是首先通过三个转子连成的一条线路,然后经过反射器再回到三个转子,通过另一条线路再到达显示器上,比如说上图中b键被按下时,亮的是D灯。我们看看如果这时按的不是b键而是d键,那么信号恰好按照上面b键被按下时的相反方向通行,最后到达B灯。换句话说,在这种设计下,反射器虽然没有象转子那样增加可能的不重复的方向,但是它可以使译码的过程和编码的过程完全一样。 反射器   想象一下要用ENIGMA发送一条消息。发信人首先要调节三个转子的方向,使它们处于17576个方向中的一个(事实上转子的初始方向就是密匙,这是收发双方必须预先约定好的),然后依次键入明文,并把闪亮的字母依次记下来,然后就可以把加密后的消息用比如电报的方式发送出去。当收信方收到电文后,使用一台相同的ENIGMA,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,并把闪亮的字母依次记下来,就得到了明文。于是加密和解密的过程就是完全一样的这都是反射器起的作用。稍微考虑一下,我们很容易明白,反射器带来的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。 安装在ENIGMA中的反射器和三个转子   于是转子的初始方向决定了整个密文的加密方式。如果通讯当中有敌人监听,他会收到完整的密文,但是由于不知道三个转子的初始方向,他就不得不一个个方向地试验来找到这个密匙。问题在于17576个初始方向这个数目并不是太大。如果试图破译密文的人把转子调整到某一方向,然后键入密文开始的一段,看看输出是否象是有意义的信息。如果不象,那就再试转子的下一个初始方向如果试一个方向大约要一分钟,而他二十四小时日夜工作,那么在大约两星期里就可以找遍转子所有可能的初始方向。如果对手用许多台机器同时破译,那么所需要的时间就会大大缩短。这种保密程度是不太足够的。   当然谢尔比乌斯还可以再多加转子,但是我们看见每加一个转子初始方向的可能性只是乘以了26。尤其是,增加转子会增加ENIGMA的体积和成本。谢尔比乌斯希望他的加密机器是便于携带的(事实上它最终的尺寸是34cm*28cm*15cm),而不是一个具有十几个转子的庞然大物。首先他把三个转子做得可以拆卸下来互相交换,这样一来初始方向的可能性变成了原来的六倍。假设三个转子的编号为1、2、3,那么它们可以被放成123-132-213-231-312-321六种不同位置,当然现在收发消息的双方除了要预先约定转子自身的初始方向,还要约定好这六种排列中的使用一种。   下一步谢尔比乌斯在键盘和第一转子之间增加了一个连接板。这块连接板允许使用者用一根连线把某个字母和另一个字母连接起来,这样这个字母的信号在进入转子之前就会转变为另一个字母的信号。这种连线最多可以有六根(后期的ENIGMA具有更多的连线),这样就可以使6对字母的信号互换,其他没有插上连线的字母保持不变。在上面ENIGMA的实物图里,我们看见这个连接板处于键盘的下方。当然连接板上的连线状况也是收发信息的双方需要预先约定的。 在上面示意图中,当B键被按下时,灯C亮   于是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密匙,让我们来算一算一共到底有多少种。   三个转子不同的方向组成了26*26*26=17576种不同可能性;   三个转子间不同的相对位置为6种可能性;   连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种;   于是一共有17576*6*100391791500,大约为10000000000000000,即一亿亿种可能性。   只要约定好上面所说的密匙,收发双方利用ENIGMA就可以十分容易地进行加密和解密。但是如果不知道密匙,在这巨大的可能性面前,一一尝试来试图找出密匙是完全没有可能的。我们看见连接板对可能性的增加贡献最大,那么为什么谢尔比乌斯要那么麻烦地设计转子之类的东西呢?原因在于连接板本身其实就是一个简单替换密码系统,在整个加密过程中,连接是固定的,所以单使用它是十分容易用频率分析法来破译的。转子系统虽然提供的可能性不多,但是在加密过程中它们不停地转动,使整个系统变成了复式替换系统,频率分析法对它再也无能为力,与此同时,连接板却使得可能性数目大大增加,使得暴力破译法(即一个一个尝试所有可能性的方法)望而却步。   1918年谢尔比乌斯申请了ENIGMA的专利。他以为既然自己的发明能够提供优秀的加密手段,又能拥有极高的加密解密效率,一定能很快就畅销起来。他给商业界提供了一种基本型ENIGMA,又给外交人员提供一种豪华的装备有打印机的型号。但是他似乎搞错了。他的机器售价大约相当于现在的30000美元(如果订购一千台的话每台便宜4000美元)。这个价钱使得客户望而却步。虽然谢尔比乌斯向企业家们宣称,如果他们重要的商业秘密被竞争对手知道了的话,遭到的损失将比ENIGMA的价格高得多,但是企业家们还是觉得他们没有能力来购买ENIGMA。谢尔比乌斯的新发明并没有象他预料的那样带来多少回响。军队方面对他的发明也没有什么太多的注意。   谢尔比乌斯的失望是可想而知的。但是这方面他不是唯一的人。和他几乎同时在另外三个国家的三个发明家也都独立地想到了发明了使用转子的电气加密机的主意。1919年荷兰发明家亚历山大科赫(Alexander Koch)注册了相似的专利,可是却没有能够使它商业化,1927年他只好卖掉了他的专利。在瑞典,阿维德达姆(Arvid Damm)也获得了一个差不多的专利,但是直到1927年他去世时还是没有能找到市场。在美国,爱德华赫本(Edward Hebern)发明了他的无线狮身人面,对它充满希望。他用三十八万美元开了一个工厂,却只卖出价值一千两百美元的十来台机器。1926年在加利福尼亚州赫本被股东起诉,被判有罪。   可是谢尔比乌斯突然时来运转。英国政府发表了两份关于一次大战的文件使得德国军队开始对他的发明大感兴趣。其中一份是1923年出版的温斯顿丘吉尔的著作《世界危机》,其中有一段提到了英国和俄国在军事方面的合作,指出俄国人曾经成功地破译了某些德军密码,而使用这些成果,英国的40局(英国政府负责破译密码的间谍机构)能够系统性地取得德军的加密情报。德国方面几乎是在十年之后才知道这一真相。第二份文件同样是在1923年由皇家海军发表的关于第一次世界大战的官方报告,其中讲述了在战时盟军方面截获(并且破译)德军通讯所带来的决定性的优势。这些文件构成了对德国情报部门的隐性指控,他们最终承认由于无线电通讯被英方截获和破译,德国海军指挥部门就好象是把自己的牌明摊在桌子上和英国海军较量。   为了避免再一次陷入这样的处境,德军对谢尔比乌斯的发明进行了可行性研究,最终得出结论:必须装备这种加密机器。从1925年开始,谢尔比乌斯的工厂开始系列化生产ENIGMA,次年德军开始使用这些机器。接着政府机关,比如说国营企业,铁路部门等也开始使用ENIGMA。这些新型号的机器和原来已经卖出的一些商用型号不同,所以商用型机器的使用者就不知道政府和军用型的机器具体是如何运作的。   在接下来的十年中,德国军队大约装备了三万台ENIGMA。谢尔比乌斯的发明使德国具有了最可靠的加密系统。在第二次世界大战开始时,德军通讯的保密性在当时世界上无与伦比。似乎可以这样说,ENIGMA在纳粹德国二战初期的胜利中起到的作用是决定性的,但是我们也会看到,它在后来希特勒的灭亡中扮演了重要的角色。   但是谢尔比乌斯没有能够看见所有这一切。有一次在套马时,他被摔到了一面墙上,于1929年5月13日死于内脏损伤。 二、弱点 在一次大战其间,英国的情报机关非常严密地监控了德国方面的通讯,丘吉尔的书和英国海军部的报告中透露的消息只不过是一鳞半爪。事实上,将美国引入一次大战的齐末曼(Arthur Zimmermann,1916年起任德国外交部长)电报就是由著名的英国40局破译的。在此电报中德国密谋墨西哥对美国发动攻击,这使得美国最终决定对德宣战。但是英国人的障眼法用得如此之好,使得德国人一直以为是墨西哥方面泄漏了秘密。 战后英国仍旧保持着对德国通讯的监听,并保持着很高的破译率。但是从1926年开始,他们开始收到一些不知所云的信息ENIGMA开始投入使用。德国方面使用的ENIGMA越多,40局破解不了的电文就越多。美国人和法国人碰到的情况也一样,他们对ENIGMA一筹莫展。德国从此拥有了世界上最为可靠的通讯保密系统。 一次大战的战胜国很快就放弃了破译这种新型密码的努力。也许是出于自信,在他们看来,在凡尔赛条约约束下的德国已经造成不了什么危害。由于看不到破译德国密码的必要性,盟国的密码分析专家懒散下来,干这一行的头脑似乎也变得越来越平庸。在科学的其他领域,我们说失败乃成功之母;而在密码分析领域,我们则应该说恐惧乃成功之母。普法战争造就了法国一代优秀的密码分析专家,而一次大战中英国能够破译德国的通讯密码,对失败的极大恐惧产生的动力无疑起了巨大的作用。 历史又一次重演。因为在欧洲有一个国家对德国抱有这种极大的恐惧这就是在一战灰烬中浴火重生的新独立的波兰。在她的西面,是对失去旧日领土耿耿于怀的德国,而在东面,则是要输出革命的苏维埃联盟。对于波兰来说,关于这两个强邻的情报是有关生死存亡的大事,波兰的密码分析专家不可能象他们的英美法同事那样爱干不干他们必须知道这两个大国都在想什么。在此情况下波兰设立了自己的破译机构,波军总参二局密码处(Biuro Szyfrow)。密码处的高效率在1919-1920年波苏战争中明显地体现出来,军事上屡尝败绩的波兰在密码分析方面却一枝独秀。在苏军兵临华沙城下的情况下,1920年一年他们破译了大约400条苏军信息。在对西面德国的通讯的监控方面,波兰人也保持了同样的高效率直到1926年ENIGMA登场。 波兰人想方设法搞到了一台商用的ENIGMA机器,大致弄清楚了它的工作原理。但是军用型的转子内部布线和商用型的完全不同,没有这个情报,想要破译德军的电报可谓难如登天。波兰人使出了浑身的解数,甚至病急乱投医,请了个据说有天眼通功能的大师来遥感德国人机器里转子的线路图当然和所有的大师一样,一遇上这种硬碰硬的事情,神乎其神的天眼通也不灵了。 这时事情有了转机。 汉斯提罗施密特(Hans-Thilo Schimdt) 于1888年出生在柏林的一个中产阶级家庭里,一次大战时当过兵打过仗。根据凡尔赛条约,战败后的德国进行了裁军,施密特就在被裁之列。退了伍后他开了个小肥皂厂,心想下海从商赚点钱。结果战后的经济萧条和通货膨胀让他破了产。此时他不名一文,却还有一个家要养。 汉斯-提罗施密特 和他潦倒的处境相反,他的大哥鲁道夫(Rudolph)在战后春风得意。和汉斯提罗一样都是一次大战的老兵,可鲁道夫没有被裁减,相反却一路高升。到了二十年代,他当上了德国通讯部门的头头,就是他正式命令在军队中使用ENIGMA。和大哥的成功比起来,汉斯提罗自然觉得脸上无光。 可是破产后汉斯-提罗不得不放下自尊心来去见大哥,求他在政府部门替自己谋个职位。鲁道夫给他的二弟在密码处(Chiffrierstelle)找了个位置。这是专门负责德国密码通讯的机构ENIGMA的指挥中心,拥有大量绝密情报。汉斯提罗把一家留在巴伐利亚,因为在那里生活费用相对较低,勉强可以度日。就这样他一个人孤零零地搬到了柏林,拿着可怜的薪水,对大哥又羡又妒,对抛弃他的社会深恶痛绝。 接下来的事情可想而知。如果把自己可以轻松搞到的绝密情报出卖给外国情报机构,一方面可以赚取不少自己紧缺的钱,一方面可以以此报复这个抛弃了他的国家。1931年11月8日,施密特化名为艾斯克(Asche)和法国情报人员在比利时接头,在旅馆里他向法国情报人员提供了两份珍贵的有关ENIGMA操作和转子内部线路的资料,得到一万马克。靠这两份资料,盟国就完全可以复制出一台军用的ENIGMA机。 不过事情并不象想象的那么简单。要破译ENIGMA密码,靠这些情报还远远不够。德军的一份对ENIGMA的评估写道:即使敌人获取了一台同样的机器,它仍旧能够保证其加密系统的保密性。就算有了一台ENIGMA,如果不知道密钥(在本文的第一部分里我们知道所谓的密钥,就是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况)的话,想破译电文,就要尝试数以亿亿计的组合,这是不现实的。 加密系统的保密性只应建立在对密钥的保密上,不应该取决于加密算法的保密。这是密码学中的金科玉律。加密算法可以直接是某个抽象的数学算法,比如现在通用的DEA和RSA算法,也可以是实现某个算法的象ENIGMA这样的加密机械或专门用于加密的电子芯片等加密器件,还可以是经过编译的在计算机上可执行的加密程序,比如现在在互联网通信中被广泛使用的PGP(Pretty Good Privacy)。因为对加密算法的保密是困难的。对手可以用窃取、购买的方法来取得算法、加密器件或者程序。如果得到的是加密器件或者程序,可以对它们进行反向工程而最终获得加密算法。如果只是密钥失密,那么失密的只是和此密钥有关的情报,日后通讯的保密性可以通过更换密钥来补救;但如果是加密算法失密,而整个系统的保密性又建立在算法的秘密性上,那么所有由此算法加密的信息就会全部暴露。更糟糕是,为了使以后的通讯保持秘密,必须完全更换加密算法,这意味着更新加密器械或更换程序。比起简单地更换密钥,这要耗费大量财富和管理资源(大规模更换加密器械和程序会使对手更有机会乘虚而入!)。 如此明显的道理,却时常有人不愿遵守,把加密系统的保密性建立在对加密算法的保密上,为此吃够了苦头。最著名的例子莫过于DVD的加密算法(DVD Movie encryption scheme)。信息和密码专家通过对DVD驱动器解密芯片和解密软件的分析得到了它的加密和解密算法。以此为基础有人编写了一个破解DVD加密算法的程序DeCSS。虽然在2000年1月,美国法官刘易斯卡普兰(Lewis Laplan)裁定在互联网上传播DeCSS为非法,但是这种行政的强制手段似乎毫不奏效。反对裁决的一方以保护言论自由的美国宪法第一修正案的来反驳,卡普兰不得不附加了计算机源程序不属言论的附加裁定。 但这个附加裁定似乎也没有什么太大的用处虽然不能直接传播DeCSS的源程序,如果愿意的话,人们还是可以用源程序的第一个字母是A,第二个字母是=这类卡普兰法官绝不能归到非言论一类去的方法来描述。在http://www.cs.cmu.edu/~dst/DeCSS/Gallery/你可以找到十几种怪里怪气地不违法地传播DeCSS的方法,其中包括一首诗,一件印着源程序的T恤衫, 一段朗诵源程序的录音和三张显示着源程序的GIF图片法官大人下令禁止的是源程序,不是它的图片,不是吗? 更有甚者,有人在网上公布了一个素数,如果把这个素数写成十六进制并记录成一个文件,我们就可以拿解能够解gzip格式的压缩软件(比如说WinZip)来将它解成DeCSS。如果卡普兰法官下令禁止这个素数的话,它很有可能成为有史以来第一个非法的素数。 在上面这个例子里我们甚至可以看到,在此时更换加密算法已经变得实际上不可能,因为DVD作为标准已经被固定下来,于是它的加密算法也就从此形同虚设。 正如前面所言,ENIGMA的设计使得搞到了它的秘密的法国人也一筹莫展。法国密码分析人员断定这种密码是不可破译的。他们甚至根本就懒得根据搞到的情报去复制一台ENIGMA。 在十年前法国和波兰签订过一个军事合作协议。波兰方面一直坚持要取得所有关于ENIGMA的情报。既然看来自己拿着也没什么用,法国人就把从施密特那里买来的情报交给了波兰人。和法国人不同,破译ENIGMA对波兰来说至关重要,就算死马也要当作活马医。现在他们总算能迈出最初的一步了。 在施密特提供的关于ENIGMA的情报中,不仅有关于ENIGMA构造和转子内部连线的描述,还有德国人使用ENIGMA进行编码的具体规定。每个月每台ENIGMA机的操作员都会收到一本当月的新密钥,上面有此月每天使用的密钥。比如说,第一天的密钥可以是这个样子: 1.连接板的连接:A/L-P/R-T/D-B/W-K/F-O/Y 2.转子的顺序:2,3,1 3.转子的初始方向:Q-C-W 当操作员要发送某条消息时,他首先从密钥本中查到以上信息。然后按照上面的规定,首先用连线把连接板上的A字母和L字母,P字母和R字母连接起来;然后把2号转子放在ENIGMA的第一个转子位置上,把3号转子放在第二个位置上,把1号转子放在第三个位置上;最后,他调整转子的方向(从照片上可以看到每个转子的边上都刻着一圈字母用来显示转子所处的方向),使得三个转子上的字母Q、C和W分别朝上。在接收信息的另一方,操作员也进行同样的准备(他也有一本同样的密钥本),就可以进行收信解码的工作了。 调整好ENIGMA,现在操作员可以开始对明文加密了。但是我们看到每天只有一个密钥,如果这一天的几百封电报都以这个密钥加密发送的话,暗中截听信号的敌方就会取得大量的以同一密钥加密的信息,这对保密工作来说不是个好兆头。我们记得在简单替换密码的情况下,如果密码分析专家能得到大量的密文,就可以使用统计方法将其破解。 尽管不知道对ENIGMA是否可以采用类似的统计方法,德国人还是留了个心眼。他们决定在按当日密钥调整好ENIGMA机后并不直接加密要发送的明文。相反地,首先发送的是一个新的密钥。连接板的连线顺序和转子的顺序并不改变,和当日通用的密钥相同;想反地,转子的初始方向将被改变。操作员首先按照上面所说的方法按当日密钥调整好ENIGMA,然后随机地选择三个字母,比如说PGH。他把PGH在键盘上连打两遍,加密为比如说KIVBJE(注意到两次PGH被加密为不同的形式,第一次KIV,第二次BJE,这正是ENIGMA的特点,它是一种复式替换密码)。然后他把KIVBJE记在电文的最前面。接着他重新调整三个转子的初始方向到PGH,然后才正式对明文加密。 用这种方法每一条电文都有属于自己的三个表示转子初始方向的密钥。把密钥输入两遍是为了防止偶然的发报或者接收错误,起着纠错的作用。收报一方在按当日密钥调整好ENIGMA机后,先输入密文的头六个字母KIVBJE,解密得到PGHPGH,于是确认没有错误。然后把三个转子的初始方向调整到PGH,接着就可以正式解密其余的密文了。 如果不使用对每条电文都不同的密钥,那么每天很可能总共会有几千条电文也就是几百万个字母的消息以同一个密钥加密。而采用每条电文都有自己的密钥这个方法后,当日密钥所加密的就是很少的几万个字母,而且这些字母都是随机选取,和有意义的电文性质不同, 不可能用统计方法破译。 乍一看来这种方法无懈可击。可是波兰人铁了心,必须在这厚厚的护甲上撕出一个口子来。 在此以前,密码分析人员通常是语言天才,精通对语言方面特征的分析。但是既然ENIGMA是一种机械加密装置,波兰总参二局密码处就考虑到,是否一个具有科学头脑的人更适合于它的破译工作呢? 1929年1月,波兹南大学数学系主任兹德齐斯罗克里格罗夫斯基(Zdzislaw Krygowski)教授开列了一张系里最优秀的数学家的名单,在这张名单上,有以后被称为密码研究波兰三杰的马里安雷杰夫斯基(Marian Rejewski),杰尔兹罗佐基(Jerzy Rozycki)和亨里克佐加尔斯基(Henryk Zygalski)。波兹南大学并非当时波兰最有名的大学,但是它地处波兰南部,那里直到1918年还是德国领土,所以所有这些数学家都能讲流利的德语。 马里安雷杰夫斯基 在三位被密码局招聘的数学家中,雷杰夫斯基的表现最为出色。当年他是个架着一副近视眼镜,脸上略带羞色的二十三岁小伙子。他的在大学里学的专业是统计学,打算以后去干保险业行当,也许在此之前他从未想到会在密码分析方面大展身手。在经过短期的密码分析训练后,他把所有的精力都投入到破解ENIGMA的工作中去。 雷杰夫斯基深知重复乃密码大敌。在ENIGMA密码中,最明显的重复莫过于每条电文最开始的那六个字母它由三个字母的密钥重复两次加密而成。德国人没有想到这里会是看似固若金汤的ENIGMA防线的弱点。 德方每封密文最开始的六个字母,是此信密钥的三个字母重复两遍,由当日密钥加密而成。比如说这封信的密钥是ULJ(这是开始加密明文时由操作员临时随机选取的),那么操作员首先用当日通用的密钥加密ULJULJ,得到六个字母的加密后序列,比如说PEFNWZ,然后再用ULJ来作为密钥加密正文,最后把PEFNWZ放在加密后的正文前,一起用电报发给收信方。 雷杰夫斯基每天都会收到一大堆截获的德国电报,所以一天中可以得到许多这样的六个字母串,它们都由同一个当日密钥加密而成。比如说他收到四个电报,其中每封电报的开头的六个字母为 1 2 3 4 5 6 第一封电报:L O K R G M 第二封电报:M V T X Z E 第三封电报:J K T M P E 第四封电报:D V Y P Z X 对于每封电报来说,它的第一个字母和第四个字母都是由同一个字母加密而来,同样地第二和第五个字母以及第三和第六个字母也是分别由同一个字母加密而来。比如说在第一封电报中,字母L和R是由同一字母加密而来。这个字母之所以先被加密成L,然后又被加密成了R,是因为在此期间转子向前转动了三个字母的位置。 从L和R是由同一个字母加密而来这点,雷杰夫斯基就有了判断转子的初始位置的一条线索。当转子处于这个初始位置时,字母L和R在某种意义下具有紧密的联系。每天截获的大量电文能够给出许多这样的紧密联系,从而使雷杰夫斯基最终能够判断出转子的初始位置。在上面的第二、三、四封电报中,我们看见M和X,J和M,D和P都有这种联系: 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:___P_____M_RX_____________ 如果雷杰夫斯基每天可以得到充分多的电报,他就可以把上面这个关系表补充完整: 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:FQHPLWOGBMVRXUYCZITNJEASDK 光凭这个对应表格,雷杰夫斯基还是没办法知道当天的通用密钥。可是他知道,这个表格是由当天的通用密钥决定的,而且只由它决定。如果密钥不同,那么这个表格也应该不同那么,有没有一种办法可以从这个对应表来推断出当日的通用密钥呢?雷杰夫斯基对这样的表格进行了仔细观察。从字母A开始看,它被对应成F;而F在此表中又被对应成W,接下去它被对应成A,我们又回到了最先开始的字母,于是就有了一个循环的字母圈AFWA。如果考虑所有的字母,雷杰夫斯基就能写出关于此对应表的所有的循环圈: AFWA 3个字母的循环圈 BQZKVELRIB 9个字母的循环圈 CHGOYDPC 7个字母的循环圈 JMXSTNUJ 7个字母的循环圈 这里我们只是考虑了第一和第四个字母形成的对应表。同样地对第二和第五、第三和第六个字母形成的对应表,我们也可以写出类似的字母循环圈。由于每天的密钥都不同,雷杰夫斯基得到的循环圈也各不相同。 雷杰夫斯基观察到,这些循环圈长短不一。这使他有了一个重要的灵感: 虽然这些循环圈是由当日密钥,也就是转子的位置,们的初始方向以及连接板上字母置换造成的,但是每组循环圈的个数和每个循环圈的长度,却仅仅是由转子的位置和它们的初始方向决定的,和连接板上字母交换的情况无关! 假定在上面这个例子中,原来在接线板上字母S和G由一根连线相连。现在转子的位置和它们的初始方向保持不变,去掉这根连线而将字母T和K连在一起,那么第一和第四个字母的对应表就会变成 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:FQHPLWKSBMNRXUYCZIOVJEAGDT (原来的G对应O,S对应T,去掉G和S的连线后,G就对应T,但是T被新的连线接到了K,所以G最终对应着K。其他受影响的字母还有H、K、S、T、X、Z)。而循环圈表就变成了: AFWA 3个字母的循环圈 BQZTVELRIB 9个字母的循环圈 CHSOYDPC 7个字母的循环圈 JMXGKNUJ 7个字母的循环圈 某些循环圈中的字母变了,但是循环圈的数目仍旧是四个,每个循环圈的长度也没有改变。应用置换变换的理论,雷杰夫斯基可以从数学上严格证明这一点对于任何的连线变化都是成立的。 这是一个非常重大的进展。我们知道,如果要强行试遍所有的密钥来破解密文,那得要试一亿亿个密钥之多;但是ENIGMA的数量巨大的密钥主要是由连接板来提供的,如果只考虑转子的位置和它们的初始方向,只有105456种可能性。虽然这还是一个很大的数字,但是把所有的可能性都试验一遍,已经是一件可以做到的事情了。 波兰人按照汉斯-提罗施密特提供的情报复制出了ENIGMA样机。到了1934年,他们有了十几台波兰造ENIGMA。雷杰夫斯基和他的同事们每天都在ENIGMA前工作,一个接一个地试验转子的不同位置和初始方向,然后产生相应的字母对应表并构造相应的字母循环圈,并把它们记录下来。比如说其中的一个记录可以是这样的: 第一和第四字母对应表中有4个循环圈,长度分别为3,9,7,7; 第二和第五字母对应表中有4个循环圈,长度分别为2,3,9,12; 第三和第六字母对应表中有5个循环圈,长度分别为5,5,5,3,8; 当对所有105456种转子位置和初始方向都编好记录以后,破译ENIGMA生成的密文就比较容易了。首先要取得足够的当日电文来构造字母对应表并且写出字母循环圈;然后根据循环圈的数目和它们的长度从记录表中检索出相对应的转子位置和初始方向:这就是当日的密钥(连接板的情况还未知)。循环圈的个数和长度可以看作是这个密钥的指纹通过建立密钥指纹档案,雷杰夫斯基就能及时地把当天的密钥找出来。通过分离转子的状态和连接板的状态,雷杰夫斯基大大简化了破译ENIGMA的工作。建立这样一个档案花了整整一年时间,工作相当艰苦,有时工作人员的手指都被磨出血来。 必须指出的是,上面对雷杰夫斯基的工作的介绍是极其简单化的,只以举例的形式介绍了其中最重要的思路。雷杰夫斯基对于ENIGMA的分析是在密码分析史上最重要的成就之一,整个工作都是严格地数学化了的(求解关于置换矩阵的方程),决非上面所举例子可以包含。比如说,找到当日密钥中转子状态后,还需要找到连接板状态,才能真正译出密文。另外,ENIGMA中转子中的线路并非总是固定不变,雷杰夫斯基的理论允许从密文和密钥倒推出转子内部的连线状态。即便是施密特提供的情报也未明确指出转子内部的连线状态,雷杰夫斯 基一项重要工作就是成功地判断出军用型ENIGMA的转子上字母以字母表顺序排列,而不是如商用型那样,字母以键盘上的顺序排列。另外还要指出的是,雷杰夫斯基的同事,尤其是另两位数学家罗佐基和佐加尔斯基在破译工作中也作出了很重要的贡献。佐加尔斯基还设计了用在纸上钻孔的方法来迅速查询对应于某类字母循环圈的转子状态的方法。   佐加尔斯基设计的用来查询密钥的钻孔表格     在雷杰夫斯基和他的同事的努力下,波兰情报部门在后来的几年里成功地掌握了大量德国方面的情报。据估计,在1933年1月到1939年9月这六年多的时间里,波兰方面一共破译了近十万条德方的消息,其中最重要的有德国在包括苏台德地区兵力重新部署的情报,这对波兰的安全是极大的威胁。对ENIGMA的破解即便在总参二局领导层内部也属最高机密,军官们会收到标有维奇尔(Wicher,破译ENIGMA行动的代号)的情报,他们被告知这些情报绝对可K,但来源绝密。1934年,纳粹德国元帅赫尔曼.戈林访问华沙,他怎么也没有怀疑波兰人已经掌握了他的机密。当他和德国高级官员向位处波兰密码处附近的无名战士墓献花圈时,雷杰夫斯基正透过办公室的窗子望着他们,心中为自己能知道他们最机密的通讯而狂喜不已。      当德国人对ENIGMA转子连线作出一点改动以后,花了一年功夫建立起来的密钥指纹档案就变得毫无用处了。但是雷杰夫斯基和罗佐基有了一个更好的主意。他们在ENIGMA的基础上设计了一台能自动验证所有26*26*26=17576个转子方向的机器,为了同时试验三个转子的所有可能位置的排列,就需要6台同样的机器(这样就可以试遍所有的17576*6=105456种转子位置和初始方向)。所有这6台ENIGMA和为使它们协作的其他器材组成了一整个大约一米高的机器,能在两小时内找出当日密钥。罗佐基把它取名为炸弹(La Bomba),可能是因为它运转起来震耳欲聋的声响;不过也有人传说,制造这样一台机器的主意是雷杰夫斯基一次在饭店里吃叫做炸弹的冰淇淋时想到的。无论如何,炸弹实现了密码分析机械化,它是对ENIGMA机械加密的一种很自然的回应手段。      30年代的大部分日子里,雷杰夫斯基和他的同事们不断地从事着寻找密钥的工作,时不时地还要修复出了故障的炸弹。他们不知道的是,在密码处处长格维多.兰杰(Gwido Langer)少校的抽屉里,已经有了他们正在绞尽脑汁试图寻找的东西。    事实上,在提供了两份极其重要的关于ENIGMA的情报后,汉斯-提罗.施密特还在继续向法国情报机关提供关于德国通讯的情报。在1931年后的七年中,他和法国情报人员接头二十次,每次都提供若干德国通讯用密码本,上面记载着一个月中每天使用的当日密钥。汉斯-提罗.施密特总共提供了三十八个月的密码。兰杰少校通过法国密码处(第二处)负责人居斯塔夫.贝特朗(Guistav Bertrand)上尉得到了这些密码本。如果雷杰夫斯基能够预先知道这些密码,无疑可以节省大量的时间,从而进行其他的同样十分重要的破译工作。        但是兰杰少校觉得雷杰夫斯基的小组应该习惯于单独工作,以便在将来得不到密码本的时候,也能同样破译ENIGMA。我们的确不知道,如果自1931年来没有这样的压力,雷杰夫斯基是否能够有上面所述的重要工作。      波兰密码局的破译能力在1938年的十二月达到了极限,德国人加强了ENIGMA的加密能力。每台ENIGMA机增加了两个可供选择的转子。原来三个转子不同的排列方式有6种,现在从五个转子中选取三个装入机器中的方式达到了5*4*3=60种。这就意味着要达到原来的效率,炸弹中必须有60台机器同时运转,而不是原来的6台。建造这样一台炸弹的价格是密码处总预算的十五倍!在1939年一月,连接板上的连线又由六根增加到十根,这样就只剩6个字母不会被交换。密钥的总数达到了一万五千九百亿亿个,是原来的一万五千九百倍。        虽然波兰数学家们成功地推断出了第四和第五个转子中的连线状态,雷杰夫斯基也证明了ENIGMA并非象德国人或盟国密码分析专家想象的那样坚不可破,但是他的方法终于也不适用了。这时兰杰少校应该从他的抽屉里拿出施密特提供的密码本来但是正是德国人增加转子个数的时候,施密特停止了和法国情报部门的接头。七年中施密特不断地提供给波兰人能K自己的力量破译的密钥,现在波兰人急需这些密钥,他们却再也搞不到了。      这对波兰是一个致命的打击。因为ENIGMA不仅仅是德国秘密通讯的手段,更是希特勒闪电战(blitzkrieg)的关键。所谓的闪电战是一种大规模快速协同作战,各装甲部队之间,它们和步兵、炮兵之间必须能够快速而保密地进行联系。不仅如此,地面部队的进攻还必须由斯图卡轰炸机群掩护支援,它们之间也必须有可K的联络手段。闪电战的力量在于:在快速的通讯保证下的快速进攻。      海因茨.古德里安(Heinz Guderian)将军在指挥车上。照片左下方我们可见一台ENIGMA。      如果波兰不能知道德军的通讯,那么想要抵挡德国的入侵是毫无希望的,现在看来这在几个月里就会发生。1939年4月27日德国撕毁同波兰签订的互不侵犯条约,侵占了苏台德地区;在德国国内,反波兰的声浪不断高涨。在此情况下,兰杰少校决定把直到现在还对盟国保密的关于ENIGMA的破译方法告诉盟国同行,以便在波兰遭到入侵后,拥有更大人力物力财力的盟国还可以继续对雷杰夫斯基的方法进行研究。      6月30日,兰杰少校致电他的英国和法国同行,邀请他们来华沙紧急讨论有关ENIGMA的事项。7月24日英法密码分析专家到达波兰密码处总部,全然不知波兰人葫芦里卖的什么药。具有讽刺意味的是,这次会面中用来交流使用的语言是德语这是唯一的在场三方所有人都懂的语言。兰杰少校将他们领到一间房间,在那里有一个被黑布蒙住的东西,当黑布被揭开时,英法的密码分析专家目瞪口呆。出现在他们眼前的是一台雷杰夫斯基的炸弹。当听到雷杰夫斯基破译ENIGMA的方法时,他们意识到波兰在密码分析方面比世界上任何国家先进至少十年。法国人尤其吃惊,他们以为他们得到的情报用处不大,所以很慷慨地把它们转给了波兰人,他们却让波兰人一直瞒到现在。英法密码分析专家对波兰同行的感激是无以言表的,直到那时,他们在破译德国密码的方面毫无进展。      兰杰少校给英法密码分析专家的最后惊喜是宣布赠送给他们两台ENIGMA的复制品,以及炸弹的图纸,它们由法国密码处的贝特朗(他现在是个少校了)通过外交邮包寄往巴黎。8月19日,在横渡英吉利海峡的渡船上有两位看似平常的旅客:英国作家沙夏.居特里(Sacha Guitry)和他的太太女演员依弗娜.普林坦普斯(Yvonne Printemps)。但是在他们的旅行箱里却藏着当时英国最高的机密:一台波兰制造的ENIGMA。为了避开无所不在的德国间谍的耳目,ENIGMA就这样来到了英国,在那里等待它的将是它的彻底灭亡。      两星期后的1939年9月1日,希特勒发动闪电战入侵波兰。9月17日,苏联入侵波兰。9月28日,德军占领华沙,波兰不复存在。   三、灭亡(上)      整整十三年里,英国人和法国人都以为ENIGMA是不可破译的,波兰人的成功重新鼓起了他们的勇气。虽然德国人已经加强了密码机的安全性能,但是波兰人的实践表明,ENIGMA决非坚不可破。波兰密码局的经验也表明,数学家在密码分析中能够起到多么重要的作用。在英国密码局(40局),以往都是由精于文字的语言学家或作家来担负起密码分析的重任,此后40局开始通过局内人际关系向牛津大学和剑桥大学招聘数学家和数学系学生。      英国的政府代码及加密学校(GCCS, Government Code and Cipher School)是40局新设的机构,它的的总部坐落在白金汉郡的布莱切利公园(Bletchley Park)里,40局新招聘的密码分析专家就在那里学习和工作。布莱切利公园的中心是一座歌特都铎式的城堡,19世纪时由金融家赫伯特.莱昂(Herbert Leon)爵士建造,GCCS的领导机构就设立在它的图书馆、宽大的餐厅以及装饰得富丽堂皇的舞厅里。从城堡的底层望出去,外面是宽阔的花园。不过在1939年的秋天,那里的风景可不怎么样,花园里戳满了新建的小木屋,那是密码分析人员的工作场所,各种信息在担负不同任务的小木屋进进出出。比方说,6号木屋是负责破译德军ENIGMA电报的,从那里出来的明文由3号木屋翻译并进行综合情报分析;8号木屋专门负责对付德国海军的ENIGMA,这是一种特别复杂的ENIGMA机,和普通型不同,它有四个转子,在这里破译的情报由4号木屋中的情报人员翻译和分析。一开始在布莱切利公园工作的只有大约二百人,可是到了五年后战争结束时,城堡和小木屋中已经多达七千人!      布莱切利公园(Bletchley Park)      英国数学家和其他密码分析人员很快就掌握了波兰人进攻ENIGMA的技巧和方法。布莱切利公园拥有比波兰密码处多得多的人员和资金,所以足以对付由于德国人对ENIGMA的改动而增加到原来十倍的破译工作量。和在波兰密码处的情景一样,布莱切利公园的男女们日夜紧张工作,为的就是找到德国人当天的密钥。一到午夜,转子和连线板的设置就会变动,一切又要重新开始。      由此而破译的情报极其珍贵。如果布莱切利公园能够及时得到德军的情报,德国人的计划和行动就会暴露无遗。如果德军计划一次进攻,英军就可以采取相应的增援或撤退措施;更妙的是,如果德国将军在他们的电报中争论己方的弱点,英国军队就可以采取德国人最担心的计划。1940年4月德国入侵丹麦和挪威,布莱切利公园取得了一份详细的军事计划。同样在英伦战役之初,密码分析人员准确预告了德军轰炸的准确时间和地点,并且取得了德国空军(Luftwaff)极为宝贵的情报,比如飞机的损失情况,新飞机的补充数量和速度等。这些情报被送往M16的总部,再由那里转送战争部、空军部和海军部。      布莱切利公园的密码分析专家们有时也有点空余时间,最受欢迎的消遣活动是圆场棒球,球赛就在那座城堡前的草坪上举行。和自自在在的大学生一样,这些肩负着重任的男女也经常为一个有争议的球严肃地争论得面红耳赤。      在掌握了波兰人对付ENIGMA的手段后,英国密码分析专家也开始摸索出自己独特的方法。在正式用炸弹开始系统搜索当日密钥以前,他们总要试一遍投机取巧的门道。根据德军通讯的规定,每一条电文都要随机选择三个不同的字母组合,但是在激战之时,德军指挥官经常顾不上随机,往往在键盘上敲上三个相邻的字母了事,比方说DFG或者VBN,有时甚至重复使用某三个字母的组合来当密钥。英国密码分析专家把这样的密钥叫西尔丝(cillies),即三字母组合CIL的读音,大概来源于哪位倒霉德国军官的女友的名字。      西尔丝并非ENIGMA本身的弱点,而是ENIGMA使用者的弱点。另一种更为严重的人为使用错误是密钥本编制者对密钥使用过分严格的规定。为了强调密钥的不可预见性,他们规定每天在三个放置转子的位置上,不得有和昨天放在此位置上相同的转子。比如说每台ENIGMA机一共配备编号为1、2、3、4、5的五个转子,而前一天所使用的转子顺序为134,那么第二天可以使用例如215这样的转子顺序,但是214这样的顺序是不允许的,因为和前一天相比较,在第三个位置上都是4号转子。看起来这样交叉使用转子是个好主意,避免了象上面所说的重复使用某个密钥的过失,但是如果过分强调这一点,却会使英国密码分析专家的工作量减小一半,因为在开始分析当日密钥前,他们就可以把所有至少有一个转子处在前一日位置上的那些转子的排列排除在外了。德军密钥编制的另一条规定是,在连接板上不允许把两个相邻的字母连接起来。直觉似乎告诉人们不该使用这样简单的字母交换,但是这样的规则搞得太严格过了头,也就反而会帮对手的忙,对手根本就不用考虑这样的可能性了。      在整个战争过程中,ENIGMA机被不断改善,所以这样的投机取巧也变得十分重要,密码分析专家可以通过对密钥的猜测来推断出密码机新的变动,从而相应地改善炸弹的设计,使用新的策略。英国人能够在战争其间成功地持续破解ENIGMA密码,和小木屋里各种各样不同寻常的怪才的努力分不开。他们之中有数学家,各类科学家,语言学家,象棋冠军,填字游戏高手一个难题经常从一只手传到另一只手,直到它最终得到解决;也有可能一个人解决一点,再由另一个人解决另一部分按照6号木屋的负责人戈尔登.魏齐曼(Gordon Welchman)的话来说,这是一群想方设法嗅出一条线索的猎犬。      在布莱切利公园有一大群为破译ENIGMA作出了卓越贡献的人们。但是如果只能选择性地讲述一个人的功绩,那么这个人无论如何应该是阿兰.图灵(Alan Turing)。      阿兰.图灵      图灵1912年6月23日在伦敦出生,他的父亲是当时英国殖民地印度南部的行政官员。他的父母为了使儿子在英国出生,暂时从印度回到了英国。图灵出生后不久他父亲重新回到印度,十五个月后他的母亲也离开英国返回印度,把图灵一个人留在伦敦,由保姆和朋友抚养长大,一直到了图灵上寄宿学校的年纪。      1926年,14岁的图灵进入了雪伯恩(Sherborne)学校就读。上学的第一天恰好碰上罢工,为了不错过就学典礼,图灵从南安普敦到雪伯恩一气骑了一百公里的自行车,为此他上了当地的报纸。在学校里一年下来,他给人的印象是个爱害羞,做事笨手笨脚的男孩,但是在自然科学方面充满才华。雪伯恩学校是培养为大英帝国效力的男子汉的地方,图灵的性格却似乎于此不合拍,所以那几年他的学校生涯不免有些难捱。      在学校里他唯一的朋友是一个名叫克里斯多夫.莫尔贡(ChristopherMorcon)的男孩。他俩都热爱科学,经常在一起谈论最新的科学发现,做各种科学小实验。这段友谊激发了图灵对科学的兴趣,他对莫尔贡的感情似乎也超出了朋友的范围,成为一种依恋。但是莫尔贡永远不会知道这点了,在他们认识的第四年,1930年的2月13日,他死于突发性结核病。这对图灵是一个巨大的打击,他失去了唯一的朋友。似乎是为了让自己代替朋友活着,他学习更加努力。在去世前莫尔贡已经取得了一份剑桥大学的奖学金,图灵决定自己也将进入剑桥大学学习,去完成亡友的未竟事业。      1931年图灵如愿以偿地进入剑桥大学国王学院。当时的数理逻辑学界正热烈地讨论着二十世纪最伟大的数学发现之一昆特.哥德尔的不完全性定理。在那以前,数学家们总以为,一个数学问题,虽然要找到回答也许很困难,但是理论上总有一个确定的答案。一个数学命题,要么是真的,要么是假的。但是哥德尔的不完全性定理指出,在一个稍微复杂一点的数学公理系统中,总存在那样的命题,我们既不能证明它是真的,也不能证明它是假的。数学家们大吃一惊,发现以往大家认为绝对严明的数学中原来有如此令人不安的不确定性。      每个逻辑学家都在苦苦思索,试图替陷入了危机的数学找到一条出路,他们包括当时在剑桥的贝特朗.罗素(Bertrand Russell)、阿尔弗雷德.怀特海(Alfred Whitehead)、路德维格.维特根斯坦(Ludwig Wittgenstein)这样著名的逻辑学家。在这种环境下,图灵作出了他一生中最重要的科学贡献,在他著名的论文《论可计算数》(On Computable Numbers)中,他提出了日后以他名字命名的虚拟计算机器图灵机。         三、灭亡(中)      图灵设想的虚拟机器拥有一条无限长的纸带、一个读写头,和一个控制装置。控制装置具有有限个内部状态,它能够根据这些内部状态来控制读写头作出相应的动作,比如说沿着纸带前后移动,在纸带上记录改变或抹去信息,或者读取纸带上的信息并据此改变自己的内部状态。你可以把纸带上的信息看做是指令或者数据,读写头根据这些指令和数据来完成一系列的动作。图灵提出了各种各样这样的机器,有些能做加法(只要在纸带上先写好两个数,然后让图灵机运行,最后机器停止时写在纸条上的那个数就是起先两数的和),有些能做乘法,等等等等。当然有些似乎什么也不做,或者在纸带上乱涂乱画,而另外有一些,好像永远也不停下来。这就是在信息科学史上和冯.诺依曼机器齐名的图灵机。      图灵机的个数是可数无限个,所以我们可以用自然数把所有的图灵机都标上号。图灵发现了这样一种图灵机,它能够做到任何一台图灵机能办到的事情,只要在纸带上首先标出想要模拟的图灵机的号码,然后给出相应的输入,最后它的输出将是号码被指定的那台图灵机的输出。可以说这是一台万能图灵机,当然它只是一种理想的计算模型,或者说是一种理想中的计算机。事实上我们平时使用的计算机就可以被看做是这样一台万能图灵机(只是它没有一条无限长的纸带,也就是内存。不过如今内存便宜得这个模样,对于一般的问题来说,差不多可以说有无穷的内存了),纸带上的那些指令就相当于程序和数据,如果程序不同,计算机可以完成的任务也不同。      图灵发现,有些问题是这台万能图灵机也不能回答的。比如说著名的停机问题:给定一台图灵机的编号,和纸带上的输入,是否总能回答它最终是否会停下来?不能。这是和哥德尔不完全性定理密切相关的,图灵的结果从另一个侧面支持了数学中的不确定性。但是和不完全性定理不同的是,图灵的成果给数学家指出了一条具体构造这样一台万能机器的途径。虽然那还是在二十世纪的三十年代,当时的技术能力还不能将图灵的设想变为现实,但是他毫不怀疑自己的设想能够实现。这无疑是二十世纪科学理论最重要的发展之一,在计算机被广泛应用,甚至影响到我们每个人的日常生活的今天来看,尤其如此。当年,图灵年仅二十六岁。      这是图灵事业最为辉煌的时期,他在国王学院取得了教职,在剑桥过着平静的学术生活。1938年迪斯尼公司著名的动画片《白雪公主和七个小矮人》上映,图灵兴冲冲地跑去看。在后来的一些日子里,他的同事听见他不停地哼哼电影中巫婆王后泡制毒苹果时的歌:毒液浸透苹果,如睡之死渗入。         图灵喜欢他在剑桥的岁月,成功的事业,活跃和宽容的环境。大学并不对同性恋大惊小怪,他可以和几个人同时结交而不用担心谁在背后叽叽喳喳。但是在1933年他的学院生涯突然中断了,他受代码及加密学校的邀请成为一个密码分析专家。1939年9月4日,就在首相张伯伦向德国宣战的第二天,图灵离开了剑桥,来到离布莱切利公园五公里的雪纳利布鲁克恩德(Shenley Brook End)居住。他每天骑自行车到布莱切利公园上班。因为患有对花粉过敏的鼻炎,图灵就常常戴个防毒面具骑车上班,招摇过市。     在布莱切利公园里,每天他花一部分时间和其他人一样在小木屋里进行破译密码的工作,而另一些时间他就呆在被称为智慧水箱(Think Tank),原来用来放水果的储藏室里。在那里密码分析专家思考在未来日子里有可能碰到的难题以及它们的解决方法。      直到当时,对ENIGMA的破译都采用雷杰夫斯基的方法,即利用每条密文最开始重复的密钥。如果此电文的密钥为YGB,那么电文开头就是六个由YGBYGB加密而成的字母,德国人以此来预防可能的传送错误。但是这是ENIGMA使用中的一个重大弱点,德国人很可能会发觉这一点并取消这种重复,这样就会使英国密码分析专家的破译手段变得毫无用处。图灵的任务就是要找到另一种不必利用重复密钥的破译方法。      在分析了以前大量德国电文后,图灵发现许多电报有相当固定的格式,他可以根据电文发出的时间、发信人、收信人这些无关于电文内容的信息来推断出一部分电文的内容。比方说,德国人每天的天气预报总在早上六点左右发出,要是在六点零五分截获了一份德国电报,它里面八成有Wetter这个词,也就是德文中的天气。根据在此之前德国人天气预报电文的死板格式,图灵甚至能相当准确地知道这个词具体在密文的哪个位置。这就使得图灵想到了用候选单词这一方法来破译ENIGMA电文,在英语中,图灵把这些候选单词叫做Cribs。      如果在一篇密文中,图灵知道Wetter这个词被加密成了ETJWPX,那么剩下的任务就是要找到将Wetter加密成ETJWPX的初始设置。如果采用一个一个试过去的暴力破解法,那就会碰到1590亿种组合这个大问题。但是雷杰夫斯基的天才思想告诉图灵,必须把转子方向变化造成的问题和连接板交换字母造成的问题分开来考虑。如果他能够象雷杰夫斯基那样发现在Cribs中某些不随连接板上连线方式变化的特性,他就可以最多只用尝试1054560次(60种转子放置方法乘以17576种转子初始方向)便可找到正确的转子设置。      图灵找到了这样的特性。这是一种和雷杰夫斯基发现的循环字母圈类似的东西,只不过这回和重复的密钥没有关系,却是基于候选单词。假设图灵已经正确地猜到wetter被加密成了ETJWPX,这里就存在着一个字母循环圈:      图灵并不清楚在密文中出现这个候选单词时的转子状态,但是假设他猜对了这个候选单词,把这个候选单词起始时转子的方向记为S,那么在此时ENIGMA把w加密成了E;然后转子转到下一个方向,就是S+1,ENIGMA把e加密成T;在方向S+2上一个不属于这个循环的字母被加密了,这个我们暂且不去管它;接下来在方向S+3,ENIGMA把t加密为W。      这看起来好像还是让人摸不着头脑,但是图灵想的办法很巧妙,因为在这个字母循环圈里有3个字母,所以他想像如果用3台ENIGMA同时加密这个候选单词,会发生些什么事。三台ENIGMA的初始设置除了转子方向外完全一样,第一台ENIGMA机的转子初始方向被定为原来的S,而第二台ENIGMA机的转子初始方向却是S+1,第三台的转子初始方向是S+3。当然一开始图灵根本就不知道这个S具体是什么(要是知道的话密码也就破译出来了),所以只能一个一个方向地试。大家可能会问,那为什么需要3台ENIGMA呢?只要在第一台上我们发现了一个把wetter加密成ETJWPX的转子方向,不就找到了密码吗?      这就要考虑连接板的问题。上面我们说过,如果只用一台ENIGMA来试所有的密码,我们要试的就不仅仅是所有的转子方向,而且还要考虑所有的连接板上的连线方向,那个数目是1590亿种。图灵的绝妙主意就是用3台ENIGMA把连接板上连线的效应抵消掉!这样他就只要考虑1054560种转子方向就可以了。      图灵把三台ENIGMA的显示器按下图的方式连接起来, 也就是说把第一台ENIGMA显示器上的E和第二台ENIGMA显示器上的e连起来,又把第二台上的T和第三台上的t连起来,最后把第三台上的W和第一台上的w连起来(注意ENIGMA上字母没有大小写之分,这里我们只是用大小写来区别密文和明文)。下面的解释听起来稍微有一点复杂,最好对照着上面的图来读。假设连接板上有关的交换字母的连线是下面这样的(三台ENIGMA机上的都一样)     EL1     TL2     WL3      当然这里的L1、L2和L3都还是未知的。      现在假设字母w被输入第一台ENIGMA,它先通过连接板变成了L3,然后通过三个转子经过反射器,再通过三个转子返回连接板;因为我们根据候选单词知道w此时会被加密成E,所以没有经过接线板前它一定是和E对应的L1;L1经过接线板变成E后,直接成了第二台ENIGMA的输入。提醒一下,第二台ENIGMA的转子方向是S+1,所以根据候选单词知道e此时会被加密成T,我们来看看具体是怎么回事。从第一台ENIGMA来的e通过连接板变成了L1,再通过转子和反射器回来变成了连接板上和字母T对应的L2;通过连接板后变成了T,然后这个T又变成第三台ENIGMA机上的输入t。第三台ENIGMA机的转子方向是S+3,这个传送过来的t会被加密成E,具体的情况和上面第一第二台上的类似。我们发现现在三台ENIGMA机的线路组成了一个闭合回路,如果在里面加上一个灯泡,它就会亮起来。这个闭合回路事实上就是那个字母循环圈的形象化。      稍微思考一下就可以看到,无论连接板上的连线实际如何(也就是说无论L1、L2和L3实际上是什么),只要转子方向凑对了,这个闭合回路就会形成(当然如果有闭合回路形成不等于这个方向就一定是正确的,但是这样的情况很少,用手工就可以把正确的方向从中选出)。就这样,连接板上的连线效应被消除了。找到了转子的初始方向S,当然还要找到连接板上的连线,才能最终找到完整的密钥,但是这就相当简单了,这只是一个简单替换密码。如果在一台普通的ENIGMA上不接连线板,调整好找到的转子方向,键入密文ETJWPX,出来的明文成了tewwer,我们马上就知道w和t被交换了。键入密文的其他部分可以猜出其他字母的交换状况。      把候选单词,字母循环圈和用线路连接起来的多台ENIGMA机构成了密码分析的强大武器。而只有图灵,这个数学虚拟机器的发明人,才能有这样的想像力。图灵对ENIGMA的破译方法完全是纯数学和理论性的,他为此写了一篇著名的论文,在 http://frode.home.cern.ch/frode/crypto/Turing/ 你可以读到这篇论文的一部分。但是他的理论研究已经完全可以让工程师来实际造出这样一台机器了。      布莱切利公园得到十万镑的经费来研制这种机器,绰号仍叫炸弹(bombes)。每个炸弹里都有十二组转子(因为根据上面的分析,显示器,连接板实际上都没必要存在了。而上面的例子里只要三台ENIGMA的原因是字母循环圈的长度是3,十二组转子的目的就是要攻击更长的字母循环圈)。一台这样的炸弹高两米长两米宽一米。图灵的研究于1940年初完成,机器由英国塔布拉丁机械厂(British Tabulating Machinery)制造。      图灵的发明赢得了他在布莱切利公园的同事的尊敬,大家把他看做是超群的密码分析专家。他的一位同事彼得.希尔顿(Peter Hilton)回忆道:图灵毫无疑问是个天才,而且是个极近人情的天才。他总是愿意花费时间和精力来解释他的想法。这不是一个钻在狭窄领域里的专家,他的思想遍布科学的许多领域。      当然图灵的工作在布莱切利公园之外是绝对机密,就连他的父母都不知道他在干破译密码的工作,因为他是全英国最厉害的密码分析专家。有一次去看他母亲时图灵提到过他正在为军事部门工作,但是没有透露其他风声。他母亲在意的是他儿子剃的头很难看。虽然领导布莱切利公园的是些军人,不过他们也知道在生活细节上不能对这些知识分子严格要求,在这方面都是睁眼闭眼。图灵就经常不刮脸,穿着皱皱巴巴的衣服,指甲又长又黑。但是军队没有过问图灵的同性恋,是因为他们不知情。布莱切利公园的退伍军人杰克.古德(Jack Good)后来说:幸亏布莱切利公园的负责人不知道图灵是个同性恋,否则的话,我们就会打败这场战争。      1940年3月14日第一台炸弹运抵布莱切利公园。可是它运行得太慢,有时要一个星期才找得到一个密钥。工程师们花了很大的努力来改善炸弹的设计,然后开始制造新的炸弹,这又花了四个月时间。但是在5月10日,最令英国密码分析专家担心的事情发生了,德国人改变了密码传递规则,他们的密钥不再重复,这使得布莱切利公园破译的电文量急剧下降。幸运的是,改进以后的炸弹在8月8日到达,而且这次它运行得很好。在接下来的八个月里,十五台新炸弹在布莱切利公园里轰然作响。一般上一台炸弹可以在一小时里找到一个密钥。      但是并非有了炸弹就万事大吉了。在让它运行之前还有许多困难要克服。比如说使用炸弹前先要找到一个候选单词。但是密码分析人员不能保证他猜的词一定在电报的明文中;就算猜对了,要把候选单词所在的位置正确地找出来也不是一件容易的事情,很有可能他猜到了电文中的一整句话,但是把这句话的位置搞错了,那炸弹也就白白运行了。密码分析人员找到了一些技巧,比如说,他知道下面wetterbullsechs一定在电文明文中,但是具体位置却只知道个大概。于是他猜想密文和明文的对应是:        候选单词: wetterbullsechs     密文:IPRENLWKMJJSXCPLEJWQ        在介绍ENIGMA的构造时我们知道,由于反射器的作用,一个字母从来也不会被加密成它本身。所以上面的候选单词所对应的位置一定是不对的,因为第二个字母e被对应到E上了。解决方法可以是慢慢地移动候选单词,看看是否每个字母都对应一个和自己不同的字母。比如把上面例子中的候选单词向左移动一位,变成          候选单词: wetterbullsechs     密文:IPRENLWKMJJSXCPLEJWQ        现在就符合要求了,所以此时才可以让炸弹去试试它的威力。      英国领导高层当然非常注重密码分析工作,温斯顿.丘吉尔亲自访问了布莱切利公园,他把这帮具有稀奇古怪才能的密码分析专家称为从不呱呱叫的下金蛋的鹅。在图灵和他的同事的努力和丘吉尔的亲自过问下,布莱切利公园解决了经费和人员缺乏的困难。到1942年底,密码局拥有49台炸弹,密码分析人员的队伍也在不断扩大。事实证明玩填字游戏的高手往往会成为密码分析的高手,英国情报部门甚至在报纸上登出填字游戏来招聘新的密码分析人员。         三、灭亡(下)         在前面的记述中读者似乎会有这样一种感觉,所有的ENIGMA机都是一样的,而密码分析人员在找到破译的方法以后每天按部就班地进行破译工作。但事实上,德军内部有好几个不同的通讯网络,比如说,在北非的德军就有自己的一套通讯网,他们的密码本和在欧洲的德军网络不同,德国空军也有自己的通讯网络。某些通讯网络的保密性要强于其他的,而德国海军通讯网的保密性是最强的,它使用的ENIGMA机是经过强化特制的,它有八个转子可供选择,这样转子的初始位置数就几乎是五个转子情况的六倍,于是布莱切利公园破译它所需要花费的时间也几乎是普通情况的六倍。另外海军用的ENIGMA机的反射器是可以转动的,于是密钥的可能性就是原来的二十六倍。有一些海军型ENIGMA机甚至有四个转子。德国海军为了加强通讯保密性,甚至取消使用固定的信件格式,这样就使图灵的候选单词法极难被使用。另外它的每条电文的密钥也以一种不同于平常的方式传送。      德国空军和陆军的ENIGMA密文都能比较顺利地被破译,但是德国海军的这些保密措施使得英国密码分析人员在破译电文时遇到极大的困难。在大西洋海战中这使英国付出了极大的代价。德国海军元帅邓尼茨使用狼群战术来对付英国的海上运输线。首先,德军众多的潜艇分散在大西洋广阔的海域中,试图寻找合适的目标;如果其中有一艘潜艇发现目标,它就会通知其它潜艇赶来增援;一旦在此海区中潜艇数量足够,它们就向目标发动进攻。很显然,在这种需要高度协作的战术中,保密和快速的通讯起着决定性的作用,而如果英国方面不能及时破译这些通讯内容,所遭受的打击是毁灭性的。      当时欧洲大陆尽陷纳粹魔掌,英国抗战所必需的食品弹药几乎完全依K从大西洋上运来的美国援助。如果盟军不能知道德军潜艇在汪洋大海中的位置,那么就不能有效地对付狼群战术,也就不可能有一条安全的运输线。在1940年6月到1941年6月一年间,盟军平均每月损失五十艘船只,而且建造新船只的能力已经几乎不能够跟上损失的步伐;与此相联系的还有巨大的人命损失在战争中有高达五万名水手葬身大西洋底。英国面临在大西洋海战中失败的危险,而在大西洋海战中失败,也就意味着在整个战争中失败。      即使在破译密码这样的所谓数学家的战争中,军事和间谍手段也是必不可少的,汉斯-提罗.史密特的情况已经足够说明问题了。如果布莱切利公园不能用破译的手段来取得密钥,那么间谍、渗透以致于窃取等手段也成为必需。英国皇家空军有时采取一种名叫播种的手段来帮助取得布莱切利公园破译密钥所需的候选单词。空军在某个特定的海区布撒水雷,迫使在附近的德国舰艇向其他舰艇发送有关雷区的情报,这个情报里必定包含着对此雷区所在方位等的描述,而这是英国人早已知道的,于是从中就可以确定候选单词。但是为了避免德国人的疑心,这样的花招不能时时使用,所以还需要许多其他的方式。      当时在英国情报部门工作的扬.弗莱明(Ian Fleming),也就是后来大名鼎鼎的007系列小说的作者,甚至策划了这样一个代号杀无赦的计划:在英吉利海峡中让一架被俘的德军轰炸机在一艘德国舰艇附近坠毁,等到德国舰艇赶来救援时,机上假扮成德国飞行员的英国谍报人员趁机混上德国舰艇以窃取密码本。这个几乎是疯狂的计划最后由于种种原因而没有实行。      除了要获得密码本外,了解德国海军特制ENIGMA机尤其是它的转子线路无疑也是破译密码所必需的。1940年2月德国潜艇U-33在苏格兰附近海面被击沉,英国情报部门因此能获得海军用ENIGMA机上的三个转子,使得密码分析人员能对这种特别的ENIGMA机有所了解并对截获的密文作部分的破解;同年4月在挪威,盟军俘获了一条德国拖捞船,从上面取得了几份关于ENIGMA的资料并送交图灵研究。但是在还没有取得任何进展之前,德国人就改换了转子结构,密文重新又变得牢不可破了。1941年3月4日在盟军特种兵对挪威罗弗敦群岛的突袭中缴获了两台海军用ENIGMA机,于是盟国重新能够部分破译德海军情报。幸运的是这一次邓尼茨元帅相信了他的密码专家的夸口,认为ENIGMA不可破译,没有再次改变密码机的设置。        1941年春天,布莱切利公园的一位密码分析人员哈里.辛斯利(Harry Hinsley)意识到,在德军的气象船和补给船和德国海军使用的是同一套ENIGMA系统。问题在于要周密计划俘获这些船只取得密码本而不使德国海军指挥部起疑心。5月7日,在一次高度机密的行动中,英国皇家海军俘获了德国气象船慕尼黑号,取得了六月份的密码本。两天后在一次巧遇中英国驱逐舰迫使德国潜艇U-110浮出水面,由于德国人以为潜艇很快就要沉没,他们没有及时销毁艇上的ENIGMA机和密码本。在六月份英军又俘获了一艘德军气象船劳恩堡号,取得六月和七月的密码本。这些进展使得布莱切利公园对海军型ENIGMA机有了比较充分的了解。虽然直至战争结束,德国人仍不时改进他们的加密系统,但是英国方面一般来说总能用各种方法跟进,包括上面所说的军事和间谍手段,或者提高炸弹的数量和威力,密码分析人员的经验也不断增加。虽然如此,这样的变化总会为密码破译带来暂时的困难,从而可能遭遇严重的问题,比如北冰洋航线上PQ17运输轮沉没的严重损失。最大的此类危机发生在1942年2月1日,德军潜艇通讯网开始使用前面提到的四转子ENIGMA,新增加的这个转子使得盟军的损失大量增加。但是由于同时期美国开始参战,德军潜艇在美国东海岸的频频得手避免了德军总部把近期的胜利和增加转子一事联系起来。      无论如何,通过军事、情报当然还有密码分析人员的努力,盟军终于能够了解德国狼群的位置,从而为运输船队选择一条安全的航线,不仅如此,英国海军的驱逐舰甚至还能主动出击,寻找德军潜艇并将其击沉。但是这里还是存在着如何恰到好处地使用所得到的情报,以免德军总部怀疑他们的最高机密已被破译的问题。正所谓兵不厌诈。通过对ENIGMA的破译,盟军能够知道德国潜艇的位置,但是击沉所有这些潜艇是愚蠢的,因为突然升高的损失不可避免地会使德国人猜测到他们的通讯并不安全。所以盟军经常放掉一些已经到手的肥肉,只攻击那些被侦查机发现的潜艇,当然盟军也会发出一些假的侦查到潜艇的消息来掩盖随之而来的攻击。有一次布莱切利公园破译了一条电文,其中有九条德国油轮的方位,为了避免德国人起疑心,英国海军总部决定只进攻其中的七条油轮。这七条油轮沉没后,对破译ENIGMA和需要保持秘密一事一无所知的皇家海军舰队不幸恰好又碰上了另两条倒霉鬼,于是也将它们送入了海底。在柏林德国人为此事进行了调查,但是他们的疑心集中在这是一次偶然的事件,还是由于英国谍报人员的渗透,没有人怀疑这是英国人破译ENIGMA所取得的胜利。      布莱切利公园所破译的不仅仅是德国的ENIGMA密码,在战争期间他们同样破译了意大利和日本的密码系统,这三方面的情报来源被冠以Ultra的代号,意为绝密。通过Ultra提供的情报,盟军在战场上取得了明显优势。在北非,Ultra使得盟军能够切断德军的供给线,得到隆美尔将军部队的情报,使第八军团成功抵御了德军的攻击;在德军进攻希腊的战役中,依KUltra英军成功撤退避免了大量伤亡;Ultra提供了敌军在地中海地区的详细分布情报,这对盟军1943年在意大利和西西里登陆至关重要。      但是最重要的是,Ultra在盟军诺曼底登陆中起了不可磨灭的作用。在登陆前的几个月里,依KUltra,盟军获得了德军在法国沿海的布防的详细情报,从而能够及时地针对敌军的虚实强弱之处改进登陆计划。      但是布莱切利公园的工作人员并不知道诺曼底登陆计划,在预定登陆的前夜,他们举行了一次舞会,这使公园里唯一知道登陆计划的负责人特拉维司(Travis)很不高兴,但他又不能下令取消这次舞会,因为这会走漏风声,使人猜想有什么重要行动即将进行。幸亏由于天气的原因,登陆行动推迟了二十四小时,密码分析专家们于是才有机会把舞跳了个痛快。登陆当天法国抵抗组织成员切断了陆上电话线路,迫使德军使用无线电报联络,密码分析人员因此截获了大量情报。      美军对Ultra的一份评价报告中是这样说的:在高级指挥官和政治首脑之中,Ultra创造了这样一种改变了决策方式的精神状态。敌人的所做作为都逃不过你的视线,这给予你信心;在你观察敌人思想和反应,他的一举一动时,这种信心不断增强。对敌人有这样程度的了解能够使你的计划大胆而又有保证,坚决而又乐观。      在二次大战盟军的胜利中,对布莱切利公园是否起了决定性的作用这点,历史学家自然有大量争议,但是毫无疑问的是,布莱切利公园的密码分析专家大大地加快了战争的进程。这在大西洋战役的历史中尤其明显。如果没有Ultra,德军就能在大西洋上保持一支强大的潜艇群和反应能力,相反地盟军必须付出巨大的人命和财力的代价来建造新的船只和保持运输能力。历史学家估计盟军的登陆计划会被推延到次年,而哈里.辛斯利则认为,在此情况下,战争很可能要到1948年,而不是在1945年,才能结束。如果是这样,希特勒将能够更大规模地使用V1和V2飞弹对整个英国南部进行轰炸。      历史学家大卫.凯恩(David Kahn)评价Ultra的作用时说:这拯救了生命。不仅仅是俄国人和盟军的生命,它也拯救了德国人,意大利人和日本人的生命。对许多在二次大战后幸存下来的人来说,没有这个方案,他们将已不在人世。这就是这个世界欠这些密码破译者的债务:他们的胜利折换成人类生命的价值。 四、尾声      战争结束后,布莱切利公园的秘密却仍不能被公之于众,英国人想继续利用他们在这一领域的优势。他们把在战争中缴获的数以千计的EBIGMA机分发到英国原殖民地,那里的政府仍旧以为ENIGMA是坚不可破的。      布莱切利公园的密码学校被关闭了,炸弹被拆毁,和战时密码分析和破译工作有关的档案资料有的被销毁,其他的都被封存,严密地看护起来。在几千名原来的工作人员中,有一些成员得以继续为军方新的密码分析机构工作,但是大多数人都被遣散,转回了原来的平民身份。他们宣誓对在布莱切利公园的经历保守秘密。      从战场上回来的老战士们可以自豪地谈论他们在二战中的战斗经历,但是在布莱切利公园工作过的人们却不得不隐瞒自己在战争中为国家作出的贡献。一位曾在6号小木屋中工作过的年轻密码分析专家甚至收到了一封他早年所在的中学的老师寄来的信,责骂他在战争中逃避战斗的懦夫行为。      经过长期的沉默后,直到1967年,波兰出版了第一本关于波兰在破译ENIGMA方面的工作的书;1970年一名原德军海军情报人员出版了一本有关书籍;1973年贝特朗上校出版了关于波兰和法国在二战初期破译ENIGMA密码方面的工作的书。最后打破沉默的是英国人。原布莱切利公园负责Ultra情报分配工作的温特伯坦姆(F.W.Winterbotham)上校向英国政府写信,要求将这些秘密公之于众,因为此时世界上已经没有哪一个政府使用ENIGMA加密了,所以也已经完全没有必要再对破译ENIGMA一事保密。在战争中为国家作出贡献的人们的功绩应该受到应有的承认。经过温特伯坦姆的努力,英国政府终于同意了他的请求。1974年夏,温特伯坦姆写的《超级机密》(The Ultra Secret)一书出版,使外界广泛知道了二战中默默工作的密码分析专家的丰功伟绩。原布莱切利公园的工作人员因此知道他们不用再为自己在二战中的经历保守秘密了,他们的贡献也为世人所称赞。      对温特伯坦姆的书最感吃惊的也许就是雷杰夫斯基,这位首先发现ENIGMA弱点的波兰英雄了。1939年9月1日德军入侵波兰后,在法国密码处的贝特朗少校的指挥下,他和另两位为破译ENIGMA作出巨大贡献的波兰数学家罗佐基和佐加尔斯基带着他们的机器逃往罗马尼亚,从那里穿越南斯拉夫和意大利的边界到达法国巴黎。他们成立了Z小组,在法国维希继续进行ENIGMA的破译和炸弹的改进工作。在那里他们独立工作了两年之久,破译了九千条以上的德军情报,许多情报导致了德军在南斯拉夫,希腊和苏联的惨败,也有力地支援了盟军开辟北非战场的计划。      1941年下半年,罗佐基穿越地中海到法属阿尔及利亚,为设在那的一个Z小组的ENIGMA监听站工作。1942年1月9日,罗佐基搭乘Lamoriciere号返回法国,回程中客船在Balearic岛附近撞上了一个水下不明物体(礁石或水雷),罗佐基和船上的221名乘客一起遇难,同时遇难的包括另两名的密码分析专家。      遭到入侵后的法国变得越来越危险,德国人密切监视着维希,Z小组决定逃离法国。1942年11月9日,就在盟军在北非登陆的次日,两位波兰数学家开始继续他们的流亡。1943年1月29日,他们从比利牛斯山脉穿过法国西班牙边境,不幸被西班牙安全警察逮捕,投入了难民营。在那里他们始终没有向其他人透露过他们的真实身份。五月份他们被释放,前往葡萄牙直布罗陀,在那里乘船,终于到达英国。在那里他们进行另一种德军密码SS码的分析工作。虽然英国人知道他们对破译ENIGMA作出的杰出贡献,却宁可把他们排除在破译ENIGMA的重要工作以外。      佐加尔斯基从此留在了英国,战后在巴特尔西(Battersea)技术学院任教,于1978年在普利茅茨去世。雷杰夫斯基战后回到了波兰,西班牙的难民营使他患上了风湿症。在波兹南大学他担任不重要的行政工作,直到1967年退休。温特伯坦姆的书使他第一次得知,他对ENIGMA的攻击方法是整个二战期间盟军破译德军ENIGMA码的基石。1980年雷杰夫斯基去世,享年75岁。      对于许多人来说,他们没有雷杰夫斯基那样幸运,这本书也许出版得太晚了。邓尼森(Alastair Dennison)是布莱切利公园第一任主任,在他去世后多年,他的女儿收到了他原来的同事的一封信:你父亲是一个伟大的人,很长的时间里,如果不是永远的话,所有说英语的人都欠着他一份债。只有很少的人知道他做了什么,这真是令人伤感的事情。      2000年7月17日,波兰政府向雷杰夫斯基、罗佐基和佐加尔斯基追授波兰最高勋章。波兰总理布泽克在仪式上发表讲话指出:对许多人来说,ENIGMA的破译是对盟军在二战中胜利的最大贡献。      值得一提的是,即使是在关于ENIGMA的秘密被公之于众后,在非常长的一段时间里,波兰数学家在这方面的重大贡献没有得到应有的承认。大量的书籍和资料(包括温特伯坦姆的书,以及大英百科全书)把破译ENIGMA的功劳完全归于英国密码分析机构,对于波兰人在此事中所起作用不置一词。波兰的密码分析专家从未受到过盟国(美英法)的表彰。长期以来这使波兰对英国耿耿于怀。      具有讽刺意味的是,当2000年好莱坞影片《U-571》上映时,遭到了大量英国舆论的批评。影片描述了美国海军机智勇敢地夺取德国潜艇上ENIGMA机的故事。英国舆论认为,首先从德国潜艇上夺取ENIGMA机的是英国皇家海军,美国人这样做是把他人之功据为己有。      2000年9月英国约克公爵安德鲁王子在访问波兰时,代表英国政府将一台从德国潜艇上缴获的ENIGMA机赠送给波兰,表示对波兰在破译ENIGMA密码中作出的贡献的感谢。在演讲中他说:如果没有波兰数学家的发现,ENIGMA密码可能不能被破译。波兰总理布泽克对英国正式承认是由波兰人首先破译ENIGMA的态度表示非常满意,同时也希望能够早日改写大英百科全书中的有关条目。在1999、2000和2001年,在布莱切利公园都举行波兰日的纪念活动以纪念波兰数学家的贡献。      雷杰夫斯基、罗佐基和佐加尔斯基   2001年4月21日,雷杰夫斯基、罗佐基和佐加尔斯基纪念基金在波兰华沙设立,基金会在华沙和伦敦设置了纪念波兰数学家的铭牌。2001年7月,基金会在布莱切利公园安放了一块基石,上面刻着丘吉尔的名言:在人类历史上,从未有如此多的人对如此少的人欠得如此多。这当然是为了纪念所有在破译ENIGMA的行动中做出贡献的人们。      阿兰.图灵没有能活到看见自己在破译ENIGMA中作出的巨大贡献为人所知的这一天,没有看到人们为此向他的深深敬意。在他生命的后来的时光,他并没有被看做一个英雄,而是因他的性倾向而饱受骚扰纠缠。1952年因被小偷入室行窃,他向警察报了案,但是不通世事使他忘了向警察掩盖他和另一位男士同居的事实。1952年3月31日图灵被警方逮捕,被以有伤风化罪的罪名起诉,并被判为有罪。在整个过程中他不得不忍受报纸对他的案件的公开报道。      他的性倾向被大众所知,私生活被曝于光天化日之下,政府取消了他在情报部门的工作,也不允许他继续进行可编程计算的研究。在入狱和治疗两者之间,图灵选择了注射激素和心理疗法,来治疗所谓的性欲倒错。此后图灵开始研究生物学、化学。由于这些治疗,他的脾气变得躁怒不安,性格更为阴沉怪僻,生理方面也出现了异常。1954年6月8日,人们在他的寓所发现了他的尸体。当代最伟大的头脑之一,就这样在四十二岁时离开了这个世界。今天,信息科学领域内最重要的奖项被命名为图灵奖。      那天当人们发现图灵时,在他的床头有一个咬了几口的苹果。尸体解剖表明是氰化物致死。在1954年6月7日的那个晚上,也许图灵耳边又回响起了二十年前的那首歌:毒液浸透苹果,如睡之死渗入。(完)
个人分类: 历史|4575 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-2 11:30

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部