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
チューリング完全とは
Search
まりも
September 24, 2024
Programming
980
14
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
チューリング完全とは
チューリング完全という概念があり、プログラミングの常識の大前提になるものですが、あまり理解はされず、意識もされていません。少し言語化してみます。
まりも
September 24, 2024
Transcript
19 slides
チューリング完全とは
チューリング完全 ある計算のメカニズムが万能チュー リングマシンと同じ計算能力をもつこ と。 •出典:Wikipedia
完全チューリングマシン 1936年にアラン・チューリングが提示した計算機械。 現在のノイマン型コンピュータとは別設計。 あるプログラムが無限ループするかどうかを判定するプログラムが書けないことが数 学的に証明されたことで有名。
コンピューターの歴史 最初のコンピューターが稼 働したのは1946年
何のために考案されたのか 数学の重要な問 題を解くため
計算可能とは? 同じ計算可能性を持つ • 帰納的関数 • ラムダ計算 • チューリングマシン • ノイマン型コンピュータ
• 他いろいろ
ゲーデルの不完全性定理 • 初等的な自然数論を含むω無矛盾な公理的理論{¥displaystyle T}Tは不完全で ある,つまりそこで証明も反証もされない命題(決定不能命題(undecidable proposition),あるいは独立命題)が存在する 第一不完全性定理 • 初等的な自然数論を含む理論{¥displaystyle T}Tが無矛盾ならば,{¥displaystyle
T}Tの無矛盾性を表す命題 Con({¥displaystyle T}T) がその体系で証明できない 第二不完全性定理
停止性問題とは 自然数論と同等の計算可能性 を持つ万能チューリンググマシ ンでの、不完全性定理の別解
計算可能とは? 同じ計算可能性を持つ • 帰納的関数 • ラムダ計算 • チューリングマシン • ノイマン型コンピュータ
• 他いろいろ
計算可能性が考慮しないこと 以下は考慮しない • 入力 • 出力 • 計算時間 • メモリ量など
• 可読性 • 開発エコシステム
計算可能性が同じであることは数学的に証明される • 言語2でできることはすべて言語1で書き換えられることが証明さ れている。 言語1 • 言語1でできることがすべて言語2で書き換えられることが証明さ れている。 言語2
数学的証明の例 C言語 C言語から whileだけ 使えなくし たプログラ ム言語 whileをすべてif とgotoで書き換 えれば、すべて
のプログラムは 書ける whileを使わなけ ればよい
チューリング完全 ある計算のメカニズムが万能チュー リングマシンと同じ計算能力をもつこ と。 •出典:Wikipedia
チャーチ・チューリングのテーゼ •「計算できる関数」という直観的な概念を、 帰納的関数と呼ばれる数論的関数のク ラスと同一視しようという主張である。 チャーチ・チューリングのテーゼ
チューリング完全なもの 自然数論 ラムダ演算 万能チューリン グマシン ほとんどのプロ グラミング言語 C Java SQL
アセンブ リ言語 他 ほかいろいろ C++テン プレート X86の mov命令 HTML + CSS 解析機関
C++テンプレートはチューリング完全 こんなことが可能なライ ブラリが実装可能である ことが証明されている •コンパイル時に演算 •実行時の計算量は0 #include <fstream> using namespace
std; int main() { // 中心(10,10,10)で半径5の球、 // 頂点(20,20,20)を持ち一辺10を持つ立方体を、 // レイトレーシングした画像を出力する。 ofstream("image.jpg") << Calculate< Sphere<10, 10, 10, 5>, Cube<20, 20, 20, 10>>::DATA; }
最新のSQLはチューリング完全 PL/SQLとかじゃなくてSQLのみの話 レイトレーシングでも物理演算でもなんでも可能 人間に書けるとは言ってない 実行時間やメモリ量が現実的で済むとも言ってない
意味 あるプログラミング言語で計算 できることは、他のプログラミン グ言語でも必ず計算できる。
ただし 以下は考慮しない • 入力 • 出力 • 計算時間 • メモリ量など
• 可読性 • 開発エコシステム
More Decks by まりも
See All by まりも
AI駆動TDD ― 2026年10月版
hrmstrsmgs
0
64
オブジェクトモデルと関係モデルの設計
hrmstrsmgs
0
68
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
1
450
技術的負債
hrmstrsmgs
1
490
よい設計のプログラムを作るには
hrmstrsmgs
0
140
歴史から理解するJavaScript
hrmstrsmgs
0
120
論理的な考え方
hrmstrsmgs
0
130
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
89
腕のある技術者はなぜ
hrmstrsmgs
0
180
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
290
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
オーケストレーション記述言語 Katari
yukikurage
0
250
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
Event is what happens
moro
2
4.6k
LLM 101
dalinaum
0
480
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
SODA - FACT BOOK(EN)
sodainc
1
230
Crash Auto Pipelines
veronikapj
1
410
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
140
Next.js: The final boss of Web Performance
guaca
0
400
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
290
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
380
Test your architecture with Archunit
thirion
2
2.5k
From π to Pie charts
rasagy
1
440
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
300
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
790
A Tale of Four Properties
chriscoyier
163
24k
Balancing Empowerment & Direction
lara
6
1.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
69k