Describes approximate behavior of a function
ビッグオー記法は、定義域における関数のおおよその大きさを記述する数学表記法である。ビッグオー記法は、ドイツの数学者パウル・バッハマン[1]とエドムンド・ランダウ[2]によって考案
され、他の人々によって拡張された一連の記法の一つであり、総称してバッハマン・ランダウ記法と呼ばれる。文字Oは、バッハマンによって近似の順序を意味するOrdnungを表すために選ばれた。
コンピュータサイエンスでは、ビッグオー記法は、入力サイズの増加に応じて実行時間やメモリ容量の要件がどのように増加するかによって
アルゴリズムを分類するために使用されます。 [a] [3]解析数論
では、ビッグオー記法は算術関数の増加に対する境界を表現するためによく使用されます。よく知られた例の 1 つは素数定理の剰余項です。[4]微積分を含む数学的解析
では、ビッグオー記法は、べき級数を切り捨てるときに誤差を制限したり、実数値または複素数値関数をより単純な関数で近似する品質を表現するために使用されます。
多くの場合、ビッグオー記法は、変数が大きくなるにつれて関数の成長率に基づいて関数を特徴づけます。つまり、同じ漸近的成長率を持つ異なる関数は、同じオー記法で表すことができます。関数の成長率は関数の位数とも呼ばれるため、文字「オー」が使われます。ビッグオー記法による関数の記述は、関数の成長率の
上限のみを示します。
ビッグO表記法には、、、、、、、、などの記号を使用して成長率の他の種類の境界を記述するいくつかの関連表記法があります。[ 5 ] [ 6] [7 ]






推定対象となる関数 を定義域上で定義された実数値または複素数値関数とし、比較関数 を同じ集合 上で定義された非負の実数値関数とします。定義域 の一般的な選択肢としては、有界または非有界の実数区間、正の整数の集合、複素数の集合、実数と複素数の組などがあります。定義域 を明示的に記述するか暗黙的に理解する場合、
となる正の実数が存在するとき、 と書き、「は のビッグオーである」
と読みます。定義域 全体
にわたって、 が有界関数であるという
定義は同等です
。この定義は、定義域が有限、無限、実数、複素数、一変数、多変数の場合を含む、コンピュータサイエンスと数学におけるビッグオーのあらゆる用法を網羅しています。ほとんどのアプリケーションでは、内に現れる関数は通常、定数因子と低次の項を省略し、可能な限り単純なものが選択されます。この数は暗黙定数と呼ばれます。ビッグオー記法を使用する場合、重要なのは が存在することであり、特定の値ではありません。これにより、多くの解析的不等式の表現が簡素化されます。















正の実数または正の整数で定義された関数については、より限定的で多少矛盾する定義が、特にコンピュータサイエンスの分野では今でも一般的に用いられています[3]
、[8] 。最終的に正となる関数に限定された場合、この表記は
、
ある実数 に対して、
定義域 が成り立つことを意味します。ここで、この式は極限 を
示すのではなく、十分に大きな に対して不等式が成り立つという概念を示しています。多くの場合[3]、この式
は省略されます。







同様に、有限実数 に対して、 という表記は
、区間 上、つまり の小さな近傍において、
ある定数 に対して が成り立つことを意味します。さらに、 という表記は
が成り立つ
ことを意味します。より複雑な表現も可能です。




