图灵在计算机科学领域对人类的重大贡献有哪些 (图灵在二战时破解德军密码)

2023-04-06 9:04:29 秘籍 思思

1936年11月30日出版的《伦敦数学学会会刊》,有一篇标题看来平平无奇的文章︰〈论可计算数及其在判定问题上的一个应用〉,作者是图灵。

2012年,图灵诞生100周年,学界将该年订为「图灵年」,举办活动以纪念其重大贡献。2014年电影《模仿游戏》也讲述了图灵于二战时协助破解德军密码的故事(虽然忽略了波兰数学家的贡献),相信不少人对图灵的名字、贡献及其因同性恋倾向被迫害的经历略有所闻。

图灵的众多贡献当中,最为重要的正是1936年这份论文,因为在文中他首次提出「图灵机」这个概念——文中他称为a-机器,a代表「自动」(automatic)——为现代计算机、计算机科学及计算理论奠下数学基础。

当然,除图灵以外,他之前及之后均有不少人对计算机发展贡献良多。不过在这篇文章,让我们先看一看他的「图灵机」为何如此重要。

数学基础

一切源自一个貌似非常奇特、与计算机毫不相干的问题︰我们如何确定数学知识可靠?

19世纪,数学发展越来越抽象,因此亦出现了各种公理系统——公理是指被视作「不证自明」的命题,数学家以公理为基础,再用逻辑推论出不同数学定理。但到了20世纪初,有批数学家(以及关心数学的哲学家)开始担心数学知识不够稳固,他们想确保由特定公理出发时,不会推论出现矛盾——假如有矛盾的话,数学就完了。

他们不是杞人忧天,当时集合论中出现了数个悖论(指一种导致矛盾的命题),或许会导致数学出现矛盾。幸运的话,有些悖论可以透过引入新概念去解决,例如自数学界出现「极限」的严格定义后,甚少人会认为「阿基利斯永远无法追上乌龟」的芝诺悖论是个问题。

那个时候这批数学家大概分成三派,其中一派是数学家

主导的「形式主义」。简略来说,形式主义者希望藉由把数学还原成纯粹符号的形式系统,再用(有限制的)数学去证明这个系统不会出现「0=1」之类的矛盾句,从而确保数学不会产生矛盾。

罗素及怀海德三大册《数学原理》,则是从逻辑主义出发,尝试以逻辑公理推导出整个数学系统——他们想的是,既然逻辑不可能自相矛盾,只要证明数学是由逻辑延伸出来,就可以确保数学一致。

两人终告失败(原因并非本文重点),不过书中改良自弗雷格(Gottlob Frege)的逻辑系统,促进了数理逻辑发展。其后逻辑学家整理出一套现称为「一阶逻辑」的系统,包含若干逻辑公理和推导规则,由此出发可以推导出不少已知的逻辑定理,是个很好用的系统。

判定问题

回到希尔伯特,他想完全将数学化约成一个仅有符号的形式系统(这方面罗素及怀海德贡献了不少),只要按照规则,完全不懂数学、不知道符号意义的人也可以推演出「数学定理」,这样就可以撇除人为错误(例如受直觉误导)。

他又希望找到一套清晰的判定程序,去确认如何判断一个逻辑公式是否属于逻辑系统的定理,假如成功,下一个目标自然是判断数学命题是否数学定理——这样数学家就不用再苦苦思索那些悬而未决的数学猜想,只要一起运行这个「判定程序」,就可以获得答案,简单直接。

不过,希尔伯特于1928年提出的这个「判定问题」,在1935至1936年期间,分别由数学家邱奇及图灵先后得出答案︰不可能。

要解决判定问题,首先需要厘清一个概念︰何谓「清晰的判定程序」?当然,有一些条件非常明显,例如程序必须是有限的——仅包含有限条规则、能够在有限时间完成。程序当中的规则也必须极之简单,以符合希尔伯特的要求。

举个例,假如我要教一位小学生判定一个数字以否质数,可以利用他懂得「整数」、「除数」、「余数」和「比较大小」等概念,去让他按照程序执行,然后他就会发现7是质数、8不是质数、9不是质数…

但希尔伯特所要求的还要更少——执行规则的人只能够辨认符号(不会把不同的符号混淆)、抄写符号、按照规则把符号串转换等,甚至不懂「加减乘除」等基本数学运算,也不会知道数学符号的意思。

