(更新:这里提出了一个格式更好的问题,因为下面接受的答案的注释表明此问题定义不明确)
停止问题不可能发生的经典证明取决于试图将停止检测算法应用于自身作为输入时的矛盾。有关更多信息,请参见下面的背景。
所显示的矛盾是由于自我指称的悖论而引起的(例如句子“此句子不正确”)。但是,如果我们严格禁止这种自我参照(即接受这样的自我参照无法终止的事实),那么我们会得到什么结果呢?其余非自引用机器集的停止问题是否可以停止?
问题是:
如果我们考虑所有可能的图灵机的子集,这些子集不是自引用的(即不将它们自己作为输入),那么我们对该子集的停止问题了解什么?
更新
也许更好地重新定义我所追求的是对定义可决定集合的更好理解。我试图隔离经典的不确定性证明,因为除了您自己运行HALT的情况之外,它没有添加有关不确定性的任何信息。
背景技术: 矛盾的是,有一个图灵机可以决定输入M(它是图灵机的编码)和X的决定,而M (X )是否暂停。然后考虑一个图灵机K,它取M和X并使用Q来确定M (X )是否停止,然后进行相反的操作,即,如果M (X )不停止,则K停止;如果M (X )不停止,则K不停止。M (X )停止。然后,表现出一个矛盾,因为如果K不停止,它就应该停止,而停止时不停止。
动机: 一位同事正在对软件系统进行正式验证(特别是当该系统已经在源代码级别进行了验证,而我们希望对其编译版本进行验证,以消除编译器问题时),在这种情况下,他关心的是一组特定的嵌入式控制程序,我们肯定知道它们不会自引用。他要执行的验证的一个方面是,如果输入源代码被证明可以终止,是否可以保证编译的程序将停止。
更新
根据下面的评论,我阐明了非自引用图灵机的含义。
目的是将其定义为不会导致证明中出现矛盾的集合(请参见上面的“背景”)。它的定义如下:
假设有一个图灵机,其判定用于一组图灵机的停机问题小号,然后š是非自参照相对于Q,如果它排除了调用所有机器Q上小号(直接或间接)。(显然,这意味着Q不能成为S的成员。)
为了澄清什么是通过调用意味着上小号间接:
在图灵机上表示在S上调用Q,该图灵机Q具有一组状态和磁带上某个确定的初始输入(对应于S的任何成员),磁头最初在该输入的开头。一种机器W¯¯所调用Q上小号 “间接”是否存在的步骤的(有限的)序列,其W¯¯将采取使配置“同态”到的初始配置Q (小号)。
更新2
从下面的论证中,有无数的图灵机执行相同的任务,因此不是唯一的,我们通过说Q不是单个图灵机,而是所有计算的(无限)组来更改上面的定义。相同的功能(HALT),其中HALT是决定Turing机器在特定输入上停止的功能。
更新3
图灵机同构的定义:
如果A的过渡图与B的过渡图同构,则TM A与TM B是同构的,这在标准意义上具有标记节点和边的图的同构意义上。TM的过渡图(V,E)使得V =状态,E =状态之间的过渡弧。每个圆弧都标有(S,W,D),S =读取磁带的符号,W =要写入磁带的符号,D =磁头显示移动的方向。