图灵停机问题
来源:互联网 发布:8年抗战改为14年 知乎 编辑:程序博客网 时间:2024/05/17 03:50
问题描述:
通俗的说,停机问题就是判断任意一个程序是否会在有限的时间之内结束运行的问题。如果这个问题可以在有限的时间之内解决,可以有一个程序判断其本身是否会停机并做出相反的行为。这时候显然不管停机问题的结果是什么都不会符合要求。所以这是一个不可解的问题。
prof:(反正法)
这个问题实际上是问: 是否存在一台"万能的"图灵机 H, 把任意一台图灵机 M 输入给 H, 它都能判定 M 最终是否停机, 输出一个明确的 "yes" 或 "no" 的答案? 可以利用反证法来证明这样的 H 不可能存在. 假定存在一个能够判定任意一台图灵机是否停机的万能图灵机 H(M), 如果 M 最终停机, H 输出 "halt"; 如果 M 不停机, H 输出 "loop". 我们把 H 当作子程序, 构造如下程序 P:
function P(M) {
if (H(M)=="loop") return "halt";
else if (H(M)=="halt") while(true); // loop forever
}
因为 P 本身也是一台图灵机, 可以表示为一个字符串, 所以我们可以把 P 输入给它自己, 然后问 P(P) 是否停机. 按照程序 P 的流程, 如果 P 不停机无限循环, 那么它就停机, 输出"halt"; 如果 P 停机, 那么它就无限循环, 不停机; 这样无论如何我们都将得到一个矛盾, 所以假设前提不成立, 即不存在这样的 H. 或者说, 图灵机停机问题是不可判定的(undecidable).
- 图灵停机问题
- 图灵停机问题
- 图灵停机问题
- 图灵停机问题及实际应用
- 图灵停机问题(The Halting Problem)
- TLS chapter9:turing halting problem图灵停机问题
- 图灵停机问题(The Halting Problem)
- 图灵停机问题(The Halting Problem)
- 停机问题
- 停机问题
- 停机问题
- 停机问题
- 停机问题
- 停机问题
- 停机问题
- 停机问题、哥德尔定理
- 停机问题的理解
- Halting problem(停机问题)
- 刚入门新手求帮助!
- spring3.0定时任务 (一) 简单示例
- sql的insert语句自动生成器_c#源码
- c语言中带参数的宏
- Android---陀螺仪传感器
- 图灵停机问题
- HorizontalScrollView里嵌套ListView实现上下左右滑动表格
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- Pois-son blending
- cout输出中多个表达式的先后执行顺序与输出顺序
- 【Android】Listview可以选择多行,点击选中行item字体颜色变化
- 使用示波器进行功率测量必须知道的 7 大秘诀
- oracle是如何进行全表扫描实验
- SQL Server and Vcenter 两三事~