请注意,我在这里要求小o(请参阅类似的问题here) - 对于大哦,这显然是错误的 - 对于小小的o感觉正确但似乎无法证明它...... / p> 编辑:很高兴我提出了辩论:)假设f,g> 0为简单起见
答案 0 :(得分:2)
至少,如果g(n)收敛到n为正无穷大的正无穷大(如果g(n)不是很容易找到反例)。
证明草图:
Prerequsites:g(n)收敛到n为正无穷大的正无穷大。
f(n)in o(g(n))表示:
for every eps > 0 exists a n0 so that for all n > n0 abs(f(n)) < abs(g(n)*eps).
表格如下:
2^abs(f(n)) < 2^abs(g(n)*eps) = (2^eps)^g(n) (for n > n0).
对于eps&lt; 1:
(2^eps)^n is in o(2^n) (as 2^eps < 2)
因为每个eps2&gt; 0存在n1,因此对于所有n> 1。 n1
(2^eps)^n < eps2*(2^n).
选择eps2 = eps vields:
(2^eps)^n < eps*(2^n) for all n > n1 (n1 is dependent on eps)
因为g(n) - > POS机。 INF。对于n - >; POS机。 INF。
存在n2g(n) > n1 for all n > n2
以下是
(2^eps)^g(n) < eps*2^g(n) for all n > n2.
所以对于每0&lt; eps&lt; 1存在n3> = max(n0,n2)以便
2^abs(f(n)) < 2^abs(g(n)*eps) = (2^eps)^g(n) < eps*2^g(n) for all n > n3.
对于每个eps3&gt; 1还:
2^abs(f(n)) < eps*2^g(n) < eps3*2^g(n)
因此对于每个eps&gt; 0存在n3以便
2^abs(f(n)) < eps*2^g(n) for all n > n3
困败2 ^ f(n)&lt;对于所有n,2 ^ abs(f(n)),并且2 ^ x> 1。 0表示所有实数x,它遵循
abs(2^f(n)) < abs(eps*2^g(n)) for all n > n3
q.e.d。
如果有什么不清楚或错误,请发表评论。
编辑:关于其他g(n)的一些想法:
g(n)的子序列受到限制,即它存在一些x,因此对于所有n> 0,不存在具有abs(g(n))> = x的n0。 N0:
o(g(n))仅由一些n后的常数0或收敛到0的函数组成。然后2 ^ g(n)也有一个受限的子序列,但是2 ^ f(n)在经过1后是常数1某点。
没有n0所以g(n)&gt; 0表示所有n> N0:
2 ^ g(n)&lt;如果g(n)<1,则为1。 0,因此g(n)具有受限的子序列,意味着o(2 ^ g(n))仅包含在某些n之后为0或收敛为0的函数。
答案 1 :(得分:1)
这是一个答案。结果取决于g(n)的收敛性。
首先考虑相关限制:
lim(x->inf) log_2 ((2^(f(n))) / (2^(g(n))))
=
lim(x->inf) ( log_2(2^(f(n))) - log_2(2^(g(n))) )
=
lim(x->inf) ( f(n) - g(n) ) = lim(x->inf) ( g(n) * f(n) / g(n) - g(n) )
=
lim(x->inf) ( -g(n) ) = - lim(x->inf) g(n)
...现在,要在你的帖子中将其转换为原始问题的形式,如果在数学上正确切换限制和日志(我认为是),那么我们将:
lim(x->inf) log_2 ((2^(f(n))) / (2^(g(n))))
=
log_2 lim(x->inf) ((2^(f(n))) / (2^(g(n)))).
现在,继续回答这个问题。如果 为真
2^(f(n)) = o(2^(g(n))),
然后在极限,右侧变为
log_2 (0) = - inf
...所以在这种情况下一定是真的
lim(x->inf) g(n) = inf
这个结果似乎有道理。考虑f(x) = exp(-x) and g(x) = 1 - exp(-x)
。显然,在这个例子中f(x) = o(g(x))
。但是,2^(f(x)) is not o(2^(g(x)))
因为
lim(x->inf) (2^exp(-x)) / (2^(1-exp(-x))) = 1/2.
但考虑到f(x) = exp(x), g(x) = exp(2x)
,f(x) = o(g(x))
和lim(x->inf) g(x) = inf
,符合上述条件,我们有
lim(x->inf) (2^exp(x)) / (2^exp(2x))
=
lim(x->inf) 1 / 2^(exp(x)*(exp(x) - 1)) = 0
所以2^(f(x)) = o(2^(g(x)))
。
答案 2 :(得分:-1)
通过示例轻松证明,
设,f(n)= 2log n和
g(n)= log n
(假设日志是基数2)
我们知道,2log n&lt; = c(log n) 因此f(n)= O(g(n))
2 ^(f(n))= 2 ^ log n ^ 2 = n ^ 2
2 ^(g(n))= 2 ^ log n = n
我们知道
n ^ 2不是O(n)
因此, 2 ^(f(n))不等于O(2 ^ g(n)))