图灵机停机问题的不可判定性
Turing Machine Halting Problem
停机问题:指判断任意一个程序是否能在有限的时间之内结束运行的问题。图灵机停机问题是不可判定的,意思即是不存在一个图灵机能够判定任意图灵机对于任意输入是否停机。
证明一:
参考链接:Turing Machine Halting Problem
为了证明这个问题的不可判定性,我们将基于莱斯定理(Rice’s Theorem)将其规约成另外的问题来判定某个图灵机是否能在给定的输入上,在有限步数内给出确定的是或者不是的答案。
图灵机的停机问题可以描述为以下模式:
输入:一个图灵机MM, 和一个输入字符串ww
问题:所给定的图灵机MM是否能在有限步数内结束对字符串ww进行运算并给出接受或拒绝的确定答案。
证明:首先,我们将假定确实是存在一个图灵机解决这样的问题,接着我们将描述这个假定是如何与它本身相违背的。我们将称这种图灵机为可停机机器(HM)——能在有限时间内停机并且给出’yes’或者’no’的答案,即当HM能在有限时间内停机时,我们所构建的图灵机HM输出yes
,否则输出no
。
下面的方框图所表示的就是我上面所描述的可停机机器:
现在我们将设计一个反可停机机器(HM’):
1. 如果HM返回‘yes’,则进入一个死循环中
2. 如果HM返回‘no’,则停机
下面的方框图所表示的就是我上面所描述的反可停机机器:
最后,若对于输入是其本身的图灵机HM2HM_2:
- 如果HM2HM_2在某个输入停机了,则会进入死循环中
- 否则,停机
显然这与我们一开始的假设是相违背的,因此图灵机的可停机问题是不可判定的。
证明二:
另外一种过程一样但更加易懂的解释:
假设图灵机停机问题是可判定的,即存在一个图灵机HMHM能够判断任意图灵机MM在给定输入II的情况下是否可停机。假设MM在输入II可时可停机,则HMHM输出yes
,反之输出no
。然而图灵机MM本身也是字符串的描述,因此它也可以作为自身的输入。故HMHM应该可以判定当将MM程序本身作为MM的输入时,MM是否会停机。然后我们可以定义另一个图灵机U(M)U(M),其定义如下:
- 如果HM(M, M)输出
no
,则U(M)停机 - 如果HM(M, M)输出
yes
,则U(M)就进入死循环
即是说U(M)做的是与HM(M, M)相反的动作。将HM(M, M)包装在U(M)中,也就是用U()来模拟HM()。HM()HM()的输出可能出现两种情况:
- 假设HM(U, U)输出
yes
,则U(U)则进入死循环中。而由定义可知这两个结果是矛盾的。(与HM的定义矛盾,因为按照HM的定义,HM(U, U)的结果应和U(U)相同,但是U()的定义导致它永远输出和HM()相反的结果 - 假设HM(U, U)输出
no
,则U(U)停机。同上,这两者一样矛盾。
因此HM不能够总给出正确答案,与之前的假设相矛盾,故图灵机的停机问题是不可判定的。
图灵机停机问题的不可判定性相关推荐
- 图灵机停机问题与辩证无限观
图灵机停机问题与辩证无限观 图灵机停机问题的证明有两种方法:对角线法.判定程序法.这两种证明方法一直遭受到科学界.哲学界的质疑.而"对角线法"备受质疑,是因为这种方法的哲学 ...
- 图灵、冯诺依曼谁更牛?
一.前言 图灵和冯诺依曼都对计算机的发展做出了杰出的贡献,那么这两位大神级的人物,谁更配得上计算机之父呢? 从一口君心理来讲,其实"计算机之父"这种笼统的称谓没有明确的结果,非要叫 ...
- [人物] 图灵
[人物] 图灵 图灵 孙宏安 (江宁师范大学) 图灵,A.M.(Turing,Alan Mathison)1912年6月23日生于英国伦敦:1954年6月7日卒于英国威姆斯洛(Wilmslow).数学 ...
- 初识「零知识」与「证明」
副标题:探索零知识证明系列(一) 作者:郭宇 本文已更新至Github: https://github.com/sec-bit/learning-zkp/blob/master/zkp-intro/1 ...
- 关于可计算、图灵机及CPU性能
文章目录 引言 无尽的"贪婪" 可计算问题的解决 更快.更多的计算 更快的CPU 抽象模型与实际 图灵机 停机问题 图灵机与冯诺伊曼机 再谈冯诺伊曼计算机 CPU性能量化 心跳与晶 ...
- 图灵 数理逻辑 人工智能 图灵机与计算问题 论文
2019独角兽企业重金招聘Python工程师标准>>> 图灵机与计算问题 http://www.swarmagents.cn/vm/articles/turing.pdf pdf网站 ...
- 算法、图灵机、哥德尔定理与知识的不确定性
摘要:知识论一直在寻求对知识的确定性作一般算法式的逻辑证明的辩护.然而,即使在处理抽象的数量概念的数学基础研究中,也不能达到最终逻辑证明的确定性.图灵对停机问题的算法步骤的否定回答.哥德尔定理对真理的 ...
- 图灵机原理及其不能解决的问题
目录 原理: 图灵-邱奇论题 是否所有的问题都可以用图灵机解决 图灵将计算描述为状态变化的过程,以实现计算的自动化,从而产生了图灵机. 原理 将一台图灵机记为 M. M具有一个有穷状态集S,任意时刻 ...
- 【转】图灵机与计算问题(张江)
学图灵机学到哭泣,为我贫乏的大脑默哀--贴一点看到的好文章吧-- quote from: http://www.blog.edu.cn/user1/5897/archives/2005/330298. ...
最新文章
- Xamarin设备相关图片尺寸要求
- 实例教程七:在SQLite中使用事务
- python自动化工具开发_初识TPOT:一个基于Python的自动化机器学习开发工具
- java 面向对象继承的思想_Java面向对象思想
- python+selenium 爬携程机票价格
- 关于设置安卓屏幕的显示方向
- scrapy下载图片第一波
- VOS2009_2.1.2.0的安装教程
- java winform 工具,重拾JAVA之WinForm实战之(六)
- lstm 做航迹预测预测_用lstm预测酒店收入的第一步
- 深度学习在语音识别中的算法、应用、数据集、行业分析
- Xpose模块抓取函数功能学习笔记
- word文档打不开、损坏了怎么修复
- 数据库系统原理与应用教程(031)—— MySQL 的数据完整性(四):定义外键(FOREIGN KEY)
- Logistic-Sine-Cosine混沌映射(提供文献及Matlab代码)
- Java learn lambda的方法引用
- 05月11日三支有望飙涨股与操盘策略分析
- 在线工具:将图片透明化
- 知网下载pdf(再也不想用CAJViewer啦!!!)
- 第三届计算机网络安全与软件工程国际学术会议(CNSSE 2023)
热门文章
- java pdf 富文本_富文本编辑器保存的html内容使用itextpdf转PDF文件(css提取,内容重叠)问题解决...
- 【PostgreSQL逻辑复制数据同步到kafka】
- 【FND】EBS中Java并发程序开发
- 数据分析神器Alteryx
- 百度网盘怎么批量改名(包含子文件夹)
- 百度网盘电脑端看视频声音巨小的解决办法(windows10)
- Python实现--使用微信定时每天和女友发送定制消息(附代码教程)
- Android 通知栏图标
- 尝鲜体验win11,附赠win11镜像下载地址
- 获取微信用户在微信小店的订单