Nous manquons de contexte, donc je n'ai aucune idée de ce que Knuth essaie de faire, mais voici comment interpréter une machine de Turing de cette façon. Cela vous aidera peut-être à comprendre ce qui se passe. En général, un bon moyen de maîtriser un concept est de jouer avec lui. Dans le cas des paradigmes de programmation, cela signifie écrire un programme. Dans ce cas, je vais montrer comment écrire n'importe quel programme.
Supposons que la bande de la machine de Turing ait des symboles {0,1,ϵ} (où ϵ signifie "vide"), et ajoutez un autre symbole qui représente l'emplacement de la tête H. Vos états vont être des paires du formulaire(q,α), où q est un état de la machine de Turing, et α∈{0,…,14}. Nous identifions également(F,0) avec N pour tout état final.
Entrée (non vide) x, votre point de départ sera (Hx,(s,0)), où sest l'état de départ. La partie difficile est de coder les états. Supposons qu'à l'étatq, lors de la lecture de l'entrée x, vous le remplacez par a(q,x), se déplacer dans la direction D(q,x)∈{L,R}et passer à l'état σ(q,x). Pour leθs, nous avons
θ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.
Pour le
as, nous avons
aq,i=(q,i+1) pour
i<14, et
aq,14=(q,14), bien que nous ne devrions jamais vraiment aller aussi loin. Pour le
bs, nous avons
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).
Reste maintenant à déterminer
ψs. Laisser
a0=a(q,0). Si
D(q,0)=L puis
ψq,0=H0a0,ψq,3=H1a0,ψq,6=ψq,9=Hϵa0.
Si
D(q,0)=R puis
ψq,0=0a0H,ψq,3=1a0H,ψq,6=ϵa0H,ψq,9=a0Hϵ.
Ensuite, laissez
a1=a(q,1). Si
D(q,1)=L puis
ψq,1=H0a1,ψq,4=H1a1,ψq,7=ψq,10=Hϵa1.
Si
D(q,1)=R puis
ψq,1=0a1H,ψq,4=1a1H,ψq,7=ϵa1H,ψq,10=a1Hϵ.
Enfin, laissez
aϵ=a(q,ϵ). Si
D(q,ϵ)=L puis
ψq,2ψq,12=H0aϵ,=H0aϵ,ψq,5ψq,13=H1aϵ,=H1aϵ,ψq,8ψq,14=ψq,11=Hϵaϵ,=Hϵaϵ.
Si
D(q,ϵ)=R puis
ψ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ϵ,
Maintenant, appliquez fà plusieurs reprises jusqu'à ce que vous soyez coincé. Si vous suivez la construction, vous verrez que nous avons simulé le fonctionnement de la machine de Turing.