Skip to content

Instantly share code, notes, and snippets.

@junpeitsuji
Last active October 18, 2015 10:19
Show Gist options
  • Save junpeitsuji/df3e06a88f04d925cbfe to your computer and use it in GitHub Desktop.
Save junpeitsuji/df3e06a88f04d925cbfe to your computer and use it in GitHub Desktop.
「チューリングを読む」 p.134 参照
# turing2.tm
# 「チューリングを読む」 p.134 参照
#
# 入力: なし
# 出力: 001011011101111011111...
#
# チューリングの規約により,
# 非周期でかつ1つ飛ばしで打ち込む
#
# 形式:
# 現在の内部状態, ヘッドの指すテープの文字, 次の内部状態, テープに書き込む文字, ヘッドの次の移動方向
# 初期化処理
q_0, BLANK, q_1, e, R # シュワー: e
q_1, BLANK, q_2, e, R # シュワー: e
q_2, BLANK, q_3, 0, R
q_3, BLANK, q_4, NONE, R
q_4, BLANK, q_5, 0, L
q_5, BLANK, o_0, NONE, L
# 処理 o
o_0, 1, o_11, NONE, R
o_11, ANY, o_12, x, L # 「"ANY" は "BLANK" を除くすべて」 であることに注意
o_11, BLANK, o_12, x, L
o_12, ANY, o_13, NONE, L
o_12, BLANK, o_13, NONE, L
o_13, ANY, o_14, NONE, L
o_13, BLANK, o_0, NONE, L
o_0, 0, a_0, NONE, N
# 処理 a
a_0, 0, a_1, NONE, R
a_0, 1, a_1, NONE, R
a_1, ANY, a_0, NONE, R
a_1, BLANK, a_0, NONE, R
a_0, BLANK, p_0, 1, L
# 処理 p
p_0, x, a_0, BLANK, R
p_0, e, k_0, NONE, R
p_0, BLANK, p_1, NONE, L
p_1, ANY, p_0, NONE, L
p_1, BLANK, p_0, NONE, L
# 処理 k
k_0, ANY, k_1, NONE, R
k_1, ANY, k_0, NONE, R
k_1, BLANK, k_0, NONE, R
k_0, BLANK, k_2, 0, L
k_2, ANY, o_0, NONE, L
k_2, BLANK, o_0, NONE, L
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment