computational complexity
play

Computational Complexity Lecture 9 More of the Polynomial - PowerPoint PPT Presentation

Computational Complexity Lecture 9 More of the Polynomial Hierarchy Alternation 1 PH is in terms of verification 2 PH is in terms of verification Recall kp 2 PH is in terms of verification Recall kp Languages L = {x| w 1 w


  1. ATIME Σ k TIME, Π k TIME Σ k TIME(T): languages decided by ATMs with at most k alternations starting with ∃ , in time T(n) Σ k TIME(poly) = Σ kp Latter being exactly the certificate version ATIME ATIME(T): languages decided by ATMs in time T(n) 9

  2. ATIME vs. DSPACE 10

  3. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) 10

  4. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) c.f. NTIME(T) ⊆ DSPACE(T) 10

  5. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) c.f. NTIME(T) ⊆ DSPACE(T) AP ⊆ PSPACE 10

  6. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) c.f. NTIME(T) ⊆ DSPACE(T) AP ⊆ PSPACE But PSPACE ⊆ AP 10

  7. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) c.f. NTIME(T) ⊆ DSPACE(T) AP ⊆ PSPACE But PSPACE ⊆ AP TQBF in AP (why?) 10

  8. ATIME vs. DSPACE ATIME(T) ⊆ DSPACE(T 2 ) c.f. NTIME(T) ⊆ DSPACE(T) AP ⊆ PSPACE But PSPACE ⊆ AP TQBF in AP (why?) AP = PSPACE 10

  9. ATIME(T) ⊆ DSPACE(T 2 ) 11

  10. ATIME(T) ⊆ DSPACE(T 2 ) Evaluate if the start configuration is accepting, recursively 11

  11. ATIME(T) ⊆ DSPACE(T 2 ) Evaluate if the start configuration is accepting, recursively A ∃ configuration is accepting if any child is, and a ∀ configuration is accepting if all children are 11

  12. ATIME(T) ⊆ DSPACE(T 2 ) Evaluate if the start configuration is accepting, recursively A ∃ configuration is accepting if any child is, and a ∀ configuration is accepting if all children are Space needed: depth x size of configuration 11

  13. ATIME(T) ⊆ DSPACE(T 2 ) Evaluate if the start configuration is accepting, recursively A ∃ configuration is accepting if any child is, and a ∀ configuration is accepting if all children are Space needed: depth x size of configuration Depth = # alternations = O(T). Also, size of configuration = O(T) as any thread runs for time O(T) 11

  14. ATIME(T) ⊆ DSPACE(T 2 ) Evaluate if the start configuration is accepting, recursively A ∃ configuration is accepting if any child is, and a ∀ configuration is accepting if all children are Space needed: depth x size of configuration Depth = # alternations = O(T). Also, size of configuration = O(T) as any thread runs for time O(T) O(T 2 ) 11

  15. ASPACE vs. DTIME 12

  16. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) 12

  17. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) Recall, already seen NSPACE(S) ⊆ DTIME(2 O(S) ) 12

  18. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) Recall, already seen NSPACE(S) ⊆ DTIME(2 O(S) ) Poly-time connectivity in configuration graph of size at most 2 O(S) 12

  19. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) Recall, already seen NSPACE(S) ⊆ DTIME(2 O(S) ) Poly-time connectivity in configuration graph of size at most 2 O(S) Instead of connectivity, can recursively label all accepting nodes (2 lookups per node: in poly(S) time). So ASPACE(S) ⊆ DTIME(2 O(S) ) 12

  20. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) Recall, already seen NSPACE(S) ⊆ DTIME(2 O(S) ) Poly-time connectivity in configuration graph of size at most 2 O(S) Instead of connectivity, can recursively label all accepting nodes (2 lookups per node: in poly(S) time). So ASPACE(S) ⊆ DTIME(2 O(S) ) To show DTIME(2 O(S) ) ⊆ ASPACE(S) 12

  21. DTIME(2 O(S) ) ⊆ ASPACE(S) 13

  22. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting 13

  23. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting Accept configuration, with unique first cell α (blank tape cell and unique accept state) 13

  24. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting Accept configuration, with unique first cell α (blank tape cell and unique accept state) Once there, stays there 13

  25. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting Accept configuration, with unique first cell α (blank tape cell and unique accept state) Once there, stays there Is first cell of config after t steps α 13

  26. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting Accept configuration, with unique first cell α (blank tape cell and unique accept state) Once there, stays there Is first cell of config after t steps α C(i,j,x) : if after i steps, j th cell of config is x 13

  27. DTIME(2 O(S) ) ⊆ ASPACE(S) To decide, is configuration after t steps accepting Accept configuration, with unique first cell α (blank tape cell and unique accept state) Once there, stays there Is first cell of config after t steps α C(i,j,x) : if after i steps, j th cell of config is x Need to check C(t,1, α ) 13

  28. ATM for TM simulation 14

  29. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x 14

  30. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x Recall reduction in Cook’ s theorem 14

  31. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x Recall reduction in Cook’ s theorem If C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) then C(i,j,x) iff x=F(a,b,c) 14

  32. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x Recall reduction in Cook’ s theorem If C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) then C(i,j,x) iff x=F(a,b,c) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) 14

  33. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x Recall reduction in Cook’ s theorem If C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) then C(i,j,x) iff x=F(a,b,c) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Base case: C(0,j,x) easy to check from input 14

  34. ATM for TM simulation C(i,j,x) : if after i steps, j th cell of config is x Recall reduction in Cook’ s theorem If C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) then C(i,j,x) iff x=F(a,b,c) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Base case: C(0,j,x) easy to check from input Naive recursion: Extra O(S) space at each level for 2 O(S) levels! 14

  35. ATM for TM simulation 15

  36. ATM for TM simulation ATM to check if C(i,j,x) 15

  37. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) 15

  38. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Tail-recursion (in parallel forks) 15

  39. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Tail-recursion (in parallel forks) Check x=F(a,b,c); then enter universal state, fork out for each of the three configurations to be checked 15

  40. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Tail-recursion (in parallel forks) Check x=F(a,b,c); then enter universal state, fork out for each of the three configurations to be checked Overwrite C(i,j,x) with C(i-1,...) and reuse space 15

  41. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), C(i-1,j+1,c) Tail-recursion (in parallel forks) Check x=F(a,b,c); then enter universal state, fork out for each of the three configurations to be checked Overwrite C(i,j,x) with C(i-1,...) and reuse space Stay within the same O(S) space at each level! 15

  42. ATM for TM simulation ATM to check if C(i,j,x) C(i,j,x): ∃ a,b,c st x=F(a,b,c) and C(i-1,j-1,a), C(i-1,j,b), G C(i-1,j+1,c) e t s t f h o e r A f r N e D e . c N h o e c n k e e d t s o t Tail-recursion (in parallel forks) a u c s k e . a Check x=F(a,b,c); then enter universal state, fork out for each of the three configurations to be checked Overwrite C(i,j,x) with C(i-1,...) and reuse space Stay within the same O(S) space at each level! 15

  43. ASPACE vs. DTIME 16

  44. ASPACE vs. DTIME ASPACE(S) = DTIME(2 O(S) ) 16

Recommend


More recommend