Big o 渐近分析不等式
我有一个问题,那就是如何为这个渐近分析问题推导出以下以红色突出显示的不等式。有人能解释一下这些不平等的性质以及它们是如何产生的吗 下图显示了问题和解决方案。红色突出显示的部分是我无法理解的地方 问题和解决方案的图片 准备工作 上图中红色标记部分上方的部分正是大Θ符号的定义:“Big o 渐近分析不等式,big-o,asymptotic-complexity,inequalities,Big O,Asymptotic Complexity,Inequalities,我有一个问题,那就是如何为这个渐近分析问题推导出以下以红色突出显示的不等式。有人能解释一下这些不平等的性质以及它们是如何产生的吗 下图显示了问题和解决方案。红色突出显示的部分是我无法理解的地方 问题和解决方案的图片 准备工作 上图中红色标记部分上方的部分正是大Θ符号的定义:“f(n)inf(n))”,带有 我们将重复此不等式,以简化引用,并证明其适用于以下情况: f(n) is in Θ(g(n)) with f(n) and g(n) as in (+) and (++), respectiv
f(n)
inf(n))
”,带有
我们将重复此不等式,以简化引用,并证明其适用于以下情况:
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
对于一些正常数k_1
和k_2
(分别与c_1
和c_2
有关,如k_1^b=c_1
和k_2^b=c_2
)
表明(ii)
有效
我们将首先说明(ii)
对于某个正常数k_1
是成立的。为此,我们可以自由选择n\u 0
,这样n\u 0≥ |a
(因为a只是一个常数)
现在,通过(II)
我们已经证明(II)
成立,k_1=2
和n_0
是大于abs(a)
,n_0的任何值≥ |a |
表明(i)
有效
现在展示(i)
:我们首先要注意以下不等式始终成立:
n + a ≥ n - |a| (†)
(如果a
为负,则实际上相等)。现在,回想一下上面提到的(II)
适用于任何n\u 0≥ |a |
。好的,让我们选择在2处修复我们的n0
⋅|a |
(再次注意:我们可以自由选择要显示不等式(*)
成立的常数)
因此,从(†)
:
通过(**)
,我们已经证明(**)
是有效的,但是
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)
as in(+)
在Θ(g(n))
中,而g(n)
在(++)
中
最后请注意,
c_1
、c_2
(k_1
、k_2
)和n_0
在(*)
中的选择并不是唯一的:有无数种方法可以表明(*)
有效(如果有效),或者不存在。在本例中,您的解决方案的作者的特定选择很自然,但我们可以选择任何数量的其他常量集。非常感谢您提供的详细答案@user5884813很乐意帮忙!
=> n ≥ |a| ≥ a, since n ≥ n_0 ≥ |a|
Hence:
n + a ≤ n + |a| ≤ n + n = 2⋅n, for n ≥ n_0 ≥ |a| (II)
n + a ≥ n - |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) & (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|