3n^3 + 20n^2 + 5 <= cn^3
=> 20n^2 + 5 <= cn^3 - 3n^3
=> 20n^2 + 5 <= n^3(c - 3)
=> 20n^2/n^3 + 5/n^3 <= n^3(c - 3)/n^3
=> 20/n + 5/n^3 <= c - 3
=> c >= 20/n + 5/n^3 + 3
大なり記号を開始する場所に応じて、n0を選択して値を見つけることができます。
たとえば、n0 = 1の場合:
c >= 20/1 + 5/1 + 3 which yields c >= 28
Big-O表記の定義により、境界が実際にこれほどタイトである必要はないことに注意してください。これは単純な関数なので、推測して確認することができます(たとえば、cに100を選択し、条件が実際に漸近的に真であることに注意してください)。
例えば:
3n^3 + 20n^2 + 5 <= (5 * 10^40) * n^3 for all n >= 1
真を保持するその不平等は、f(n)がO(n ^ 3)であることを証明するのに十分です。
より良い証明を提供するには、実際には2つの定数が存在し、そのようc
にn0
存在することを示す必要がありf(n) <= cg(n) for all n > n0
ます。
c = 28を使用すると、これを行うのは非常に簡単です。
3n^3 + 20n^2 + 5 <= 28n^3
20n^2 + 5 <= 28n^3 - 3n^3
20n^2 + 5 <= 25n^3
20/n + 5/n^3 <= 25
When n = 1: 20 + 5 <= 25 or 25 <= 25
For any n > 1, 20/n + 5/n^3 < 25, thus for all n > 1 this holds true.
Thus 3n^3 + 20n^2 + 5 <= 28n^3 is true for all n >= 1
(これはかなりひどい「証明」ですが、うまくいけばアイデアが示されます。)