关于Little oh与Big O符号的概念疑问及序列渐近阶判断问题
嗨,我来帮你理清这个渐近阶判断的逻辑误区~
首先,你的推理不正确,核心问题出在随意交换了「上极限」和「参数$x$趋近0」的顺序,这种交换在没有额外约束的情况下是不成立的,我来一步步拆解:
先看你的条件和推理逻辑
你给出的条件是:对所有$x>0$,正实数列$a_n$满足
$$a_{n}\leq \frac{n}{2{n{x}}}+n^{x}$$
你由此推出对每个$x>0$,$\lim\sup_{n\to\infty}\frac{a_{n}}{n^{x}}\leq 1$,然后想通过让$x\to0$,得到$a_n=\mathcal{O}(1)$。
这里的关键漏洞是:当$x$变化时,使得$\frac{a_n}{n^x}\leq1+\varepsilon$的$n$的阈值是依赖于$x$的——$x$越小,这个阈值会越大,甚至当$x\to0$时,阈值会趋向无穷大。因此你不能直接把$x\to0$和$\limsup_{n\to\infty}$的顺序交换,这相当于要求「对所有$x>0$成立的性质,在$x\to0$时也能一致成立」,但这个一致性并不存在。
构造反例验证结论错误
我们可以找一个满足条件但不是$\mathcal{O}(1)$的序列,比如$a_n = \log n$:
- 对任意固定的$x>0$,当$n$足够大时,$n^x = e^{x\log n}$的增长速度远快于$\log n$,因此$\log n \leq n^x$;
- 而$\frac{n}{2{nx}}$是指数衰减项,当$n$足够大时它会变得非常小,显然是正数,因此$\log n \leq \frac{n}{2{nx}} + n^x$完全成立。
但$\log n$当$n\to\infty$时是趋向无穷大的,显然不是$\mathcal{O}(1)$,这直接说明你的结论不成立。
正确的结论是什么?
从原条件只能推出:$a_n = o(n^\varepsilon)$对任意$\varepsilon>0$成立,也就是$a_n$的增长速度比任何正指数的多项式都慢,但它仍然可以趋向无穷大(比如$\log n$、$(\log n)^k$这类增长极慢的序列)。
简单来说,「对所有$x>0$,$a_n=\mathcal{O}(n^x)$」和「$a_n=\mathcal{O}(1)$」是完全不同的结论,前者允许序列趋向无穷,只要增长足够慢。
备注:内容来源于stack exchange,提问作者Dovahkiin