![{\displaystyle [ca,c+a]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e02fd1ce170d298eb25a67b6199a7209892fee80)



表記法では等号が使用されていますが、
は方程式ではなく、とを関連付ける不等式を指します。



1930年代[6]にロシアの数論学者 イヴァン・マトヴェイヴィチ・ヴィノグラードフが という記法を導入し 、これは という記法
の代替として数論でますます使われるようになった
[4] [9] [10]。


そして、同じ論文の中で両方の表記法が使用されることもよくあります。
ビッグOのセットバージョン
コンピュータサイエンス[3]では、big Oを集合として定義することも一般的です。正の整数上に定義された正の(あるいは最終的には正となる)関数の限定されたクラス内では、を満たすすべての関数の集合に対して と書きます。そして と書くことができます
。




無限領域の例
典型的な用法では、この表記法は実数の無限区間に適用され、非常に大きな に対する関数の挙動を捉えます。この設定では、「最も急速に」増加する項の寄与が、最終的に他の項を無関係にします。結果として、以下の簡略化規則を適用できます。



- 複数の項の合計である場合、成長率が最も大きい項があればそれを保持し、その他すべてを省略することができます。

- が複数の因数の積である場合、定数( に依存しない積の因数)は省略できます。


例えば、 とし、表記法を使用してこの関数を簡略化し、が大きい場合の成長率を記述するとします。この関数は、、、および の3 つの項の和です。これらの 3 つの項のうち、成長率が最も高い項は、の関数として最大の指数を持つ項、つまり です。ここで 2 番目の規則を適用できます。はとの積であり、最初の因子は に依存しません。この因子を省略すると、簡略化された形式 になります。したがって、は の「ビッグ O」であると言えます。数学的には、すべての に対して と書くことができます。この計算は、正式な定義を使用して確認できます。およびとします。上記の正式な定義を適用すると、 というステートメントは、
適切に選択した正の実数に対して、すべての に対して という展開
と同等です。これを証明するには、 とします。すると、すべての に対して となります。
したがって
、 と同じ議論により、 であることも成り立ちますが
、これは関数 の精度の低い近似です。一方、この文は誤りです。なぜなら、この項は無制限になる
から
です。































関数が入力 を持つアルゴリズムに必要なステップ数を記述する場合、暗黙のドメインが正の整数の集合である のような式は
、アルゴリズムの時間計算量が最大で のオーダーであると解釈できます。




有限領域の例
Big O は、有限区間における数学関数の近似における誤差項を記述するためにも使用できます。最も重要な項は明示的に記述され、最も重要でない項は単一の Big O 項にまとめられます。例えば、指数級数と、が小さい
場合に有効な2つの式を考えてみましょう。
中央の式(「」の行)は、 が小さい場合、誤差の絶対値
が最大で定数倍であることを意味します。これはテイラーの定理の使用例です。

![{\displaystyle {\begin{aligned}e^{x}&=1+x+{\frac {\;x^{2}\ }{2!}}+{\frac {\;x^{3}\ }{3!}}+{\frac {\;x^{4}\ }{4!}}+\dotsb &&{\text{ すべての有限 }}x について\\[4pt]&=1+x+{\frac {\;x^{2}\ }{2}}+O(|x|^{3})&&{\text{ すべての }}|x|\leq 1 について\\[4pt]&=1+x+O(x^{2})&&{\text{ すべての }}|x|\leq 1 について.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3a4cf161e1f091b8a9c0dcaf25e35dc39d8770db)




与えられた関数の挙動は有限領域と無限領域では大きく異なる可能性がある。例えば
、

多変量の例
ここでは2変数の複素変数関数を扱っています。一般に、有界関数は です。

最後の例は、さまざまな変数における有限領域と無限領域の混合を示しています。
これらの例において、境界は両変数において一様です。多変数式では、ある変数が他の変数よりも重要になる場合があり、その場合は、大文字のO記号または記号の添え字を用いて、暗黙の定数が1つ以上の変数に依存することを表現できます。例えば、次の式を考えてみましょう。


これは、各実数に対して、 に依存する定数 が存在することを意味します。そのため、すべての に対して、
この特定の記述は一般二項定理に従います。





テイラー級数の理論でよく見られる別の例は、次のとおりです。
ここで、暗黙の定数はドメインのサイズに依存します。

下付き文字の規則はこのページの他のすべての表記に適用されます。
プロパティ
製品


和
ならば。ならば。






定数による乗算
kを非ゼロの定数とします。すると となります。言い換えれば、ならば 

推移的性質
ならば、。



正の整数の
関数が他の関数の有限和として表せる場合、最も速く増加する関数が の位数を決定する。例えば、




無限への成長に関するいくつかの一般的な規則。以下の 2 番目と 3 番目の特性は、ロピタルの規則を使用して厳密に証明できます。
大国が小国を支配する
の場合、

対数はべき乗が支配的である
任意の正の に対して、 がどれだけ
大きくても がどれだけ小さくても
関係ありません。ここで、暗黙の定数は と の両方に依存します。





指数関数は累乗を支配する
どんなに大きくても小さくて
も、どんなにポジティブなものでも。



任意の に対してよりも速く増加する関数は、超多項式 と呼ばれます。 の形の任意の指数関数よりも遅く増加する関数は、劣指数関数と呼ばれます。アルゴリズムによっては、超多項式かつ劣指数関数的な時間を必要とする場合があります。このような例としては、整数因数分解の既知の最速アルゴリズムや関数 などがあります。





対数の内部におけるのべき乗は無視できます。 が正の数である場合、 の表記はと全く同じ意味になります。なぜなら だからです。同様に、異なる定数の底を持つ対数は、Big O表記に関して等価です。一方、異なる底を持つ指数関数は同じ位数ではありません。例えば、と は同じ位数ではありません。







より複雑な表現
より複雑な用法では、は方程式の異なる場所に出現し、各辺に複数回出現することもあります。例えば、正の整数について以下が成り立ちます。
これらの文の意味は次のとおりです。左辺でそれぞれ を満たす任意の関数に対して、右辺でそれぞれ を満たす関数 がいくつか存在し、これらの関数すべてを方程式に代入すると両辺が等しくなります。例えば、上記の3番目の方程式は、「 を満たす任意の関数に対して、となる関数が存在する」という意味です。文「 」に含まれる暗黙の定数は、式「 」に含まれる暗黙の定数に依存する場合があります。










さらにいくつかの例:
ヴィノグラドフの
そしてクヌースの大きな
が両方とも正関数であるとき、ヴィノグラドフ[6]はという表記を導入した。これは と同じ意味である。ヴィノグラドフの2つの表記は視覚的に対称性があり、正関数 については、




1976年にドナルド・クヌース[7]
は

これは、Vinogradov の と同じ意味です。

はるか以前、ハーディとリトルウッドは異なる定義をしていましたが、これは現在ではほとんど使われていません(イヴィッチの著書[9]は例外です)。より強い性質を表すために記号-を使用したことを正当化するために、クヌースは[7]次のように書いています。「私がこれまでコンピュータサイエンスの分野で見てきたすべての応用において、より強い要件…の方がはるかに適切です。」クヌースはさらに、「私はハーディとリトルウッドの の定義を変更しましたが、彼らの定義が広く使われているわけではなく、彼らの定義が適用される比較的まれなケースでは、彼らが言いたいことを他の方法で表現できるため、変更しても正当だと感じています。」[7]

実際、クヌースのビッグは、コンピューターサイエンスと組み合わせ論の一般的な特徴であるため、
ハーディ-リトルウッドのビッグよりもはるかに広く使用されています。

ハーディーズ
そしてクヌースの大きな
解析的数論において、[10]という表記はと の両方を意味する
。この表記はもともとハーディによるものである。[5] クヌースは同じ概念を という表記で表した。[7]大まかに言えば、これらの文はと が同じ位数を持つことを主張している。これらの表記は、 の共通定義域内の
すべての に対して
となる
正の定数が存在することを意味する。関数が正の整数または正の実数に対して (big O の場合のように) 定義されている場合、筆者はしばしば および の文が十分に大きいすべての に対して、つまりある点 を超えるすべての に対して成り立つと解釈する
。これは、文に を付記することで示されることがある。たとえば、
は
定義域に対して真であるが、定義域がすべて正の整数の場合は で関数が 0 となるため偽である。



















その他の例
表記
は、すべての に対して
となる
正の定数が存在することを意味します。対照的に、 は、
すべての に対して
となる
正の定数が存在することを意味します。また、 は、
すべての に対して
と
なる正の定数が存在することを意味します。











任意のドメイン について、
各文は内のすべての に対して となります。




一般的な関数の順序
アルゴリズムの実行時間を分析する際によく遭遇する関数のクラスのリストを以下に示します。いずれの場合も、cは正の定数であり、n は無限に増加します。一般的に、増加速度の遅い関数から順にリストアップされます。
| 表記 |
名前 |
例
|
 |
絶え間ない |
ソートされた数値配列の中央値を求める; 計算; 一定サイズのルックアップテーブルを使用する
|
 |
逆アッカーマン関数 |
分離集合データ構造における操作ごとの償却複雑度
|
 |
二重対数 |
均一に分布した値のソートされた配列内で
補間検索を使用して項目を見つけるのに費やされた比較の平均数 |
 |
対数 |
ソートされた配列内の項目を二分探索またはバランス探索木で探すこと、および二項ヒープ内のすべての操作
|

 |
多重対数 |
行列連鎖順序付けは、並列ランダムアクセスマシン上で多重対数時間で解決できます。
|

 |
分数乗 |
kdツリーの検索
|
 |
リニア |
ソートされていないリストまたはソートされていない配列内の項目の検索。リップルキャリーによる2つのnビット整数の加算。
|
 |
n ログスター n |
ザイデルのアルゴリズム[11]を使用して単純な多角形の三角測量を実行すると、
|
 |
線形、対数線形、準線形、または「」 |
高速フーリエ変換の実行、可能な限り最速の比較ソート、ヒープソートとマージソート
|
 |
二次関数 |
教科書的な掛け算で2桁の数字を掛け算する。バブル ソート、選択ソート、挿入ソートなどの単純なソート アルゴリズム。クイック ソート、シェルソート、ツリー ソートなどの通常はより高速なソート アルゴリズムの (最悪の場合) 境界。
|
 |
多項式または代数式 |
木結合文法解析、二部グラフの最大マッチング、 LU分解による行列式の発見
|
![{\displaystyle L_{n}[\alpha ,c]=e^{(c+o(1))(\ln n)^{\alpha }(\ln \ln n)^{1-\alpha }}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/40715162d91a34daf9bcfed5f41d8e336417f803)
 |
L表記または指数表記 |
二次ふるいまたは数体ふるいを用いた数の因数分解
|

 |
指数関数 |
動的計画法を用いて巡回セールスマン問題の(正確な)解を求める;総当たり探索を用いて2つの論理文が同等かどうかを判定する
|
 |
階乗 |
巡回セールスマン問題を総当たり探索で解く;順序集合のすべての無制限順列を生成する;ラプラス展開で行列式を求める;集合のすべての分割を列挙する
|
この文は、漸近的複雑性に関するより単純な式を導くために、 と弱められることがあります。これらの例の多くでは、実行時間は実際には であり、より正確な表現となっています。



Little-o 記法
十分に大きいに対して、実変数の実数値関数または複素数値関数については
、[2] のように書くことができる。


つまり
、すべての正の定数εに対して、



直感的に言えば、これはが よりもはるかに速く増加する、あるいはが よりもはるかに遅く増加する
ことを意味します。例えば、




そして 両方とも

の大きな値に対する関数の挙動に興味がある場合、対応する大 O 表記よりも、小 O 表記の方が強い表現になります。つまり、 の小 O である関数はすべて、ある区間 では の大 O でもありますが、 の大 O である関数すべてが の小 O であるとは限りません。たとえば、 の場合と大 O の場合では、どちらも同じです。







Little-oはいくつかの算術演算を尊重します。例えば、
- が非ゼロの定数である場合、そして



- もし、そして



- もし、そして



これは推移関係も満たします:
- もし、そして



Little-o は有限の場合にも一般化できる: [2]
if
言い換えれば、
の条件を満たすものに対してである。





この定義は、テイラー級数を用いた極限計算において特に有用である。例えば、
、 それで
漸近記法
litte-o に関連する関係式として、漸近記法
があります。実数値関数 の場合、式は を
意味します
。が とも同値である
ことに注目することで、これを little-o に結び付けることができます
。ここで は、がゼロに向かう関数 を指しています。これは「は に漸近的である」と読みます。同じ(有限または無限)領域上の非ゼロ関数の場合、は同値関係を形成します
。










表記法を使用する最も有名な定理の 1 つは
、スターリングの公式です。
数論では、有名な素数定理は、最大で である素数の個数であり
、の自然対数である
と述べています
。






little-oと同様に、有限の極限(両側または片側)を持つバージョンもあります。たとえば、
その他の例:
最後の漸近線はリーマンゼータ関数
の基本的な性質です
。

クヌースの小さな
最終的に正の実数値関数の場合、表記は
を意味します
。
言い換えると、 です。大まかに言えば、これは
が よりもはるかに速く増加することを意味します。






ハーディ・リトルウッド・ビッグオメガ表記法
1914年にGHハーディとJEリトルウッドは次のように定義される
新しい記号[12]を導入しました。
まるで

つまり、
1916年に同じ著者らは2つの新しい記号を導入し、次のように定義した。[13]
まるで

まるで

これらの記号は1924年にE.ランダウによって同じ意味で使用されました。[14]しかし、ランダウに続く著者は同じ定義に異なる表記を使用しています。[9]この記号は同じ定義の現在の表記に置き換えられ、


これら3つの記号は(とが両方とも満たされることを意味する)と共に、現在では解析的数論で使用されている。[9] [10]


簡単な例
我々は持っています
として
そしてより正確には
として
ここで、左辺は と の両方であることを意味します。



我々は持っています
として
そしてより正確には
として
しかし
として
バッハマン・ランダウ記法の族
正式な定義を理解するには、
数学で使用される
論理記号のリストを参照してください。
| 表記
|
名前[7]
|
説明
|
正式な定義
|
コンパクトな定義
[4]
[5]
[7]
[12]
[15] [16]
|
|
小文字の O; 小文字の Oh; 小文字の O; 小文字の Oh
|
fは漸近的にgに支配される(任意の定数因子に対して)
 |
|
|
または
(ヴィノグラドフ記法)
|
ビッグO、ビッグオー、ビッグオミクロン
|
はgによって上界となる(定数係数まで)
 |
|
|
(ハーディ記法)または(クヌース記法)
 |
(ハーディ)と同じ順序。ビッグシータ(クヌース)
|
fはgによって上(定数係数)と下(定数係数)
の両方で制限されます。  |
|
そして
|
(ただし、は有限) 
または
|
漸近的同値性
|
fは漸近的にg に等しい
|
(この場合)
 |
|
(クヌースの記法)、または
(ヴィノグラドフ記法)
|
複雑性理論における大きなオメガ(クヌース)
|
fは定数倍まで
gによって下界となる |
|
|
として、
 は有限である可能性がある、または 
|
小さなオメガ; 小さなオメガ
|
fは漸近的に
gを支配する |
(のために)
 |
|
|
数論におけるビッグオメガ(ハーディ・リトルウッド)
|
gは漸近的
に支配されない |
|
|
極限定義では、極限の近傍でが であると
仮定します。極限が のとき、これは が十分に大きい に対して であることを意味します。





コンピュータサイエンスと組合せ論では、大、大シータ、小、小オメガ、クヌースの大オメガ表記法が使用される。
[3]
解析的数論では、大、小、ハーディの、ハーディ–リトルウッドの大オメガ(+、-、±の添え字の有無にかかわらず)、ヴィノグラドフの、表記法がよく使用される。
[9] [4] [10]
小オメガ表記法は解析学や数論ではあまり使用されない。
[17]










異なる表記法を用いた近似値の品質
特にコンピュータサイエンスの分野では、大表記法は漸近的な厳密な境界を記述するために多少異なる意味で使用されることが多く、特定の状況では大シータ表記法を使用する方が事実上適切である可能性があります。
たとえば、関数 を考えるとき、以下のすべては一般に受け入れられますが、より厳しい境界(以下の番号 2、3、4 など)は通常、より緩い境界(以下の番号 1 など)よりも強く好まれます。






として。
これら3つの記述はすべて正しいですが、それぞれに含まれる情報は徐々に増えていきます。しかし、分野によっては、大きなO表記(上記のリストの2番目)の方が大きなTheta表記(上記のリストの3番目)よりも一般的に使用されることがあります。例えば、入力サイズ に対する新しく開発されたアルゴリズムの実行時間を とすると、アルゴリズムの発明者や利用者は、下限値や漸近的な挙動について明示的に述べずに、実行時間の上限値を設定する傾向があるかもしれません。


バッハマン・ランダウ記法の拡張
コンピュータサイエンスで時々使用される別の表記法は(ソフト Oと読みます)であり、これは多対数因子を隠します。使用されている定義は 2 つあります。一部の著者はに対してを省略形として使用し[要出典]、他の著者は を の省略形として使用します
。が の多項式である
場合、違いはありません。ただし、後者の定義では、例えば と言うことができますが、前者の定義では任意の定数に対してが可能です。一部の著者は、後者の定義と同じ目的でO *と書きます。 [20]本質的には、これはビッグO表記法であり、対数因子を無視します。これは、他の超対数関数の増加率効果が、悪い実行時パフォーマンスを予測する上で、対数増加因子によってもたらされる細かい点の影響よりも重要である大きな入力パラメータの増加率爆発を示しているためです。この表記法は、手元の問題に対してあまりに厳しい制限が課されていると述べられている成長率内での「細かい点を気にする」ことを避けるためによく使われます(
任意の定数と任意の












また、L表記は次のように定義される。
![{\displaystyle L_{n}[\alpha ,c]=e^{(c+o(1))(\ln n)^{\alpha }(\ln \ln n)^{1-\alpha }},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/59b5d9f7b7c3e8763737cb136642c142bd27da00)
は、 に関して多項式と指数関数の間に位置する関数に便利です。

任意のノルムベクトル空間に値を取る関数への一般化は(絶対値をノルムに置き換えるだけで)単純である。ここで、 と は同じ空間に値を取る必要はない。任意の位相群に値を取る関数への一般化も可能である[要出典]。「極限過程」は、任意のフィルタ基数を導入することで、すなわち有向ネットと に一般化することもできる。この表記法は、ごく一般的な空間における導関数と微分可能性、そして関数の(漸近的)同値性
を定義するために使用できる。






これは同値関係であり、上記の関係「は」よりも制限的な概念です。 ( とが正の実数値関数である場合、 に簡約されます。)たとえば、は ですが、 です
。







歴史(ボア・レイモン、バッハマン・ランダウ、ハーディ、ヴィノグラドフ、クヌースの表記法)
1870年、ポール・デュ・ボワ=レーモン[21]は、、、を
それぞれ と
定義
した
。これらは広く採用されたわけではなく、今日では使われていない。最初の と 3番目の は対称性があり、は と同じ意味である。後に、ランダウはより狭義の の極限が 1 に等しいという考え方を採用した。これらの表記法はいずれも今日では使われていない。








記号Oは、数論者ポール・バッハマンが1894年に著書『解析数論』第2巻で初めて導入しました。[1]数論者エドムンド・ランダウがこれを採用し、1909年にoという表記法を導入するきっかけとなりました。[2]そのため、現在では両方ともランダウ記号と呼ばれています。これらの表記法は、1950年代の応用数学において漸近解析に用いられました。[22]
記号(「 oではない」という意味で)は、1914年にハーディとリトルウッドによって導入されました。[12]ハーディとリトルウッドは1916年に(「右」)と(「左」)という記号も導入しました。 [13]この表記法は、少なくとも1950年代以降、数論においてある程度一般的に使用されるようになりました。[23]


記号 は、それ以前にも異なる意味で使用されていたが[21] 、 1909年にランダウ[2]により、また1910年にハーディ[5]により、現代的な定義が与えられた。ハーディは、論文の同じページで という記号を定義した。ここで は、 と が両方とも満たされることを意味する。この表記法は現在でも解析的整数論で使用されている。[24] [10]
ハーディは論文の中で という記号も提案した。ここで は、ある定数に対してが満たされることを意味する(これはボア=レーモンの表記法 に対応する)。









1930年代にヴィノグラドフ[6]は、
とという表記法を普及させました。これらはどちらも を意味します
。この表記法は解析的数論における標準となりました。[4]

1970年代にビッグOはドナルド・クヌースによってコンピュータサイエンスの分野で普及しました。クヌースはハーディのオメガ表記法に別の表記法を提案し、ハーディとリトルウッドのオメガ表記法に別の定義を提案しました。[7]
ハーディは1910年の小冊子『無限大の秩序』 [5]でこれらの記号を導入し、ボイド=レーモンドの記号(および既に述べた他の記号)を提唱したが、実際に使用したのは3本の論文(1910年から1913年)のみであった。残りの約400本の論文と著書では、一貫してランダウ記号Oとoを用いていた。[25]
ハーディの記号とは 現在では使用されていない。




表記に関する事項
矢印
数学において、 のような表現は極限の存在を示します。大文字のO表記法や関連表記法では
、小文字のO表記法やのような表記法とは異なり、暗黙の極限は存在しません。
のような表記法は、表記法の乱用とみなされる可能性があります。





等号
は、等号の使用が、この文には存在しない対称性を示唆し、誤解を招く可能性があるため、表記法の乱用であると考える人もいます。de Bruijnが言うように、 は真ですが、はそうではありません。[26] Knuthは、このような文を「一方向性の等式」と表現しています。なぜなら、もし左右を逆にできると、「恒等
式とから、のようなばかげたことを推論できるからです。」[27] Knuthは別の手紙で、次のことも指摘しています。 [28]



等号はこのような表記法に対して対称ではありません [この表記法では、] 数学者は英語の単語「is」と同じように「=」記号を慣習的に使用します。アリストテレスは人間ですが、人間は必ずしもアリストテレスであるとは限りません。
これらの理由から、集合記法を用いて と書き、「は の要素である」または「は集合に含まれる
」と読み、
を となるすべての関数のクラスと
考える人もいます。[27]しかし、等号の使用は慣例です。[26] [27]
より複雑な形式の式では、等号の方が便利です。







数論
[9] [4] [10]で広く用いられているヴィノグラドフ記法とには、
この欠陥がない。なぜなら、これらの記法は、big-O記法が等式ではなく不等式を表すことをより明確に示しているからである。また、これらの記法は、big-O記法にはない対称性も備えている。つまり、
は と同じ意味である。組合せ論やコンピュータサイエンスでは、これらの記法はほとんど見られない。[3]

組版
ビッグオーは、以下の例のように、イタリック体の大文字「O 」として表記されます。[29] [30] TeX では、数式モードで「O」と入力するだけで表示されます。ギリシャ語で「バッハマン・ランダウ」と呼ばれる表記法とは異なり、特別な記号は必要ありません。しかし、一部の著者はカリグラフィ表記法を使用しています。[31] [32]
大文字の「O」は元々「order of」("Ordnung"、Bachmann 1894)を表し、ラテン文字です。BachmannもLandauもこれを「Omicron」と呼ぶことはありません。この記号はずっと後(1976年)、Knuthによって大文字の「omicron」とみなされました[7]。これはおそらく、記号オメガの定義に由来すると思われます。数字のゼロは使用すべきではありません。
参照
参考文献と注釈
- ^ ab バックマン、ポール(1894)。 Analytische Zahlentheorie [解析的整数論] (ドイツ語)。 Vol. 2. ライプツィヒ:トイブナー。
- ^ abcde ランドー、エドマンド(1909)。 Handbuch der Lehre von der Verreilung der Primzahlen [素数の分布理論に関するハンドブック] (ドイツ語)。ライプツィヒ: BG トイブナー; 1974 年にチェルシー社から 2 冊一体として再版され、ポール T. ベイトマン博士による付録が付けられました。59~ 63ページ 。
- ^ abcdef コーメン, トーマス・H. ;レイサーソン, チャールズ・E. ;リベスト, ロナルド・L. ;スタイン, クリフォード(2022). 「実行時間の特徴づけ」.アルゴリズム入門(第4版). MIT Press and McGraw-Hill. ISBN
978-0-262-53091-0。
- ^ abcdef イワニエツ、ヘンリク、コワルスキー、エマニュエル.
解析的数論、アメリカ数学会、2004年.
- ^ abcde Hardy, GH (1910). Orders of Infinity: The 'Infinitärcalcül' of Paul du Bois-Reymond. Cambridge University Press . p. 2.
- ^ abcd 例えば、「ウォーリング問題におけるG ( n ) の新たな推定値」(ロシア語)を参照。Doklady Akademii Nauk SSSR 5, No 5-6 (1934), 249–253。英語訳:Selected works / Ivan Matveevič Vinogradov; ソ連科学アカデミー・ステクロフ数学研究所が彼の90歳の誕生日を記念して作成。Springer-Verlag, 1985。
- ^ abcdefghi ドナルド・クヌース(1976年4月~6月)「ビッグ・オミクロン、ビッグ・オメガ、ビッグ・シータ」SIGACTニュース8 ( 2): 18– 24. doi : 10.1145/1008328.1008329 . S2CID 5230246 .
- ^ シプサー、マイケル (2012).計算理論入門(第3版). ボストン、マサチューセッツ州: PWS Publishing.
- ^ abcdef Ivić, A. (1985).リーマンゼータ関数. John Wiley & Sons. 第9章.
- ^ abcdef Gérald Tenenbaum, Introduction to analytic and probabilistic number theory, « Notation », page xxiii. American Mathematical Society, Providence RI, 2015.
- ^ ザイデル、ライムンド(1991)、「台形分解の計算と多角形の三角形化のための単純かつ高速な増分ランダム化アルゴリズム」、計算幾何学、1:51-64、CiteSeerX 10.1.1.55.5877、doi:10.1016/0925-7721(91)90012-4
- ^ abc Hardy, GH ; Littlewood, JE (1914). 「ディオファントス近似の問題:第2部 楕円θ関数に関連する三角級数」Acta Mathematica . 37 : 225. doi : 10.1007/BF02401834 . 2018年12月12日時点のオリジナルよりアーカイブ。 2017年3月14日閲覧。
- ^ ab Hardy, GH ; Littlewood, JE (1916). 「リーマンゼータ関数の理論と素数分布の理論への貢献」Acta Mathematica 41 : 119–196 . doi : 10.1007/BF02422942.
- ^ E. ランダウ(1924)。 「Über die Anzahl der Gitterpunkte in gewissen Bereichen. IV」[既知の領域の格子点の数について]。ナクル。ゲゼル。ウィス。ゴット。数学物理学。 (ドイツ語): 137–150。
- ^ バルカサル、ホセ L.ガバロ、ホアキン。 「下限と上限によって指定される不均一な複雑さのクラス」(PDF)。RAIRO – 理論情報学とアプリケーション – Informatique Théorique et Applications。23 (2): 180。ISSN 0988-3754 。2017 年 3 月 14 日のオリジナルからアーカイブ(PDF) 。2017 年3 月 14 日に取得– Numdam 経由。
- ^ Cucker, Felipe; Bürgisser, Peter (2013). 「A.1 Big Oh, Little Oh, and Other Comparisons」. Condition: The Geometry of Numerical Algorithms . Berlin, Heidelberg: Springer. pp. 467– 468. doi :10.1007/978-3-642-38896-5. ISBN 978-3-642-38896-5。
- ^ 例えば、Hildebrand, AJ「漸近的記法」(PDF)では省略されています。数学部。漸近的解析法。Math 595、2009年秋。イリノイ州アーバナ:イリノイ大学。 2017年3月14日時点のオリジナルからアーカイブ(PDF) 。 2017年3月14日閲覧。
- ^ Andreas Björklund、Thore Husfeldt、Mikko Koivisto (2009). 「包含-除外によるセット分割」(PDF) . SIAM Journal on Computing . 39 (2): 546– 563. doi :10.1137/070683933. 2022年2月3日時点のオリジナルよりアーカイブ(PDF) . 2022年2月3日閲覧.セクション2.3、p.551を参照してください。
- ^ ab ボワ=レイモンド、ポール・デュ (1870)。 「機能の無限の偉大なる相対性」。アンナリ ディ マテマティカ、セリエ 2。4 : 338–353。土井:10.1007/BF02420041。
- ^ エルデイ, A. (1956).漸近展開. クーリエ社. ISBN 978-0-486-60318-6。 。
- ^ ECティッチマーシュ『リーマンゼータ関数の理論』(オックスフォード、クラレンドン出版社、1951年)
- ^ ハーディ, GH;ライト, EM (2008) [第1版 1938年]. 「1.6. いくつかの表記法」. 『数論入門』 . D.R. ヒース=ブラウンとJ.H. シルバーマンによる改訂版、アンドリュー・ワイルズによる序文(第6版). オックスフォード: オックスフォード大学出版局. ISBN 978-0-19-921985-8。
- ^ ハーディ, GH (1966–1979). GHハーディ論文集(JEリトルウッドらとの共著を含む)全7巻. クラレンドン・プレス, オックスフォード.
- ^ アブ ・デ・ブルーイン、NG (1958)。分析における漸近的手法。アムステルダム: 北オランダ。5 ~ 7ページ 。ISBN 978-0-486-64221-5. 2023年1月17日時点のオリジナルよりアーカイブ。2021年9月15日閲覧。
- ^ abc グラハム, ロナルド;クヌース, ドナルド;パタシュニック, オレン(1994). コンクリート数学 (第2版). マサチューセッツ州レディング: アディソン・ウェスレー. p. 446. ISBN 978-0-201-55802-9. 2023年1月17日時点のオリジナルよりアーカイブ。2016年9月23日閲覧。
- ^ Donald Knuth (1998年6~7月). "Teach Calculus with Big O" (PDF) . Notices of the American Mathematical Society . 45 (6): 687. 2021年10月14日時点のオリジナルよりアーカイブ(PDF) . 2021年9月5日閲覧。(完全版は2008年5月13日にWayback Machineにアーカイブされています)
- ^ Donald E. Knuth, The art of computer programming. 第1巻. 基本アルゴリズム, 第3版, Addison Wesley Longman, 1997年. セクション1.2.11.1.
- ^ Ronald L. Graham、Donald E. Knuth、Oren Patashnik、「Concrete Mathematics: A Foundation for Computer Science(第2版)」、Addison-Wesley、1994年。セクション9.2、p.443。
- ^ Sivaram Ambikasaran と Eric Darve、「部分階層的半分離可能行列の高速直接ソルバー」、J. Scientific Computing 57 (2013)、第3号、477–501ページ。
- ^ Saket SaurabhとMeirav Zehavi、「-Max-Cut:時間アルゴリズムと多項式カーネル」、Algorithmica 80 (2018)、第12号、3844–3860。

注記
- ^ 入力の「サイズ」は通常、解くべき問題の難易度を示す指標として用いられます。答えを計算する(つまり問題を「解く」)ために必要な[実行]時間と[メモリ]容量は、問題のそのインスタンスの難易度を示すものと考えられています。計算複雑性理論においては、ビッグ記法は、入力[データストリーム]のサイズ、必要な[実行]時間、必要な[メモリ]容量の3つすべてに対する[「桁数」の上限]として用いられます。
さらに読む
- ドナルド・クヌース(1997). 「1.2.11: 漸近的表現」.基礎アルゴリズム. コンピュータプログラミングの技法. 第1巻 (第3版). Addison-Wesley. ISBN 978-0-201-89683-1。
- シプサー、マイケル(1997).計算理論入門. PWS Publishing. pp. 226–228. ISBN 978-0-534-94728-6。
- Avigad, Jeremy; Donnelly, Kevin (2004). Isabelle/HOLにおけるO記法の形式化(PDF) . 国際自動推論合同会議. doi :10.1007/978-3-540-25984-8_27.
- Black, Paul E. (2005年3月11日). Black, Paul E. (編). 「big-O記法」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所. 2006年12月16日閲覧.
- ブラック、ポール・E. (2004年12月17日). ブラック、ポール・E. (編). 「little-o記法」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所. 2006年12月16日閲覧.
- Black, Paul E. (2004年12月17日). Black, Paul E. (編). 「Ω」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所. 2006年12月16日閲覧.
- Black, Paul E. (2004年12月17日). Black, Paul E. (編). 「ω」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所. 2006年12月16日閲覧.
- Black, Paul E. (2004年12月17日). Black, Paul E. (編). 「Θ」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所. 2006年12月16日閲覧.
外部リンク
ウィキブックのデータ構造には、 Big-O記法に関するページがあります。
WikiversityはBig-O記法を使ってMyOpenMathの問題を解きました
- 数列の成長 — OEIS(整数数列オンライン百科事典)Wiki
- 漸近記法入門
- Big-O記法 – 何に役立つのか
- 一次導関数の中心差分法の精度におけるBig Oの例
- アルゴリズムの複雑性分析へのやさしい入門