1

我需要证明语言L(EVEN) = { M : |L(M)| is even }是不可判定的。

换句话说,语言L(EVEN)是所有接受某种偶数基数语言的图灵机的集合。

这里,M是某个图灵机的编码,如果存在L(EVEN).

我已经使用 Turing Reductions 完成了与此类似的其他问题,可以在此处看到一个示例:

不可判定性减少证明

我的问题是我无法想出一些以前证明的不可判定的语言来展示有用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) 也是不可判定的,使用与我包含的示例问题类似的设置?

4

1 回答 1

2

假设我们有一个 L(EVEN) 的决策者。然后,我们可以如下决定 L(ACC):

从输入 M 到 L(ACC) 的 TM,构造一个 TM M',它首先验证输入磁带是 M 的输入 x,然后在 x 上运行 M。如此构造的 M' 要么接受语言 {x},如果 M 接受 x,或者如果 M 不接受,则为空语言。

通过对 M' 的编码使用 L(EVEN) 的判定器,我们可以判断 |L(M')| 是否为 |L(M')|。是偶数(在这种情况下 L(M') 为空且 M 不接受 x)或奇数(在这种情况下 L(M') = {x} 且 M 接受 x)。

于 2020-02-12T00:35:54.283 回答