停机问题

为什么停机问题是图灵不可计算问题?

若人脑是图灵机

那么举个例子:你在做一道题时,你想要知道你自己能不能在有限时间内做出这道题

但是如果这道题是证明或证伪黎曼猜想

那你就不知道你自己能不能在有限时间内做出这道题了

因为你有可能一生都做不出来,也有可能某个灵感就做出来了,这个结果你不知道

严谨证明

首先有结论:图灵机可以被自然数编码,这样你也可以向图灵机输入图灵机

构造问题“这个图灵机在输入他本身的结果是否不为 \(1\)”,这个问题的输入为一台图灵机

这样对于所有图灵机,输入它本身的结果 总是不等于 这个问题代入这个图灵机本身的结果

先证明这个问题图灵不可计算

反证法:若有图灵机可以计算对于所有图灵机的这个问题

则它也可以计算 “这个问题代入它本身”这个问题 A 的结果

则它最终反馈出来计算这个问题 A 的结果就是这个问题 A 的结果

而刚才有问题 A 代入这个图灵机本身的结果 总是不等于 这个图灵机代入它本身的结果

导出矛盾

回顾这个构造过程,有一个要点:“图灵机反馈出这个问题的结果如果是正确的,那么它反馈出的结果一定就是这个问题真实的结果/答案”

如果存在一个图灵机,它计算一个问题 反馈的结果总是与答案相反,那么如上证明是不是就不成立了呢?
实际上你构造问题“这个图灵机在输入它本身的结果是否为 \(1\)”,上面假设的图灵机就不能计算这个问题
更实际地,实际上这个图灵机的假设本身都不成立,其本质就是“一个人说‘我一直在说假话’”

而原“停机问题”可以等价于这个问题

具体地,若你可以计算这个问题,那么你先对“指定图灵机输入指定 输入”后计算出这个问题的结果,以知道它是否正常接受这个输入(图灵机定义:若接受这个输入,则返回 \(1\) 并停机)

若正常接受,直接模拟这个图灵机即可(显然的,图灵机可以模拟另一个图灵机);若不正常接受,返回不会停机.

但是原问题不能图灵计算,所以这个问题也不能图灵计算

证毕

posted @ 2024-04-20 21:09  Laijinyi  阅读(11)  评论(0编辑  收藏  举报