SlideShare a Scribd company logo
Turing Machine
for Programming
日曜数学者
順平 (@tsujimotter)
みんなで遊べる
チューリング・マシン
を作ったった!
2	
今日お話ししたいこと
Turing Machine
http://bit.ly/turing-machine
にて公開中
3	
(@tsujimoter のツイートでも紹介しています)
計算 とは?
4
アラン・チューリング
5
計算 =
6	
def

チューリング・マシン
によってできること
なにそれきになる
7
というわけで
8
チューリング・マシン
つくってみた
じゃじゃーん
9
チューリング・マシンの構成要素
10	
テープ(無限に長い)
セル
ヘッド
左右に移動できる	(「移動しない」も可)

ヘッド位置にあるセルを読み書きできる
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	
(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	
(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
(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
(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
16	
遷移ルールは,
まさにプログラムそのもの
プログラム言語を作ってみた

#	内部状態	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_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
accept
111111

入力 出力
19	
reject
11111

入力 出力nabeatsu.tm
Movie
20
21	h"p://bit.ly/turing-machine
accept

or

reject

12x35=123

入力 出力
22	
与えられた質問に対し yes/no を応答する機械
沸き起こる全能感
23
素数判定とか
イケるんじゃね?w
24
Demo
25
26	h"p://bit.ly/turing-machine
Turing Machine
http://bit.ly/turing-machine
にて公開中
27	
(@tsujimoter のツイートでも紹介しています)

More Related Content

More from Junpei Tsuji

素因数分解しようぜ! #日曜数学会
素因数分解しようぜ! #日曜数学会素因数分解しようぜ! #日曜数学会
素因数分解しようぜ! #日曜数学会
Junpei Tsuji
 
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会 モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
Junpei Tsuji
 
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
Junpei Tsuji
 
五次方程式はやっぱり解ける #日曜数学会
五次方程式はやっぱり解ける #日曜数学会五次方程式はやっぱり解ける #日曜数学会
五次方程式はやっぱり解ける #日曜数学会
Junpei Tsuji
 
第18回日曜数学会オンライン・オープニング資料
第18回日曜数学会オンライン・オープニング資料第18回日曜数学会オンライン・オープニング資料
第18回日曜数学会オンライン・オープニング資料
Junpei Tsuji
 
「にじたい」へのいざない #ロマンティック数学ナイト
「にじたい」へのいざない #ロマンティック数学ナイト「にじたい」へのいざない #ロマンティック数学ナイト
「にじたい」へのいざない #ロマンティック数学ナイト
Junpei Tsuji
 
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会 ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
Junpei Tsuji
 
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
Junpei Tsuji
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
Junpei Tsuji
 
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
Junpei Tsuji
 
萩の月問題 - 第14回 #日曜数学会
萩の月問題 - 第14回 #日曜数学会萩の月問題 - 第14回 #日曜数学会
萩の月問題 - 第14回 #日曜数学会
Junpei Tsuji
 
合同数問題と保型形式
合同数問題と保型形式合同数問題と保型形式
合同数問題と保型形式
Junpei Tsuji
 
私の好きな関数とのなれそめ #ロマンティック数学ナイト
私の好きな関数とのなれそめ #ロマンティック数学ナイト私の好きな関数とのなれそめ #ロマンティック数学ナイト
私の好きな関数とのなれそめ #ロマンティック数学ナイト
Junpei Tsuji
 
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
Junpei Tsuji
 
五次方程式は解けない - 第12回 #日曜数学会
五次方程式は解けない - 第12回 #日曜数学会五次方程式は解けない - 第12回 #日曜数学会
五次方程式は解けない - 第12回 #日曜数学会
Junpei Tsuji
 
「ガロア表現」を使って素数の分解法則を考える #mathmoring
「ガロア表現」を使って素数の分解法則を考える #mathmoring「ガロア表現」を使って素数の分解法則を考える #mathmoring
「ガロア表現」を使って素数の分解法則を考える #mathmoring
Junpei Tsuji
 
連分数マジック - 第3回 #日曜数学会 in 札幌
連分数マジック - 第3回 #日曜数学会 in 札幌連分数マジック - 第3回 #日曜数学会 in 札幌
連分数マジック - 第3回 #日曜数学会 in 札幌
Junpei Tsuji
 
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
Junpei Tsuji
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
Junpei Tsuji
 
非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会
Junpei Tsuji
 

More from Junpei Tsuji (20)

素因数分解しようぜ! #日曜数学会
素因数分解しようぜ! #日曜数学会素因数分解しようぜ! #日曜数学会
素因数分解しようぜ! #日曜数学会
 
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会 モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
モンテカルロ法を用いた素数大富豪素数問題の評価 #素数大富豪研究会
 
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
ピタゴラス数とヒルベルトの定理90 #3分で数学を語る会
 
五次方程式はやっぱり解ける #日曜数学会
五次方程式はやっぱり解ける #日曜数学会五次方程式はやっぱり解ける #日曜数学会
五次方程式はやっぱり解ける #日曜数学会
 
第18回日曜数学会オンライン・オープニング資料
第18回日曜数学会オンライン・オープニング資料第18回日曜数学会オンライン・オープニング資料
第18回日曜数学会オンライン・オープニング資料
 
「にじたい」へのいざない #ロマンティック数学ナイト
「にじたい」へのいざない #ロマンティック数学ナイト「にじたい」へのいざない #ロマンティック数学ナイト
「にじたい」へのいざない #ロマンティック数学ナイト
 
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会 ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
ラマヌジャンやっぱりやばいじゃん - 第15回 #日曜数学会
 
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
x^2 + ny^2 の形で表せる素数 - めざせプライムマスター!
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
 
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
 
萩の月問題 - 第14回 #日曜数学会
萩の月問題 - 第14回 #日曜数学会萩の月問題 - 第14回 #日曜数学会
萩の月問題 - 第14回 #日曜数学会
 
合同数問題と保型形式
合同数問題と保型形式合同数問題と保型形式
合同数問題と保型形式
 
私の好きな関数とのなれそめ #ロマンティック数学ナイト
私の好きな関数とのなれそめ #ロマンティック数学ナイト私の好きな関数とのなれそめ #ロマンティック数学ナイト
私の好きな関数とのなれそめ #ロマンティック数学ナイト
 
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
ベルヌーイ数とお友達になろう #ロマンティック数学ナイト
 
五次方程式は解けない - 第12回 #日曜数学会
五次方程式は解けない - 第12回 #日曜数学会五次方程式は解けない - 第12回 #日曜数学会
五次方程式は解けない - 第12回 #日曜数学会
 
「ガロア表現」を使って素数の分解法則を考える #mathmoring
「ガロア表現」を使って素数の分解法則を考える #mathmoring「ガロア表現」を使って素数の分解法則を考える #mathmoring
「ガロア表現」を使って素数の分解法則を考える #mathmoring
 
連分数マジック - 第3回 #日曜数学会 in 札幌
連分数マジック - 第3回 #日曜数学会 in 札幌連分数マジック - 第3回 #日曜数学会 in 札幌
連分数マジック - 第3回 #日曜数学会 in 札幌
 
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
素数は孤独じゃない(番外編) 第13回 数学カフェ「素数!!」
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
 
非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会
 

Turing machine for programming #日曜数学会