1 / 92

34.NP Completeness

34.NP Completeness. Hsu, Lih-Hsing. 為何學 NP-Complete. 50 年前的電腦 ( 一間房間大 ) 可解的問題的極限與現在電腦 ( 個人電腦 ) 可解的極限理論上是相同的 , 除非電腦的製程有重大突破 ( 即不是用目前半導體技術 ) 。 請問 C , C++ , java, Which one is best? 學習的態度是如果你發現你的問題是屬於 NP-C 則大部份的努力的方向是要放在找 Approximate algorithm 而不是 fast algorithm. P and NP.

whitakerj
Download Presentation

34.NP Completeness

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. 34.NP Completeness Hsu, Lih-Hsing

  2. 為何學 NP-Complete • 50 年前的電腦(一間房間大)可解的問題的極限與現在電腦(個人電腦)可解的極限理論上是相同的, 除非電腦的製程有重大突破(即不是用目前半導體技術)。 • 請問 C ,C++,java, Which one is best? • 學習的態度是如果你發現你的問題是屬於 NP-C則大部份的努力的方向是要放在找 Approximate algorithm 而不是 fast algorithm.

  3. P and NP Non-formal description • P: solvable polynomial time • NP: • nondeterministic polynomial time • Verifiable in polynomial time by deterministic Turing machine.

  4. NP-complete • NP-Complete: No polynomial-time algorithm has yet been discovered for an NP-computer problem, nor has anyone yet been able to prove that no polynomial-time algorithm can exist for any one of them.

  5. 千禧年大獎問題 • 2000年5月 • 7大問題懸賞求解100萬美元。由美國克萊數學院提供 • P 與 NP

  6. Given a description of a program and a finite input, decide whether the program Finishes running or will run forever.

  7. The subject of this chapter, however, is an interesting class of problems, called the “ NP-complete” problems, whose status is unknown. No polynomial-time algorithm has yet been discovered for an NP-computer problem, nor has anyone yet been able to prove that no polynomial-time algorithm can exist for any one of them. This so-called P ≠ NP question has been one of the deepest, most perplexing open research problems in theoretical computer science since it was first posed in 1971.

  8. The difference between these problems • Shortest vs. longest simple paths: • Euler tour vs. hamiltonian cycle: • 2-CNF satisfiability vs. 3 CNF satisfiablility • NP-completeness and the classes P and NP • Overview of showing problems to be NP-complete • Decision problems vs. optimization problems

  9. Reductions Suppose that there is a different decision problem, say B, that we already know how to solve in polynomial time. Finally, suppose that we have a procedure that transforms any instance  of A into some instance  of B with the following characteristics: 1.The transformation takes polynomial time. 2.The answer are the same. That is, the answer for  is “yes” if and only if the answer for  is also “yes.”

  10. yes yes   Polynomial-time reduction algorithm Polynomial-time Algorithm to decide B no no Polynomial-time algorithm to decide A We can call such a procedure a polynomial-time reduction algorithm and, it provides us a way to solve problem A in polynomial time: 1.Given an instance  of problem A, use a polynomial-time reduction algorithm to transform it to an instance  of problem B. 2.Run the polynomial-time decision algorithm for B on the instance . 3.Use the answer for  as the answer for .

  11. A First NP-complete problem • Because the technique of reduction relies on having a problem already known to be NP-complete in order to prove a different problem NP-complete, we need a “first” NPC problem. • Circuit-satisfiability problem

More Related