可化約性與進階不可判定性

神諭機(oracle machine)

神諭機是一台普通圖靈機,被賦予一項超能力:一位魔法顧問,它能就某個固定問題向其發問是非題,而無論那問題多難,顧問總是即刻且正確地回答。可以想成一位考試中的學生,獲准就某一特定科目打電話給一位全知的專家。學生仍得自己推理與書寫,但每當需要該科目的某個事實時,答案就憑空出現。

具體而言,B 語言的神諭機,在其一般紙帶之外,還有一條特殊的查詢帶。當它在查詢帶上寫下字串 x 並進入特殊的查詢狀態時,在單一步驟內,若 x 屬於 B 它就移到「是」狀態、否則移到「否」狀態,然後繼續計算。神諭是個黑盒子:我們不問它如何知道,即使 B 本身不可判定。這是一個思想實驗,不是可建造的裝置。它的目的,是衡量一個問題相對於另一個的難度:假如你能免費、完美地取用 B,你又能計算出什麼?

神諭機是圖靈歸約的形式骨幹:A <=T B 意指一台帶有 B 神諭的神諭機能判定 A。它們讓我們即使在不可判定之間,也能提出更精細的問題,例如:給定一個停機問題的神諭,問題 A 可解、而問題 A' 卻不可解?這種相對化計算,建起了不可計算性的層狀結構——算術階層——其中每個新神諭(停機問題,然後是「帶有停機問題神諭的機器」之停機問題,依此類推)都嚴格地觸及更高層。神諭機在複雜度理論中也是主角:相對於 NP 神諭、受多項式限制的神諭機定義了更高的類別;而相互矛盾的神諭結果(相對化)之存在,是解決 P 對 NP 的一個著名障礙。

給一台機器一個停機問題的神諭。那麼它能輕鬆判定 A_TM:要測試 M 是否接受 w,先問神諭「M 在 w 上是否停機」;若否,拒絕;若是,就把 M 在 w 上模擬到停機,並當且僅當它接受時接受。A_TM 本身不可判定,但相對於停機問題神諭則可判定。

一條查詢帶加上一位對 B 全知的是非顧問:「相對於 B 可解」背後的形式裝置。

神諭是一種理想化,不是你能真造出來的機器:它連不可判定問題都正確作答。它的存在只為衡量相對難度,而非在現實世界裡擊敗不可判定性。

又稱
oracle Turing machinemachine with an oracle預言機