1 / 50

CS151 Complexity Theory

CS151 Complexity Theory. Lecture 3 April 6, 2004. Introduction. A motivating question: Can computers replace mathematicians? L = { (x, 1 k ) : statement x has a proof of length at most k }. Introduction. This lecture: nondeterminism nondeterministic time classes

sun
Download Presentation

CS151 Complexity Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS151Complexity Theory Lecture 3 April 6, 2004

  2. Introduction A motivating question: • Can computers replace mathematicians? L = { (x, 1k) : statement x has a proof of length at most k } CS151 Lecture 3

  3. Introduction • This lecture: • nondeterminism • nondeterministic time classes • NP, NP-completeness, P vs. NP • coNP • NTIME Hierarchy • Ladner’s Theorem CS151 Lecture 3

  4. Nondeterminism • Recall deterministic TM • Q finite set of states • ∑ alphabet including blank: “_” • qstart, qaccept, qreject in Q • transition function: δ : Q x ∑  Q x ∑ x {L, R, -} CS151 Lecture 3

  5. Nondeterminism • nondeterministic Turing Machine: • Q finite set of states • ∑ alphabet including blank: “_” • qstart, qaccept, qreject in Q • transition relation ∆ (Q x ∑) x (Q x ∑ x {L, R, -}) • given current state and symbol scanned, several choices of what to do next. CS151 Lecture 3

  6. Nondeterminism • deterministic TM: given current configuration, unique next configuration qstartx1x2x3…xn qstartx1x2x3…xn x L x  L qaccept qreject • nondeterministic TM: given current configuration, several possible next configurations CS151 Lecture 3

  7. Nondeterminism qstartx1x2x3…xn qstartx1x2x3…xn • asymmetric accept/reject criterion “computation path” x  L x  L “guess” qaccept qreject CS151 Lecture 3

  8. Nondeterminism • all paths terminate • time used: maximum length of paths from root • space used: maximum # of work tape squares touched on any path from root CS151 Lecture 3

  9. Nondeterminism • NTIME(f(n)) = languages decidable by a multi-tape NTM that runs for at most f(n) steps on any computation path, where n is the input length, and f :N N • NSPACE(f(n))= languages decidable by a multi-tape NTM that touches at most f(n) squares of its work tapes along any computation path, where n is the input length, and f :N N CS151 Lecture 3

  10. Nondeterminism • Focus on time classes first: NP = kNTIME(nk) NEXP = kNTIME(2nk) CS151 Lecture 3

  11. Poly-time verifiers “witness” or “certificate” Very useful alternate definition of NP: Theorem: language L is in NP if and only if it is expressible as: L = { x |  y, |y| ≤ |x|k, (x, y)  R } where R is a language in P. • poly-time TM MR deciding R is a “verifier” efficiently verifiable CS151 Lecture 3

  12. Poly-time verifiers • Example: 3SAT expressible as 3SAT = {φ : φ is a 3-CNF formula for which  assignment A for which (φ, A)  R} R = {(φ, A) : A is a sat. assign. for φ} • satisfying assignment A is a “witness” of the satisfiability of φ (it “certifies” satisfiability of φ) • R is decidable in poly-time CS151 Lecture 3

  13. Poly-time verifiers L = { x |  y, |y| ≤ |x|k, (x, y)  R } Proof: () give poly-time NTM deciding L phase 1: “guess” y with |x|k nondeterministic steps phase 2: decide if (x, y)  R CS151 Lecture 3

  14. Poly-time verifiers Proof: () given L  NP, describe L as: L = { x |  y, |y| ≤ |x|k, (x, y)  R } • L is decided by NTM M running in time nk • define the language R = { (x, y) : y is an accepting computation history of M on input x} • check: accepting history has length ≤ |x|k • check: R is decidable in polynomial time • check: M accepts x iff y, |y| ≤ |x|k, (x, y)  R CS151 Lecture 3

  15. Why NP? problem requirements object we are seeking • not a realistic model of computation • but, captures important computational feature of many problems: exhaustive search works • contains huge number of natural, practical problems • many problems have form: L = { x |  y s.t. (x, y)  R } efficient test: does y meet requirements? CS151 Lecture 3

  16. Why NP? • Why not EXP? • too strong! • important problems not complete. CS151 Lecture 3

  17. Relationships between classes • Easy: P  NP, EXP  NEXP • TM special case of NTM • Recall: L  NP iff expressible as L = { x |  y, |y| ≤ |x|k, (x, y)  R } • NP  PSPACE(try all possible y) • The central question: P = NP recognizing a solution vs. finding a solution ? CS151 Lecture 3

  18. NP-completeness • Circuit SAT: given a Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1? Theorem: Circuit SAT is NP-complete. • Proof: • clearly in NP CS151 Lecture 3

  19. NP-completeness • Given L  NP of form L = { x |  y s.t. (x, y)  R } x1 x2 … xn y1 y2 … ym 1 iff (x,y)  R CVAL reduction for R • hardwire input x; leave y as variables CS151 Lecture 3

  20. NEXP-completeness • Succinct Circuit SAT: given a succinctly encoded Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1? Theorem: Succinct Circuit SAT is NEXP-complete. • Proof: • same trick as for Succinct CVAL EXP-complete. CS151 Lecture 3

  21. Complement classes • In general, if C is a complexity class • co-C is the complement class, containing all complements of languages in C • L  C implies (* - L)  co-C • (* - L) C implies L  co-C • Some classes closed under complement: • e.g. co-P = P CS151 Lecture 3

  22. coNP • Is NP closed under complement? x  L Can we transform this machine: x  L x  L x  L qaccept qreject into this machine? qaccept qreject CS151 Lecture 3

  23. coNP • “proof system” interpretation: • Recall: L  NP iff expressible as L = { x |  y, |y| ≤ |x|k, (x, y)  R } “proof verifier” “proof” • languages in NP have “short proofs” • coNP captures (in its complete problems) problems least likely to have “short proofs”. • e.g., UNSAT is coNP-complete CS151 Lecture 3

  24. coNP • P = NP implies NP = coNP • Belief: NP ≠ coNP • another major open problem CS151 Lecture 3

  25. NTIME Hierarchy Theorem Theorem (Nondeterministic Time Hierarchy Theorem): For every proper complexity function f(n) ≥ n, and g(n) = ω(f(n+1)), NTIME(f(n)) NTIME(g(n)). CS151 Lecture 3

  26. NTIME Hierarchy Theorem inputs Proof attempt #1: (what’s wrong?) Y Turing Machines n (M, x): does NTM M accept x in f(n) steps? Y n n Y n Hf’ : n Y n Y Y n Y CS151 Lecture 3

  27. NTIME Hierarchy Theorem • Let t(n) be large enough so that can decide if NTM M running in time f(n) accepts 1n,in time t(n). I’m respon-sible for dealing with NTM Mi (because I can!) 1n 1t(n) . . . M1 y n y ? ? ? ? ... ... Mi-1 n y n ? ? ? ? Mi n y y ? ? ? ? . . . D : CS151 Lecture 3

  28. NTIME Hierarchy Theorem • Enough time on input 1t(n) to do the opposite of Mi(1n): 1n 1t(n) . . . Mi y ? ? ? ? . . . D : n CS151 Lecture 3

  29. NTIME Hierarchy Theorem • For k in [n…t(n)] can to do same as Mi(1k+1) on input 1k 1n 1t(n) . . . Mi y ? ? ? ? . . . D : n CS151 Lecture 3

  30. NTIME Hierarchy Theorem • Did we diagonalize against Mi? • if Mi simulates D then: • equality along all arrows. • contradiction. 1n 1t(n) . . . Mi y ? ? ? ? . . . D : n CS151 Lecture 3

  31. NTIME Hierarchy Theorem • General scheme: • interval [1...t(1)] kills M1 • interval [t(1)…t(t(1))] kills M2 • interval [ti-1(1)…ti(1)] kills Mi • Running time of D on 1n: f(n+1) + time to compute interval containing n • conclude D in NTIME(g(n)) CS151 Lecture 3

  32. Ladner’s Theorem • Assuming P ≠ NP, what does the world (inside NP) look like? NP: NP: NPC NPC P P CS151 Lecture 3

  33. Ladner’s Theorem Theorem (Ladner): If P ≠ NP, then there exists L  NP that is neither in P nor NP-complete. • Proof: “lazy diagonalization” • deal with similar problem as in NTIME Hierarchy proof CS151 Lecture 3

  34. Ladner’s Theorem • Can enumerate (TMs deciding) all languages in P. • enumerate TMs so that each machine appears infinitely often • add clock to Mi so that it runs in at most ni steps CS151 Lecture 3

  35. Ladner’s Theorem • Can enumerate (TMs deciding) all NP-complete languages. • enumerate TMs fi computing all polynomial-time functions • machine Ni decides language SAT reduces to via fi if fi is reduction, else SAT (details omitted…) CS151 Lecture 3

  36. Ladner’s Theorem • Our goal: L  NP that is neither in P nor NP-complete Mi : : M0 L inputs N0 : : Ni CS151 Lecture 3

  37. Ladner’s Theorem • Top half, assuming P ≠ NP: • focus on Mi • for any x, can always find some z ≥ x on which Mi and SAT differ (why?) Mi : : M0 SAT input x input z CS151 Lecture 3

  38. Ladner’s Theorem • Bottom half, assuming P ≠ NP: TRIV = Σ* input z • focus on Ni • for any x, can always find some z ≥ x on which Ni and SAT differ (why?) input x TRIV N0 : : Ni CS151 Lecture 3

  39. Ladner’s Theorem • Try to “merge”: • on input x, either • answer SAT(x) • answer TRIV(x) • if candecide which one in P, L  NP Mi SAT TRIV : : M0 ≠ ≠ . . . L ≠ ≠ N0 : : Ni CS151 Lecture 3

  40. Ladner’s Theorem • General scheme: f(n) slowly increasing function • f(|x|) even: answer SAT(x) • f(|x|) odd: answer TRIV(x) • notice choice only depends on length of input… that’s OK SAT . . . L TRIV f(|x|) 0 0 0 1 1 1 2 2 2 2 . . . CS151 Lecture 3

  41. Ladner’s Theorem • 1st attempt to define f(n) • “eager f(n)”: increase at 1st opportunity • Inductive definition: f(0) = 0; f(n) = • if f(n-1) = 2i, trying to kill Mi • if  z < 1n s.t. Mi(z) ≠ SAT(z), then f(n) = f(n-1) + 1; else f(n) = f(n-1) • if f(n-1) = 2i+1, trying to kill Ni • if  z < 1n s.t. Ni(z) ≠ TRIV(z), then f(n) = f(n-1) + 1; else f(n) = f(n-1) CS151 Lecture 3

  42. Ladner’s Theorem • Problem: eager f(n) too difficult to compute • on input of length n, • look at all strings z of length < n • compute SAT(z) or Ni(z) for each ! • Solution: “lazy” f(n) • on input of length n, only run for 2n steps • if enough time to see should increase (over f(n-1)), do it; else, stay same • (alternate proof: give explicit f(n) that grows slowly enough…) CS151 Lecture 3

  43. Ladner’s Theorem • I’m sup-posed to ensure Mi is killed • I finally have enough time to check input z • I notice z did the job, increase f to k+1 • Key: n eventually large enough to notice completed previous stage Mi ≠ . . . . . . L . . . . . . f(|x|) 0 0 1 1 k k k input z < x input x suppose k = 2i CS151 Lecture 3

  44. Ladner’s Theorem • Inductive definition of f(n) • f(0) = 0 • f(n): for n steps compute f(0), f(1), f(2),… . . . . . . L . . . . . . f 0 0 1 1 k k k got this far in n steps input x, |x| = n CS151 Lecture 3

  45. Ladner’s Theorem • if k = 2i: • for n steps try (lex order) to find z s.t. SAT(z) ≠ Mi(z) and f(|z|) even • if found, f(n) = f(n-1)+1 else f(n-1) • if k = 2i + 1: • for n steps try (lex order) to find z s.t. TRIV(z) ≠ Ni(z) and f(|z|) odd • if found, f(n) = f(n-1)+1 else f(n-1) CS151 Lecture 3

  46. Ladner’s Theorem • Finishing up: L = { x | x  SAT if f(|x|) even, x  TRIV if f(|x|) odd } • L  NP since f(|x|) can be computed in O(n) time CS151 Lecture 3

  47. Ladner’s Theorem • suppose Mi decides L • f gets stuck at 2i • L  SAT for z : |z| > no • implies SAT  P. Contradiction. • suppose Ni decides L • f gets stuck at 2i+1 • L  TRIV for z : |z| > no • implies L(Ni)  P. Contradiction. • (last of diagonalization…) CS151 Lecture 3

  48. Summary • nondeterminism • nondeterministic time classes: NP, coNP, NEXP • NTIME Hierarchy Theorem: NP ≠ NEXP • major open questions: P = NPNP = coNP ? ? CS151 Lecture 3

  49. Summary • NP-“intermediate” problems • technique: delayed diagonalization • complete problems: • circuit SAT is NP-complete • UNSAT is coNP-complete • succinct circuit SAT is NEXP-complete CS151 Lecture 3

  50. Summary coNEXP NEXP EXP PSPACE coNP NP P L CS151 Lecture 3

More Related