0

Is there some maximum degree for a polynomial for time complexity considerations and maybe P-NP considerations, maybe some high-degree polynomial formula identified by name, and associated with some well-known theorem, such that you don't really have to ever consider anything higher than that.

I would presume merely for example, that there aren't any known algorithms of say, O(n^15) complexity, and when someone alludes to polynomial time algorithms in the abstract, its assumed that it would never approach the degree of 15 (and maybe a lot less than that).

1 Answers1

1

The answer is no - the complexity class $\mathcal P$ consists of all problems that can be solved in polynomial time. In other words, a problem $P$ is in $\mathcal P$ if $$P(n) \in \bigcup_{k=1}^\infty O\left(n^k\right). $$ Suppose $f$ is a function defined on the positive integers with $f(n)\in O(n^k)$ for some $k>1$, but $f(n)\notin O(n^j)$ for $j<k$. Then it is easy to see that $nf(n)\in O(n^{k+1})$. Therefore we can construct an algorithm with runtime $\Theta(n^k)$ for any positive integer $k$.

Math1000
  • 38,041
  • I realize that one could always construct an algorithm of any arbitrary polynomial degree you desired. Implicitly I was alluding to the most efficient algorithm for something. I was thinking that possibly there was some maximum polynomial degree beyond which a vanishingly small number of functions required for their most efficient solution. I'm sure most of us have rarely seen an actual polynomial-time algorithm beyond a degree of 3 in time complexity – Bill Cody Jun 27 '15 at 04:06
  • I didn't read your reply carefully enough: "nf(n)". Right, I get it. Thanks. Edit: Although, not sure I buy that just multiplying n times f(n) increases its time complexity by one degree. E.G. surely f(x,y) = x^y is not of exponential time complexity. – Bill Cody Jun 27 '15 at 04:18
  • See here: http://cstheory.stackexchange.com/questions/6660/polynomial-time-algorithms-with-huge-exponent-constant – Math1000 Jun 27 '15 at 04:34
  • OK, now I think I know you're wrong: The time complexity of n*f(n) = Max(TC(Multiplication), TC(f)). – Bill Cody Jun 27 '15 at 04:37
  • Thanks for the link though, will take a look at that. – Bill Cody Jun 27 '15 at 04:43