图灵机

终于回到图灵的论文,在〈论可计算数〉中他设想以下一部机器,包含以下部份︰

·一条纸带,这条纸带分成一格一格的(好吧听起来的确有点像厕所卫生纸),每格可以印一个符号。第一格的编号为0,然后是1、2、3…没有尽头,以 表示空格。

·可以在纸带上左右移动的读写头,它每次能够读取所处位置那一格的内容(同一时间只可读取一格),亦可以改变其内容——改写其他符号或变成空格。

·会存在机器目前状态(state)的状态缓存器,每部机器的可能状态数目有限,其中一个称为「开始状态」,就是机器一开始时所处的状态。

·储存所有规则的指令集,机器会根据其目前状态以及读写头当时读取的方格内容来执行指令,进行下一步动作。

上述4个部份当中,决定机器如何运作的是指令集及状态。为方便说明,以下机器的状态以颜色表示,而符号只有0、1及(空格)。图灵把指令限制在这个形式︰

·当处于A状态并读取到符号X时,写入符号Y,移动读写头,并转至B状态。

以下是一些例子︰

·当处于红色状态并读取到符号0时,写入符号1,读写头左移一格,并转至蓝色状态。

·当处于黄色状态并读取到符号1时,写入符号1(即维持原状),读写头留在原处,并维持在红色状态。

·当处于蓝色状态并读取到符号0时,清除符号(变成空格),读写头右移一格,并转至黄色状态。

如果没有适用的指令时,这部设想中的机器——后世称为图灵机——就会停止运作。

一个图灵机模型

不同图灵机分别,在于它们拥有不同的可能状态以及指令集——事实上,我们只需要看一部图灵机的指令集,就知道它可以有甚么状态,因此可以说,图灵机的指令集(以及一开始时纸带上的内容)决定了它如何运作。

这些看似非常简陋的图灵机其实可以做非常多事情,图灵在论文中举了两个图灵机作例子︰一个可以在纸带上不断印出「01010101….」,另一个可以印出「001011011101111...」。事实上,我们也能设计出会进行加法、减法、乘法、除法、比较两个数字大小…的图灵机(在图灵机中,数字可用符号「1」的数量来表示,例如用「111」代表3、「1111111」代表7,数字与数字之间则用符号「0」去分隔)。

通用图灵机

图灵的〈论可计算数〉没有在此打住,正如上文所述,一部图灵机的指令集可以抽述了它如何运作,因此图灵就想到把图灵机(的指令集)编码,换言之,用不同的数字就可以表述不同的图灵机——就这样,每个图灵机都获得一个标准编号。

下一步,图灵构造了一部特别的图灵机,称为「通用图灵机」。通用图灵机可以「扮演」不同的图灵机——只要输入某部图灵机M的标准编号,它就可以像M一样印出相同的符号序列。

如果上面的句子太过抽象,不妨换个(灵异一点的)说法︰有了通用图灵机以后,理论上我们不再需要制造其他图灵机——因为其他图灵机都可以由「硬件」变成「软件」,「附上」通用图灵机来运作。

对,那就是为何我们打开手机、计算机上的计算数件,便能够使用计算器的功能——现代计算机某程度上是一部通用图灵机(当然,计算机没有无限长的纸带)。通用图灵机成为现代计算机的理论模型,图灵这篇论文也奠定了计算机科学、可计算性理论等学科的基础。

当然,由纸上理论代为现实,中间还有一大段历史发展,图灵亦有参与,在此先行略过。(停机问题也是〈论可计算〉的重要结果,篇幅所限同样略过。)

邱奇—图灵论题

在图灵之前,数学家——特别是关心数理逻辑的数学家——已经在思考如何严格定义「机械程序」或者「算法」,因为缺乏这个定义的话,界定「形式系统」时会出现一个问题︰怎样的符号变换规则可以接受?

哥德尔(Kurt Gdel)在1931年证明其著名的不完备定理时,引入了(原始)递归函数的概念,以便从数学角度讨论形式系统,其后他跟英年早逝的埃尔布朗(Jacques Herbrand)将之发展成广义递归函数。但要直到图灵的论文面世后,哥德尔才认为人们能「精确及毫无疑问充足」地定义形式系统。

