在图灵约简中证明语言是不可判定的
Posted
技术标签:
【中文标题】在图灵约简中证明语言是不可判定的【英文标题】:Proving A Language Is Undecidable Using Turing Reductions 【发布时间】:2020-05-27 07:26:40 【问题描述】:我需要证明语言L(EVEN) = M : |L(M)| is even
是不可判定的。
换句话说,语言L(EVEN)
是所有接受某种偶数基数语言的图灵机的集合。
这里,M
是某个图灵机的编码,如果存在L(EVEN)
的判定器,它将作为输入传入。
我已经使用图灵还原完成了与此类似的其他问题,可以在这里看到一个示例:
我的问题是我无法想出一些以前证明无法确定的语言来显示L <= L(EVEN)
。
到目前为止,我们在课堂上涵盖的不可判定的语言如下:
- L(emptyset) = M | M is a TM and |L(M)| = emptyset
- L(ACC) = (M, x) | M is a TM, and M accepts input x
- L(HALT) = (M, x) | M is a TM, and M halts on input x
- L(EQ) = (M1, M2) | M1, M2 are TMs, and L(M1) == L(M2)
- L(∈ - HALT) = M | M is a TM, M halts on input ∈
我也可以使用这些语言的补语,因为可判定性在补语下是封闭的。我如何使用这些不可判定的语言之一来证明 L(EVEN) 也是不可判定的,使用与我包含的示例问题类似的设置?
【问题讨论】:
【参考方案1】:假设我们有一个 L(EVEN) 的判定器。然后,我们可以如下决定L(ACC):
从输入 M 到 L(ACC) 的 TM,构造一个 TM M',它首先验证输入磁带是 M 的输入 x,然后在 x 上运行 M。如此构造的 M' 如果 M 接受 x,则接受语言 x,如果 M 不接受,则接受空语言。
通过对 M' 的编码使用 L(EVEN) 的判定器,我们可以判断 |L(M')| 是否为 |L(M')|。是偶数(在这种情况下 L(M') 为空且 M 不接受 x)或奇数(在这种情况下 L(M') = x 且 M 接受 x)。
【讨论】:
以上是关于在图灵约简中证明语言是不可判定的的主要内容,如果未能解决你的问题,请参考以下文章