Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
160
サンタさんからのすてきなプレゼント / Lovely Christmas Present from Santa
チューリングマシンをくれるやさしいサンタさんのお話。
remeta
December 10, 2022
Tweet
Share
More Decks by remeta
See All by remeta
またね、サンタさん / Goodbye, Santa
000meta
0
280
素朴に計算可能性を考える / An Introduction to Computability
000meta
0
480
Other Decks in Science
See All in Science
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
860
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.1k
統計的因果探索: 背景知識とデータにより因果仮説を探索する
sshimizu2006
4
1k
機械学習 - DBSCAN
trycycle
PRO
0
1.1k
データベース09: 実体関連モデル上の一貫性制約
trycycle
PRO
0
1k
動的トリートメント・レジームを推定するDynTxRegimeパッケージ
saltcooky12
0
200
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
2
580
データマイニング - ノードの中心性
trycycle
PRO
0
280
06_浅井雄一郎_株式会社浅井農園代表取締役社長_紹介資料.pdf
sip3ristex
0
660
Machine Learning for Materials (Challenge)
aronwalsh
0
340
知能とはなにかーヒトとAIのあいだー
tagtag
0
100
Symfony Console Facelift
chalasr
2
480
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Typedesign – Prime Four
hannesfritz
42
2.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
How to Ace a Technical Interview
jacobian
280
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The World Runs on Bad Software
bkeepers
PRO
71
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
RailsConf 2023
tenderlove
30
1.2k
The Pragmatic Product Professional
lauravandoore
36
6.9k
The Language of Interfaces
destraynor
162
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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