文首提到比图灵稍早解决判定问题的邱奇,在他1936年的论文中使用了λ演算(λ-calculus)去地义何谓「λ可计算函数」。而对于任何(以自然数为定义域的)函数f(x),如果存在一部可以顺序印出f(0), f(1), f(2)…的图灵机,那么这个函数就称为「图灵可计算函数」。

邱奇和图灵证明了这三种函数——广义递归函数、λ可计算函数及图灵可计算函数——等价,换言之,虽然它们有非常不同的定义,但实际上还是一样。〈论可计算数〉发表以后,也有各种计算模型出现,但没有一个能够超越图灵机——它们所定义的函数,都是可以用图灵机(或λ演算、广义递归函数)去定义。

邱奇及图灵认为,任何可以计算的函数,都是λ可计算/图灵可计算函数,这称为「邱奇—图灵论题」。他们把「可以计算的函数」这个直观概念,跟数学上有严格定义的「λ可计算/图灵可计算函数」划上等号,由于论题涉及直观概念,本身无法以数学证明。

根据理论计算机科学这80年来的发展,邱奇—图灵论题几乎无人质疑︰即使计算机速度突飞猛进,能够完成各种以往无法想象的任务,现实中我们仍然未能找到一个超越图灵机的计算模型(理论上倒有一些,但不包括现时的量子计算机模型)。

未来发展会怎样?不知道,可能他日人工智能的数学家、逻辑学家会发现到一个超越图灵机的计算模型——而我们无法理解?或者明天就有人发现了?(当然我认为这不可能。)

没有〈论可计算数〉,我们也许还有「计算机」可用,但那些「计算机」应会截然不同,发展也慢得多。在图灵机面世80年后,我只想介绍一下这个对人类历史有深刻影响的故事。

看完本文有什么想说的吗?欢迎大家留言讨论哦~

图灵发明的人工智能,破译了德国恩格密码机

图灵发明了破译德国格恩密码机,是计算机的雏形。但并不是人工智能,但对人工智能有很多贡献。艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,称为计算机科学之父,人工智能之父。图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,至今,每年都有试验的比赛。图灵发明了破译德国格恩密码机,是计算机的雏形。但并不是人工智能,但对人工智能有很多贡献。艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,称为计算机科学之父,人工智能之父。图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,至今,每年都有试验的比赛。

密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机

在布莱切利园中,德国海军的恩尼格玛密码一直被认为是最难以破解的。

德国海军历来极其重视无线通信的可靠性和保密性,就是他们率先使用了恩尼格玛机来加密。而且,德国海军还频繁地在结构和操作方式上对恩尼格玛机进行改进,以确保它无懈可击、牢不可破。

第二次世界大战前夕,德国陆军和空军将恩尼格玛机的转子从3个增加到了5个,而德国海军则是继续增加到了7个,最后更是丧心病狂的增加到了8个。

而且,德国海军还使用了与陆军及空军不一样的新操作规程,主要包括两个方面:

一、增加“密钥手册”,规定每天0点更新初始参数。

(a)选择8个转子中的3个并规定其基左中右位置;

(b)设定各转子的内外轮之间的相对位置;

(c)设定接线板上的10对接线;

(d)设定3个转子的初始位置。

二、采用“双字替换表”

(a)发报前,先从密钥手册中选3个字母,比如ABC,作为密钥,然后把恩尼格玛机的3个转子调到当天规定的初始位置,输入ABC,假设得到FTN,再把转子调到FTN的位置,开始加密正式电文;

(b)再从密钥手册中选另一组字母,比如XYZ,在XYZ的左边和密钥ABC的右边任意增加一个字母,比如P、Q,列成两行,上下对齐。

P X Y Z 

A B C Q

(c)根据当天有效的“双字替换表”把各列的字母对PA、XB、YC、ZQ分别替换,比如替换成IS、OW、MD、UV;

(d)发送电报时,把这4对字母加在正式密文的首尾;

(e)对方接收到电报后,先对4对字母反向操作,得到3个字母ABC,再得到FTN,然后开始解密正文。

这样一来,原来重复加密3个字母密钥的操作就不存在了,以致雷杰夫斯基发明的破解方法完全失效。

在图灵来到布莱切利园之前,几乎所有人都认为德国海军的密码是无法破译的,因此没有人愿意为它浪费时间。图灵到来之后,发明了基于crib方法的“炸弹”机,理论上是可以对德国海军的密码进行破译的,但由于早期的“炸弹”机性能过低,所以破解的效率极为低下。

