チューリングマシンエミュレータ

[凍結解除]

ロジャー・ペンローズ著の「皇帝の新しい心」のチューリングマシンを実装。


――――― ―――――
[凍結解除]
[凍結解除]

[XN+1] 2進で1足す

11+1(1011+1)

Turing's program

Start→100
100[0]→[0] R 100
100[1]→[1] R 101
101[0]→[0] R 100
101[1]→[1] R 102
102[0]→[0] L 103
102[1]→[1] R 102
103[0]→[1] Stop
103[1]→[0] L 104
104[0]→[1] L 105
104[1]→[1] L 104
105[0]→[0] R 106
105[1]→[1] R 102
106[1]→[1] R 107
107[0]→[1] R 103
107[1]→[0] R 107

Turing's Execution


Start_____oooooooooooooooooooo|6|0,oooooooooooooooooooooooooooooo
1006______oooooooooooooooooooo|6|0,oooooooooooooooooooooooooooooo
ERROR
ooooo100101011oooooooo
[凍結解除]

[XN*2] 2進表記で2倍

11×2(1011)

Turing's program

Start→10
10[0]→[0] R 10
10[1]→[0] R 11
11[0]→[1] R 10
11[1]→[0] R 12
12[0]→[1] R 13
13[0]→[1] Stop

Turing's Execution


Start_____oooooooooooooooooooo|1|1,oooooooooooooooooooooooooooooo
101_______oooooooooooooooooooo|1|1,oooooooooooooooooooooooooooooo
111_______oooooooooooooooooooo|1|,ooooooooooooooooooooooooooooooo
12,_______oooooooooooooooooooo|,|oooooooooooooooooooooooooooooooo
ERROR
ooooo100101011oooooo
[凍結解除]

[UN+1]1を加える。3+1

数値の表現をどう扱うかはprogram次第だが、下記のプログラムでは1の数で数値を示す。

#turing(prog)
Start→10
10[0]→[0] R 10
10[1]→[1] R 20
20[0]→[1] Stop
20[1]→[1] R 20
#turing(30)
ooo111oooooo ←初期値

Turing's program

Start→10
10[0]→[0] R 10
10[1]→[1] R 20
20[0]→[1] Stop
20[1]→[1] R 20

Turing's Execution


Start_____oooooooooooooooooooo|6|0,oooooooooooooooooooooooooooooo
106_______oooooooooooooooooooo|6|0,oooooooooooooooooooooooooooooo
ERROR
ooo111oooooo
[凍結解除]

[EUC]互除法

最大公約数を求める。6と9で3

Turing's program

Start→100
100[0]→[0] R 100
100[1]→[1] L 101
101[0]→[1] R 102
101[1]→[1] L 101
102[0]→[0] R 110
102[1]→[0] R 103
103[0]→[0] R 104
103[1]→[1] R 103
104[0]→[0] R 104
104[1]→[0] R 105
105[0]→[0] L 107
105[1]→[1] L 106
106[0]→[0] L 106
106[1]→[1] L 101
107[0]→[0] L 107
107[1]→[1] L 108
108[0]→[0] L 109
108[1]→[1] L 108
109[0]→[0] R 102
109[1]→[1] L 101
110[0]→[0] Stop
110[1]→[1] R 110

Turing's Execution


Start_____oooooooooooooooooooo|1|5,10,oooooooooooooooooooooooooooooo
1001______oooooooooooooooooooo|1|5,10,oooooooooooooooooooooooooooooo
101o______oooooooooooooooooooo|o|15,10,oooooooooooooooooooooooooooooo
1021______ooooooooooooooooooo1|1|5,10,ooooooooooooooooooooooooooooooo
1035______oooooooooooooooooo1o|5|,10,oooooooooooooooooooooooooooooooo
ERROR
ooooooo111111ooooo111111111oooooo

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS