空間複雜度與階層定理

PSPACE 完全(PSPACE-complete)

正如 NP 有它最難的代表(NP 完全問題),PSPACE 也有自己的冠軍。一個問題若屬於 PSPACE,且 PSPACE 中的每個問題都歸約到它,它就是 PSPACE 完全,所以在精確意義上,它是你仍能用多項式記憶體解的最難問題。只要高效攻破單一個 PSPACE 完全問題,你就攻破了整個 PSPACE,連帶沿途的所有 NP 與 P。這些是標記多項式空間真正天花板的問題。

形式上,B 是 PSPACE 完全,若 B 屬於 PSPACE,且 PSPACE 中的每個語言 A 都以多項式時間(多一)歸約歸約到 B。旗艦範例是 TQBF,量化布林公式的真假:判定像「存在 x,對所有 y,存在 z,phi(x,y,z)」這樣的句子是否為真。它之所以 PSPACE 完全,是因為交錯的存在/對所有結構恰好鏡映出 PSPACE 機器如何能用多項式記憶體探索並驗證。一整類雙人賽局也是 PSPACE 完全:廣義地理遊戲、n 乘 n 棋盤上的廣義圍棋、Hex、黑白棋,以及推箱子等等。共同的主軸是「輪到走的玩家是否有必勝策略?」,這天然就是一串量詞(我有一步走法,使得對每個回應我都有一步走法 ...)。

PSPACE 完全問題釘住了 PSPACE 的意義,就像 SAT 釘住 NP。它們被相信嚴格地比每個 NP 問題都難(因為 PSPACE 被猜測嚴格包含 NP),但這如同本領域幾乎所有事,尚未證明。提醒:很容易把賽局誤認為只是「像 NP 一樣」,因為你能快速驗證單一條對局線;但取勝需要對對手的所有回應推理,也就是那個「對所有」量詞,正是它把這些問題推出 NP、往上送進 PSPACE。而且一如既往,PSPACE 困難比 PSPACE 完全更廣:一個 PSPACE 困難問題不必自身就落在 PSPACE 中。

廣義地理遊戲是 PSPACE 完全:兩位玩家輪流說出一個城市,每個城市須以前一個的最後一個字母開頭,且不得重複;無法移動的玩家輸。問「第一位玩家是否有必勝法?」等價於一個量化公式「存在 move1,對所有 reply1,存在 move2,...」,恰是 TQBF 的模式,所以它落在 PSPACE 完全。

雙人賽局落在 PSPACE 完全,因為取勝需要一串對走法與回應的存在/對所有量詞。

賽局並非「因為單一對局可快速檢查就屬於 NP」:取勝要對所有對手回應做量詞(一個「對所有」),正是它把這些問題抬升到 NP 之上、進入 PSPACE。PSPACE 困難也比 PSPACE 完全更廣。

又稱
PSPACE-completenesscomplete for PSPACEPSPACE 完備