如何证明NP-Complete问题(how to handle np-complete problem)

It is best to proceed with our analysis using a two-side approach. While we are attempting, on the one hand, to construct and NP-completeness proof, on the other hand, we should be trying to discover a polynomial time algorithm. Which of these two options we choose to emphasize at any one time certainly will depend on the current state of our expectations, but whenever our current line of attack appears to be foundering we must be prepared to reverse direction and try the other. In fact, as we alternate back and forth, the two approaches will often interact with one another. The failure of a proposed NP-completeness proof might lead to an way for proving NP-completeness. Any partial results proved along the way, especially those providing "normal forms" for solutions, can be just as useful for constructing an NP-completeness proof as for designing an efficient algorithm.

 

====

这也就是说,在证明一个问题是不是NP-complete时,最好从问题的两个方面来出发。因为在未知时,问题有可能是NPC问题,也有可能是P问题。这两个方面,一是,证明其为NPC问题(从其他问题向这个问题进行ptime规约等等方法);二是,尝试给这个问题一个Ptime的算法。

 

实际上,在问题的进行过程中,这两方面往往是交叉进行的,同时问题的一个方面又经常能够给另一方面以一定的启发。

你可能感兴趣的:(算法,Forms)