漸近的に記述された関数を操作して結論を​​出すことはできますか?


7

この質問は宿題に基づいています(実際の問​​題は使用していません)。

次のような関数があるとします。

f(n)O(2n2).

次に、これを次のように扱いますか?

f(n)=2n2

それに数学を実行し、その漸近的な意味を保ちますか?

上記の場合、が意味すると推測できますか(この例では係数が重要であると仮定しています)?f(n)O(2n2)f(n)/2O(n2)


6
あなたは非常に注意する必要があります。O()は関数のセットであることを思い出してください。1人の代表者のみを採用すると、誤った結論につながる可能性があります。
adrianN 2016

1
「次に、これを次のように扱うことができますか?」-いいえ。「漸近的な意味を保つ」-それどういう意味ですか?一部の情報は引き継がれ、一部は引き継がれません。「上記の場合、私は推測することができます」-あなたは好きなように推測することができます。興味深いのは、何かを証明できるかどうかです。漸近関係を証明する方法については、こちらをご覧ください。定義に直接移動することもできます:を展開した後の主張は何ですか?を展開した後のについて何を知っていますか?その間のスペースを埋めます。OfO
ラファエル

回答:


8

加算、乗算などの一部の演算では、漸近表記で直接演算できます。たとえば、および場合、および。除算など、他のいくつかの操作では、それはその時によります。たとえば、および場合、と言っても正しくありません(および検討してください)。ただし、が固定定数の場合、g(n)=O(n2)f(n)=O(n2)g(n)+f(n)=O(n2)g(n)f(n)=O(n4)g(n)=O(n2)f(n)=O(n2)g(n)f(n)=O(1)g(n)=n2f(n)=ncg(n)c=O(n2)


漸近表記が一般に「許可」されている操作に関するドキュメントはありますか?または、累乗は常に許可され(乗算)、対数は依存している(除算)と推測できますか?
タイラーケリー

3
@ user3470987リストはどこかにあるかもしれませんが、その場で生成することもできます。これは素晴らしいエクササイズです。
Yuval Filmus 16

1
@ user3470987これは好みの問題です。私のような人々は、混乱や間違いを簡単に引き起こす可能性があるため、これを絶対に行わないようにアドバイスします。
ラファエル

3

予想のような質問に答えるには、の定義を使用します。執筆時点でのウィキペディアからの言い換え:O

fO(g) iff for all、for some constants and。f(x)M×g(x)x>x0Mx0

したがって、場合、 for constants and(私はそれを代わりには後で混乱を避けるためです)。を1つの定数に結合できることがわかります。これにより、わかります。f(n)O(2n2)f(n)C×2n2  n>n0Cn0CM2CO(2n2)=O(n2)

について何が言えますか?これで、両側を2で除算するなど、不等式で通常の代数を使用できます。f(n)/2

f(n)/2Cn2  n>n0

これはまだですか?これをチェックするには、上記の定義が成り立つような定数とを見つける必要があります。この場合、および機能します。も有効であることに注意してください。これらの定数が定数であることがわかっている限り、これらの定数を検索する方法は何でも使用できます。O(n2)Mx0M=Cx0=n0M=327.6C

現実世界では、NP-hardが彼の答えで行うように、分析を行うときにこれのほとんどを「ショートカット」することができますが、これらこのように厳密に書き出すための単なるショートカットです(これは私が期待することです)特にに関する宿題)。それが有効かどうかわからない場合は、定義を使用して取得し、不等式で代数を実行してから、適切な定数を見つける(または単に存在することを示す)ことでに戻します。OOO

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.