1 / 10

P, NP, and Exponential Problems

P, NP, and Exponential Problems. Should have had all this in CS 252 – Quick review Many problems have an exponential number of possibilities and we can try each option against some objective to get an answer This approach is intractable

Télécharger la présentation

P, NP, and Exponential Problems

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, NP, and Exponential Problems Should have had all this in CS 252 – Quick review Many problems have an exponential number of possibilities and we can try each option against some objective to get an answer This approach is intractable In many cases (Edit distance, longest increasing subsequence, etc.) we have been able to use smart algorithms (Greedy, DP, LP) to search a small subset of the exponential possibilities and get optimal solutions in polynomial time In other tasks (TSP, ILP) there are no known polynomial solutions CS 312 – NP Problems

  2. NP vs P Examples For the problems in P we were able to find diverse algorithmic approaches to solve them efficiently with different complexities, but all within P There is a consistency amongst the problems in NP which make them all equally hard to solve CS 312 – NP Problems

  3. Tasks as Search Problems • We can consider all these tasks as search problems • Given an instance I of the problem, can we find a solution S to I, or state that no solutions exists • I could be a CNF equation for 3SAT and S would be a particular variable setting • For NP search problems we have an efficient mechanism, C(I,S) which checks to see if a particular variable setting S is a solution to I • We would also like an efficient verification approach for optimization problems (like TSP) • We recast as: For an instance I does there exists an S ≤ b • For TSP I would be a city distribution, S a path, and ban arbitrary distance • This is still an NP problem for arbitrary b • Now, for any particular path S we can quickly answer the question of whether S ≤ b (i.e. C(I,S)) • How could we find the optimal solution with this recasting? CS 312 – NP Problems

  4. P –Polynomial Time Now we have the basis of a consistent search algorithm Given I, execute C(I,S) for every possible S If true for any C(I,S), return S, else return "No solution" If we have a deterministic algorithm which can make the decision by only checking a polynomial number of possibilities, then the task is in P (polynomial time) P = Those problems which can be decided in polynomial time Problems in P are efficient CS 312 – NP Problems

  5. NP – Non-Deterministic Polynomial Time • Otherwise the task is in NP (Non-Deterministic Polynomial Time) or worse • Class NP are those problems that can be solved in polynomial time on a non-deterministic machine • Remember that a non-deterministic machine basically tries all alternatives in parallel, with the time complexity being equal to the longest path in the potentially exponentially wide search tree • Also, the class NP are those problems that can be verified in polynomial time - C(I,S) • Deterministic implementations of non-deterministic machines require checking all possible solutions leading to exponential time complexity CS 312 – NP Problems

  6. P P = problems that can be solved in polynomial time on a deterministic Turing Machine.

  7. P, NP P  NP, because every problem in P has a solution in NP P = problems that can be solved in polynomial time on a deterministic Turing Machine. NP = problems that can be solved in polynomial time on a non-deterministic Turing machine

  8. Reductions Again As long as f and h are polynomial time translations (have complexity ≤ B) then algorithm A will have the same complexity as algorithm B We say A reduces to B A search problem is NP-Complete if all other search problems in NP reduce to it CS 312 – NP Problems

  9. NP-Completeness Thus if we can find a polynomial time solution to any of the NP-complete problems, then we can solve all of them in polynomial time, and then P = NP CS 312 – NP Problems

  10. Unsolvable Problems • There are problems in higher complexity classes than NP • Guaranteed exponential, super-exponential, etc. • List all possible paths in a TSP problem • List the power-set of all possible paths in TSP, etc. • There is an even larger infinite class of unsolvable problems regardless of time available • For any arbitrary polynomial equation in many variables e.g.: • x2yz3 + 3y2z – 4xy5z2 = 7 • Are there integer values of the variables which solve it? (x, y, and z in this case) • Problems as Functions • Regularity vs Random • Also many regular problems that are not solvable: halting, etc. CS 312 – NP Problems

More Related