After almost 20 years, math problem falls
physorg.com
physorg.com
eye twitch
A problem's complexity class only gives an indication of potential runtime. There are decent algorithms for a lot of NP-complete problems (airline/package routing, compiler backend optimizations, etc.) that don't require "the most powerful computer in the world". I'm pretty sure the correct definition of hardness/completeness in complexity theory can be boiled down to a sentence that's much more correct than that, especially if you include something like "at least as hard as all other NP problems"
Those algorithms you mention provide reasonable answers, but they do not guarantee that the answer is the best answer.
A probabilistic answer may be useful! But that's not the point of this proof.
Simplex-type algorithms are typically used for these problems. These algorithms also have exponential time complexity in worst-case. In practice, well-designed simplex algorithms are of low-order-polynomial complexity. They terminate with an exact optimum.
This case, and others, are examples of situations where conventional complexity analysis fails to provide insight into real-world performance.
Last I knew, people were trying to analyze expected time complexity of certain (analysis-friendly) simplex algorithms under distributional constraints on the input structure matrices. But it's important to understand that this is mathematical back-filling to explain what is already known to hold in practice.
for worst case complexities it's often just a small region of the problem space that makes the bound large--but enumerating or cutting out those cases is tricky. you just don't see them on average because they are few (c.f., quicksort: O(n^2) worst case, O(n log n) average).
http://www.informs.org/Recognize-Excellence/Award-Recipients...
(expand out the "show more" button). Of course, there has been more progress since, but this summary is pretty good.
Interestingly they still use the simplex method repeatedly during the branch-and-bound solving process, because it only requires a little work to adjust at each step, whereas the methods with guaranteed polynomial worst case tend to take that polynomial time regardless of how "close" they start to the optimum. So, as you say, convential complexity analysis suggests that simplex would be an awful lot less useful than it is.
"... is what's called NP-hard. That means that finding the answer is at least as hard as cracking a very strong cryptographic key, something that is currently considered too computationally expensive to be practical."
Would that be a better explanation, understandable by the article's target audience?
The result is intriguing and reasonably accessible: for all (multivariate) polynomials whose degrees are even and at least four, determining convexity (of any type! strong, strict, regular, pseudo-, quasi-) is strongly NP-hard. To prove this, the authors equate the problem of determining convexity to the problem of determining the nonnegativity of biquadratic forms -- a known NP-hard problem.
Find the paper here: http://aaa.lids.mit.edu/publications. (Edit: direct PDF link http://mit.edu/~a_a_a/Public/Publications/convexity_nphard.p...) See Table I on page 18 for a concise summary.
Maybe some things to clear stuff up:
NP-complete is a subset of NP-hard. NP-complete is entirely in NP, not all NP-hard are in NP.