QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? 11
QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? Say only x 1 , y 1 (now, that’ s more like a game): 11
QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? Say only x 1 , y 1 (now, that’ s more like a game): Strategy for Alice? Is “ ∃ x 1 ∀ y 1 φ (x 1 ,y 1 )” true? 11
QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? Say only x 1 , y 1 (now, that’ s more like a game): Strategy for Alice? Is “ ∃ x 1 ∀ y 1 φ (x 1 ,y 1 )” true? In general, winning strategy for Alice exists iff 11
QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? Say only x 1 , y 1 (now, that’ s more like a game): Strategy for Alice? Is “ ∃ x 1 ∀ y 1 φ (x 1 ,y 1 )” true? In general, winning strategy for Alice exists iff ∃ x 1 ∀ y 1 ... ∃ x n ∀ y n φ (x 1 ,y 1 ,...,x n ,y n ) is true 11
QBF game: examples Vars: x 1 , y 1 , x 2 , y 2 , x 3, y 3 . Formula: φ (x 1 ,y 1 ,x 2 ,y 1 ,x 3, y 3 ) Say, no variables for Adversary. Only x 1 Strategy for Alice? Is “ ∃ x 1 φ (x 1 )” true? Say, no variables for Alice. Only y 1 “Strategy” for Alice? Is “ ∀ y 1 φ (y 1 )” true? Say only x 1 , y 1 (now, that’ s more like a game): Strategy for Alice? Is “ ∃ x 1 ∀ y 1 φ (x 1 ,y 1 )” true? In general, winning strategy for Alice exists iff ∃ x 1 ∀ y 1 ... ∃ x n ∀ y n φ (x 1 ,y 1 ,...,x n ,y n ) is true Else adversary has a winning strategy 11
TQBF , the language 12
TQBF , the language True Quantified Boolean Formula: 12
TQBF , the language True Quantified Boolean Formula: ψ : = ∃ x 1 ∀ y 1 ... ∃ x n ∀ y n φ (x 1 ,y 1 ,...,x n ,y n ) 12
TQBF , the language True Quantified Boolean Formula: ψ : = ∃ x 1 ∀ y 1 ... ∃ x n ∀ y n φ (x 1 ,y 1 ,...,x n ,y n ) TQBF = { ψ | ψ is true} 12
TQBF , the language True Quantified Boolean Formula: ψ : = ∃ x 1 ∀ y 1 ... ∃ x n ∀ y n φ (x 1 ,y 1 ,...,x n ,y n ) TQBF = { ψ | ψ is true} e.g. ψ 1 : ∃ x ∀ y (x=y), ψ 2 : ∀ y ∃ x (x=y) 12
TQBF is in PSPACE 13
TQBF is in PSPACE When is a QBF true? 13
TQBF is in PSPACE When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) 13
TQBF is in PSPACE Game-Tree When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) ∃ b ∃ b ∀ c φ (0,0,0) φ (0,0,1) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) ∃ b ∃ b ∀ c strategy for Alice Winning if game gets here? φ (0,0,0) φ (0,0,1) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) Ask if winning strategy from each node ∃ b ∃ b ∀ c strategy for Alice Winning if game gets here? φ (0,0,0) φ (0,0,1) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) Ask if winning strategy from each node ∃ b ∃ b Yes from ∃ node if yes from either child. Yes from ∀ node if yes from both. ∀ c strategy for Alice Winning if game gets here? φ (0,0,0) φ (0,0,1) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) Ask if winning strategy from each node ∃ b ∃ b Yes from ∃ node if yes from either child. Yes from ∀ node if yes from both. ∀ c strategy for Alice Winning Naive evaluation takes exponential if game gets space (and time) here? φ (0,0,0) φ (0,0,1) 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) Ask if winning strategy from each node ∃ b ∃ b Yes from ∃ node if yes from either child. Yes from ∀ node if yes from both. ∀ c strategy for Alice Winning Naive evaluation takes exponential if game gets space (and time) here? φ (0,0,0) φ (0,0,1) Can reuse left child computation space for the right child 13
TQBF is in PSPACE Game-Tree ∃ a When is a QBF true? e.g. ∃ a,b ∀ c φ (a,b,c) Ask if winning strategy from each node ∃ b ∃ b Yes from ∃ node if yes from either child. Yes from ∀ node if yes from both. ∀ c strategy for Alice Winning Naive evaluation takes exponential if game gets space (and time) here? φ (0,0,0) φ (0,0,1) Can reuse left child computation space for the right child Space needed = O(depth) + for evaluation = poly(|QBF|) 13
TQBF is PSPACE-hard 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF Given x, output f(x) = ψ , s.t. ψ is true iff M L accepts x 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF Given x, output f(x) = ψ , s.t. ψ is true iff M L accepts x x →ψ in poly time. In particular size of ψ is poly(n) 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF Given x, output f(x) = ψ , s.t. ψ is true iff M L accepts x x →ψ in poly time. In particular size of ψ is poly(n) Note: As in Cook’ s theorem, can build an unquantified formula φ (even 3CNF) s.t. φ is true iff M L accepts x 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF Given x, output f(x) = ψ , s.t. ψ is true iff M L accepts x x →ψ in poly time. In particular size of ψ is poly(n) Note: As in Cook’ s theorem, can build an unquantified formula φ (even 3CNF) s.t. φ is true iff M L accepts x But size is poly(time bound on M L ) = exp(n) 14
TQBF is PSPACE-hard For L in PSPACE (i.e., TM M L decides L in space poly(n), or with configs of size S(n)=poly(n) ), show L ! p TQBF Given x, output f(x) = ψ , s.t. ψ is true iff M L accepts x x →ψ in poly time. In particular size of ψ is poly(n) Note: As in Cook’ s theorem, can build an unquantified formula φ (even 3CNF) s.t. φ is true iff M L accepts x But size is poly(time bound on M L ) = exp(n) Use power of quantification to write it succinctly 14
TQBF is PSPACE-hard 15
TQBF is PSPACE-hard An exponential QBF: 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) Here C i are variables whose value assignments correspond to configurations. |C i | = O(S(n)), | ψ 0 (C,C’)| = O(S(n)), T=2 O(S(n)) 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) Here C i are variables whose value assignments correspond to configurations. |C i | = O(S(n)), | ψ 0 (C,C’)| = O(S(n)), T=2 O(S(n)) ψ 0 (C,C’) is an unquantified formula (only variables being C,C’), s.t. it is true iff C evolves into C’ in one step 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) Here C i are variables whose value assignments correspond to configurations. |C i | = O(S(n)), | ψ 0 (C,C’)| = O(S(n)), T=2 O(S(n)) ψ 0 (C,C’) is an unquantified formula (only variables being C,C’), s.t. it is true iff C evolves into C’ in one step F be the (const. sized) formula to derive each bit of new config from a few bits in the previous config 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) Here C i are variables whose value assignments correspond to configurations. |C i | = O(S(n)), | ψ 0 (C,C’)| = O(S(n)), T=2 O(S(n)) ψ 0 (C,C’) is an unquantified formula (only variables being C,C’), s.t. it is true iff C evolves into C’ in one step F be the (const. sized) formula to derive each bit of new config from a few bits in the previous config Then, ψ 0 (C,C’) is ∧ j ( C’ (j) = F(C (j-c) ,...,C (j+c) ) ) 15
TQBF is PSPACE-hard An exponential QBF: ∃ C 1 C 2 ... C T ψ 0 (C start ,C 1 ) ∧ ψ 0 (C 1 ,C 2 ) ∧ ... ψ 0 (C T ,C accept ) Here C i are variables whose value assignments correspond to configurations. |C i | = O(S(n)), | ψ 0 (C,C’)| = O(S(n)), T=2 O(S(n)) ψ 0 (C,C’) is an unquantified formula (only variables being C,C’), s.t. it is true iff C evolves into C’ in one step F be the (const. sized) formula to derive each bit of new config from a few bits in the previous config Then, ψ 0 (C,C’) is ∧ j ( C’ (j) = F(C (j-c) ,...,C (j+c) ) ) | ψ 0 (C,C’)| = O(|C|) 15
TQBF is PSPACE-hard 16
TQBF is PSPACE-hard Plan for a more succinct ψ : A partially quantified boolean formula ψ i s.t. ψ i (C,C’) (fully quantified) is true iff C’ reachable from C in the configuration graph G(M L ,x) within 2 i steps. Output ψ = ψ S(n) (start,accept) 16
TQBF is PSPACE-hard Plan for a more succinct ψ : A partially quantified boolean formula ψ i s.t. ψ i (C,C’) (fully quantified) is true iff C’ reachable from C in the configuration graph G(M L ,x) within 2 i steps. Output ψ = ψ S(n) (start,accept) Base case (i=0): an unquantified formula, ψ 0 16
TQBF is PSPACE-hard Plan for a more succinct ψ : A partially quantified boolean formula ψ i s.t. ψ i (C,C’) (fully quantified) is true iff C’ reachable from C in the configuration graph G(M L ,x) within 2 i steps. Output ψ = ψ S(n) (start,accept) Base case (i=0): an unquantified formula, ψ 0 ψ i+1 (C,C’) := ∃ C’’ ψ i (C,C’’) ∧ ψ i (C’’,C’) 16
Recommend
More recommend