暂停问题是否可能对于除机器代码之外的所有输入都可以解决?


9

这个问题是关于停止问题的问题,我在网上找不到很好的答案,想知道是否有人可以提供帮助。

只要输入不是TM本身,就可以判断任何输入上的任何TM的停止问题?基本上:

Halts(TM, I)
    IF TM == I:
        Undecidable, return a random result/throw an exception, whatever
    ELSE:
        Solve the problem

Halts'(X)
    IF Halts(X, X):
        Loop infinitely
    ELSE:
        Print 'done'

这似乎解决了矛盾。当我们称呼悖论性的Halts'(Halts')时,我们不能指望有一致的行为,但是所有其他对Halts(和Halts')的调用都是合法且可解决的。

我知道这是非常不直观的。如果这些位中的某些模式可以揭示所有可能程序的行为,那么当TM和输入匹配时,为什么它突然崩溃?但是我们可以在数学上消除这种可能性吗?

而且这种减少的停止问题根本不会引起人们的兴趣。即使有一些有意义的程序以其自己的代码作为输入,也可以对其进行微不足道的重写,以处理稍有不同的输入。当然,这一建议使人们更加难以理解为什么在这种警告下可能存在一种暂停的解决方案,但是再次,我们真的可以在数学上消除这种可能性吗?

谢谢你的帮助。


7
可确定性不受有限更改的影响。

存在无限数量的等效TM,并且没有(可确定的)方法来检测等效TM(即其本质上与停止问题本身相同)。但是,存在一些复杂的“漏洞”;尝试计算机科学聊天为了证明与自动化THM停机问题进行进一步的分析等等......可以试着煮到这一个答案...
VZN

弄清楚了我的问题,使我的问题更加清楚,如果我误导任何人,对不起。
CS101 2016年

答案是否定的,因为在这个答案cstheory.stackexchange.com/questions/2853/...
穆罕默德Alaggan

Answers:


4

但是我们可以轻松解决您的限制。假设程序G反转输入的位并在结果上调用H,然后定义!H所有位都反转的H(即0表示1s,1表示0s)。然后我们可以用G H 来称呼您的H,我们回到了原来的问题。GH


谢谢。阅读@David Richerby的答案后,我开始认为这是答案。如果我们可以为所有程序Q 构造一个功能等效的Q',那么我们可以再次确定所有问题的可暂停性,而不仅仅是对角线问题。我明白这就是你的意思。
CS101 2016年

12

回忆一下无法确定暂停问题的标准证据。假设一些机器  决定停机问题,让Q是,在输入机器  中号使用  ħ以确定是否中号中号暂停,并且如果是这样,Q  环; 否则,Q  停止。现在,Q Q 暂停,当且仅当它不停止。H中号H中号中号

只要输入不是TM本身,就可以判断任何输入上的任何TM的停止问题?

否。如果您以此方式更改暂停问题的定义,则证明仍然有效。我们不关心时会发生什么  接收  ^ h 作为输入,因为矛盾来后我们给输入Q Q 到  ^ hHHH

第二,如果你修改  检测输入,我们可以通过使用任何其他机器得到相同的矛盾  Q '等价于  Q在这个意义上,对于任何输入  w ^Q 'w ^  暂停,当且仅当,Q w  暂停。其中有无限多个,并且H  无法检测到所有这些,因为无法确定两个图灵机是否等效。HwwwH


3
仅最后一个段落就足以回答这个问题:无论您要执行哪种有限适应(基于语义),都无法硬编码掉等效机器的所有编码。(并不是说您的帖子的其余部分不值得阅读!)
拉斐尔

谢谢你的回答。程序是否在功能上等效本身的不确定性不是源自暂停问题的不确定性吗?为什么这不是循环推理?
CS101 2016年

1
H一个大号ŤH一个大号Ť

令我困惑的是,忘了完全停止的问题依我的猜想还是一样。谢谢。
CS101 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.