文心一言 VS chatgpt (15)-- 算法导论3.2 4~5题

四、函数 lg n ! \lceil \lg n \rceil ! 多项式有界吗?函数 lg lg n ! \lceil \lg \lg n \rceil ! 多项式有界吗?

文心一言:

在这里插入图片描述

chatgpt:

对于第一个问题,函数 lg n ! \lceil \lg n \rceil ! 是阶乘的形式,可以证明它是超多项式增长的,因此不是多项式有界的。

对于第二个问题,函数 lg lg n ! \lceil \lg \lg n \rceil ! 的增长速度比 lg n ! \lceil \lg n \rceil ! 慢很多。虽然 lg lg n ! \lceil \lg \lg n \rceil ! 不是多项式,但是它是多项式有界的,也就是说,存在一个多项式 p ( n ) p(n) 和常数 c c ,使得当 n n 足够大时, lg lg n ! c p ( n ) \lceil \lg \lg n \rceil ! \leq c \cdot p(n) 。这可以使用斯特林公式来证明。

在这里插入图片描述

五、如下两个函数中,哪一个渐进更大些: lg ( lg n ) \lg(\lg^* n) 还是 lg ( lg n ) \lg^*(\lg n)

文心一言:

在这里插入图片描述

chatgpt:

在这里,我们将 lg n \lg^* n lg ( lg n ) \lg^*(\lg n) 看作一个函数 f ( n ) f(n) g ( n ) g(n) ,分别表示对数幂函数的不同变形。

首先,我们知道对数幂函数增长非常缓慢,它们比多项式增长更慢,但比指数增长更快。因此,我们可以考虑使用渐进符号来比较这两个函数的上界关系。

由于 lg ( lg n ) = Θ ( lg f ( n ) ) \lg(\lg^* n) = \Theta(\lg f(n)) lg ( lg n ) = Θ ( lg g ( n ) ) \lg^*(\lg n) = \Theta(\lg g(n)) ,因此我们只需要比较 f ( n ) f(n) g ( n ) g(n) 的增长速度即可。

根据定义,对数幂函数 f ( n ) f(n) 表示在连续对数的情况下,最后得到的结果为 1 所需的次数。而对数幂函数 g ( n ) g(n) 表示对数字 n n 进行重复对数直到结果小于或等于 1 的次数。因此, lg ( lg n ) \lg^*(\lg n) 可以看作是 log \log 函数的反函数,而 lg ( lg n ) \lg(\lg^* n) 则表示连续应用反函数的次数。

由于反函数的增长速度要快于原函数,因此可以推断出 lg ( lg n ) \lg^*(\lg n) 的增长速度要快于 lg ( lg n ) \lg(\lg^* n) ,也就是说 lg ( lg n ) \lg^*(\lg n) 是渐进更大的函数。

因此, lg ( lg n ) \lg^*(\lg n) 的渐进增长速度要快于 lg ( lg n ) \lg(\lg^* n)

在这里插入图片描述

猜你喜欢

转载自juejin.im/post/7230381710600503356