不可判定性與停機問題

通用接受語言 A_TM(universal acceptance language)

A_TM 是可計算性理論的核心物件:所有「機器接受該輸入」的 (機器, 輸入) 對所成的集合。把它想成那個通用問句:「這個程式,在這份資料上,最終會說『是』嗎?」幾乎每個關於程式的有趣問題都能改寫成 A_TM 的成員問題,這也是它居於本學科核心的原因。形式上 A_TM =((M, w) 的編碼:M 是一台圖靈機且 M 接受 w)。

讓 A_TM 運轉的關鍵是:它可識別但不可判定,而那個識別器是單一一台通用圖靈機 U。要測試 (M, w) 是否在 A_TM 中,U 只要逐步模擬 M 在 w 上的執行,就像直譯器執行原始碼一樣。若 M 接受 w,U 最終會看到接受並說「是」;若 M 拒絕 w,U 會看到拒絕並說「否」。問題出在第三種情況:若 M 在 w 上永遠迴圈,那 U 也會永遠跑下去,永遠得不到判決。所以 U 識別 A_TM(恰在答案為「是」時停機並接受),但它不是判定器(答案為「否」時它可能永遠跑下去)。

這是「可識別」與「可判定」之間落差最乾淨的例證。A_TM 是圖靈可識別的,因為識別器被允許在「語言之外」的字串上迴圈;它只需在「語言之內」的字串上停機並接受。A_TM 不是圖靈可判定的(下一條會證明),因為判定器必須總是停機並給出正確的「是」或「否」,而那等於解開一個與停機等價的問題。A_TM 與停機問題本質上是同一個不可能性的兩個面向。

令 M 是「字串含偶數個 1 才接受」的機器。那麼 (M, 1010) 在 A_TM 中(兩個 1,被接受),而 (M, 111) 不在(三個 1,被拒絕)。通用機 U 透過模擬 M 來判斷這些;只有當 M 自己迴圈時,U 才會迴圈。

A_TM =((M, w):M 接受 w):可被通用機識別,但不可判定。

接受與停機是不同的判決:機器可以「以拒絕的方式停機」。A_TM 專問是否「接受」;相關的集合 HALT 只問是否「停機」(接受或拒絕),兩者都不可判定。

又称
A_TMthe acceptance problem for Turing machines通用語言 A_TM圖靈機接受問題