渐近分析不等式

时间:2016-02-04 18:45:42

标签: big-o asymptotic-complexity inequalities

我在理解如何为这个渐近分析问题推导出以红色突出显示的以下不等式时遇到问题。有人可以解释这些不平等的性质以及它们是如何形成的。

以下图片有问题和解决方案。以红色突出显示的部分是我无法理解的地方。

问题和解决方案的图片

enter image description here

1 个答案:

答案 0 :(得分:0)

制剂

上图中红色标记部分上方的部分是Big-Θ符号的定义:“f(n)中的Θ(g(n))”,

f(n) = (n + a)^b, b > 0        (+)
g(n) = n^b                     (++)

我们将重复这个不等式,以便在显示它位于下面时简化参考:

f(n) is in Θ(g(n)) with f(n) and g(n) as in (+) and (++), respectively

  <=>

c_1⋅n^b ≤ (n + a)^b ≤ c_2⋅n^b, for some positive constants c_1, c2     (*)
                               for n ≥ n_0, with n_0 constant > 0

因此,我们希望找到一些c_1c_2n_0,以便(*)成立。

解决方案(彻底解释)

现在,自b > 0以来,如果以下两个不等式成立,我们可以证明(*)成立:

n + a ≥ k_1⋅n, for n > n_0      (i)
n + a ≤ k_2⋅n, for n > n_0      (ii)

对于某些正常数k_1k_2(分别与c_1c_2分别为k_1^b = c_1k_2^b = c_2)。< / p>

显示(ii)成立

我们首先要表明(ii)适用于某些正常数k_1。为此, 我们可以自由选择 n_0,以便n_0 ≥ |a|(因为a只是一个常量)。

=> n ≥ |a| ≥ a, since n ≥ n_0 ≥ |a|

Hence:

n + a ≤ n + |a| ≤ n + n = 2⋅n, for n ≥ n_0 ≥ |a|   (II)

现在,我们已(II)显示(ii)成立,k_1 = 2n_0 任何值大于abs(a) },n_0 ≥ |a|

显示(i)成立

现在展示(i):我们首先注意到以下不等式始终存在:

n + a ≥ n - |a|                  (†)

(如果a为负,则实际上是相等的)。现在,请回想一下(II)适用于任何n_0 ≥ |a|。好吧,让我们选择在n0处修复我们的2⋅|a|(再次注意:我们可以自由选择我们想要表明不等式(*)成立的常数。)

Choose n_0 as n_0 = 2⋅|a|        (††)

因此,来自(†)

n + a ≥ n - |a| ≥ n - n/2 = n/2  (†††)
                ^
                | 
               Why? Since from (††): |a| = n_0/2 < n/2, since n>n_0

We repeat (†††) without the middle stuff:  

n + a ≥ (1/2)⋅n, for n > n_0 = 2⋅|a|                (I)

(I)现在只是(i)k_2 = 1/2的{​​{1}}。

结束

我们总结一下:

n_0 = 2⋅|a|

使用(I) & (II) => (1/2)⋅n ≤ n + a ≤ 2⋅n With b>0, this yields: ((1/2)⋅n)^b ≤ (n + a)^b ≤ (2⋅n)^b (**) ,我们已经显示(**)成立,

(*)

因此,我们已经显示c_1 = k_1^b = (1/2)^b = 2^(-b) c_2 = k_2^b = 2^b (note that the solution you posted has an error here) n_0 = 2⋅|a| f(n)位于(+)Θ(g(n))位于g(n)

最后请注意(++)中常量c_1c_2k_1k_2)和n_0的选择不是唯一的:存在无限多种方式来表明(*)成立(如果存在),或者它不存在。在这种情况下,您的解决方案的作者的特定选择自然而然,但我们可以选择任意数量的其他常量。