当时德国的U-潜艇正在严重威胁盟军的大西洋生命线,寻找有效的破解德国海军密码的方法变得刻不容缓。经过一段时间的摸索和研究,图灵终于发明了基于贝叶斯统计原理的“班布里方法”,能够有效破解德国海军的恩尼格玛机。

班布里方法基于语言学中的一个统计事实:把任意两段文字拿来排成行上下对齐进行比较,查看其中有多少对字母是相同的;当这两段文字属于同一编码系统时出现相同字母对的概率,明显高于当它们不属于同一编码系统时的相应概率。

基于这个原理,图灵找到了破解德国海军恩尼格玛机的途径。不过图灵所用的方法包含了大量数学理论,过程也相当繁琐,这里就不详细表述了,我们只说一下图灵的大致思路。

首先,通过对比分析大量的电文头尾的明文字母,部分甚至完全破解“双字替换表”,从而获得电文密钥;

其次,用班布里方法,确定右边转子是8个转子中的哪一个;

再次,重复使用班布里方法,进一步确定中间转子是哪一个;

最后,用“炸弹”机破解全部密文。

这个步骤被验证是行之有效的,图灵就这样搞定了最高级别的德国海军恩尼格玛机。

1940年5月8日,用班布里方法破解德国海军密码首次获得成功。以后的三年里,此方法结合“炸弹”机成为英国破解德国海军密码的主要手段,为盟军重创德国U-潜艇舰队、守住大西洋生命线做出了巨大贡献。

据不完全统计,破解之后,盟军全年被击沉船只的吨位下降了60%;而德军潜艇的损失率,从破译前的不到7%,猛增到50%。

更多文章:

密码那些事儿|(二十)破解恩尼格玛机的图灵方法

密码那些事儿|(十九)在人性与规则中找寻漏洞

密码那些事儿|(十八)跨越英吉利海峡的恩尼格玛机

密码那些事儿|(十七)年轻数学家首次破解恩尼格玛机

密码那些事儿|(十六)二战中大放异彩的“超级情报”

密码那些事儿|(十五)坚持就是胜利——初代恩尼格玛机

密码那些事儿|(十四)古典密码的巅峰——恩尼格玛机

密码那些事儿|(十三)尴尬的维吉尼亚3.0

密码那些事儿|(十二)短命的维吉尼亚2.0

密码那些事儿|(十一)南北战争时的维吉尼亚密码较量

密码那些事儿|(十)“钥匙”打开维吉尼亚的锁

本人是官方授权会员推广专员,点击 会员专属通道 成为会员,您将会获得钻奖励及诸多权益!

《钻奖励调整公告》

二战期间德国密码是怎样被破译的呢?

敦刻尔克大撤退后,德国即将启动入侵英国本土,英国军情局在伦敦郊外的布雷奇利庄园设立了密码破译中心。在这里,有数百名工作人员参与破译德国军事行动的绝密情报。而这所庄园以及破译工作,同样也被英国政府列为最高机密,其代号就是"超级机密"。

正在英国人毫无头绪时,1938年,一位犹太人向英国情报人员透露,他曾是"艾尼格玛"的设计人员之一。英国人经过仔细甄别后,相信了他。这位犹太人真的复制出了一台"艾尼格玛"密码机,按照英国人的说法,这是仿制工程的奇迹,而这的确帮了英国人的大忙。

然而在1939年夏秋之际,德国人又改进了原先的密码机,复制品由此失去了效能,英国再次陷入困境。但波兰情报部门又出手解救了英国人。作为英国的盟国,波兰人将他们数年来对德国密码机的研究成果乃至新的密码机样机、已解密机器悉数交给了英国人。

仅仅一个星期后,纳粹军队就开进了波兰。这让英国密码破译专家诺克斯感动不已,他说:"波兰此举,就像一名古代的骑士在倒下之前,将手中的利剑递给了战友。"

在布雷奇利庄园,除了诺克斯这位破译界名宿,还有一位数学界奇才——图灵。他毕业于剑桥大学,战后依靠对密码机的研究成果,他成了开创电子计算机时代的先驱者之一。

