1 / 49

Computational Complexity Problems: Understanding P vs NP and Beyond

Dive into key computational complexity challenges, exploring P vs NP, NP-complete problems, and more. Learn about Hamiltonian cycles, spanning trees, linear programming, and the significance of NP-intersect-co-NP.

tmeagan
Download Presentation

Computational Complexity Problems: Understanding P vs NP and Beyond

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. Lecture 2-2 NP Class

  2. P = ? NP = ? PSPACE • They are central problems in computational complexity.

  3. If P = NP, then NP-complete P

  4. Ladner Theorem • If NP ≠ P, then there exists a set A lying -between P and NP-complete class, i.e., A is in NP, but not in P and not being NP-compete.

  5. Is it true that a problem belongs to NP iff its solution can be polynomial-time checkable ? Answer: No!

  6. Integer Programming

  7. Decision version of Integer Programming

  8. How to prove a decision problem belonging to NP? How to design a polynomial-time nondeterministic algorithm?

  9. Hamiltonian Cycle • Given a graph G, does G contain a Hamiltonian cycle? • Hamiltonian cycle is a cycle passing every vertex exactly once.

  10. Post office

  11. Nondeterministic Algorithm • Guess a permutation of all vertices. • Check whether this permutation gives a cycle. If yes, then algorithm halts. What is the running time?

  12. Minimum Spanning Tree • Given an edge-weighted graph G, find a spanning tree with minimum total weight. • Decision Version: Given an edge-weighted graph G and a positive integer k, does G contains a spanning tree with total weight < k.

  13. Nondeterministic Algorithm • Guess a spanning tree T. • Check whether the total weight of T < k. This is not clear!

  14. How to guess a spanning tree? • Guess n-1 edges where n is the number of vertices of G. • Check whether those n-1 edges form a connected spanning subgraph, i.e., there is a path between every pair of vertices.

  15. Co-decision version of MST • Given an edge-weighted graph G and a positive integer k, does G contain no spanning tree with total weight < k?

  16. Algorithm • Computer a minimum spanning tree. • Check whether its weight > k. If yes, the algorithm halts.

  17. co-NP • co-NP = {A | Σ* - A ε NP}

  18. NP ∩ co-NP So far, no natural problem has been found in NP ∩ co-NP, but not in P. NP P co-NP

  19. Linear Programming • Decision version: Given a system of linear inequality, does the system have a solution? • It was first proved in NP ∩ co-NP and later found in P (1979).

  20. Primality Test • Given a natural number n, is n a prime? • It was first proved in NP ∩ co-NP and later found in P (2004).

  21. Therefore • A natural problem belonging to NP ∩ co-NP is a big sign for the problem belonging to P.

  22. Proving a problem in NP • In many cases, it is not hard. • In a few cases, it is not easy.

  23. Integer Programming • Decision version: Given A and b, does Ax > b contains an integer solution? • The difficulty is that the domain of “guess” is too large.

  24. Polynomial-time many-one reduction

  25. A < m B p • A set A in Σ* is said to be polynomial-time many-one reducible to B in Γ* if there exists a polynomial-time computable function f: Σ* → Γ* such that x ε A iff f(x) ε B. Σ* Γ*

  26. A = Hamiltonian cycle (HC) • Given a graph G, does G contain a Hamiltonian cycle?

  27. B = decision version of Traveling Salesman Problem (TSP) • Given n cities and a distance table between these n cities, find a tour (starting from a city and come back to start point passing through each city exactly once) with minimum total length. • Given n cities, a distance table and k > 0, does there exist a tour with total length < k?

  28. HC <m TSP p • From a given graph G=(V,E), we need to construct (n cities, a distance table, k).

  29. 3-SAT <m SAT p • SAT: Given a Boolean formula F, does F have a satisfied assignment? • An assignment is satisfied if it makes F =1. • 3-SAT: Given a 3-CNF F, does F have a satisfied assignment?

  30. Boolean Algebra

  31. Boolean Algebra

  32. 3CNF

  33. Examples

  34. SAT <m 3-SAT p • SAT: Given a Boolean formula F, does F have a satisfied assignment? • An assignment is satisfied if it makes F =1. • 3-SAT: Given a 3-CNF F, does F have a satisfied assignment?

  35. Examples Not a polynomial-time reduction!!!

  36. Examples

  37. Property of < m p p p p • A <m B and B <m C imply A <m C • A <m B and B ε P imply A ε P p

  38. NP-complete • A set A is NP-hard if for any B in NP, B <m A. • A set A is NP-complete if it is in NP and NP-hard. • A decision problem is NP-complete if its corresponding language is NP-complete. • An optimization problem is NP-hard if its decision version is NP-hard. p

  39. NP-hard in wide sense • A problem is said to be NP-hard in wide sense if following holds: • if it can be solved in polynomial-time, then P=NP (i.e., all problems in NP can be solved in deterministic polynomial-time). • For example, the TSP is NP-hard in wide sense.

  40. TSP is NP-hard • TSP can be solved in polynomial-time iff its decision version can be solved in polynomial-time. • The decision version of TSP is NP-complete. • Hence, if TSP can be solved in polynomial-time, then NP=P.

  41. Characterization of NP

  42. Thanks, end

More Related