1

我得到了指示“创建一个图灵机来识别形式为 0^n1^n2^n 的字符串。这意味着如果字符串的形式正确,图灵机就会停在空白磁带上,而如果不是它以正确的形式停在非空白单元格上”。

我知道图灵机如何工作的基础知识,但不知道如何在 Python 中实现它。我在网上找到的任何示例似乎都非常复杂,包含多个类和所有内容。我认为这对我的应用程序来说不是完全必要或预期的。

我为这个问题找到了以下伪代码:

On input string w
   while there are unmarked 0s, do
      Mark the left most 0
      Scan right to reach the leftmost unmarked 1;
         if there is no such 1 then crash
      Mark the leftmost 1
      Scan right to reach the leftmost unmarked 2;
         if there is no such 2 then crash
      Mark the leftmost 2
   done
   Check to see that there are no unmarked 1s or 2s;
      if there are then crash
   accept

然而,在我看来,实现这个精确的伪代码并不会真正成为一台合法的图灵机。我会以错误的方式解决这个问题吗?任何指导表示赞赏。

4

1 回答 1

0

那个伪代码对我来说似乎是正确的,如果你向我们展示了一个不太复杂的问题可以接受的例子,它可能会有所帮助,我不知道在 python 的 TM 中究竟接受了什么。

于 2012-12-23T18:41:47.657 回答