证明语言的长度除以2是不可判定的

时间:2015-12-07 20:04:02

标签: complexity-theory turing-machines decidable

如何使用缩减方法证明语言的长度除以2? L = {|是图灵机,其中| L(M)| = 0 mod 2}

我有2个想法,但我害怕跟错了 1)我使用Amt的简化方法,我说图灵机将x = w0 ..... wi作为输入,当且仅当wi = 0 mod 2时才接受。

2)我使用NOT HALT的还原方法,我说图灵机将拒绝任何输入,因此图灵机的长度将为0,这满足上述条件!

有任何建议吗?

1 个答案:

答案 0 :(得分:2)

这是一个选项。给定TM M和字符串w,构建这个新的TM N:

N = "On input x:
        If x isn't the empty string, reject.
        Otherwise, run M on w.
        If M accepts, accept; if M rejects, reject.
        (Implicitly, if M loops on w, N loops on x.)"

该TM具有如果M接受w,则L(N)= {ε},所以| L(N)|的性质。否则,如果M不接受w,则L(N)=∅,所以| L(N)| = 0。

看看你是否可以在减少中使用它。

您可以采取以下两种方法:

  1. 应用Rice's theorem立即断定此语言是不可判定的,因为询问是否| L(M)|甚至是RE语言的一个重要属性。
  2. 使用Recursion Theorem:构建一个TM,询问其语言中是否包含偶数个字符串,如果答案为“是”,则选择不接受任何内容,如果答案为“是”,则选择空字符串没有。”这种TM的语言具有均匀的大小,当且仅当它没有 - 一个矛盾!