网站大量收购独家精品文档,联系QQ:2885784924

计算的极限(二):自我指涉与不可判定Comments.doc

计算的极限(二):自我指涉与不可判定Comments.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算的极限(二):自我指涉与不可判定Comments

计算的极限(二):自我指涉与不可判定Comments 方弦发表于 2012-12-12 14:04 | Tags 标签:原创, 图灵, 数学, 计算的极限 计算无处不在。 走进一个机房,在服务器排成的一道道墙之间,听着风扇的鼓噪,似乎能嗅出0和1在CPU和内存之间不间断的流动。从算筹算盘,到今天的计算机,我们 用作计算的工具终于开始量到质的飞跃。计算机能做的事情越来越多,甚至超越了它们的制造者。上个世纪末,深蓝凭借前所未有的搜索和判断棋局的能力,成为第 一台战胜人类国际象棋世界冠军的计算机,但它的胜利仍然仰仗于人类大师赋予的丰富国际象棋知识;而仅仅十余年后,Watson却已经能凭借自己的算法,先 “理解”问题,然后有的放矢地在海量的数据库中寻找关联的答案。长此以往,工具将必在更多的方面超越它的制造者。而这一切,都来源于越来越精巧的计算。 计算似乎无所不能,宛如新的上帝。但即使是这位“上帝”,也逃不脱逻辑设定的界限。 第一位发现这一点的,便是图灵。 《计算的极限》系列 矛盾的自我指涉 在现实中,证明某种东西不存在是非常困难的。要证明某种东西存在,只要举出一个例子就可以了;但要证明某种东西不存在,就要想办法排除所有的可能 性,而在现实生活中,这几乎是不可能的。所以,只要能排除那些比较主要的可能性,任务就算完成。但在数学中,情况大不相同:通过形式逻辑的方法,我们可以 确实地证明某种数学对象不存在。这都要归功于数学那彻底的抽象化和形式化。 数学家在证明某个数学对象不存在的时候,经常会来一招“欲擒故纵”:首先假设它存在,那么它必然具有某些特定的性质,再利用这些性质,用严密的逻辑 推理引出一个不可能的结论。既然结论是不可能的,而逻辑推理又没有问题,那么一定是推理的出发点出了差错:作为推理基础的那个东西,其实并不存在。这种证 明方法,就是反证法。 现在,我们尝试用反证法证明停机问题是不可计算的。 按照反证法的格式,我们先反其道而行之,假设停机问题是可以计算的。根据定义,这说明存在一台图灵机P,使得向它输入某个图灵机M的状态转移表编码,以及初始输入I,图灵机P就能在有限步运算内,判断出机器M在输入I上是否会停止。 接下来,我们将要用图灵机P构造一个逻辑上不可能存在的结构,这将是证明的关键。 我们来考虑一个新的图灵机R,它的输入是某个图灵机M的状态转移表编码M。图灵机R先“调用”图灵机P,判断图灵机M在初始输 入M上是否会停止。用现代的计算机语言来说,就相当于调用函数P(M,M)。如果图灵机P得出的结论是 机器M在输入M上会停止的话,图灵机R接下来就会进入死循环;否则,如果机器M在输入M上不会停机的话,图灵机R就停 止。 图灵机R的构造有两个奇怪之处。 首先,在图灵机R的运作中,它尝试判断一台图灵机M在它自身的编码M上的运作情况。此时,图灵机M不仅是程序,同时也是数据。这提醒我们,其实程序和数据没有实质的区别。程序只是一种特殊的数据,能够被分析、整理、改写。 事实上,我们每天都在使用处理程序的程序。比如说杀毒软件,其实就是一种扫描程序的程序。它检查每个程序的内容,判断程序中有没有威胁计算机安全的 恶意代码。用杀毒软件扫描它自身,实际上就是让这个程序运作在它自身的代码之上。我们也可以用记事本打开记事本的程序本身,或者用压缩软件打一个包含它程 序本身的压缩包。这些例子都说明了一个道理:程序就是一种数据。正因为程序就是数据,我们才得以完成图灵机的自我指涉。 其次,在图灵机R的构造中,如果M在输入M上停机,那么R就不停机;如果M在输入M上不停机,那么R就停机。这就是说谎者悖论的翻版:它的行为要与自己的判断相悖。 这样,我们就凑齐了说谎者悖论的两个要素:自我指涉和自我否定。剩下的,就是如何将这两个要素组合在一起,引出不可调和的矛盾了。 为了引出矛盾,我们来考虑图灵机R在自己的编码R上的运行情况。 如果R在R上停机的话,R必定没有进入死循环。所以,在调用图灵机P时,得到的必然是“图灵机R在输入R上不会停机”,才能避免死循环。但图灵机P的这个结论不符合我们的假设,出现了逻辑矛盾,所以R不可能在R上停机。 如果R在R上不停机的话,因为图灵机P必定在有限时间内完成计算,所以R必定进入了死循环。而R进入死循环的先决条件是,在调用图 灵机P时,得到的是“图灵机R在输入R上停机”。而图灵机P的这个结论,同样不符合我们的假设。由于同样的逻辑矛盾,R同样不可能 在R上不停机。 所以,根据严密的逻辑,我们构造的图灵机R在自己的编码R上,既不可能停机又不可能不停机,这是不可能的。另一方面,我们的逻辑推 理也是没有问题的。尽管多么不情愿,剩下的可能性只有一种:我们假设的那个能完美解决停机问题的图灵机P,根本不存在!也就是说,停机问题是不可计算 的。。 【感谢neko(@iN

您可能关注的文档

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档