以下通常是正确的吗?
f∉O(g) ⇒ f*h∉O(g*h)
其中f,h,g是仅正函数。我的直觉是,这是真的,但我不知道该如何证明。
这就是为什么我认为这是正确的原因:
因为f∉O(g)没有将c乘以g,对于足够大的x,f≤c * g。 g没有有效的c,因为在顶部的f和g替代者或f主导g。对于每个x,点f(x)和g(x)将按h(x)缩放,因此,如果f(x)在g(x)之上,则h(x)f(x)将在h之上(x)g(x)。这意味着当乘以h时,缺乏渐近优势必须保持不变,对吧?
答案 0 :(得分:2)
假设f * h为O(g * h)。然后存在x0,c,使得对于所有x> = x0的f(x)* h(x)<= c * g(x)* h(x)。由于h始终为正,因此h(x)为正,我们可以自由地将不等式的两侧相除而不会改变符号。得出f(x)<= c * g(x)。因此,O(g * h)中的f * h表示O(g)中的f。
我们刚刚证明的事实与您的主张相反。您要证明的主张是:
如果f不是O(g),则f * h不是O(g * h)
我们刚刚显示的是:
如果f * h为O(g * h),则f为O(g)
由于所有逻辑语句在逻辑上都等同于它们的对立物,因此您的语句也是如此。您可以通过将不等式的一侧乘以单位h(x)/ h(x),然后乘以h(x)直接进行推理。但我认为按司取消更为清楚。