用一个输入的制作机器停止问题
-
29-09-2020 - |
题
我的问题是:
是有类似于图灵的“骗子”程序的简单结构,表明图灵机加上了一个暂停的Oracle无法决定给定的图灵机是否停止所有输入。
当我谈论骗子计划时,我指的是标准证据,即图灵机无法确定所有其他图灵机的停止,因为对以下情况的情况分析导致矛盾
def Liar(T):
if Halts('T(T)'):
loop()
else:
return
.
我可以看到暂停Oracle将允许我确定图灵机是否在任何有限的输入集上停止(我们只需按顺序运行它)。
如果我们呼叫常规图灵机级别0,我们可以调用图灵机加上暂停Oracle级别1.我已经看到使用骗子程序的证据效果相同,表明1级机器有自己的停止问题对它们无可救药。
解决方案
您所谓的“骗子”程序通常被称为对角化参数,因为它以某种方式类似于Cantor的对角化参数。
通常是我们的意思是,如果我们尝试用特定属性枚举所有元素,那么我们可以通过施工来指出,这是必然“不正确”的元素,我们通过表明它确实如此不满足于本身的财产(这是完全手摇的,但如果你已经看到了这个论点,你希望能够了解我的意思)。
现在,您要求的是我们是否可以执行此操作,以便显示All_TM(TM Upiorlyally)由TM与Oracle到Halt_tm的TM无法解除解码。 嗯,不是真的。至少不是以自然的方式:参数必须首先假设oracle机器m决定all_tm,然后从m个其他机器n(您称之为“骗子”机器)构建,然后会产生一个当我们在n上运行n时矛盾 但是,机器N必须是Oracle机器,而不是标准TM(或者您将基本上丢失M)中的Oracle的权力。但由于N中的Oracle作为输入标准TMS,因此n的内部工作以某种方式需要创建标准TM以馈送到Oracle。这似乎并不像自然的建设,它肯定不会简单。 现在,也许有一些对对角化参数的对对角化参数来实现这一索赔,但由于直接证明索赔(即,All_TM不会被Oracle与Oracle To Halt无法解除),这不是很好的动力。不是使用标准工具难以减少。不隶属于 cs.stackexchange