間隙定理

来自testwiki
跳转到导航 跳转到搜索

計算複雜性理論間隙定理,又稱鮑羅丁-特拉赫堅布羅特間隙定理,為與可计算函数複雜度有關的重要定理。[1]

定理斷言,复杂性类的層階之間,有任意大的可計算間隙。意思是,若給定任意一個可計算函數g,表示計算資源增加一次的效果,則必能找到某個資源上限T(n),使得即使將資源上限增加一次變成g(T(n)),也無法計算更多函數。

定理由Template:Le[2]Template:Le[3][4]分別獨立證出。

雖然特拉赫堅布羅特的推導比鮑羅丁早幾年,但時值冷戰,該定理直到鮑羅丁發表後才為西方認識。

定理敍述

定理的一般形式如下:

Φ抽象(布盧姆)複雜度衡量。對任意滿足g(x)x(對所有x)的全可計算函數g,都存在嚴格單調的全可計算函數t,使得就Φ而言,以t為限的複雜性類等於以gt為限的複雜性類。

定理可由複雜度衡量需滿足的布盧姆公理證出,而無須牽涉具體的計算模型,故其適用於時間複雜度空間複雜度,或任何其他合適的複雜度衡量。

關於時間複雜度的特例,定理可更簡單複述成:

對任意滿足g(x)x(對所有x)的全可計算函數g:,都存在時限T(n),使得𝖣𝖳𝖨𝖬𝖤(g(T(n)))=𝖣𝖳𝖨𝖬𝖤(T(n)),其中DTIME表示確定性圖靈機在限時內能計算的函數的集合。

由於時限T(n)可以很大(且通常不可構),間隙定理無法推出有關複雜度類𝖯𝖭𝖯的非平凡結果,[5]也不與時間階層定理空間階層定理矛盾。[6]

證明

鮑羅丁[4]證明的關鍵是,函數t在不同自然數的取值t(n)可以逐一選取,迫使所有複雜度Φi都不能介乎tgt之間。具體而言:

  • 定義t(0)=1
  • n1,定義t(n)為最小的自然數k,使得k>t(n1),且對所有in,有Φi(n)<kΦi(n)>g(k)

首先,由於Φ滿足布盧姆公理Φi(n)<kΦi(n)>g(k)兩者皆是可判定的,故上述定義是tμ-遞歸定義,從而t為(偏)可計算函數。

然後,為驗證t是全函數,需證明在定義t(n)時,滿足條件的k存在。對每個in

  1. Φi(n)=,則Φi(n)>g(k)總成立;
  2. 否則,希望Φi(n)<k成立。

所以只要k大於Φ0(n), Φ1(n), , Φn(n)之中有限的全部數便可。故有t全可計算。

最後,由t的定義知,t遞增,且對每個i,當ni時,或有Φi(n)<t(n),或有Φi(n)>g(t(n)),故編號i的可計算函數的複雜度不能介於tgt之間。

與加速定理的比較

原始的間隙定理比上述定理更強:

Φ是一個複雜度衡量。對任意滿足g(x)x的全可計算函數g,都存在嚴格單調的全可計算函數t,令tgt限制下的程式編號集相等。

這裡的編號指的是Φ附帶的編號 (可計算性理論)

由此可見,没有程式的複雜度在tgt之間。雖然能用複雜度gt和複雜度t實現的程式的集合是一樣的,但這只對某些的充分大的t成立。因此,間隙定理與加速定理不同。[7]

誠實性定理

以不同的函數t為限,可以得到同一個複雜度類C(t)。此種t稱為該複雜度類的時間階層定理空間階層定理斷言,若限定複雜度類的名具有某種好性質(可構),則不會有太大的間隙。對抽象複雜度而言,也有類似的性質,稱為誠實性(honestness)。以具有此種性質的函數為名的複雜度類之間,並無間隙現象。[8]函數誠實是指其計算複雜度與輸入和輸出相比不太大(用詞源自「函數的值誠實反映其複雜度」)。麥克雷特(E. M. McCraight)和邁耶(A. R. Meyer)證明,以可計算函數為名的複雜度類,總能改名為誠實函數,而不改變其實質。所以,間隙定理的實際源由,是複雜度類改壞名。[9]Template:Rp

算子間隙定理

𝒫(1)表示(一元)可計算偏函數的類。映射F:𝒫(1)𝒫(1)稱為可(有效)計算算子,若存在全可計算函數S,使得Fφe=φS(e)對所有e成立。此處φe編號e的函數。若F將全函數映至全函數,則稱F保全。間隙定理可複述成:對於由Gf=gf定義的可計算保全算子G,可找到ttGt之間有間隙。Template:Le證明,同樣的結論對其他可計算保全算子也成立,即:[10]

Φ為抽象複雜度衡量,則對任意滿足Fff的可計算保全算子F,存在嚴格遞增的可計算全函數t,令以tFt為限的程式編號集相等。

參見

參考資料

Template:Reflist