Domanda

I can't really seem to grasp what it really means to say a problem is NP-Complete. Could anyone help me with the following question?

An NP-complete problem is a problem for which one can prove that an algorithm for solving it in polynomial time does not exist. Is the statement true?

I would want to say this statement isn't true, because can anyone actually prove that such an algorithm doesn't exist for any NP-Complete problem? From looking around on various sources, I understand that no polynomial time algorithm is known for any NP-Complete problem; however, it can't be proven.

Any help would be greatly appreciated. Thanks.

È stato utile?

Soluzione

It is possible in some situations to prove that no algorithm exists that is better than a certain limit.

For example the O(n log n) bound for a comparison sort has been proven. No matter how clever we become in the future, we can be sure that no-one will ever invent an O(n) comparison sort.

In this case though, no-one has found a proof. But that doesn't mean it can't be proven.

Altri suggerimenti

The statement is more fundamentally wrong: There are problems that cannot be solved in polynomial time which are much harder than NP problems. The point of NP completeness is a polynomial time solution existing is equivalent to P=NP (which means additionally that a solution not existing means P!=NP).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top