圖靈機模型的穩健性(robustness)
假設你寫下摺紙鶴的步驟,然後測試:改用較厚的紙、在桌上摺而不是在腿上摺、用兩隻手而不是一隻手,這些會不會改變你能摺出的形狀。若這些調整都沒讓你摺出任何真正新的東西,你會說「摺紙」這個基本動作是穩健的:細節對「能不能做到」毫無影響。圖靈機模型的穩健性(robustness)正是同一個觀察。你可以給機器添上各式各樣的裝飾,但它能識別的語言類別始終不變。
具體而言,基本的單帶圖靈機與一長串變體,識別的語言完全相同(即圖靈可識別的語言),判定的語言也完全相同(即可判定的語言)。這些變體包括:多條帶;非確定型轉移函數;雙向無窮(而非只向右無窮)的帶;單帶上的多個讀寫頭;多軌道;讀寫頭多出一個「原地不動」選項;固定地擴大紙帶字母表;以及枚舉一個語言(而非測試成員)的枚舉器。每一項都透過模擬被證明等價:你展示一台樸素的機器如何一步步模仿那台花俏的機器。在所有這些改變之下,可計算函數的類別都保持不變。
穩健性之所以重要,是因為它告訴我們「圖靈可計算」是一個穩定而自然的概念,而非某個特定設計的偶然產物。若每當有人加一條帶或一個讀寫頭、答案就變一次,這個模型就只是個趣聞,而不是「計算」的定義。這份穩定性是邱奇-圖靈論題最強的內部證據,也正是它授權複雜度理論在多項式範圍內定義 P 這類類別而不必斤斤計較確切機型的原因——因為這些標準變體之間的慢化只有多項式。
教科書透過把雙向無窮帶摺到單向帶的兩條軌道上,證明單向無窮帶與雙向無窮帶等價:位置 -1、-2、-3 變成位置 0、1、2 旁的第二條軌道。語言相同,只是機器稍微繁複一點。
典型的穩健性證明:在樸素模型上一軌一軌地模擬較豐富的模型。
穩健性談的是「能算什麼」,而非「多快」。許多變體在時間上是多項式等價,但非確定性目前只知道能以指數慢化來模擬,所以「相同語言」不等於「相同速度」。