可計算性理論
在電腦科學中,可計算性理論(Computability theory)作為計算理論的一個分支,研究在不同的計算模型下哪些演算法問題能夠被解決。相對應的,計算理論的另一塊主要內容,計算複雜性理論考慮一個問題怎樣才能被有效的解決。
歷史與遞迴論的聯絡
[編輯]計算模型
[編輯]圖靈機的可計算性理論
[編輯]我們考慮關於圖靈機的可計算性理論。本節中,固定字元集是{0, 1},是所有有限長度字串的集合。一個語言即是的一個子集。
一個語言L是可以被圖靈機所列舉(enumerate)的,如果存在一個圖靈機,使得輸入是L中的串時,M輸出「接受」;而對非L中的串,M輸出「拒絕」或不停機。而一個語言L'是可以被圖靈機所決定(decide)的,如果存在一個圖靈機M',使得輸入是L中的串時,M輸出「接受」;而對非L中的串,M輸出「拒絕」。注意這裡的區別在於,對於圖靈機決定的語言,我們需要在所有輸出上,該圖靈機都要停機。
可計算性等級
[編輯]這樣我們可以定義可計算性等級:所有的語言的集合,記為All;遞迴可列舉語言,即可以被圖靈機列舉的語言的集合,記為RE;遞迴語言,即可以被圖靈機決定的語言的集合,記為R。可見,即形成可計算性等級。那麼產生相關的問題即是兩個包含關係是不是嚴格的,即是否有在All而不在RE中的語言,以及在RE而不在R中的語言。阿蘭·圖靈在1930年代的工作表明這兩個包含關係都是嚴格的,即可以證明存在語言L_d,是不能被圖靈機所列舉的,以及存在語言L_u,是不能被圖靈機所決定的。證明的主要思想是對角論證法。
停機問題
[編輯]停機問題就是判斷任意一個程式是否會在有限的時間之內結束執行的問題。該問題等價於如下的判定問題:給定一個程式P和輸入w,程式P在輸入w下是否能夠最終停止。
PCP問題
[編輯]波斯特對應問題(Post's correspondence problem)。
不可解度
[編輯]不可解度的概念定義了不可解的集合之間的相對計算難度。例如,不可解的停機問題顯然比任何可解的集合都要難,然而同樣不可解的「元停機問題」(即所有具備停機問題的預言機的停機問題)卻要難過停機問題,因為具備元停機問題的預言機可以解出停機問題,然而具備停機問題的預言機卻不能解出元停機問題。