はぁ・・・完全に嫌われてしまった。やっぱり、割り勘がだめだったのか・・・足りなかった1円を次の日に要求したのが悪かったのか・・・どっちだろ。
(あ、先生が珍しく落ち込んでるぞ。めんどうなことになる前に退散・・・)
・・・・・・・・・・・俺はランダウのようにはなれないんだよ!!!!!
先生落ち着いてー!
本日の先生はどうやら荒れ模様です。ちょっと無視しておきましょう・・・・・
はい、というわけで(どんなわけだ!)本日のテーマは
オーダー記法(ランダウの記号)
です。
オーダー記法とは
オーダー記法とは、ランダウの記号と呼ばれるもので表される記法です。そのランダウの記号は、1907年にエドムント・ランダウ氏が素数分布の研究から生み出した記号です。
「ランダウ」は発明者の名前であることが自明ですが、記法の名前となっているオーダーというのは、数学において「位数」「次数」「階数」「順序」などを表す「order」という英単語に由来しています。
この記法は、関数の極限などによく用いられる記法です。そして、特別な記号を使って表します。
よ~く見ると英語のO(オー)や数字の0(ゼロ)とは違うので注意してください。
大小あるので ビッグオー 、 スモールオー なんて略した呼び方をされることが多いです。
これは、変化の度合いにおおよその評価を与えるための記号として使われます。
一見難しそうですが、内容は至ってシンプルなので、最後までついてきてくださいね!
ランダウの記号の定義
まずはビックオーと呼ばれる \(Ο\) の定義から。
また、スモールオーと呼ばれる \(ο\) の定義は
はい、もう何がなんだかさっぱり!って感じですね。実際の例をみると意味がわかると思うので、さっそく使用例に移りたいと思います。
使用例
基本的には以下の2つのパターンです。
- 多項式において∞や0付近では、影響力が強い項以外を無視する
- 定数倍の差を無視する
「無視」という言葉が心に響くなぁ・・・
端的にいうと、見積もりをする!って感じですね。ちゃんとした計算をする前に、その必要となる時間など規模がどのくらいか大雑把に見積もりをとるんです。
例1.
\(n^4+n\) は \(n\) →\(∞\) において \(n^4\) と同じくらいの規模とする考えから
\(n^4+n = Ο (n^4)\) と表せる
めちゃくちゃ大雑把じゃないか!!そんなんでいいのかよ!!
\({\lim}_{x \to \infty}\) \(\frac{n}{n^4} = 0\) ですから \(n\) 程度は特に影響ないんですよね。また、定義に従って説明すると、これは定数で上から押さえることが可能なことからも、上記のように表すことができるといえます。
あくまでも変化の度合いをみているので、\(n^4\) と \(n\) では変化の度合いが明らかに違うことからも自明です。
同様に定数倍もいいや!ってことらしいです。
例2.
\(cosx\) のマクローリン展開は \(cosx = 1-\frac{1}{2!}x^2 + \frac{1}{4!} x^4 – \cdots \)と表せることを勉強しましたが、
これは \(cosx = 1- \frac{1}{2!} x^2 + ο(x^3)\) と表せます。
0付近では、\({\lim}_{x \to \infty}\)\(\frac{cosx-(1-\frac{x^2}{2})}{x^3} = 0\) となるため、第3項以降はだいたい \(x^3\) でいいや!っていう・・・まぁ見積もりですから、微々たる誤差は気にしません。
1円や2円気にしている場合じゃないよな。なんて器の大きい記号なんだ・・・
実際の使い道も、数学以外だと、コンピュータでの見積もりなどに使われているんです。
いくらコンピュータといっても処理できる限界はあるんです。
オーダーによって見積もりした際に、莫大な数値になると見積もりが出た場合・・・
・「計算不可」としてエラーメッセージを出し、処理を終了させる
・計算の規模を何かしらの方法で小さく出来ないか考える
・どうしても計算が必要なときは必要なメモリやストレージを割り当てる
など対策を取るようにすることで、コンピュータを守ってあげてるんですね。
コンピュータへの人の優しさが身にしみるなぁ・・・
もう少し本格的に定義を学びたい方はこちらを参考にしてください
イケメンが解説しております・・・