解释可判定和不可判定的问题

在我们了解计算理论 (TOC) 中的可判定和不可判定问题之前,我们必须了解可判定和不可判定语言。因此,让我们首先看看可判定语言是什么意思。

可判定语言

如果存在一个决定器 M 使得L( M)= L,则语言 L 被称为可判定的。

  • 给定决策者 M,您可以了解字符串 w ∈ L(M)。

    • 在 w 上运行 M。

    • 尽管可能需要很长时间,但 M 会接受或拒绝 w。

  • 集合 R 是所有可判定语言的集合。

    • 如果 L 是可判定的,则 L ∈ R。

不可判定的语言

如果 P 的所有 yes 实例的语言 L 不可判定,则判定问题 P 是不可判定的。

不可判定语言可能是部分可判定但不可判定的。假设,如果一种语言甚至不能部分判定,那么对于相应的语言就不存在图灵机。

问题

找出下面给出的问题是可判定的还是不可判定的。

“让给定的输入是一些图灵机 M 和一些字符串 w。问题是确定在输入字符串 w 上执行的机器 M 是否曾经连续三个增量规则将其读数头向左移动。”

解决方案

定义 M' 是一个图灵机,它以一对 (M,w) 作为输入,其中 M 是被 M' 识别的图灵机,w 是 M 的输入。

每当模拟机器 M 的头部在处理输入 w 时向左移动,M' 停止并接受 (M,w)

对于 M' (M,w) 的特定输入,图灵机 P 的构造是 -

  • P 在 (M,w) 上执行 M'

  • 如果 M' 接受 (M,w),则 P 停止并接受任何输入

我们试图将通用图灵机 U 简化为 P,因为我们知道它L(U)是不可判定的,并且我们得出结论它L(P)是不可判定的。因此,M' 是不可判定的。

证明是自相矛盾的。

让我们假设这个问题是可判定的,然后我们必须证明改变图灵机(ATM)也是可判定的 -

ATM = { M 是一个 TM 并且 M 接受 w}。

设 R 是决定最左边问题的图灵机。

也就是说,R决定语言

leftmost = { M on input w 当它的头在最左边的磁带单元上时,它曾经试图向左移动它的头}。

现在,我们的想法是构建一个图灵机 S,它以使用 R 的方式决定 ATM。

在输入时,S 首先将机器 M 修改为 M´,以便 M´ 仅当 M 接受其输入时才将其头部从最左侧的单元格向左移动。

为了确保在计算过程中 M´ 不会将头部从最左边的位置向左移动,

第一台机器 M´ 将输入 w 向右移动一个位置,并在最左侧的磁带单元上放置一个特殊符号。M´ 的计算从第二个磁带单元上的磁头开始。

在其计算过程中,M´ 曾尝试将其磁头移动到最左侧的磁带单元,M´ 通过读取特殊符号发现并将磁头放回第二个单元,并继续执行。如果 M 进入接受状态,则 M´ 进入一个循环,迫使头部始终向左移动。

在 S 构建了 M´ 之后,它在输入 < M´ 上运行决策器 R;w>.

如果 R 接受则 S 接受,否则如果 R 拒绝则 S 拒绝。

因此,ATM 是可判定的,这是一个矛盾。

以上是 解释可判定和不可判定的问题 的全部内容, 来源链接: utcz.com/z/338764.html

回到顶部