图灵一开始假设,有可能制造出一台图灵机,它可以计算出一个程序在给定某种输入后是否会停止或永远运行。然后他证明,这台机器会导致一个矛盾,所以不可能存在。
图灵提到的这个想法,后来被称为停机问题。今天的软件开发人员将其称为无限循环,这是他们在编写循环或递归函数时遇到的一个问题。
戴维斯在想什么是可以计算的,只要把不可以计算的全部排除,剩下的就是全部可以计算的了。
停机问题就是判断任意一个程序是否能在有限的时间之内结束运行的问题。
该问题等价于如下的判定问题:是否存在一个程序p,对于任意输入的程序w,能够判断w会在有限时间内结束或者死循环。
最后戴维斯说:“存在一种图灵机,其停机问题是递归无解的。”
停机问题就是判断任意一个程序是否会在有限的时间之内结束运行的问题。如果这个问题可以在有限的时间之内解决,则有一个程序判断其本身是否会停机并做出相反的行为,这时候显然不管停机问题的结果是什么都不会符合要求。所以这是一个不可解的问题。
停机问题本质是一高阶逻辑的不自恰性和不完备性。类似的命题有理发师悖论、全能悖论等。