Skip to main content
Tried to improve that very confusing formulation.
Source Link
Federico Poloni
  • 20.2k
  • 2
  • 82
  • 120

Can $N!$ be given an expression with big-O time complexitycomputed in less than $\mathcal{O}(N!) < N$$ operations?

The standard definition ofalgorithm to compute the factorial function $N!$ is a closed form whose timevia repeated multiplications has complexity is $\mathcal{O}(N!) = N$$\mathcal{O}(N)$, in the model in which each operation costs 1, no matter how many digits the operands have. Intuitively, it would seem that this cost could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, oralgorithm with complexity $\log(\log(N))$$\mathcal{O}(\log(N))$, or $N^{0.998}$$\mathcal{O}(N^{0.998})$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.

Edit: Yes I know I'm abusing big O notation, but writing "$\mathcal{O}(f)$ where $f(N) = N!$" wouldn't fit easily in a title and $\mathcal{O}(!)$ looks silly and confusing at first glance.

Can $N!$ be given an expression with big-O time complexity $\mathcal{O}(N!) < N$?

The standard definition of the factorial function $N!$ is a closed form whose time complexity is $\mathcal{O}(N!) = N$. Intuitively, it would seem that this could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, or $\log(\log(N))$, or $N^{0.998}$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.

Edit: Yes I know I'm abusing big O notation, but writing "$\mathcal{O}(f)$ where $f(N) = N!$" wouldn't fit easily in a title and $\mathcal{O}(!)$ looks silly and confusing at first glance.

Can $N!$ be computed in less than $\mathcal{O}(N)$ operations?

The standard algorithm to compute the factorial function $N!$ via repeated multiplications has complexity $\mathcal{O}(N)$, in the model in which each operation costs 1, no matter how many digits the operands have. Intuitively, it would seem that this cost could not be improved.

However, how can we be sure? What if there is some clever equivalent algorithm with complexity $\mathcal{O}(\log(N))$, or $\mathcal{O}(N^{0.998})$? If so, how could we know it is possible, or find an example? If not, why not?

added 192 characters in body
Source Link
user6873235
  • 766
  • 6
  • 10

The standard definition of the factorial function $N!$ is a closed form whose time complexity is $\mathcal{O}(N!) = N$. Intuitively, it would seem that this could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, or $\log(\log(N))$, or $N^{0.998}$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.

Edit: Yes I know I'm abusing big O notation, but writing "$\mathcal{O}(f)$ where $f(N) = N!$" wouldn't fit easily in a title and $\mathcal{O}(!)$ looks silly and confusing at first glance.

The standard definition of the factorial function $N!$ is a closed form whose time complexity is $\mathcal{O}(N!) = N$. Intuitively, it would seem that this could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, or $\log(\log(N))$, or $N^{0.998}$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.

The standard definition of the factorial function $N!$ is a closed form whose time complexity is $\mathcal{O}(N!) = N$. Intuitively, it would seem that this could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, or $\log(\log(N))$, or $N^{0.998}$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.

Edit: Yes I know I'm abusing big O notation, but writing "$\mathcal{O}(f)$ where $f(N) = N!$" wouldn't fit easily in a title and $\mathcal{O}(!)$ looks silly and confusing at first glance.

Source Link
user6873235
  • 766
  • 6
  • 10

Can $N!$ be given an expression with big-O time complexity $\mathcal{O}(N!) < N$?

The standard definition of the factorial function $N!$ is a closed form whose time complexity is $\mathcal{O}(N!) = N$. Intuitively, it would seem that this could not be improved.

However, how can we be sure? What if there is some clever equivalent definition of the function where $\mathcal{O}(N!) = \log(N)$, or $\log(\log(N))$, or $N^{0.998}$? If so, how could we know it is possible, or find an example? If not, why not?

For clarity, I'm not talking about functions whose big-O is $N!$, I'm talking about the big-O of $N!$ itself.