首先,他们从研制能模仿或能解释德国国防军每一个"哑谜"方式的机器入手,从而能推出所有德军主要司令部日日夜夜、成年累月发布命令时经常变换的编码程序。经过艰难攻关,英国人终于制成了具有上述功能的机器,将之命名为"炸弹"。

1939年底,"炸弹"破译出了德国密码,英国人欣喜若狂。从此,德军的秘密计划和行动方案,源源不断地从布雷奇利庄园传到军情六处孟席斯上校手中,再直接交到丘吉尔的案头。事实上,德军在"二战"期间的绝大多数行动,都没能瞒得过英国人,只不过英国人将情报来源一直掩饰得很好,始终没有引起对手的怀疑。

1940年7月2日,希特勒发布了第一组"海狮"作战计划,也即英国本土登陆作战计划。战役一开始,丘吉尔和空军参谋部就通过"超级机密"了解到德国空军的大部分——有时甚至是全部的计划。

针对德国空军司令戈林要求夺取制空权的指令,英国皇家空军制定了集中优势兵力打击敌人的方案。由于英国空军的飞机数量没有德国多,所以只能在适当时间、适当地方和适当高度,集中战斗机中队及主要防御力量,对付敌人的主攻力量。依赖预警雷达及破译的德国军事情报,英国皇家空军总能掐着纳粹空军到达的时刻精准升空拦截,而不需要时时空中巡逻防备德军突袭——英国空军由此大大减少了飞行员体力消耗及汽油等战略物资消耗。

1940年8月13日,苏塞克斯和肯特上空,80架德军"道尼尔 17"轰炸机群,以及更多数量的"容克 88"俯冲轰炸机,飞往不列颠腹地及海岸线执行轰炸任务。由于天空浓云密布,德军护航战斗机无法按计划起飞,轰炸机只好单独出击。

英国空军司令部事先已知晓德军行动计划,当在雷达上发现德国飞机后,立即启动早已就绪的作战方案……这次交锋,德国空军共损失飞机47架,另有80多架被击伤,而英国空军仅损失飞机13架。

求阿兰·图灵的简介

阿兰·图灵也就是艾伦·麦席森·图灵。

艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

1931年图灵进入剑桥大学国王学院,毕业后到美国普林斯顿大学攻读博士学位,第二次世界大战爆发后回到剑桥,后曾协助军方破解德国的著名密码系统Enigma,帮助盟军取得了二战的胜利。

2013年12月24日,在英国司法大臣克里斯·格雷灵(Chris Grayling)的要求下,英国女王向图灵颁发了皇家赦免。

英国司法大臣宣布,“图灵的晚年生活因为其同性取向(同性恋)而被迫蒙上了一层阴影,我们认为当时的判决是不公的,这种歧视现象现在也已经遭到了废除。为此,女王决定为这位伟人送上赦免,以此向其致敬。”

图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。

扩展资料:

一、相关作品

1、文学作品

《艾伦·图灵传》是英国作家安德鲁·霍奇斯编写的,已由湖南科学技术出版社于2012年12月出版,是公认的最权威的图灵传记。作者安德鲁·霍奇斯是牛津大学的数学家,也是一位同性恋者,他收集了大量史料,写成这本图灵传。

2、影视作品

2014根据安德鲁·霍奇斯所写的传记《艾伦·图灵传》改编而成电影《模仿游戏》并获得2015年第87届奥斯卡最佳改编剧本奖,主演为本尼迪克特·康伯巴奇。

二、主要荣誉

1926年,图灵考入英国著名的谢伯恩公学,在中学时就获得了国王爱德华六世数学金盾奖章。

1932年,荣获英国著名的史密斯数学奖。

1946年,由于他在二战中为破译德军密码做出的巨大贡献,获得“不列颠帝国勋章”,这是英国皇室授予为国家和人民做出巨大贡献者的最高荣誉勋章。

参考资料:

百度百科-艾伦·麦席森·图灵

第二次世界大战期间图灵负责破译哪个国家的密码?

第二次世界大战期间图灵负责破译德国的密码,图灵是英国著名的数学家和逻辑学家,被称为计算机科学之父、人工智能之父,是计算机逻辑的奠基者,提出了“图灵机”和“图灵测试”等重要概念。曾协助英国军方破解德国的著名密码系统“谜”(Enigma),帮助盟军取得了二战的胜利