图灵机按字典顺序计算下一个字符串的状态图

时间:2019-04-01 04:18:29

标签: theory turing-machines computation lexicographic lexicographic-ordering

图灵机按字母Σ= {1、2、3}按照字典顺序计算下一个字符串的状态图会是什么样? 字符串大小为4,即--- 1,--- 2,--- 3,--11,--12等...

已经尝试从迈克尔·西普瑟(Michael Sipser)的《计算理论导论》中弄清楚这一点,但是没有运气。 还尝试过在线查找,再次没有运气。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果我没有正确理解,您希望TM接受{1,2,3}长度不超过4的字符串作为输入,并用字典词典中紧随其后的同一字母覆盖该数字订购。这是解决此问题的策略。

  1. 向右移动3次,所以我们正在看磁带上的第四个符号。
  2. 如果这是空白,则我们的输入格式不正确,我们死了。否则,如果符号为1,则写2并停止接受;否则,为0。如果为1,则写2并停止接受;如果为3,则写1并在“ carry2”状态下向左移动
  3. 如果这是空白,则为1或2,分别写为1、2或3,并停止接受。如果为3,则写1并在“ carry3”状态下向左移动
  4. 如果这是空白,则为1或2,分别写为1、2或3,并停止接受。如果为3,则写1并在状态“ carry4”中向左移动
  5. 如果这是空白,则为1或2,分别写为1、2或3,并停止接受。如果为3,则输入的数字为3333,并且在{1、2、3}上没有字典上较大的4位数字字符串…因此崩溃或将--- 1包裹并写入磁带。

请注意,这并不能验证磁带内容是否合理……因为我们使用空格来编码“丢失”的高位数字,因此我们可以合理地假设磁带上第4位之后没有任何内容(定义TM所做的工作)小心以免暗示我们在此之后没有做任何事情)。此外,我们还没有对前端进行消毒,因此不正确地混合使用符号和空格可能会成为问题……因此,我们可以先运行一些步骤来验证输入,也可以仅在输入时要求输入格式正确即可。