Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
素朴に計算可能性を考える / An Introduction to Computability
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
remeta
November 30, 2022
Science
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
素朴に計算可能性を考える / An Introduction to Computability
計算不可能な関数の具体例から計算可能性について考えてみよう、という話です。
remeta
November 30, 2022
More Decks by remeta
See All by remeta
またね、サンタさん / Goodbye, Santa
000meta
0
330
サンタさんからのすてきなプレゼント / Lovely Christmas Present from Santa
000meta
0
210
Other Decks in Science
See All in Science
勾配流から乖離した学習ダイナミクス
hanbao
1
1k
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1.7k
機械学習 - SVM
trycycle
PRO
2
1.2k
生成AIが科学とRAにもたらしていること:メタサイエンスの視点から
rmaruy
0
140
[TMLR 2026, Featured Certification] Double Bounded α-Divergence Optimization for Density Estimation
gkazunii
1
120
共生概念の整理と AIアライメントの構想
hiroakihamada
0
340
Inside the Mind of an LLM
baggiponte
0
340
AI bij literatuuronderzoek in de wetenschap
voginip
0
260
(CVPR2026) Back to Basics: Let Denoising Generative Models Denoise
shumpei777
0
350
GKE上でオセロの強化学習やってみた
akasan
0
110
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
1.1k
知能とはなにか -ヒトとAIのあいだ-
tagtag
PRO
0
190
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Building AI with AI
inesmontani
PRO
1
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
530
GraphQLとの向き合い方2022年版
quramy
50
15k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Done Done
chrislema
186
16k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Transcript
<計算可能>を素朴に考える 2022 年 11 月 16 日 1
なにをするか 計算可能でない関数を考えて,計算を試み, 「いや,やっぱり計算できないじゃん」と言う. 厳密な話はしません.なんとなく面白そうだなとか 思ってもらえると嬉しいです. 少しばかりスライドに詰め込みすぎました. 2
計算可能であるとは それを計算するための具体的な計算手順があること. 例えば以下はだめ. • 無限に計算を続ける • 気合でいい感じの数を思いつく • ラマヌジャンを用意する ちゃんとした定義は,
「それを有限のステップで計算する チューリング機械が存在すること」 . 3
計算可能じゃないって? (以下,自然数(0 含む)のみを考える. ) 「計算可能な関数」は,よく知ってるやつら. +, −, ×, π の
n 桁目の値, . . . などなど. 計算の仕方を示せば「確かに計算できますね」と言えそう. じゃあ「計算可能でない」ってどういうこと? たとえば? ためしに “計算可能でない関数” を作ってみよう. 4
“計算可能でない関数” を作る 計算可能な関数は,具体的な計算方法を備えている. 計算方法を記号列で表したとしよう(例えば英語で) . 例えば,f(x) = x + 1
の計算方法 E は E = “add one” 計算方法をアルファベット順に並べて,番号をつける. E0 , E1 , E2 , . . . これで計算可能な関数に自然数の番号がつく. f0 , f1 , f2 , . . . 5
“計算可能でない関数” を作る ここで新しい関数 g を(さっきの番号の付け方を用いて) g(x) = fx (x) +
1 とおいてみよう.何が起こるかな? 6
g は “計算可能” か? g が計算可能と仮定すると,g には番号が振られる. つまり,ある自然数 j について
g = fj. そのような自然数 j について g(j) を考えると...? g(j) = fj (j) + 1 = g(j) + 1 =⇒ 0 = 1 はい矛盾.g は計算可能ではありえない! 7
g は計算可能じゃない! わーい! 計算可能じゃなかった! 8
g は計算可能じゃない! わーい! 計算可能じゃなかった! なんかこれ 計算できそうじゃね? 9
g(x) を計算してみる 自然数 x が与えられたときに,この値を求めてみよう. 1. 有限の長さの (カンマ, ピリオド, 空白を含む)
アルファ ベット列を並べた表を作る.この表は途中まで作って, 必要に応じて適宜継ぎ足していけば OK. a, b, c, . . . , z, aa, ab, . . . , az, ba, bb, . . . , zz, aaa, aab, . . . 2. この表の頭から順に計算手順になっていないものを 除去して,x 番目の計算手順 fx を見つける. 10
g(x) を計算してみる 3. fx に x を代入して,g(x) = fx (x)
+ 1 が求まる. パッと見では計算できてそうだが...? アルファベットを使ったのが悪い? 代わりに C++ のコードでやっても同じことが起こる. 11
何がいけなかったか 1. 有限の長さのアルファベット列を並べる. a, b, c, . . . ,
z, aa, ab, . . . , az, ba, bb, . . . , zz, aaa, aab, . . . 2. 頭から順に,計算手順になっていないものを除去して x 番目の計算手順 fx を見つける. 3. x 番目の計算手順 fx に x を代入して 1 を足して, g(x) = fx (x) + 1 が計算できました. 12
何がいけなかったか 1. 有限の長さのアルファベット列を並べる. a, b, c, . . . ,
z, aa, ab, . . . , az, ba, bb, . . . , zz, aaa, aab, . . . 2. 頭から順に,計算手順になっていないものを除去して x 番目の計算手順 fx を見つける. 3. x 番目の計算手順 fx に x を代入して 1 を足して, g(x) = fx (x) + 1 が計算できました. 13
停止性問題 “計算可能である” なら,有限の手続きで答えが出る. しかし,ある計算手順が有限で終わるか機械的には 判定できない. ゆえに, 「計算可能か判定する関数」 は計算可能ではない! (有限の手順で終わることを証明するのは簡単. 有限な手順を具体的に示せばいい.
) 14
参考文献 M. Davis. 計算の理論. 岩波書店, 1966. 神保町で叩き売られてた(400 円) ,神保町サイコー. 15