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