「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
しかし、この正確な疑似コードを実装しても、実際には正当なチューリング マシンにはならないように思えます。私はこれについて間違った方法で進んでいますか?任意のガイダンスをいただければ幸いです。