computational complexity
play

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

Computational Complexity Lecture 8 More of the Polynomial Hierarchy Oracle-based Definition 1 Recall PH { x | u 1 u 2 u 3 F( x ,u 1 ,u 2 ,u 3 )} { x | u 1 u 2 u 3 F( x ,u 1 ,u 2 ,u 3 )} 3P 3P { x | u 1 u 2


  1. Computational Complexity Lecture 8 More of the Polynomial Hierarchy Oracle-based Definition 1

  2. Recall PH { x | ∃ u 1 ∀ u 2 ∃ u 3 F( x ,u 1 ,u 2 ,u 3 )} { x | ∀ u 1 ∃ u 2 ∀ u 3 F( x ,u 1 ,u 2 ,u 3 )} Σ 3P Π 3P { x | ∃ u 1 ∀ u 2 F( x ,u 1 ,u 2 )} { x | ∀ u 1 ∃ u 2 F( x ,u 1 ,u 2 )} Σ 2P Π 2P coNP NP { x | ∃ u 1 F( x ,u 1 )} { x | ∀ u 1 F( x ,u 1 )} P { x |F( x )} 2

  3. Oracle Machines 3

  4. Oracle Machines Recall Oracle Machine 3

  5. Oracle Machines Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape 3

  6. Oracle Machines Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle 3

  7. Oracle Machines Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior 3

  8. Oracle Machines Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior Language oracle: answer is a single bit 3

  9. Oracle Machines Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior Language oracle: answer is a single bit This is what we consider 3

  10. Oracle Machines (ctd.) 4

  11. Oracle Machines (ctd.) Non-deterministic oracle machine 4

  12. Oracle Machines (ctd.) Non-deterministic oracle machine Can make non-deterministic choices and make oracle queries. (Note: oracles are deterministic!) 4

  13. Oracle Machines (ctd.) Non-deterministic oracle machine Can make non-deterministic choices and make oracle queries. (Note: oracles are deterministic!) Said to accept if any thread reaches accept state 4

  14. Oracle Machines (ctd.) Non-deterministic oracle machine Can make non-deterministic choices and make oracle queries. (Note: oracles are deterministic!) Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices) 4

  15. Oracle Machines (ctd.) Non-deterministic oracle machine Can make non-deterministic choices and make oracle queries. (Note: oracles are deterministic!) Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices) Said to accept x if ∃ w such that (x,w) takes it to accepting state 4

  16. Oracle Machines (ctd.) co- Non-deterministic oracle machine ^ Can make non-deterministic choices and make oracle queries. (Note: oracles are deterministic!) all threads reach Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices) ∀ w Said to accept x if ∃ w such that (x,w) takes it to accepting state 5

  17. NP A 6

  18. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time 6

  19. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form 6

  20. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} 6

  21. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} where M deterministic oracle machine 6

  22. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} where M deterministic oracle machine M A runs in poly(|x|) time and |w|=poly(|x|) 6

  23. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} where M deterministic oracle machine M A runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃ w (x,w) ∈ L}, where L in P A 6

  24. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} where M deterministic oracle machine M A runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃ w (x,w) ∈ L}, where L in P A co-(NP A ) = (co-NP) A 6

  25. NP A NP A : class of languages accepted by oracle NTMs with oracle for A in poly time Certificate version: NP A has languages of the form B = {x | ∃ w M A (x,w) = 1} where M deterministic oracle machine M A runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃ w (x,w) ∈ L}, where L in P A co-(NP A ) = (co-NP) A languages of the form {x | ∀ w (x,w) ∈ L}, where L in P A 6

  26. NP A 7

  27. NP A If A in P, NP A = NP 7

  28. NP A If A in P, NP A = NP Can “implement” the oracle as a subroutine 7

  29. NP A If A in P, NP A = NP Can “implement” the oracle as a subroutine If A in NP? 7

  30. NP A If A in P, NP A = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for A c too! NP A = NP A c 7

  31. NP A If A in P, NP A = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for A c too! NP A = NP A c NP ∪ co-NP ⊆ NP SAT 7

  32. NP A If A in P, NP A = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for A c too! NP A = NP A c NP ∪ co-NP ⊆ NP SAT Can we better characterize NP SAT ? 7

  33. NP NP and relatives 8

  34. NP NP and relatives NP SAT = ∪ A ∈ NP NP A 8

  35. NP NP and relatives NP SAT = ∪ A ∈ NP NP A Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) 8

  36. NP NP and relatives NP SAT = ∪ A ∈ NP NP A Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NP SAT also called NP NP 8

  37. NP NP and relatives NP SAT = ∪ A ∈ NP NP A Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NP SAT also called NP NP NP Σ k = ∪ A ∈ Σ k NP A = NP Σ k SAT 8

  38. NP NP and relatives NP SAT = ∪ A ∈ NP NP A Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NP SAT also called NP NP NP Σ k = ∪ A ∈ Σ k NP A = NP Σ k SAT Will show NP Σ k = Σ k+1P (alt. definition for Σ k+1P ) 8

  39. NP NP and relatives NP SAT = ∪ A ∈ NP NP A Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NP SAT also called NP NP NP Σ k = ∪ A ∈ Σ k NP A = NP Σ k SAT Will show NP Σ k = Σ k+1P (alt. definition for Σ k+1P ) In particular, NP NP = Σ 2P 8

  40. Σ k+1 = NP Σ k 9

  41. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P 9

  42. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P L = { x| ∃ w (x,w) ∈ L ’}, where L ’ in Π kP 9

  43. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P L = { x| ∃ w (x,w) ∈ L ’}, where L ’ in Π kP So L in NP L ’ where L ’ in Π kP 9

  44. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P L = { x| ∃ w (x,w) ∈ L ’}, where L ’ in Π kP So L in NP L ’ where L ’ in Π kP So NP L ’ ⊆ NP Π k = NP Σ k 9

  45. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P L = { x| ∃ w (x,w) ∈ L ’}, where L ’ in Π kP So L in NP L ’ where L ’ in Π kP So NP L ’ ⊆ NP Π k = NP Σ k So Σ k+1P ⊆ NP Σ k 9

  46. Σ k+1 = NP Σ k Consider L ∈ Σ k+1P L = { x| ∃ w (x,w) ∈ L ’}, where L ’ in Π kP So L in NP L ’ where L ’ in Π kP So NP L ’ ⊆ NP Π k = NP Σ k So Σ k+1P ⊆ NP Σ k Now to show NP Σ k ⊆ Σ k+1P 9

  47. NP Σ k ⊆ Σ k+1 10

  48. NP Σ k ⊆ Σ k+1 To show NP A ⊆ Σ k+1P if A in Σ kP 10

  49. NP Σ k ⊆ Σ k+1 To show NP A ⊆ Σ k+1P if A in Σ kP For B ∈ NP A poly-time TM M s.t. B = { x| ∃ w M A (x,w)=1} 10

  50. NP Σ k ⊆ Σ k+1 To show NP A ⊆ Σ k+1P if A in Σ kP For B ∈ NP A poly-time TM M s.t. B = { x| ∃ w M A (x,w)=1} i.e., B = { x| ∃ w ∃ ans M <ans> (x,w)=1 and “ans correct”} 10

  51. NP Σ k ⊆ Σ k+1 To show NP A ⊆ Σ k+1P if A in Σ kP For B ∈ NP A poly-time TM M s.t. B = { x| ∃ w M A (x,w)=1} i.e., B = { x| ∃ w ∃ ans M <ans> (x,w)=1 and “ans correct”} To show C = {(x,w,ans) | M <ans> (x,w)=1 and “ans correct”} in Σ k+1P 10

  52. NP Σ k ⊆ Σ k+1 To show NP A ⊆ Σ k+1P if A in Σ kP For B ∈ NP A poly-time TM M s.t. B = { x| ∃ w M A (x,w)=1} i.e., B = { x| ∃ w ∃ ans M <ans> (x,w)=1 and “ans correct”} To show C = {(x,w,ans) | M <ans> (x,w)=1 and “ans correct”} in Σ k+1P Then B also in Σ k+1P 10

  53. NP Σ k ⊆ Σ k+1 11

  54. NP Σ k ⊆ Σ k+1 To show C = {(x,w,ans) | M <ans> (x,w)=1 and “ans correct”} in Σ k+1P 11

Recommend


More recommend