3 n = O(2 n ) ですか? (3/2) n = O(2 n ) はどうですか? 答えを説明できますか?
2 nにどのような定数 C を掛けても、3 nは 2 nよりも速く成長するため、最初は false になりました。2番目も同じですか?
log(3 n ) = O(log (2 n ) ) はどうですか? ログのベースがわからないため、これを特定できないと思います。
3 n = O(2 n ) ですか? (3/2) n = O(2 n ) はどうですか? 答えを説明できますか?
2 nにどのような定数 C を掛けても、3 nは 2 nよりも速く成長するため、最初は false になりました。2番目も同じですか?
log(3 n ) = O(log (2 n ) ) はどうですか? ログのベースがわからないため、これを特定できないと思います。
より強い結果を実際に証明してみましょう: 1 ≤ r 0 < r 1である任意の定数 r 0および r 1について、r 0 n = O(r 1 n )は真であり、r 1 n = r 0 nは偽です。 . 1 < 3/2 < 2 であるため、これは特殊なケースとして結果を証明します。
最初の部分を証明するために、r 0 n = O(r 1 n ) であることを示します。これを行うには、big-O の定義を使用し、任意の n > n 0 に対して、次のようになる n 0と cの値を見つけます。
r 0 n ≤ cr 1 n
n = n 0を選択でき、c = 1 を選択できます。上記の不等式が成立するため、定義により、r 0 n = O(r 1 n ) が得られます。
2 番目の部分を証明するために、r 1 n ≠ O(r 0 n ) であることを示します。これを行うには、矛盾を進めます。矛盾を避けるために、任意の n > n 0に対してc と n 0の選択が存在すると仮定します。
r1n ≦ cr0n _ _ _
両側のログを取る
n log r 1 ≤ log (cr 0 n )
n log r 1 ≤ log c + n log r 0
n (log r 1 - log r 0 ) ≤ log c
n log(r 1 / r 0 ) ≤ log c
n ≤ log c / (log(r 1 / r 0 ))
しかし、このステートメントは n の任意の選択に対して成り立つ必要があるため、問題が発生しています。ただし、log c / (log(r 1 / r 0 ))より大きい n を選択すると、ステートメントは偽になります。
矛盾に達したので、仮定が間違っていたに違いありません。したがって、1 < r 0 < r 1の場合、r 1 n ≠ O(r 0 n ) となります。
お役に立てれば!