This question has been bugging me ever since I first came across the concept of NP, NP-Complete, and NP-Hard a few years back: what is so fundamental about the polynomial functions that they are used to demarcate the boundary between what is "hard" and what is not?
I mean, it could have been many other ways, say:
- Linear Functions: anything above linear (say polynomial or exponential) would become hard
- Exponential Functions: anything above exponential (say factorial) would become hard
- Sub-exponential: anything above sub-exponential (say exponential) would become hard
So, what's so fundamental about polynomials? Is it just an arbitrary human classification, or is there some deeper fundamental (mathematical or universal) truth to this choice?