$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サンタさんからのすてきなプレゼント / Lovely Christmas Present fr...
Search
remeta
December 10, 2022
Science
0
110
サンタさんからのすてきなプレゼント / Lovely Christmas Present from Santa
チューリングマシンをくれるやさしいサンタさんのお話。
remeta
December 10, 2022
Tweet
Share
More Decks by remeta
See All by remeta
またね、サンタさん / Goodbye, Santa
000meta
0
220
素朴に計算可能性を考える / An Introduction to Computability
000meta
0
400
Other Decks in Science
See All in Science
ICRA2024 速報
rpc
3
5.3k
はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために
takehikoihayashi
17
6.9k
(Forkwell Library #48)『詳解 インシデントレスポンス』で学び倒すブルーチーム技術
scientia
2
1.4k
創薬における機械学習技術について
kanojikajino
13
4.5k
学術講演会中央大学学員会八王子支部
tagtag
0
240
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
350
Machine Learning for Materials (Lecture 8)
aronwalsh
0
420
拡散モデルの原理紹介
brainpadpr
3
4.9k
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_ポスター版
hayataka88
0
130
大規模画像テキストデータのフィルタリング手法の紹介
lyakaap
7
1.6k
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
290
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
400
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building Applications with DynamoDB
mza
90
6.1k
Making Projects Easy
brettharned
115
5.9k
Site-Speed That Sticks
csswizardry
0
84
What's in a price? How to price your products and services
michaelherold
243
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
870
BBQ
matthewcrist
85
9.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Raft: Consensus for Rubyists
vanstee
136
6.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
GraphQLとの向き合い方2022年版
quramy
44
13k
Transcript
チューリングマシンの定義が 分かるようになるスライド remeta これは RICORA Advent Calendar 2022 10 日目の記事です.
1
あっ,サンタさんだ! ホーッホッホッ! サンタさんじゃよ! 今年一年いい子 にしてた君に,とっておきのプレゼントをあげよう! ほう れ,チューリングマシンじゃ! _人人人人人人人人人人人人人人人_ >わあい,チューリングマシンだ! <
 ̄YYYYYYYYYYYYYYY ̄ 2
なにをするか チューリングマシンを定義します.この記事を読んだあ なたは「チューリングマシンの定義を知っている人」にな ります. 最初にブワーーーーと定義を並べ立てますが,あとで解 説します.とりあえずはじめは読み飛ばしてください. 3
用いる記号 チューリングマシンの定義では,次の記号を用います. S0 , S1 , S2 , . .
. , SN ; q1 , q2 , . . . , qM ; R, L 以下では自然数 N, M を固定して議論します.これら記号 の有限列を表現といいます. また,S0 , . . . , SN をアルファベット,q1 , . . . , qM を内部 状態といいます.以後 S0 は B,S1 は 1 と書くことにし ます. 4
4 項系列 次のいずれかの形をした 4 つの記号から成る表現を 4 項 系列といいます. qi Sj
Sk ql qi Sj Rql qi Sj Lql 4 項系列の有限集合 Z で,どの 2 つも最初の 2 つの記号 が異なるものをチューリングマシンといいます. 5
時点表示 ただ 1 つの内部状態を含み,それ以外の記号が全てアル ファベットであるような表現を時点表示といいます. 例えば 1Bq3 1B1B は時点表示です. 6
チューリングマシンの計算 Z をチューリングマシンとします.時点表示 α, β がある アルファベットの有限列 P, Q に対して,次のいずれかを
満たすとき,α → β と書きます. • qi Sj Sk ql ∈ Z で,α が Pqi Sj Q,β が Pql Sk Q の形 をしている. • qi Sj Rql ∈ Z で,α が Pqi Sj Q,β が PSj ql Q の形 をしている. 7
• qi Sk Lql ∈ Z で,α が PSj qi
Q,β が Pql Sj Q の形 をしている. • qi Sk Rql ∈ Z で,α が PSj qi Q,β が PSj Bql の形 をしている. • qi Sk Lql ∈ Z で,α が qi Sk Q,β が ql BSk Q の形を している. 8
終点表示と結果表示 いかなる時点表示 β についても α → β とならないとき, α を
Z の終点表示といいます. 時点表示の列 α1 , α2 , . . . , αp が存在して各 1 < i ≤ p に ついて αi−1 → αi であるとき,αp は Z に関する α1 の結 果表示であるといいます. 9
数字の表し方 n を,1 を n + 1 個並べて書いた表現 11 ·
· · 1 とし,(n1 , . . . , nk ) を ni を B を挟んで並べた表現 n1 Bn2 B · · · Bnk とします.また,時点表示 α に現れる 1 の個数を α とし ます. n = n + 1 です. 10
計算可能な関数 k 変数関数 f : Nk → N が計算可能であるとは,ある チューリングマシン
Z が存在して,Z が任意の (n1 , . . . , nk ) ∈ Nk に対して q1 (n1 , . . . , nk ) が終点表示 α を持ち, α = f(n1 , . . . , nk ) となることをいいます. 11
サンタさん · · · 何言ってるの? 説明します.ごめんなさい.チューリングマシンは,直 感的には次の構成要素から成る機械です. • 文字の書かれた,いくらでも延長できる紙テープ •
紙テープに読み書きのできるヘッド • ヘッドが読み取った文字と内部状態をもとに,ヘッ ドの動きと次の内部状態を決める制御装置 12
チューリングマシンのはたらき 紙テープには記号が書かれています. 1B111B1 B は空白を表す記号です. 例えば上のテープは長さが 7 で, 「1 111
1」と書いてあるわけです. 13
時点表示の意味 紙テープ 1B111B1 の上にチューリングマシンの読み書 きヘッドが置かれた状態を表すのが時点表示です.一番 左の B にチューリングマシンのヘッド q が載っているこ
とを, 1qB111B1 と表しています.ここで q は 1 ではなく B を見ていると いう点に注意してください. 14
内部状態を盛り込む ヘッドの位置 q にチューリングマシンの内部状態 qi の 情報を盛り込むことで,先程定義した時点表示 1qi B111B1 が完成します.時点表示に含まれる内部状態
qi がただ一つ としたのは,チューリングマシンのヘッドが 1 つしかない からだったのです. 15
4 項系列とは チューリングマシンは 4 項系列の有限集合でした.これ は端的に言うと司令のようなものです. 例えば次の 4 項系列 qi
Sj Sk ql は, 「内部状態が qi でヘッドが読んでいる文字が Sj なら, その文字を Sk に書き換え,内部状態を ql に変更せよ」と いう意味の司令です. 16
具体的な司令の内容 最初の 2 文字がその司令を実行する条件で,3 文字目の Sk , R, L のいずれかがヘッドの行う動作,4
文字目が動作 後の内部状態です. Sk が「文字を Sk に書き換える」 ,R または L が「ヘッ ドを 1 文字分右または左に動かす」 という意味の司令です. テープの右端や左端にあるヘッドを更に右や左に動かす ときは,文字 B の書かれたテープをくっつけて伸ばすこと になります. 17
そして計算をする 以上の規則でチューリングマシンは刻々と変化していき ます. 1 を n + 1 回連ねた記号列で n
を表すことにしたのでし た.例えばテープ 1B111B1 には数の 3 つ組 (0, 2, 0) が書 いてあることになります. この記号化した数字の組をチューリングマシンによって 変化させ,やがてそれ以上変化しない状態に落ち着くさま を,チューリングマシンの計算と呼んでいるのです. 18
えっ,ここで終わり? ホーッホッホッ,チューリングマシン自体はもう手元に あるじゃろ.サンタの務めはここまでじゃ.残る 12 月を楽 しむのじゃ若者よ! さらばじゃ! シャンシャンシャン.... え,ちょ,サンタさーん! 19
果たして少年はこの機械で計算が できるのか!? つづく 20
参考文献 M. Davis. 計算の理論. 岩波書店, 1966. 神保町で売ってた(400 円) ,みんな神保町に行こう. 21