证明这种语言是不可判定的

时间:2011-07-10 13:39:19

标签: turing-machines formal-languages

以下语言 L 是否不可判定?

  

L = { M | M 是图灵机描述,并且存在长度 k 的输入 x ,使得 M 最多停止 k 步骤}

我认为是,但我无法证明这一点。我试着想到减少暂停问题。

1 个答案:

答案 0 :(得分:9)

查看:暂停问题的一个实例询问是否在输入 y 上关闭车床 N 。众所周知,这个问题是不可判定的(但可以是半决定的)。

您的语言 L 确实不可判断。这可以通过将暂停问题减少到 L 来显示:

  1. 对于暂停问题实例( N y ),为 L 创建一台新机 M 问题。
  2. 在输入 x 上, M 模拟( N y )的长度( x < / em>)步骤。
  3. 如果模拟在该步数内停止,则 M 停止。否则, M 故意进入无限循环。
  4. 这种减少是有效的,因为:

    • 如果( N y )最终在 k 步骤中停止,那么 M 将暂停所有长度 k 或更大的输入,因此 M 位于 L
    • 否则( N y )不会停止,无论多长时间, M 都不会停止任何输入字符串,因此 M 不在 L

    最后,暂停问题是不可判定的,因此 L 是不可判定的。