ランダウの記号とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > ランダウの記号の意味・解説 

ランダウの記号

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/04/25 18:39 UTC 版)

スターリングの公式はランダウの記号を用いて
この記事には、過剰に詳細な記述が含まれているおそれがあります。
百科事典に相応しくない内容の増大は歓迎されません。 内容の整理ノートで検討しています。2016年1月

関数 f(n) が他の関数の有限和で表せるとき(多項式であるとき)、その内最も発散速度の速い関数が f(n) のオーダーを決定づける。以下にその例を挙げる。

例での場合、係数を無視してnに関する項を見ると、log n、(log n)3n2n3の4つが存在し、このうちn3が最も発散が速い。そのため、他のnに関する項に関わらず、オーダーはO(n3)とする。

特に、関数が n の多項式でおさえられるならば、n が無限大に発散するに従ってより低いオーダーの項まで無視できるようになる。

O(nc) と O(cn) は全く異なる。前者の定数 cがどれほど大きかろうと、後者の方がずっとずっと速く発散する。どのような定数 c に対しても ncより速く発散する関数は超多項式 (superpolynomial) と呼ばれる。また、どのような定数 c に対しても cn よりも遅く発散する関数は準指数関数 (subexponential) と呼ばれる。アルゴリズムの計算量が超多項式かつ準指数関数であることもあり得る。例えば、現在知られている内で最も早い因数分解のアルゴリズムもこれに含まれる。

O(logn) と O(log(nc)) は全く等価である。なぜならば、log(nc) = c logn より2つの指数関数は定数係数のみが異なり、これは big O-記法では無視されるからである。同様に異なる底を持つ対数関数も等価であるが、一方、異なる底を持つ指数関数は等価ではない。これはよくある勘違いである。例えば、2n と 3n は同じオーダーではない。

入力サイズの単位の変更は、アルゴリズムの計算量を変えるかもしれないしそうでないかもしれない。単位を変更するということは、関数に現れる全ての n にある定数を掛けることと同じである。例えば、アルゴリズムが n2 のオーダーで動くとき、ncn で置き換えれば計算量は c2n2 となり、big O-記法では c2 は無視されるので計算量は変化しない (c2n2 O(n2))。しかし例えば 2n のオーダーで動くアルゴリズムでは、ncn で置き換えると計算量は 2cn = (2c)n となる。これは 2n とは等しくない(もちろん、c = 1 の場合を除く)。

次の多項式関数を考える

このとき、f(x) のオーダーは O(g(x)) または O(x4) である。実際、オーダーの定義からこれはある定数 Cx0 が存在して、x0 < x なる任意の x に対し |f(x)| C |g(x)| が成り立つことを意味するが、x > 1 において

であるから、C = 13, x0 = 1 とおけばよい。

  • リーマン予想が正しければ、x 以下の素数の個数 π(x) は次のように
    と評価できる(素数定理も参照)。
  • バブルソートの時間的計算量を考えると、n 個の要素からなる列をソートするのに掛かる時間はO(n2) である。クイックソートを使えば、平均計算時間を O(n logn) に改善できる(但し最悪時にはO(n2))。
  • n正方行列固有値を求めるアルゴリズムは、少なくともその行列に含まれる n2 個の要素を読み取らなければならない。従って、固有値を求めるアルゴリズムの時間的計算量の下界は Ω(n2) である。

すなわち、一般的な行列に対してその固有値を計算するのに掛かる時間が n2 のオーダーを下回るアルゴリズムは存在しない。

無限大における漸近挙動と計算量の見積り

O-記法はアルゴリズムの効率を解析するのに有用である。たとえば、あるサイズ n の問題(例えば処理すべきデータが n 個あるなど)を解くのに掛かる時間あるいは手順数が T(n) = 4n2 2n + 2 である場合を考える。

このとき、n を次第に大きくしていくと、 T(n) に対して n2 の項の影響が支配的になり、他の項はほとんど無視できるようになる(たとえば n = 500 としてみると、4n2 の項は 2n の項の実に1000倍であり、後者を無視しても式に与える影響は、計算量を考える上でほとんど無視できる)。

さらに、n3 や 2n といった他のオーダーの式と比較する分には係数も無関係になる(たとえば T(n) = 1,000,000n2 のように係数が大きい関数と、それより指数が1大きい U(n) = n3 を比較する。仮に n = 1,000,000 としてみると T(1,000,000) = 1,000,000×1,000,0002 = 1,000,0003 = U(1,000,000) だから、n > 1,000,000 の場合は常に U(n) > T(n) である。)。

こうして残る影響をすくい上げて、O-記法では

と書いて、「n2 のオーダーである」と言い、これによってこのアルゴリズムの時間あるいは手順数T(n) の増加具合が n2 に支配されることを表現する。

脚注

参考文献

関連項目


ランダウの記号

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/08 06:12 UTC 版)

記号の濫用」の記事における「ランダウの記号」の解説

ランダウの記号を用いてf(x) は O(g(x)) であると言ったり、f(x) = O(g(x)) と書いたりするのは記号の濫用である。

※この「ランダウの記号」の解説は、「記号の濫用」の解説の一部です。
「ランダウの記号」を含む「記号の濫用」の記事については、「記号の濫用」の概要を参照ください。

ウィキペディア小見出し辞書の「ランダウの記号」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ランダウの記号」の関連用語

ランダウの記号のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ランダウの記号のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのランダウの記号 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの記号の濫用 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS