图灵停机问题的史上最详细描述
图灵停机问题
停机问题就是判断任意一个程序是否能在有限的时间之内结束运行的问题。
等价于是否存在一个程序H,对于任意输入的程序P,能够判断P会在有限时间内结束或者死循环。
假设存在这样的一个函数H来判断一个程序P在输入为 I 情况下是否会停机。最后用反证法,证明不存在这样的H.
如果P停机,H输出0表示P是停机,否则H输出1表示P是死循环。
int H(P, I); // 这里的H函数有两种返回值,死循环(1) 或 停机(0)
程序本身也是一种数据,因此它可以作为输入(例如Pascal的编译器本身就可以用Pascal所写成,所以程序在自己身上运行自己也是合理的),故H应该可以判定当将P作为P的输入时,P是否会停机。
即:
int H(P, P); // 这里的H函数有两种返回值,死循环(1) 或 停机(0)
然后我们再定义一个过程U( P ), 其流程如下:
U( P )调用H(P, P):
如果H(P, P)进入死循环,U( P )就停机。
如果H(P, P)停机,U( P )就进入死循环。
也就是说,U( P )做的事情就是做出与H(P, P)的输出相反的动作。
int U(P)
{if (H(P,P) == 1){ // 如果H死循环return 0; // 此时U会停机}else{ // 否则while(1){} // 此时U会死循环}
}
暂时一切正常,但如果我们把P换成U呢?
int U(U)
{if (H(U, U) == 1){ // 如果H死循环return 0; // 此时U会停机}else{ // 否则while(1){} // 此时U会死循环}
}
出现问题了。H函数判断U在输入为U情况下是死循环时,U却会停机。而当H判断U是停机时,U却进入了死循环。矛盾了。H判断不准确了。所以不存在这么牛逼的程序H。
所以,不存在解决停机问题的通用算法。
还有相似的悖论帮助大家理解:
理发师悖论:村子里有个理发师,这个理发师有条原则是,对于村子里所有人,当且仅当这个人不自己刮胡子,理发师就给这个人刮胡子。如果这个人自己刮胡子,理发师就不给这个人刮胡子。无法回答的问题是,理发师给自己刮胡子么?
图灵停机问题的史上最详细描述相关推荐
- 史上最详细“截图”搭建Hexo博客——For Windows
http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...
- IPV4与IPV6的区别(史上最详细)
IPV4与IPV6的区别(史上最详细) 描述 IPv4 IPv6 地址 长度为 32 位(4 个字节).地址由网络和主机部分组成,这取决于地址类.根据地址的前几位,可定义各种地址类:A.B.C.D 或 ...
- ubuntu boot空间不足_windows10安装ubuntu双系统教程(绝对史上最详细)
windows10安装ubuntu双系统教程(绝对史上最详细) 快车道: Windows10安装ubuntu16.04双系统教程 Windows10安装ubuntu18.04双系统教程 一. 先搞清楚 ...
- android qq消息数 拖拽动画,史上最详细仿QQ未读消息拖拽粘性效果的实现
好久没写文章了,前段时间由于项目代码重构忙了一段时间,现在终于有点时间了就为大家带来一篇关于动画学习的自定义View:类似QQ消息拖拽的效果. 其实QQ当时更新的时候我还没注意到这个小红点是可以拖拽的 ...
- 史上最详细唇语识别数据集综述
更新:VIPL官网网页格式更改,导致旧的LRW1000链接无法访问,现已更新LRW1000数据集链接,内部包含申请需要的文件 推荐一个大佬的综述,关于实现唇语识别的多种途径. 说明:本文包括经常用语唇 ...
- 史上最详细全中文 Cisco 3560交换机使用手册
史上最详细全中文 Cisco 3560交换机使用手册 (末尾送交换机安全技术) 目 录 CISCO Catalyst 3560-E系列交换机的功能应用及安全解决方案 3 一.Cisco? Cataly ...
- 史上最详细网络基础知识
网络技术的基本原理: 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 ...
- java自行车怎么调档_这也许是史上最详细的自行车变速调节攻略了!
原标题:这也许是史上最详细的自行车变速调节攻略了! 传动系统是自行车中最重要的一个部分,变速套件更是占据了非常重要的地位,野兽菌觉得重要性仅次于车架.如果变速出现问题,会让很多人头疼.这期我们带大家了 ...
- 背包算法(一)-01背包-史上最详细解答
背包算法(一)-01背包-史上最详细解答 1. 题目 2. 分析 2.1 状态表示 2.2 状态计算 3. 实现 4. 优化 5. 测试 1. 题目 问题描述:有n件物品和容量为m的背包,给出i件物品 ...
最新文章
- 1027 打印沙漏 (20分)——27行代码AC(结构清晰)
- IOS之Swift5.x开发通讯录实战
- php 邮件发送验证码,发送验证码邮件有什么好的解决方案?
- 手写公式识别 :基于深度学习的端到端方法
- java自学难点_分享在达内教育培训Java的感受
- CentOS-6.4 安装 PHP Memcached 扩展
- 攻击银行内网,黑客只要三步
- 【MATLAB】(三)MATLAB在高等数学中的应用
- qq发送文件时显示服务器拒绝,qq给对方发文件为什么服务器拒绝接收 - 卡饭网...
- 3458A数字多用表的4线制电阻测量方法
- html doc全称,html标签全称与功能介绍.doc
- win10外接屏显示分辨率不匹配问题解决
- 图机器学习——2.3 整图嵌入
- Mac查看端口号占用
- 树莓派解决“由于没有公钥,无法验证下列签名“
- Java MultipartFile实现文件上传(一)
- 从零搭建一个自动化运维体系
- GAT原论文阅读笔记
- 头胀头晕的原因(眩晕)
- ubuntu安装showdoc