停机问题 百科内容来自于: 百度百科

概念

停机问题(halting problem)是目前逻辑学的焦点,和第三次数学危机的解决方案。其本质问题是: 给定一个图灵机T,和一个任意语言集合 S, 是否 T 会最终停机于每一个s∈S。其意义相同于可确定语言。显然任意有限 S 是可判定性的,可列的(countable) S 也是可停机的。
通俗的说,停机问题就是判断任意一个程序是否会在有限的时间之内结束运行的问题。如果这个问题可以在有限的时间之内解决,可以有一个程序判断其本身是否会停机并做出相反的行为。这时候显然不管停机问题的结果是什么都不会符合要求。所以这是一个不可解的问题。
停机问题本质是一阶逻辑的不自恰性和不完备性。类似的命题有理发师悖论、全能悖论等。

证明

首先,判定一个程序是否会停机,是指:对于其的任意一个输入,可判定其是否停机。那么假定这样的图灵机存在,设为H。其工作过程不妨设为:若对于任意一个程序M可停机则输出1,反之输出0(由于其是可判定的)。那么可以构造另一程序D,其工作过程为:以H输出为输入,若输入为1则不停机,反之停机。
由于H可判定所有程序,那么其也可判定D,若其判定D输入1时不停机,则其输出0,而由于D的定义知它是可停机的,反之亦然。故停机问题无算法解。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定