見出し画像

大きな数

コンピュータでは積を$${\verb|*|}$$で、また累乗を$${\verb|**|}$$で表記することがあります。つまり

$$
\begin{aligned}
\verb|a**b|&:=\underbrace{\verb|a*a*|\cdots\verb|*a|}_{\verb|a|が\verb|b|コ}
\\&=\underbrace{a\times a\times \cdots\times a}_{aがbコ}\\
&=a^b
\end{aligned}
$$

です。タイプライタ体($${\verb|a,b,*|}$$など)の部分はコンピュータの記法だと思ってください。そのほかの標準的な字体は通常の数学的表記です。まあでも特に深い意味はないです。

これを拡張して

$$
\begin{aligned}
\verb|a***b|&:=\underbrace{\verb|a**a**|\cdots\verb|**a|}_{\verb|a|が\verb|b|コ}
\\&=\underbrace{a^{a^{{\cdots}^a}}}_{aがbコ}
\end{aligned}
$$

なんて演算を定義することができます。これはつまり、$${\verb|***|}$$の右にある数字から1をひいたぶんだけ、$${\verb|***|}$$から$${\verb|*|}$$をひとつ取り除いた$${\verb|**|}$$をならべ、$${\verb|**|}$$の両端に$${\verb|a|}$$を配置する演算です。これらの演算は結合則が成立しないので注意してください。演算は右から行います:

$$
\verb|a***b***c|:=\verb|a***(b***c)|, \ \ \ \verb|a**b**c|:=\verb|a**(b**c)|
$$

よくみると$${\verb|***|}$$と$${\verb|**|}$$の関係は$${\verb|**|}$$と$${\verb|*|}$$の関係と同じです。よってこのような演算は再帰的にいくらでも定義することができます。

巨大数という数学の分野では$${\verb|***|}$$ をテトレーションとよびます。ただし記法が違います。まず$${\uparrow}$$を累乗に対応させます。すなわち$${a\uparrow b:=a^b}$$です。このときテトレーション$${\uparrow\uparrow}$$を

$$
\begin{aligned}
a\uparrow\uparrow b&:=\underbrace{a\uparrow a\uparrow \cdots \uparrow a}_{aがbコ}\\
&=
\underbrace{a^{a^{{\cdots}^a}}}_{aがbコ}
\end{aligned}
$$

のように表記します。

クヌースの矢印表記とはこれをさらに一般化したものです。以下のように帰納的に定義します:

$$
\begin{aligned}
a\uparrow^{n+1} b&=\underbrace{a\uparrow^{n}a \uparrow^{n}\cdots \uparrow^{n}a}_{aがbコ} \ \ \ \ \ (n\ge 1),\\
{}\\
a\uparrow^1 b&=a\uparrow b=a^b
\end{aligned}
$$

これも計算順序が重要で、右結合であることに注意してください。

これを用いて巨大な数である「グラハム数」を構成します。そのために$${G^{(k)}(n)}$$という関数を以下のように定義します:

$$
\begin{aligned}
G^{(k+1)}(n)&=3\uparrow^{G^{(k)}(n)} 3, \\
G^{(1)}(n)&=G(n)=3\uparrow^n 3
\tag{1}
\end{aligned}
$$

これを用いてグラハム数は

$$
グラハム数= G^{(64)}(4)
$$

で定義されます。

Eq.(1)からわかるように、グラハム数は、ある段階で構成した数を$${\uparrow}$$の肩にのせ、その両側に$${3}$$をおいて次の数を構成するという操作を繰り返します。よってグラハム数は以下のように表記することができます(以下これを「矢印階層表記」と呼ぶことにします。):

$$
\begin{aligned}
グラハム数=
\left.
\begin{array}{c}
3\underbrace{\uparrow\uparrow\cdots \cdots \cdots\uparrow}3
\\
3\underbrace{\uparrow\uparrow\cdots\cdots\uparrow}3
\\
\vdots
\\
3\underbrace{\uparrow\uparrow\cdots\uparrow}3\\
3\uparrow^4 3コの\uparrow
\end{array}
\right\}64層
\end{aligned}
$$

この表記の読み方をちょっとだけ説明すると、上の階層にある矢印の数を、1つ下の階層にある矢印表記が定めている構造になっています。それが64層つらなっています。上から63層目の矢印の数は$${3\uparrow^4 3}$$コです。

