一部のコンテキストが欠落しているため、Knuthがどのようなことを試みているのかわかりませんが、チューリングマシンをこのように解釈する方法を次に示します。おそらく、それは何が起こっているのかを理解するのに役立ちます。一般に、コンセプトを把握するための良い方法は、それをいじることです。プログラミングパラダイムの場合、それはプログラムを書くことを意味します。この場合、私は書く方法が表示されます任意のプログラムを。
チューリングマシンのテープに記号があるとします。 {0、1、ε}{0,1,ϵ} (どこ εϵ 「空」を表します)、頭の位置を表すもう1つの記号を追加します HH。あなたの状態は次の形式のペアになります(q、α)(q,α)、 どこ qq チューリングマシンの状態であり、 α∈{0、…、14}α∈{0,…,14}。また、(F、0)(F,0) と NN 最終状態。
(空ではない)入力時 バツx、あなたの出発点は (Hバツ、(s、0))(Hx,(s,0))、 どこ ss is the starting state. The difficult part is to encode states. Suppose that at state qq, upon reading input xx, you replace it with a(q,x)a(q,x), move in direction D(q,x)∈{L,R}D(q,x)∈{L,R}, and switch to state σ(q,x)σ(q,x). For the θθs, we have
θq,0=0H0,θq,1=0H1,θq,2=0Hϵ,θq,3=1H0,θq,4=1H1,θq,5=1Hϵ,θq,6=ϵH0θq,7=ϵH1,θq,8=ϵHϵ,θq,9=H0,θq,10=H1,θq,11=Hϵ,θq,12=0H,θq,13=1H,θq,14=ϵH.
θq,0θq,3θq,6θq,9θq,12=0H0,=1H0,=ϵH0=H0,=0H,θq,1θq,4θq,7θq,10θq,13=0H1,=1H1,=ϵH1,=H1,=1H,θq,2θq,5θq,8θq,11θq,14=0Hϵ,=1Hϵ,=ϵHϵ,=Hϵ,=ϵH.
For the
aas, we have
aq,i=(q,i+1)aq,i=(q,i+1) for
i<14i<14, and
aq,14=(q,14)aq,14=(q,14), though we should never really get that far. For the
bbs, we have
bq,0=bq,3=bq,6=bq,9=(σ(q,0),0),bq,1=bq,4=bq,7=bq,10=(σ(q,1),0),bq,2=bq,5=bq,8=bq,11=bq,12=bq,13=bq,14=(σ(q,ϵ),0).bq,0=bq,3=bq,6=bq,9=(σ(q,0),0),bq,1=bq,4=bq,7=bq,10=(σ(q,1),0),bq,2=bq,5=bq,8=bq,11=bq,12=bq,13=bq,14=(σ(q,ϵ),0).
Now it remains to determine the
ψψs. Let
a0=a(q,0)a0=a(q,0). If
D(q,0)=LD(q,0)=L then
ψq,0=H0a0,ψq,3=H1a0,ψq,6=ψq,9=Hϵa0.ψq,0=H0a0,ψq,3=H1a0,ψq,6=ψq,9=Hϵa0.
If
D(q,0)=RD(q,0)=R then
ψq,0=0a0H,ψq,3=1a0H,ψq,6=ϵa0H,ψq,9=a0Hϵ.ψq,0=0a0H,ψq,3=1a0H,ψq,6=ϵa0H,ψq,9=a0Hϵ.
Next, let
a1=a(q,1)a1=a(q,1). If
D(q,1)=LD(q,1)=L then
ψq,1=H0a1,ψq,4=H1a1,ψq,7=ψq,10=Hϵa1.ψq,1=H0a1,ψq,4=H1a1,ψq,7=ψq,10=Hϵa1.
If
D(q,1)=RD(q,1)=R then
ψq,1=0a1H,ψq,4=1a1H,ψq,7=ϵa1H,ψq,10=a1Hϵ.ψq,1=0a1H,ψq,4=1a1H,ψq,7=ϵa1H,ψq,10=a1Hϵ.
Finally, let
aϵ=a(q,ϵ)aϵ=a(q,ϵ). If
D(q,ϵ)=LD(q,ϵ)=L then
ψq,2=H0aϵ,ψq,5=H1aϵ,ψq,8=ψq,11=Hϵaϵ,ψq,12=H0aϵ,ψq,13=H1aϵ,ψq,14=Hϵaϵ.ψq,2ψq,12=H0aϵ,=H0aϵ,ψq,5ψq,13=H1aϵ,=H1aϵ,ψq,8ψq,14=ψq,11=Hϵaϵ,=Hϵaϵ.
If
D(q,ϵ)=RD(q,ϵ)=R then
ψq,2=0aϵH,ψq,5=1aϵH,ψq,8=ϵaϵH,ψq,11=aϵHϵ,ψq,12=0aϵH,ψq,13=1aϵH,ψq,14=ϵaϵH.ψq,2ψq,12=0aϵH,=0aϵH,ψq,5ψq,13=1aϵH,=1aϵH,ψq,8ψq,14=ϵaϵH,=ϵaϵH.ψq,11=aϵHϵ,
Now apply ff repeatedly until you get stuck. If you follow the construction, you will see that we have simulated the running of the Turing machine.