构造一个识别语言 L={ww | w ∈ {0,1}} 的图灵机 (TM)。


问题

语言 L = {ww | w ∈ {0, 1}} 包含由自身跟随的 0 和 1 字符串。

L={00,11,0011,1100,…..}

解决方案

解决问题的逻辑如下:

  • 找到字符串的中点。
  • 然后匹配符号。

解释

**步骤 1** - 首先,我们需要找到字符串的中点。

**步骤 2** - 我们将第一个 0 替换为 X 或 1 替换为 Y,然后将读写头向右移动,直到找到最后一个字符。

**步骤 3** - 然后将这个 0 替换为 X 或 1 替换为 Y。

**步骤 4** - 现在,我们将向左移动,停在我们将一开始设置为 X 或 Y 的第一个字符之前。

**步骤 5** - 根据值将第二个字符设置为 X 或 Y,同样,我们向右移动以进行相同的操作。

**步骤 6** - 连续执行此操作后,所有 0 将变为 X,所有 1 将变为 Y,读写头将位于字符串的中间。

**步骤 7** - 现在,我们将读写头移动到字符串的左侧,并将 X 连续转换为 0,将 Y 连续转换为 1,直到到达字符串的开头。

**步骤 8** - 完成此操作后,字符串的一半将包含 0 和 1,另一半将包含 X 和 Y。

**步骤 9** - 现在读写头位于第一个字符上,如果为 0,我们将将其转换为 X;如果为 1,我们将将其设置为 Y(如前所述)。

**步骤 10** - 第一个字符转换后,将读写头一直向右移动,直到遇到第一个 X 或 Y(字符串的后半部分),然后将其清空。

**步骤 11** - 然后一直回到 X 或 Y 旁边的字符,然后重复相同的操作。

**步骤 12** - 连续执行上述步骤后,如果只剩下 X 和 Y(只剩下前半部分,后半部分为空),则接受字符串。否则,将被拒绝。

使用图灵机 (TM) 实现相同的功能如下所示:

在这里,我们使用十个状态进行了相同的操作,其中 Q0 是初始状态,Q9 是最终状态。

图灵机如下所示:

更新于:2021年6月15日

浏览量 1K+

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.