1 / 18

P and NP

P and NP. Sipser 7.2-7.3 (pages 256-270). Polynomial time. P =∪ k TIME(n k ) …. TIME(n 3 ). TIME(n 2 ). TIME(n ). “ P ractical” problems. If n = 100 n 3 = 1 billion 2 n > #atoms in the universe

reid
Download Presentation

P and NP

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. P and NP Sipser 7.2-7.3 (pages 256-270)

  2. Polynomial time P =∪kTIME(nk) … TIME(n3) TIME(n2) TIME(n)

  3. “Practical” problems • If n = 100 • n3 = 1 billion • 2n > #atoms in the universe • Polynomial time is generally considered “practical” for a computer • P is the class of “solvable” or “tractable” problems

  4. How many tapes? • Definition 7.12: P is the class of languages that are decidable in polynomial time by a deterministic single-tape Turing machine. • But remember… we can convert from single-tape to multi-tape! • What was the time complexity conversion?

  5. Polynomially equivalent models 0 1 0 1 0 ⨆ M a a a ⨆ b a ⨆ S 0 # 1 0 1 0 # a a a # b a # ⨆

  6. Finding your way • PATH = {<G,s,t>|∃ directed s to t path in G} s t

  7. PATH ∈ P • M = "On input <G,s,t>: • Place a mark on node s. • Repeat until no additional nodes are marked: • Scan all edges of G. If (a,b) found from marked node to unmarked node, mark b. • If t is marked, accept. Otherwise, reject.

  8. Hamiltonian paths • HAMPATH = {<G,s,t> | ∃ Hamiltonian path from s to t} s t

  9. Hamiltonian paths • HAMPATH = {<G,s,t> | ∃ Hamiltonian path from s to t} s t

  10. Checking for Hamiltonian paths • Brute force method • E = "On input <G,s,t>: • Generate all orderings, p1, p2,..., pn, of the nodes of G • Check whether s = p1and t = pn • For eachi=1to n-1, check whether (pi, pi+1) is an edge of G. If any are not, reject. Otherwise, accept.”

  11. Guessing a solution • N = "On input <G,s,t>: • Guess an orderings, p1, p2,..., pn, of the nodes of G • Check whether s = p1 and t = pn • For each i=1 to n-1, check whether (pi, pi+1) is an edge of G. If any are not, reject. Otherwise, accept.”

  12. Nondeterministic time complexity • Definition 7.9: LetNbe a NTM. The running time of N is a functionf: N → N, where f(n) is the maximum number of steps thatNuses on any branch of its computation on any input of length n Nondeterministic Deterministic f(n) f(n) f(n)

  13. Nondeterministic time complexity classes • Definition 7.21: NTIME(t(n)) = {L | L is decided in O(t(n)) time by an NTM}

  14. Verifiers • Definition 7.18: • A verifier for a language A is an algorithm V, where A = {w | V accepts <w,c> for some string c} • A polynomial time verifier runs in polynomial time in the length of w • A language A is polynomially verifiable if it has a polynomial time verifier

  15. The class NP • Definition 7.19: NP is the class of languages that have polynomial time verifiers

  16. Nondeterminism and verifiers • Theorem 7.20: A language is in NP iff it is decided by some nondeterministic polynomial time Turing machine • Corollary 7.19: NP = ∪kNTIME(nk)

  17. The classes P and NP NP =∪kNTIME(nk) P =∪kTIME(nk)

  18. The big question: P = NP? P ⊆ NP ⊆ PSPACE = NPSPACE ⊆ EXPTIME proper containment

More Related