5 章 チューリングマシン 岡本吉央...

36
アンダースタンディング・コンピュテーション 5 チューリングマシン 岡本 吉央 [email protected] 電気通信大学 2019 7 26 最終更新:2019 10 11 11:38 岡本 吉央 (電通大) アンダースタンディング・コンピュテーション 2019 7 26 1 / 17

Upload: others

Post on 05-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

アンダースタンディング・コンピュテーション 第 5章チューリングマシン

岡本 吉央[email protected]

電気通信大学

2019年 7月 26日

最終更新:2019年 10月 11日 11:38

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 1 / 17

Page 2: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

スケジュール

2 プログラム意味論 (5月)

3 有限オートマトン (6月)

4 プッシュダウン・オートマトン (7月)

5 チューリングマシン (7月)

6 ラムダ計算

7 万能性

8 決定可能性

9 抽象解釈/静的意味論

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 2 / 17

Page 3: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

究極の機械

今からやること

「プログラムを実行できる機械」を設計する▶ ⇝ チューリングマシン

復習

前回まで:単純な計算モデル ⇝ できることに大きな制限がある▶ 有限オートマトン▶ プッシュダウン・オートマトン

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 3 / 17

Page 4: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

アラン・チューリング

16歳のチューリング

https://en.wikipedia.org/wiki/Alan Turing

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 4 / 17

Page 5: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

「コンピュータ」とは?

昔:コンピュータ = 計算手

https://en.wikipedia.org/wiki/Computer (job description)

今:コンピュータ = 計算機

チューリングの考えたこと

「計算手」の行うことを明らかにし,それを完全に機械で実行する

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 5 / 17

Page 6: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

目次

1 チューリングマシン

2 チャーチ=チューリングのテーゼ

3 万能チューリングマシン

4 個人プロジェクト案の例

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 6 / 17

Page 7: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 0 111

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 8: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 0 111

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 9: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 0 011

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 10: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 0 001

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 11: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 1 001

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 12: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 1 001

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 13: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 1 001

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 14: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 1 001

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 7 / 17

Page 15: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

決定性チューリングマシン:注意

1 2 3

1/0; L

/1; R

0/1; R

1/1; R

0/0; R

/ ; L

0 1 001

▶ 受理状態に到達したら,停止する▶ 停止したとき,テープの内容を出力と見なす

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 8 / 17

Page 16: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

目次

1 チューリングマシン

2 チャーチ=チューリングのテーゼ

3 万能チューリングマシン

4 個人プロジェクト案の例

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 9 / 17

Page 17: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

最大の能力

決定性チューリングマシンの持つ計算能力は完全

決定性チューリングマシンを次のように拡張しても,計算能力は変わらない

▶ 「非決定性」を付け加える▶ 「内部ストレージ」を付け加える▶ テープの数を「複数」にする▶ テープを「多次元」にする

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 10 / 17

Page 18: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

チャーチ=チューリングのテーゼ (Church-Turing thesis)

チャーチ=チューリングのテーゼ (定立,提唱)

計算可能 = チューリングマシンで実現可能

▶ チューリング: 「チューリングマシン」を通して「計算」を研究▶ チャーチ:

ング

「ラムダ計算」を通して「計算」を研究

「ラムダ計算」は第 6章の内容

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 11 / 17

Page 19: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

目次

1 チューリングマシン

2 チャーチ=チューリングのテーゼ

3 万能チューリングマシン

4 個人プロジェクト案の例

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 12 / 17

Page 20: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 21: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 22: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

UTM

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 23: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

UTMTM 1in1

out1

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 24: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

UTMTM 2in2

out2

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 25: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

UTMTM 3in3

out3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 26: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン

次の性質は,チューリングマシンを有用にするものとして,本質的

万能チューリングマシンの存在

任意のチューリングマシンM と任意のテープ σを入力として与えて,M に σを入力としたときの出力を出力するチューリングマシンが存在

そのようなチューリングマシンを万能チューリングマシン (universal Turing machine) と呼ぶ

TM 1

TM 2

TM 3

UTM

in4 out4

TM 3in4

out4

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 13 / 17

Page 27: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

万能チューリングマシン:イメージ

UTMTM 1in1

out1

current state

and symbol

description of TM 1 in1

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 14 / 17

Page 28: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 29: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 30: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machine

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 31: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 1

in1out1

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 32: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 2

in2out2

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 33: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 3

in3out3

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 34: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

プログラム内蔵方式

チューリングの「万能チューリングマシン」はフォン・ノイマンらの「プログラム内蔵方式」を触発した

(と言われている)

prog 1

prog 2

prog 3

machine

in4 out4

prog 3

in4out4

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 15 / 17

Page 35: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

目次

1 チューリングマシン

2 チャーチ=チューリングのテーゼ

3 万能チューリングマシン

4 個人プロジェクト案の例

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 16 / 17

Page 36: 5 章 チューリングマシン 岡本吉央 okamotoy@uec.acdopal.cs.uec.ac.jp/okamotoy/lect/2019/uc/lect5.pdfアンダースタンディング・コンピュテーション 第5

個人プロジェクト案の例

▶ 2進数で表された 1つの正の自然数を入力として,それをデクリメントした (1だけ減らした) 数を出力するようなチューリングマシンを設計する

▶ 入力に対して,状態とテープの変化を追い,到達した状態とテープの内容を画面に逐一出力するメソッド traceを実装する

▶ 2進数で表された 2つの正の自然数を入力として,それらの加算を行うチューリングマシンを設計する

▶ 非決定性チューリングマシンを実装してみる▶ 万能チューリングマシンを調べて,実装してみる

岡本 吉央 (電通大) アンダースタンディング・コンピュテーション (5) 2019 年 7 月 26 日 17 / 17