Hacker News new | past | comments | ask | show | jobs | submit
> NP-complete problems are essentially those where you need to make some kind of choice over a superlinearly-growing set of options where each option can be solved in linear time.

Seems like a weird way to describe NP, and I'm not even sure it's true?

NP is the class of decision problems where if the answer is YES and someone slips you a hint, you can solve them quickly (or quickly figure out that the hint was useless and report that). Where quickly means in polynomial time.

There's nothing about linear time in the classic definition.

Sorry, you're correct. I meant "polynomial" rather than linear.

NP = nondeterministically polynomial. i.e. if you could evaluate all choices in parallel (or just "know" the right choice), then you'd get a polynomial runtime. That's what I was trying to informally hint at, but I ended up using the wrong term. I'll edit my original post.

That's equivalent to your description - the "hint" is knowing which of the options to choose.

The reason why superlinearity comes into play is that if you had a linearly growing amount of solutions to test then you'd just have a sum of polynomials, which is itself polynomial.

loading story #50253159