Theory of Computation
計算機概論的一個非常不實用之超級基礎概覽,因為我覺得它很酷
Content
- Theory of Computation (TOC) 是啥
- Automata Theory 自動機理論
- Complexity theory 複雜度
- Computability theory 可計算性
講師 - Suzy

計算理論?
計算理論是數學的一個領域,和電腦有密切關係。其中的理論是現代密碼協定、電腦設計和許多應用領域的基礎。該領域主要關心三個方面的問題: 採用什麼計算模型 解決哪些是可計算的、哪些是不可計算的 要用多少時間、要用多少儲存 這三方面的問題可以用一個問題來總括:「電腦的基礎能力及限制到什麼程度?」
- 維基百科
電腦可以幹嘛
電腦有做不到的事嗎
簡單來說
計算理論?
Pt I. 有限狀態機
有限狀態機
電腦系統本質上是怎麼運作的
q0
q1
q2
就是會有不同的定義
有限狀態機
舉例:假設 如果連續兩天是晴天 = 心情好
q0
q1
q2
有限狀態機
q0
q1
q2
輸入
有限狀態機
q0
q1
q2
輸入
合法的輸入
有限狀態機
q0
q1
q2
輸入
有限狀態機
q0
q1
q2
輸入
不合法的輸入
有限狀態機
Deterministic Finite Automata 確定的有限狀態機
Non- Deterministic Finite Automata 不確定的有限狀態機
Pushdown Automata 下推自動機 (?)
Turing Automata 圖靈自動機
Pt II. 計算複雜度
有人曾經寫題的時候遇到 TLE 嗎
TLE= Time limit exceeded
就是你的程式碼算太久ㄌ
(通常就是你寫的方法不是出題者想要的方法)
不過我們今天要講的不是那個
是比較大規模的東西 (?

P problems
能在 n^k 的時間中解出來的問題
例如:排序、搜尋東西等等
NP problems
能在 n^k 的時間中 「檢驗一個解答是否正確」的問題
例如:數獨、旅人問題
NP hard
P = NP ?
隨著時間發展(?),越來越多本來是 NP 的問題被歸類為 P
所以科學家想證明是否所有 NP 問題都可以被轉化為 P 問題
例: 找最大公因數 (GCD),用歐幾里得算法
NP Completeness
所有 NP 的問題都可以轉化成同一種問題
所以只要證明一個 NP=P, 就可以證明所有 NP = P
Pt III. 算不出來的東西

the halting problem
可以寫一個程式
讓它判斷任何程式碼會不會停止嗎
Nono
but why?
計算機概論之非常基礎簡介_大社1128
By Suzy Huang
計算機概論之非常基礎簡介_大社1128
- 35