在图灵约简中证明语言是不可判定的

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)。

【讨论】:

以上是关于在图灵约简中证明语言是不可判定的的主要内容,如果未能解决你的问题,请参考以下文章

为啥 E(dfa) 是可判定语言?

Bristol的第5篇密码学

图灵机与lambda演算的关系

BSV 上的图灵机

Bristol的第7篇密码学

证明语言 L = w ∈ 0, 1 ∗ |输入 x 的 Mw(x) ↓ 部分可判定但不可判定