我得到了指示“创建一个图灵机来识别形式为 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
然而,在我看来,实现这个精确的伪代码并不会真正成为一台合法的图灵机。我会以错误的方式解决这个问题吗?任何指导表示赞赏。