[Math] NP hard/complete

algorithmscomputer sciencenp-complete

I have never been very clear on this concept. Please help:

At the end of the day, we should want to identify useful problems for which we don't have polynomial solution so far and only have exponential solutions.We want to keep finding if we can find a polynomial solution to these problems and the use of reductions is only to be able to identify new only exponential solvable problems with help of existing known exponential problems.??

Why is concept of determinism and non determinism brought into this whole concept of exponential and polynomial solvable problems?? How is this notion useful?

What do we call the problems for which we have only exponential solution so far, but we haven't been able to find reduction to a known NP – hard/complete problems..??

Thanks,

Best Answer

I would say that the concept of 'nondeterminism' is one of the great red herrings in the discussion of NP-complete problems. To my mind it's much better to think of a problem's being in NP as a criterion for confirming solutions; 'if we're given a hypothetical solution instance for a problem, can we verify it in polynomial time?'. Seen this way, a lot of problems in NP become a lot clearer: for instance, Satisfiability (of a boolean expression) is verified just by plugging in the purported assignment to all the variables of the expression and confirming that the result is true; the Traveling Salesman Problem can be verified by confirming that a proposed route gets to all cities, doesn't go to any city more than once, and has total length under the requisite bound; etc. All of these obviously take polynomial time to confirm. 'Exponential solvability' is really a red-herring; it happens that there's an obvious exponential-time algorithm for NP-complete problems (use our polynomial-time checking algorithm on each of the exponentially-many possible solution instances), but the exponentiality isn't really at the heart of these problems; it's just an expression of the size of the search space. Seen this way, the P vs. NP question becomes 'if we can efficiently confirm a solution, can we efficiently find a solution?' - but this has nothing to do with exponential-time problems in and of itself.

Related Question