Python图灵机为0 ^ n1 ^ n2 ^ n

时间:2012-12-23 18:37:27

标签: python turing-machines

我收到了说明“创建一个图灵机来识别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

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

1 个答案:

答案 0 :(得分:0)

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