これはとてつもない数です。どれだけとてつもないかについて語る前に、人間にとってどの程度なら巨大な数かということを述べておきましょう。たとえば地球から観測できる範囲の宇宙に存在する原子の数がおおよそ$${10^{81}}$$程度です。原子から構成され、その数が巨大である(実際原子は統計的な扱いができる)人間にとって$${10^{81}}$$は非常に巨大といえます。

さて、上記のグラハム数の矢印階層表記の一番下の矢印の数は$${G(4)=3\uparrow^43}$$ですが、これはどのくらいの大きさの数でしょうか。すぐにわかりますが、この数は$${10^{81}}$$を遥かに上回るとんでもない数です。計算してみましょう。

$$
G(4)=3\uparrow^43=3\uparrow^3 (3\uparrow^33)
$$

であり、1つめの$${\uparrow^3}$$の右側は

$$
3\uparrow^33=3\uparrow^2 (3\uparrow^23)
$$

です。そして$${3\uparrow^2 3=3\uparrow 3\uparrow 3=3^{3^3}=3^{27}=7625597484987}$$なので、だいたい7.6兆です。ゆえに

$$
3\uparrow^33=3\uparrow^2(3\uparrow^23)=\underbrace{{3^{3^{3^{\cdots^3}}}}}_{3が3\uparrow^2 3=3^{27}=7625597484987コ}
$$

です。計算すればわかりますが$${3^{3^{3^3}}}$$でさえ$${10^{81}}$$よりはるかに大きい数なので、$${3\uparrow^33}$$はとてつもない数であることがわかります。ゆえに

$$
G(4)=3\uparrow^3(3\uparrow^33)=\underbrace{3\uparrow^23\uparrow^2\cdots\uparrow^2 3}_{3が3\uparrow^33コ}
$$

は「とてつもない」という言葉では表せないほど「とてつもない」数です。ここに現れる矢印や$${3}$$を通常の表記で書き下すことは到底不可能です。なにせ観測可能な宇宙に存在する原子の数よりはるかにはるかに多いのだから…。グラハム数は、そんな巨大な数を元に、$${G^{(2)}(4)=3\uparrow^{G(4)}3,\ G^{(3)}(4)=3\uparrow^{G^{(2)}(4)}3,\cdots}$$を64回続けたものです。 これがいかに巨大な数であることはわかってもらえたのではないでしょうか。

さらに巨大な数が「コンウェイのテトラトリ」

$$
3\to3\to 3\to 3
$$

です。この数に関する詳しいことは以下の記事に譲ります:

コンウェイのテトラトリとグラハム数がどのような関係にあるかを見てみましょう。そのために、コンウェイのテトラトリを、上に記したグラハム数の「矢印階層表記」と同様な方法で表示してみましょう:

$$
\begin{aligned}
{}\hspace{1cm} 3\rightarrow 3\rightarrow 3\rightarrow 3 =
\left.
\begin{array}{c}
3\underbrace{\uparrow\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow\uparrow}3 \\
3\underbrace{\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow}3 \\
\vdots\\
\vdots\\
\vdots\\
3\underbrace{\uparrow\uparrow\cdots\uparrow\uparrow}3 \\
3\underbrace{\uparrow\cdots\uparrow}_{3\uparrow 3個の\uparrow}3
\end{array}
\right\}
\left.
\begin{array}{c}
3\underbrace{\uparrow\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow\uparrow}3 \\
3\underbrace{\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow}3 \\
\vdots \\
3\underbrace{\uparrow\uparrow\cdots\uparrow\uparrow}3\\
3\underbrace{\uparrow\cdots\uparrow}_{3\uparrow 3個の\uparrow}3
\end{array}
\right\}
\text{27層}
\end{aligned}
$$

グラハム数では矢印の階層が64コでした。ところがコンウェイのテトラトリでは、階層の数自体が巨大数

$$
\begin{aligned}
\left.
\begin{array}{c}
3\underbrace{\uparrow\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow\uparrow}3 \\
3\underbrace{\uparrow\uparrow\uparrow\cdots\uparrow\uparrow\uparrow}3 \\
\vdots \\
3\underbrace{\uparrow\uparrow\cdots\uparrow\uparrow}3\\
3\underbrace{\uparrow\cdots\uparrow}_{3\uparrow 3個の\uparrow}3
\end{array}
\right\}
\text{27層}
\end{aligned}
$$

コとなっています。そのためコンウェイのテトラトリはグラハム数よりはるかにはるかに大きな数です。

巨大数はコンピュータ科学、数学基礎論、またグラフ理論とも関わっていて、素人から専門家まで楽しめる分野かと思います。

おしまい。$${{}_\blacksquare}$$


いいなと思ったら応援しよう!