【问题标题】:Recursive set or not递归集与否
【发布时间】:2021-01-08 00:28:24
【问题描述】:

我正在尝试解决大学的一个问题,但我不知道如何解决它。有人可以帮助我并说我如何证明下面提到的两种语言是可判定的或不可判定的

L1:= M, w |在输入 w 时,图灵机 M 永远不会将读/写头向左移动,其中 w ∈ {0, 1} ∗ 和 M ∈ {0, 1} ∗。

L2:= M, w |在输入 w 时,图灵机 M 在每一步都移动读/写头,其中 w ∈ {0, 1} ∗ 和 M ∈ {0, 1} ∗。

【问题讨论】:

  • 提示:对于 M 的每个限制,遵循该限制的机器可以识别哪类语言?

标签: algorithm complexity-theory computation-theory turing-machines


【解决方案1】:

L1:让 M 开始处理 w。如果它向左移动读/写头,您可以立即停止拒绝,因为我们知道答案。否则,它最终将读取整个有限输入并闯入输入右侧的空白区域,之后所有磁带单元都是空白的。现在,继续让 TM 运行。如果它将读/写头向左移动,则再次停止拒绝。否则,我们需要做的就是检测 TM 第一次进入相同状态两次的时刻。这是为什么?如果 TM 在读取所有输入后两次进入某个状态并且已经在输入右侧的空白处,则 TM 已进入一个封闭循环,并将在循环中的状态之间继续转换,同时将磁带头向右移动永远。根据鸽巢原理,您只需检查与 TM 的状态一样多的转换,然后才能保证停止、向左移动或重复一个状态。当然,如果 TM 在将读/写头移动到左侧之前的任何时候转换为停止接受或停止拒绝,那么您也有自己的答案。这意味着这个问题是可判定的。

L2:让 M' 是我们想要解决停机问题的任何 TM。对于 M' 中的每个状态 Q,我们可以添加一个新状态 Q',其唯一功能是用从 Q 到 Q' 的转换替换 M' 中没有移动读/写头的转换,然后再返回,这样 M''具有两倍于 M' 的状态,并且没有使读/写头保持静止的转换。现在,我们可以将所有转换更改为停止接受或停止拒绝,以便它们保持磁带磁头静止(没有理由不这样做);称之为M'''。 TM M''' 具有以下特性:它完全接受 M' 接受的内容,完全拒绝 M' 拒绝的内容,在 M' 永远循环的地方永远循环,并且包含仅在读/写头显式停止时保持读/写头静止的转换一个输入。现在,假设我们的问题是可判定的;也就是说,我们可以决定在处理某些输入 w 时,任意 TM 是否曾经使磁头保持静止。然后我们可以决定 M''' 是否在处理 w 时使磁头保持静止。但是,由于 M''' 的构造方式是磁带磁头仅在 TM 停止时才会静止,这告诉我们 M''' 在 w 上停止(或不停止)。这使我们能够决定任意 TM M' 的停止问题。这是一个荒谬的结论,所以我们的问题无法确定。

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 2015-08-15
    相关资源
    最近更新 更多