Re:Researchers achieve ‘absurdly fast’ algorithm for network...
by aliceryhl on Thursday June 09, 2022 @03:32AM
(#31678522)
The notation means that it must be faster than m^t for any t strictly greater than one. Basically, it means that you can have any number of log factors on the running time, so it could be m*log(m)^1000
[ Parent
| on HN ]
Re:Researchers achieve ‘absurdly fast’ algorithm for network...
by Jweb_Guru on Thursday June 09, 2022 @04:19AM
(#31678800)
I'm sorry, but I'm pretty sure you are wrong there. m^(log(log(m))/log(m)) = log(m), and log(log(m))/log(m) is certainly not o(1) since it's nondecreasing (and that's just a single logarithm). I'm pretty sure o(1) requires your slowdown over linear to be faster asymptotically than any iterated logarithm, (so faster than log(log(m)), log(log(log(m))), etc.), which is close enough to linear time that calling it "almost linear" seems quite accurate!
Re:Researchers achieve ‘absurdly fast’ algorithm for network...
by mauricioc on Thursday June 09, 2022 @04:52AM
(#31679008)
log(log(m))/log(m) tends to zero as m tends to infinity, which is what it means to be o(1). It is decreasing for m > e^e.
Besides n^(1+o(1)), the other common definition for "almost linear" is precisely O(n log^k (n)) for some k, no matter how large.
Re:Researchers achieve ‘absurdly fast’ algorithm for network...
by lkozma on Thursday June 09, 2022 @05:57AM
(#31679351)
Your first point is correct, but just to clarify your second point, these two definitions are not quite equivalent, as there is a world of functions growing more quickly than log^k(n) no matter how large constant k, but still within n^o(1).
For an example, consider 2^sqrt(log(n)).
This is a bit similar to something being faster than polynomial, but slower than exponential.
Re:Researchers achieve ‘absurdly fast’ algorithm for network...
by mauricioc on Thursday June 09, 2022 @09:53AM
(#31681141)
Thanks for the clarification! I didn't mean to say the two definitions were equivalent, as indeed they aren't. Rephrasing my second point to (hopefully) eliminate the ambiguity: There are two non-equivalent popular definitions for "almost linear" or "nearly linear" (n^(1+o(1)) and O(n log^k(n)), and nevertheless classifying "n log^1000 n" as almost linear is uncontroversial in the sense that both of the common definitions do it.
(The second paragraph of my original message addressed a point made in the parent's second paragraph, which has since been edited out.)