0

I can't understand or imagine some fact about NP-hard problems. If I understand it correctly there is only one polynomial-time algorithm needed – for whichever NP-complete problem – to prove that P = NP.

Let's take the subset sum problem, which is NP-complete. It says that given a set such as $\{-7, -3, -2, 5, 8\}$, we're able to find out if there exists a subset of this set summing to zero, within exponential time (and obviously check a solution, for instance $\{-3, -2, 5\}$ within polynomial time).

So if someone finds an polynomial-time algorithm for this task, he'll show that P = NP, right?

EDIT: I removed:

Assuming, that opinions whether P = NP or P ≠ NP amongst computer scientists are about 1:1 (this site claims that they're ~ 52% and ~44% respectively)...

As the guys noticed in comments, it's wrong. I should say the proven cases are like 1:1.

Okay, so it gets more intuitive now. I mean, P ≠ NP actually seems to be 'more likely now':

However, assuming that there are still, say, 5-10% of formally educated people who believes that P = NP and the cited problem is not, say, the most complex one, how is that even possible that no one of them had found a polynomial-time algorithm yet OR (maybe more likely?) no one of their opponents proved that there's no such an algorithm? Or, does it also mean that (in terms of those people's opinions, again) the 'chances' of there being such an algorithm are like 1:1, too?

From my (maybe naive) point of view, the subset sum problem seems so simple to crack – at least for advanced computer scientists.

As you're probably aware of, searching in the Net would not help me much as I just can't deeper into this problem. I've got no such mathematical knowledge to even comprehend it more.

Raphael
  • 73,212
  • 30
  • 182
  • 400
somnock
  • 11
  • 2

1 Answers1

3

Many simple-seeming problems turn out to have solutions that are extremely complicated and deep. That's not a bad thing, in fact it's what keeps mathematics interesting. One of the best known examples is Fermat's Last Theorem, which states that the equation $x^n+y^n=z^n$ has no solution in positive integers $x, y, z$ whenever $n\ge 3$. One could hardly ask for a simpler problem, but despite the efforts of some of the brightest mathematicians it remained unsolved for 358 years! On the plus side, three centuries of trying (and failing) to prove Fermat's Last Theorem led to the development of a lot of what's known as algebraic number theory.

Indeed, the subset sum problem is easy to state. Finding a poly-time solution, though, has turned out to be really hard, to the extent that no one has yet been able to demonstrate one. One could say, "Okay, I'll turn the problem around and show that there is no poly-time algorithm possible." Ugh! That sounds even worse: how could one establish that among the infinitely many algorithms to solve subset sum, there are none that run in time polynomial in the length of the instance to be solved?

I don't necessarily recommend this, but you could just try inventing an algorithm of your own that always finds the correct answer to subset sum. You'll almost certainly find, as others have, that no matter how much cleverness you throw at the problem, you'll fail to come up with a "fast enough" algorithm. That, at least, should disabuse you of the notion that simple questions should have simple solutions.

Rick Decker
  • 15,016
  • 5
  • 43
  • 54