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

Post on 05-Aug-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

岡本 吉央okamotoy@uec.ac.jp

電気通信大学

2019年 7月 26日

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

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

スケジュール

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

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

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

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

6 ラムダ計算

7 万能性

8 決定可能性

9 抽象解釈/静的意味論

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

究極の機械

今からやること

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

復習

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

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

アラン・チューリング

16歳のチューリング

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

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

「コンピュータ」とは?

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

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

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

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

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

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

目次

1 チューリングマシン

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目次

1 チューリングマシン

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

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

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

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

最大の能力

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

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

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

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

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

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

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

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

ング

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

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

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

目次

1 チューリングマシン

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

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

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

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

万能チューリングマシン

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

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

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

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

TM 1

TM 2

TM 3

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

万能チューリングマシン

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

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

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

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

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

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

万能チューリングマシン

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

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

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

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

TM 1

TM 2

TM 3

in1 out1

in2

in3

out2

out3

UTM

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

万能チューリングマシン

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

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

任意のチューリングマシン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

万能チューリングマシン

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

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

任意のチューリングマシン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

万能チューリングマシン

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

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

任意のチューリングマシン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

万能チューリングマシン

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

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

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

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

TM 1

TM 2

TM 3

UTM

in4 out4

TM 3in4

out4

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

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

UTMTM 1in1

out1

current state

and symbol

description of TM 1 in1

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machine

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 1

in1out1

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 2

in2out2

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

in1 out1

in2

in3

out2

out3

machineprog 3

in3out3

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

プログラム内蔵方式

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

(と言われている)

prog 1

prog 2

prog 3

machine

in4 out4

prog 3

in4out4

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

目次

1 チューリングマシン

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

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

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

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

個人プロジェクト案の例

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

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

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

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

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

top related