Weitere ähnliche Inhalte
Mehr von Junpei Tsuji (20)
Turing machine for programming #日曜数学会
- 11. 11
qacc
q2
q0
q1
内部状態:
(q_0, 1) -> (1, R, q_1)
(q_1, 1) -> (1, R, q_2)
(q_2, 1) -> (1, R, q_0)
(q_0, BLANK) -> (BLANK, N, q_acc)
遷移ルール:
1
1
1
BLANK
q0
- 12. 12
(q_0, 1) -> (1, R, q_1)
(q_1, 1) -> (1, R, q_2)
(q_2, 1) -> (1, R, q_0)
(q_0, BLANK) -> (BLANK, N, q_acc)
qacc
q2
q0
q1
内部状態: 遷移ルール:
BLANK
1
1
1
内部状態:q0
テープ:1
q0
- 13. 13
(q_0, 1) -> (1, R, q_1)
(q_1, 1) -> (1, R, q_2)
(q_2, 1) -> (1, R, q_0)
(q_0, BLANK) -> (BLANK, N, q_acc)
qacc
q2
q0
q1
内部状態: 遷移ルール:
1
1
1
内部状態:q0
テープ: BLANK
BLANK
q0
- 14. (q_0, 1) -> (1, R, q_1)
(q_1, 1) -> (1, R, q_2)
(q_2, 1) -> (1, R, q_0)
(q_0, BLANK) -> (BLANK, N, q_acc)
qacc
q2
q0
q1
内部状態: 遷移ルール:
1
1
1
受理状態
(ACCEPT)
BLANK
qacc
14
- 15. (q_0, 1) -> (1, R, q_1)
(q_1, 1) -> (1, R, q_2)
(q_2, 1) -> (1, R, q_0)
(q_0, BLANK) -> (BLANK, N, q_acc)
qacc
q2
q0
q1
内部状態: 遷移ルール:
1
1
1
BLANK
q0
X
どれにも該当しない場合,拒否状態 (REJECT) となって停止
15
- 17. プログラム言語を作ってみた
# 内部状態 q_0, 現在のテープが “0” のとき,
# テープに “1” を書き込み, 右方向 (R) へと移動
# 内部状態を q_1 に変更
(q_0, 0) -> (1, R, q_1)
チューリング・マシン記述言語 (.tm)
17
q_0, 0, 1, R, q_1
- 18. nabeatsu.tm
# テープにあらかじめ書き込んだ文字列(入力)
# の“1” の本数が
# “3 の倍数” のとき,accept (アホ)
q_0, 1, 1, R, q_1
q_1, 1, 1, R, q_2
q_2, 1, 1, R, q_0
q_0, BLANK, BLANK, N, q_acc
# 上記以外の状態のとき, q_rej へ
18