はじめに
急増加関数は巨大数を学ぶ上で中級者の壁として立ちはだかる。急増加関数は様々な関数の強さをおおざっぱに表すのに便利で、巨大数研究Wikiの至るところに登場する。しかし、急増加関数をきちんと理解するためには順序数を学ばなければならないなど、とっつきにくさがあることは否定できない。そこで本記事は、なるべく順序数について触れずに急増加関数の概念について説明を試みる。
ざっくりとした定義
急増加関数とは、おおざっぱに言えば次の漸化式で与えられる関数列である。
例えばであり、である。
一般にはが成り立つ。
への到達
ではここで、の添え字を変数化してみよう。このとき作られる関数は急増加関数の1つの区切りとなる地点である。は足し算、掛け算、べき乗を有限回組み合わせたり、合成したりしてつくられるいかなる関数(これを原始再帰関数という)よりも増加速度が大きいことが知られている。変数はかっこの中だけにあった方が分かりやすい形なので、本家の急増加関数では、このの強さをと表記する。
クラスの関数の例
アッカーマン関数は矢印表記でと書き換えられる関数であり、↑の数を変数化しているという点から、ほぼの強さの関数と考えることができる。
また、グラハム数の定義で登場した関数もほぼの強さである。
とは何か?なぜを使うのか?
は極限順序数と呼ばれ、自然数の列1,2,3,...の極限のことである。つまり、はすべての自然数よりも大きな存在、無限と考えて差し支えない。しかし、この記事の読者の中には「巨大数は有限の自然数について考察する場なのに、どうして無限が出てくるのか?」といった疑問を持つ方もいるだろう。
例えば、関数について考えてみよう。言うまでもなく、この関数はの値が大きな方が強力な関数となる。しかし、どれだけを大きくしてもといった関数に増加速度で負けてしまうのだ。つまり、「の強さはで例えるとどのくらいのが相当するか?」といった質問に対しては「が無限のとき」としか答えようがないのだ。これと同じように、「アッカーマン関数は急増化関数でいうとどのくらいのが相当するか?」といった質問にはを使うしか回答のしようがないのだ。
のその先へ
急増加関数はより強い関数を生み出せないのだろうか?もちろんそんなことはない。例えば、を重にしたはよりも強い。この関数の強さはと表すことができる。急増加関数の良いところは、添え字の部分に特殊な表記を使うことを許す代わりに、最初の定義を変えることなく大きな関数を表現できる点である。ある巨大な関数を急増加関数で近似することができたら、添え字の部分だけを見ることでその関数のおおよその強さを把握することができるのだ。