对于这个问题,我认为这是真的,因为我认为问题基本上是要求f(n)
大于或等于g(n)
然后大于或等于2^(f(n))
到2^(g(n))
因此,如果我们采用f(n) = 2n
和g(n) = n
的实例,则f(n)
为> g(n)
。然后2^2n
大于2^n
。
但我的朋友说不正确,有人可以给我一些见解吗?我想我可能会对这个问题有一些误解。
答案 0 :(得分:2)
您有兴趣证明或驳斥此声明:
如果f(n)=Ω(g(n)),那么2 f(n) =Ω(2 g(n))。
当你看到这样的陈述时,澄清f和g在这里通常会有所帮助。具体而言,上述陈述实际上意味着以下内容:
对于任何函数f和g ,如果f(n)=Ω(g(n)),那么2 f(n) =Ω(2 G(N))
所以从这个意义上讲,如果你想证明这个陈述是真的,你需要通过显示这个陈述是真的来接近它,以便任何可能选择的f和g ,而不是只需选择单个f和单个函数g并确认这些特定函数的关系成立即可。从这个意义上说,你的朋友是对的。
(另一方面,如果你想反驳这个主张,你只需要给出函数f和g的例子,其中f(n)=Ω(g(n))但是2 f(n)≠Ω(2 g(n))。)
作为这个问题的提示:像O,Ω和Θ这样的渐近符号都完全忽略了常数因子。如果f(n)=Ω(g(n)),那么你可以用你想要的任何常数因子来缩放f或g,并且这种关系仍然可以保持。另一方面,指数中的常数因子从根本上改变了该指数的性质。例如,函数e n 比函数e 2n 指数地增长,因为e 2n =(e 2 ) n ,这是一个具有更高基数的指数函数。换句话说,如果不完全改变其增长率,就不能用一个常数因子来扩展指数。
基于这种断开 - Ω符号不能区分由常数因子而不同的函数,但指数函数对常数因子非常敏感 - 你认为这个陈述是真还是假?根据上面的建议,你会如何证明这样的陈述?
答案 1 :(得分:1)
对于这个问题,我认为这是真的,因为我认为问题基本上是要求
f(n)
大于或等于g(n)
然后2^(f(n))
大于或等于{{1} }}
不。那不是大欧米加符号的含义。 2^(g(n))
表示对于足够大的f(n) = Ω(g(n))
,n
的比率低于正常数。
要查看f(n)/g(n)
并非暗示f(n) = Ω(g(n))
,请考虑2^f(n) = Ω(2^g(n))
和f(n) = n - log(n)
。然后是g(n) = n
和2^f(n) = (2^n)/n
以及2^g(n) = 2^n
。
答案 2 :(得分:0)