FANDOM


はじめに

急増加関数は巨大数を学ぶ上で中級者の壁として立ちはだかる。急増加関数は様々な関数の強さをおおざっぱに表すのに便利で、巨大数研究Wikiの至るところに登場する。しかし、急増加関数をきちんと理解するためには順序数を学ばなければならないなど、とっつきにくさがあることは否定できない。そこで本記事は、なるべく順序数について触れずに急増加関数の概念について説明を試みる。

ざっくりとした定義

急増加関数とは、おおざっぱに言えば次の漸化式で与えられる関数列である。

  • f0(x)=x+1
  • fn+1(x)=fnx(x)

例えばf1(x)=2xであり、f2(x)=2xxである。

一般にはfm(x)2m1xが成り立つ。

fω(x)への到達

ではここで、fm(x)の添え字mを変数化してみよう。このとき作られる関数fx(x)2x1xは急増加関数の1つの区切りとなる地点である。fx(x)は足し算、掛け算、べき乗を有限回組み合わせたり、合成したりしてつくられるいかなる関数(これを原始再帰関数という)よりも増加速度が大きいことが知られている。変数xはかっこの中だけにあった方が分かりやすい形なので、本家の急増加関数では、このfx(x)の強さをfω(x)と表記する。

fω(x)クラスの関数の例

アッカーマン関数A(a,b)矢印表記2a2(b+3)3と書き換えられる関数であり、↑の数を変数化しているという点から、ほぼfω(x)の強さの関数と考えることができる。

また、グラハム数の定義で登場した関数g(x)=3x3もほぼfω(x)の強さである。

ωとは何か?なぜωを使うのか?

ωは極限順序数と呼ばれ、自然数の列1,2,3,...の極限のことである。つまり、ωはすべての自然数よりも大きな存在、無限と考えて差し支えない。しかし、この記事の読者の中には「巨大数は有限の自然数について考察する場なのに、どうして無限が出てくるのか?」といった疑問を持つ方もいるだろう。

例えば、関数f(x)=xmについて考えてみよう。言うまでもなく、この関数はmの値が大きな方が強力な関数となる。しかし、どれだけmを大きくしても2xといった関数に増加速度で負けてしまうのだ。つまり、「2xの強さはxmで例えるとどのくらいのmが相当するか?」といった質問に対しては「mが無限のとき」としか答えようがないのだ。これと同じように、「アッカーマン関数は急増化関数fm(x)でいうとどのくらいのmが相当するか?」といった質問にはωを使うしか回答のしようがないのだ。

fω(x)のその先へ

急増加関数はfω(x)より強い関数を生み出せないのだろうか?もちろんそんなことはない。例えば、fω(x)2xxx重にしたfωx(x)fω(x)よりも強い。この関数の強さはfω+1(x)と表すことができる。急増加関数の良いところは、添え字の部分に特殊な表記を使うことを許す代わりに、最初の定義を変えることなく大きな関数を表現できる点である。ある巨大な関数を急増加関数で近似することができたら、添え字の部分だけを見ることでその関数のおおよその強さを把握することができるのだ。

最近のウィキアクティビティ

巨大数研究 Wiki
知識と情熱を共有しよう!
参加する