📜  用于减法的图灵机|设置 1

📅  最后修改于: 2021-09-28 10:11:21             🧑  作者: Mango

先决条件——图灵机
问题 1:绘制一个图灵机,将两个数字相减。

例子:

脚步:

  • 第1步。如果找到 0,则将 0 转换为 X 并向右走,然后将所有 0 转换为 0 并向右走。
  • 第2步。然后将 C 转换为 C 并向右走,然后将所有 X 转换为 X 并向右走。
  • 第 3 步。然后将 0 转换为 X 并向左走,然后将所有 X 转换为 X 并向左走。
  • 第四步。然后将 C 转换为 C 并向左转,然后将所有 0 转换为 0 并向左转,然后将所有 X 转换为 X 并向右走,重复整个过程。
  • 第 5 步。否则,如果 C 发现将 C 转换为 C 并向右走,则将所有 X 转换为 B 并向右走,然后将 0 转换为 0 向左走,然后停止机器。

这里, q0表示初始状态, q1、q2、q3、q4、q5是过渡状态, q6表示最终状态。
X、0、C是减法用的变量,R、L表示左右。

问题 2:绘制一个图灵机,将两个数 m 和 n 相减,其中 m 大于 n。

脚步:

  • 第1步。如果找到 0,则将所有 0 转换为 0 并向右走,然后将 C 转换为 C 并向右走
  • 第2步。如果找到 X,则将所有 X 转换为 X 并向右走,或者如果找到 0,则将 0 转换为 X 并向左走,然后转到下一步,否则转到第 5 步
  • 第 3 步。然后将所有 X 转换为 X 并向左走,然后将 C 转换为 C 并向左走
  • 第四步。然后将所有 0 转换为 0 并向左走,然后将 B 转换为 B 并向右走,然后将 0 转换为 B 并向右走,重复整个过程
  • 第 5 步。否则,如果 B 发现将 B 转换为 B 向左转,则将所有 X 转换为 B 向左转,然后将 C 转换为 B 向左转,然后停止机器。

这里, q0表示初始状态, q1、q2、q3、q4、q5是过渡状态, q6表示最终状态。
B、X、0、C是减法用的变量(m>n),R、L表示左右,B变量是输入符号。

参见 – 用于减法的图灵机 | 2套