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.
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.