在同一个Big-Θ复杂度类中是2 ^ n还是4 ^ n?

时间:2014-09-30 11:13:12

标签: complexity-theory asymptotic-complexity big-theta big-o

是2 ^ n =Θ(4 ^ n)?

我很确定2 ^ n不在Ω(4 ^ n)中,因此不在Θ(4 ^ n)中,但我的大学导师说它是。这让我很困惑,而且我找不到每个Google的明确答案。

4 个答案:

答案 0 :(得分:10)

2^n 4^n的big-theta(Θ),这是因为2^n big-omega (Ω)4^n

根据定义,当且仅当f(x) = Θ(g(x))f(x) = O(g(x))时,我们才会f(x) = Ω(g(x))

权利要求

2^n is not Ω(4^n)

证明

假设2^n = Ω(4^n),那么根据big-omega的定义,存在常量c > 0n0,这样:

所有2^n ≥ c * 4^n

n ≥ n0

通过重新安排不平等,我们有:

所有(1/2)^n ≥ c

n ≥ n0

但请注意,作为n → ∞,不等式的左侧倾向于0,而右侧等于c > 0。因此,这种不平等不能适用于所有 n ≥ n0,所以我们有一个矛盾!因此,我们在开始时的假设必定是错误的,因此2^n is not Ω(4^n)


更新

正如Ordous所述,您的导师可能会引用复杂性类EXPTIME,在该参考框架中,2^n4^n属于同一类。另请注意,我们有2^n = 4^(Θ(n)),这也可能是您的导师的意思。

答案 1 :(得分:1)

是的:一种方法是注意4^n = 2^(2n)。因此2^n4^n(指数)具有相同的复杂性,因为n2n具有相同的复杂度(线性)。

总之,这些基础不会影响复杂性;唯一重要的是指数具有相同的复杂性。

修改:此回答仅显示4^n2^n具有相同的复杂性,而不是2^n4^n的大-Theta }:你是正确的,因为没有k常数k*n^2 >= n^4所有n,所以情况并非如此。在某些时候,n^4会超过k*n^2。 (致@chiwangc / @Ordous致谢,强调他们的回答/评论中的区别。)

答案 2 :(得分:0)

是。两者都具有指数复杂性。

答案 3 :(得分:0)

即使大欧米茄不满意,但使用stirling approximation存在平等性,theta是可能的。因此(2 ^ n)=θ(3 ^ n)。