空間複雜度與階層定理

量化布林公式問題(quantified boolean formula problem)

SAT,布林可滿足性問題,問的是單一個存在性問題:是否存在某種把變數指派為真/假的方式,使公式為真?TQBF 把音量整個調到最大,允許「存在」與「對所有」兩種量詞、以任意順序層層疊加。這就像「是否有一步走法奏效?」與完整策略問題「是否有一步走法,使得對每個回應都有一步走法,使得 ...?」之間的差別。正是這種存在與對所有的交錯,使 TQBF 成為典型的困難空間問題。

形式上,量化布林公式是像 Q1 x1 Q2 x2 ... Qk xk . phi 這樣的句子,其中每個 Qi 是「存在」或「對所有」,而 phi 是變數 x1...xk 上的一個普通布林公式。TQBF 是所有為真的這類句子所成的語言。你遞迴地求值:「存在 x . psi」為真,若 psi 在 x=真 或 x=假 時成立;「對所有 x . psi」為真,若 psi 在 x=真 且 x=假 時都成立。這個遞迴可以重用記憶體進行:剝掉最外層量詞,對每個值遞迴,並讓每個分支重用同一塊工作空間,於是整個求值在多項式空間內執行。

TQBF 是典範的 PSPACE 完全問題;它之於 PSPACE,正如 SAT 之於 NP。它能捕捉整個 PSPACE 的原因,是一個多項式空間計算的接受/拒絕,能恰好編碼成這種交錯量詞的可達性陳述(用 Savitch 的中點技巧把公式維持在多項式大小)。SAT 不過是只含存在量詞的 TQBF,這正是為何 SAT 屬於 NP,而 TQBF 一路上達 PSPACE。提醒:若你把量詞交錯次數封頂在一個固定常數,你不會得到整個 PSPACE,而是改為攀上多項式階層。正是「無界的交錯」賦予 TQBF 完整的 PSPACE 能力。

公式「對所有 x,存在 y,(x 或 y)」為真:無論 x 是什麼,選 y = 真 都能讓 (x 或 y) 成立。但「存在 y,對所有 x,(x 且 y)」為假:沒有單一個 y 能對 x=真 與 x=假 同時奏效,因為 x=假 會破壞 (x 且 y)。決定答案的是量詞的順序與種類,而不只是內層公式。

TQBF 問一個帶交錯存在/對所有量詞的句子是否為真;它是典範的 PSPACE 完全問題。

SAT 是只含存在量詞的 TQBF(所以 SAT 屬於 NP)。正是存在與對所有的「無界交錯」把 TQBF 抬升到完整的 PSPACE 完全;固定次數的交錯只攀上多項式階層。

又称
TQBFQBFtrue quantified boolean formulaQSAT量化布林公式