巨大数入門

これは『巨大数入門』(フィッシュ著、2017年)の HTML 版です。

Kindle 版iBooks 版楽天 Kobo 版 も出版されています。

目次

はじめに

私たちが日常生活で使う大きな数は、たとえば世界の人口が75億人であるとか、日本のGDPが500兆円以上であるといったように、100兆=10の14乗程度までです。その上の単位である京(けい)を知っていても、さらにその上の垓(がい)といった単位を使うことはめったにありません。日本語の数の単位は、一、十、百、千、万、億、兆、京、垓、𥝱(じょ)、穣(じょう)、溝(こう)、澗(かん)…と10の68乗の無量大数まで続きます。

科学の世界では、たとえば1モルに含まれる要素粒子の数を表すアボガドロ数という数は、約6023垓になります。物理的に意味のある非常に大きな定数としては、エディントン数という数があります。これは全宇宙にこの数の陽子があるとしたもので、2の256乗の136倍で、10の79乗のオーダーになり、無量大数までの数の単位の体系では命名できなくなります。「天文学的数」という表現がありますが、天文学の世界でも、エディントン数よりも大きい数を扱うことはまずありません。

ところが、それよりもさらに大きな数が仏教の経典には書かれているとのことです。経典に書かれている不可説不可説転という数の大きさを計算すると、10の37澗(かん)乗程度というとてつもない大きな数になります。「不可説不可説転メートル」がどれくらい長い距離なのか、あるいは「不可説不可説転秒」がどれくらい長い時間なのか、想像をすることすら不可能です。 さらに、古代ギリシャでは、アルキメデスが「宇宙を砂粒で埋め尽くすためには何粒の砂粒が必要か」という計算をするために、10の80000000000000000(8京)乗までの数の単位を考えました。 ただし、計算に実際に使われたのは10の63乗まででしたので、とにかく大きな数まで名付けておきたかったのでしょう。 そのような太古の昔からそれだけ大きな数が考えられていた、ということからも分かるように、人々は古くから大きな数に魅了されてきました。

20世紀に入ると、数学者が著書に書いたグーゴルやグーゴルプレックスという大きな数が紹介され、やがてプロの数学者が書いた書物を読んだ数学愛好家の中に、巨大数の魅力にとりつかれて独自に拡張した巨大数を考える人たちが出てきました。 巨大数には、プロの数学者が数学の専門的な問題を解く時に副産物として出てきたいわゆる「正統派巨大数」(グラハム数やスキューズ数)と、単純に大きな数を目指した「お遊び系巨大数」があります。 お遊び系の巨大数は、プロの数学者が趣味で開発したもの(コンウェイのチェーン表記やスタインハウス・モーザー表記など)もありますが、多くはアマチュアの数学愛好家が定義したものです。

このような巨大数を考えるアマチュアの数学愛好家は、当初はそれぞれが孤立して独自の考え方で巨大数を定義していました。 やがて、インターネットでロバート・ムナフォの Large Numbers というサイトを発端に、巨大数に関する情報が整理・集約されてきました。巨大数の議論はインターネット上で白熱し、 特に21世紀に入ってから、様々なアマチュアの数学愛好家たちが「どれだけ大きな数を考えることができるか?」という議論をしてきました。 中でも、「現代巨大数論の父」と言われるジョナサン・バウアーズは、難解なBEAFという巨大数を生み出すシステムを開発しただけではなく、 そのBEAFによって定義される巨大数に、たくさんの面白い名前をつけました。 巨大数愛好家の中には、BEAFの定義はよく分からないけど、そういった面白い名前の巨大数を眺めて楽しむ、といったような人たちもたくさん出てきました。そのようなカジュアルな楽しみ方から、より効率よく巨大数を生み出すためにはどうすれば良いかという理論的な探求をする人まで、いろいろな人たちが巨大数を楽しむコミュニティが形成されています。

日本では、2002年からインターネットの掲示板「巨大数探索スレッド」で、巨大数探索が繰り広げられてきました。その中では新しい数学の概念を少しずつ取り入れながら議論が発展し、多変数アッカーマン関数、ふぃっしゅ数、バシク行列などが生まれました。 本書の著者は、ここに「ふぃっしゅ数」というお遊び系巨大数を書き込んで、巨大数に関する議論が活発になるきっかけを作った者です。

2013年には巨大数をテーマにした漫画『寿司 虚空編』の連載が開始され、2016年には岩波書店から『巨大数』という書籍が刊行され、数学のイベント「ロマンティック数学ナイト」における『寿司 虚空編』作者による巨大数解説の様子が日本テレビの番組で紹介されるなど、近年特に巨大数への注目が集まっています。そのきっかけとなったのが、2007年にネットで公開しながら執筆を開始して、2013年に初版を公開した『巨大数論』です。ホームページ (http://gyafun.jp/ln/) からPDFファイルをダウンロードして読むことができる手軽さから、巨大数に興味を持つ人たちに広く読まれてきました。

『巨大数論』は、難しい数学の理論を次々と取り入れたため、かなり難しく、また分量も多くなりました。より多くの人に巨大数の魅力を楽しんでもらうためには、簡単に読める入門書が必要だと考えて、『巨大数論』の最初の章を分離した『巨大数入門』を発行することとしました。

1 クラス2の巨大数

1.1 数のクラス分け

ロバート・ムナフォ (Robert Munafo) は、1996年に開設したホームページ (http://www.mrob.com/pub/math/largenum.html) で、様々な巨大数について紹介し、理論的に考察しています。その説明に従って、段階的に大きな数について記します。ムナフォは、数の大きさをクラス分けして、クラス0の数、クラス1の数、クラス2の数、クラス3の数…と分類しました。日常生活で使う数は、クラス2の数までです。さらに無量大数やグーゴルといった有名な巨大数も、クラス2になります。そこで本節ではクラス2の数までについて見てみます。

クラス0の数 (0–6): クラス0は、心理学者のカウフマンが提唱した subitizing という概念で、即座に認識できる数です。たとえば、1本の鉛筆があれば、それは1本であると一瞬で認識できます。2本であっても、一瞬で認識できます。5本の鉛筆はどうでしょうか。目をつぶって、目を一瞬あけてすぐに閉じたときに、見た鉛筆の本数を目を閉じた状態で言えるかとなれば、5本くらいであれば誰でも言えるでしょう。このように、いちいち数えなくても即座に認識可能な数は、最大5から9程度であると言われていますが、ムナフォは低めに見積もって6であるとして、0から6までの数をクラス0としました。

クラス1の数 (6–100万): クラス1は、人間の目でおおまかな数が認識できる数です。この上限を、ムナフォは100万であるとしました。たとえば、大きな紙に100万個の点を印刷して、その1つ1つの点を見分けながら、残りのすべての点が視野に入るようにします。ムナフォの実験で本人はそれができましたが、人によってはもっと大きな数でも認識できるかもしれません。クラス1の数であれば、正確な数は分からなくても、大体の大きさが認識できます。たとえば、部屋の中に85人の人がいれば、70〜100人程度かな、と分かります。もっとたくさんの人がいるときには、何千人とか何万人といった表現をします。このように、正確な数は分からなくても、だいたいの数を認識できる限界をクラス1として、ムナフォはその上限を100万としました。

クラス2の数 (100万–10の100万乗): クラス2は10進数で記録できる数です。クラス0の6からクラス1の10の6乗へと増やしたように、分かりやすくクラス2は100万から10の100万乗までとされました。

ここで指数の記号を^で書きます。10^6は「10の6乗」と読んで、10を6回かけた数、つまり100万です。そして、10の100万乗は10の「10の6乗」乗ですが、これは10^10^6 と書きます。このときに、指数を2つ以上並べて書いたときには、左から順番ではなくて右から順番に計算する、ということに気をつける必要があります。つまり10^10^6 = 10^(10^6) です。

左から順番に計算すると、指数の計算法則によって

(10^10)^6 = 10^(10×6) = 10^60

となって、「10の100万乗」ではなくて「10の60乗」になってしまいますから、右から計算した場合と比べてとても小さい数になります。

クラス2は、100万桁までの数で記録できる数ということです。クラス分けの境界は、全体として大ざっぱなものです。子供に「できるだけ大きな数を書いてごらん」と言って紙を渡せば、多くは「999999…」と書き続けるでしょう(111111…と書く方が楽ですが)。根性のある子供でも100万桁はなかなか書き続けられないと思います。何桁記録できるのかは、どこにどのように記録するのかにもよります。パソコンにデータを保存するのは簡単なので、100万桁よりもずっと大きな桁数を保存できます。ここでは紙と鉛筆でものすごく頑張れば10進数表記で書ける数、と解釈すると、100万桁という上限がちょうどいい感覚になりそうです。

1.2 無量大数

まずは日本での大きな数の数え方について記します。それからその由来となった中国とインドにさかのぼって調べたところを記します。

私達が日常生活で扱う数は、クラス2の数までです。したがって日常生活で使う数に関する言葉も、だいたいこの範囲の言葉になります。そこでまずは、日本語での数の数え方から見ていきます。それからその源泉をたどって中国、インドの数について見ます。

数の位は、一、十、百、千、万と10倍ずつになり、その先は1万倍ずつ、

となります。垓以上の単位を日常生活で使うことはめったになく、特に意識しなければ知らない人も多いでしょう。著者は子供の頃から数が好きだったので、父に教えてもらって無量大数までの桁を覚えて喜んでいました。当時は無量大数は10の88乗であると覚えていて、これは恒河沙から上は1億倍ずつ増える万万進という方式に基づいていたためですが、現在は万進に統一されていますので、正しくは10の68乗になります。

その根拠として、1627 年に初版が出た吉田光由の『塵劫記』(じんこうき)では、寛永8年版(1631)で無量大数が10の68乗または10の88乗として紹介され、寛永11年版(1634)では10の68乗のみに統一されているため、現在では10の68乗に統一されていると考えることができます。

さて、高杉親知の「無量大数の彼方へ」 (http://www.sf.airnet.ne.jp/ ts/language/largenumber.html) というサイトによれば、昔の中国では、後漢の時代に載までの単位が記されていて、億以上の単位については、「下数」「中数」「上数」の3つの体系があり、さらに「中数」には「万進」「万万進」という体系があって、合計4つの体系それぞれで、同じ言葉でも表す数が違っていました。

下数では、次の単位では10倍になるため、万=10000、億=100000、兆=1000000と少しずつ上がり、載は10の14乗になります。

中数では、万進では1万倍ずつ、万万進では1億倍ずつ上がります。したがって万進の兆は現在の日本と同じ10の12乗になるのに対して、万万進では「万億」が10の12乗になります。 そして万万進の兆は10の16乗で、万進の京と同じになります。 載は万進では10の44乗、万万進では10の80乗になります。中国では、万進と万万進が統一されずに近代化が進んだので混乱が生じましたが、日本では、万進の表記に統一されたので混乱が生じないようになりました。

下数よりも中数よりも、飛躍的に数の増加が大きいのが上数です。上数では単位を2乗すると次の単位になります。したがって、億は10の8乗、万億は10の12乗、千万億は10の15乗、兆は10の16乗、万兆は10の20乗、億兆は10の24乗、万億兆は10の28乗、千万億兆は10の31乗、京は10の32乗、億京は1の40乗、兆京は10の48乗、億兆京は10の56乗、万億兆京は10の60乗、垓は10の64乗、千万億兆京垓は10の127乗、𥝱は10の128乗、穣10は256乗、溝は10の512乗、澗は10の1024乗、正は10の2048乗、載は10の4096乗、千万億兆京垓𥝱穣溝澗正載は10の8191乗と、現在の定義である無量大数とは比べ物にならないほどの大きな数になります。それでも指数の部分が100万に達していないので、まだクラス2です。

載よりも上の単位である極から上は、元の朱世傑(しゅせいけつ、生没年不詳)による『算学啓蒙』(1299年)において登場しました。ここで極以外の単位はすべて仏教から取られたものです。恒河沙は「ガンジス川の砂」の意味で、それだけ大きな数ということです。 阿僧祇は「数えることができない」、 那由他は「極めて大きな数量」、 不可思議「思い測ったり言葉で言い表したりすることができない」 無量大数は、『算学啓蒙』では「無量数」として登場し、「量ることのできない数」ということです。

この中で恒河沙以外は「数え切れないほどの大きな数」と理解すれば良いのですが、恒河沙については、ガンジス川の砂の数という具体的な数になっているので、どの程度の大きさなのか見積もってみます。 今は恒河沙と言えば日本では10の52乗という意味になり、中国でも下数、中数、上数によって数は変わります。仏教の中ではそういう数を意味するものではなく、ガンジス川の砂の数という意味ですから、今の日本で恒河沙を意味する10の52乗と比較することは無意味です。

まずはガンジス川の大きさと砂粒の大きさを考える必要があります。 ガンジス川の全長は2500 kmあまりです。川幅は数kmなので4 km程度と考えて、面積を10000 平方キロメートルとします。深さをどこまで取るのかは分かりませんが、仮に1メートルの深さまで考えると、体積は10立方キロメートルになります。

問題は、砂の大きさです。砂は粒子の直径が0.05–2 mmのもので、それよりも小さい直径のものはシルトあるいは粘土と言われます。当時のインドにはそのような概念はなかったのでしょうから、全部ひっくるめて砂と呼ばれていたことでしょう。そうすると、現在では非常に小さくて粘土と呼ばれているような粒子のものも、砂に含めて考えるのかどうか、これによって値はだいぶ変わってきます。ここでは暫定的に直径が0.1 mm であると考えます。

次に充填率を考える必要がありますが、充填率が低くて50 %であったとしても、充填率が100 %であると仮定して計算したときの2倍程度の誤差なので、これは許容誤差であると考えて充填率100 %でざっくりと計算すると、10の22乗個の砂粒があることなります。今の日本の数え方だと、100垓程度であると見積もられます。

仏教では、とても長い時間を表すときに劫(こう)という時間の単位が使われます。「未来永劫」「億劫」「五劫のすり切れ」などの言葉は、ここから来ています。この「劫」には2通りの意味があり、1つ目は「磐石劫」で、四十里四方の大石を、いわゆる天人の羽衣で百年に一度払い、その大きな石が摩滅して無くなってもなお「一劫」の時間は終わらないと譬えています。2つ目は「芥子劫」で、方四十里の城に小さな芥子粒を満たして百年に一度、一粒ずつ取り去り、その芥子がすべて無くなってもなお尽きないほどの長い時間が一劫であるとのことです。

この時間がどの程度のものなのか「カガクのじかん」というサイト (http://d.hatena.ne.jp/inyoko/) では、次のように計算しています。 「磐石劫」では、「1里=500m」「原子=1辺0.2nmの立方体」「1回なでると、1平方メートルの範囲の原子が1層はがれる」という仮定の下、4𥝱、すなわち 4×10^24年という計算結果を出しました。

2つ目の「芥子劫」については、「1里=500m」、「けし粒=1辺0.5mmの立方体」、という仮定の下、6𥝱4000垓、すなわち 6.4×10^24年という計算結果を出しました。磐石劫でも芥子劫でも同じ𥝱の単位になるのは面白いところです。

宇宙の年齢は138億年程度であるとされていますので、それと比べて100兆倍ほどの気の遠くなるほど長い時間です。

恒河沙という数と劫という時間の単位を組み合わせれば、恒河沙劫というとても長い時間が表現できますので、そういう表現があるか検索してみたところ、『首楞厳経』という経典に恒河沙劫という表現が出てきて、親鸞が『尊号真像銘文』で引用していることが分かりました。恒河沙劫は、10の46乗年、すなわち100載年のオーダーになります。

1.3 グーゴル

ここまで、主にインド、中国由来の日本の数の数え方について見てきました。次に英語を中心としたヨーロッパの言語の話に移ります。

大きな数を表す言葉として、上記の億、兆…といった単位の他には、キロ(k, kilo-, 10^3)、メガ(M, Mega-, 10^6)、ギガ(G, Giga-10^9)、テラ(T, Tera-10^12)といった単位の頭につける接頭辞もあります。単位の頭にこれらの接頭辞をつけることで、キロメートル、キログラム、メガバイト、Mbps(メガビットパーセカンド)、メガピクセル、ギガバイト、テラバイトなどという単位ができます。

なお、ハードディスク等の記憶容量を表すときには、1キロが1000ではなく2^10=1024を意味することがあります。これはコンピュータは2進数を基本としているので、1000よりも1024の方が切りの良い数だからです。

国際電気標準会議 (IEC) は、2進数に基づいた単位につける2進接頭辞を定めています。たとえば2の10乗はキロバイナリー (kilobinary) を略してキビ (kibi) となって Ki と書き、1000バイトを意味するKBと区別します。同様に、2の20乗はメビ (Mi)、2の30乗はギビ (Gi)、2の40はテビ (Ti) となって、テラは 10^12 =1,000,000,000,000ですが、テビは 2^40 = 1,099,511,627,776なので、その差は10 %ほどになります。

このように2進と10進の接頭辞で差異があって混乱するために、両者を明確に区別するために定められた2進接頭辞ですが、まだ十分に普及していません。

さてテラの上の接頭辞は、国際単位系のSIで、 ペタ(P, Peta-10の15乗)、 エクサ(E, Exa-10の18乗)、 ゼッタ(Z, Zetta-10の21乗)、 ヨッタ(Y, Yotta-10の24乗)と定められています。現実に使う大きさとしては、𥝱=10の24乗程度が上限であると考えられているということでしょう。

現実世界の現象をあらわす数としては、どの程度の数が最大となるのでしょうか。「天文学的数」という表現があるように、天文学では広大な宇宙のことを取り扱うため、非常に大きな数が使われます。「ガンジス川の砂の数」と言ったときには、とても広いガンジス川にある、とても小さい砂粒の数なので、非常に大きな数になりました。広い方の限界として宇宙の大きさ、小さい方の限界としては、素粒子の大きさを考えることになるでしょう。その両方の限界を取ると、宇宙に存在する素粒子の数はいくつか?という疑問になります。

イギリスの天文学者アーサー・スタンレー・エディントン (Sir Arthur Stanley Eddington, 1882–1944) は、1938年にケンブリッジ大学のトリニティ・カレッジでの講義(Tarner lecture)で、宇宙に存在する全陽子の数が正確に136×2^256個あり、全電子数も同じ数だけある、としました。これが、エディントン数 (Eddington number) と呼ばれています。10進数に直すと、1.574×10^79程度です。現在では、陽子の数はもっと多いとされています。陽子よりも小さい素粒子の単位で考えると、その数は10の80から85乗程度であるとされています。実際、現実には10進数で100桁以上の数を扱うことはなさそうです。

英語では、million (100万) や billion (10億) のように、「〜リオン」という接尾語が使われています。 このように、ヨーロッパ系の言語で「〜リオン」という接尾語で数の名称を体系的かつ非常に大きな桁まで名付けた最初の著作は、フランスの数学者ニコラ・シュケ (Nicolas Chuquet, 1450年頃–1500年頃) が書いた算術の3つの分野(有理数、無理数、方程式)に関する『数の学の三部』 (Le triparty en la science des nombres) という中世フランス語で書かれた本です。

この本はシュケの生きている間には出版されず、1520年にエスティエンヌ・ド・ラ・ロシュ (Estienne de La Roche, 1470–1530) が『算術』 (l’Arismetique) という本でシュケの出典を記さずにコピーしました。1870年に、アリスティード・マール (Aristide Marre, 1823–1918) がシュケの著作の原稿を発見して、1880年に刊行しました。その原稿には、ロシュの手書きメモがあったようです。シュケの本では大きな数を6桁ずつに区切って、そのグループを million, byllion, tryllion, quadrillion, quyillion, sixlion, septyllion, ottyllion, nonyllion のように好きなだけ名付けることができる、としています。この数え方だと、nonyllion が 10の54乗になります。

現代の英語の大きな数の表記は、このシュケのシステムが元となっていますが、million よりも上の数について、シュケが考えた6桁ごとに名前をつけるシステムだけではなく、3桁ごとに名前がつけられるシステムがあります。つまりmillionは100万を意味しますが、その上のbillionは10億をあらわす場合と1兆をあらわす場合があります。

現在は、billionが10億をあらわすショートスケールが主流になっています。かつてイギリスではbillionが1兆をあらわすロングスケールが使われていましたが、現在はイギリスでもショートスケールが基本です。ただし、ヨーロッパ大陸や南米の英語以外の言語圏では、ロングスケールが使われているところもあります。たとえば、シュケの母語であるフランス語では今でも billion が1兆で trillion が百京のロングスケールのままです。

ショートスケールとロングスケールの関係は、ちょうど万進と万万進の関係のようなもので、ショートスケールが千進、ロングスケールが千千進と言えば分かりやすいと思います。つまりmillionから先、billion, trillion, quadrillion, … と進んで行くごとに、ショートスケールでは千倍、ロングスケールでは千千倍、すなわち100万倍になります。

標準的な英語の辞書に定義されている大きな数は、ショートスケールでは

までが連続的に定義されています。最後のビギンティリオン (vigintillion) は、ショートスケールでは10の63乗ですがロングスケールでは10の120乗になります。 そして、センティリオン (centillion) = 10の303乗(ロングスケールでは10の600乗)まで飛ぶのが一般的です。

また、それとは別にグーゴル (googol) = 10の100乗とグーゴルプレックス (googolplex) = 10^10^100(10のグーゴル乗、つまり10の「10の100乗」乗)も英語の辞書に載っている標準的な数です。

グーゴルとグーゴルプレックスの語源は数学者エドワード・カスナー (Edward Kasner, 1878–1955) らの『数学と想像力』 (Mathematics and the Imagination) という本に、次のように書かれています。

知恵の言葉は科学者よりむしろ子供たちから発せられる。「グーゴル」という名前は子供(カスナー博士の9歳の甥)によって発明された。彼は、とても大きい数、つまり1の後に0が100個続く数の名前を考えて欲しいと頼まれた。彼は、この数が無限ではないことをはっきりと分かっていたので、名前がなければなければならないことも分かっていた。「グーゴル」という名前を提案すると同時に、さらに大きい数である「グーゴルプレックス」を名付けた。

カスナーの甥であるミルトン・シロッタ (Milton Sirotta) が9歳の時に考えた数で、ミルトンは1911年生まれなので1920年にグーゴルが生まれたことになります。

なお、グーゴルプレックスはクラス3の数で改めて説明します。

検索エンジンの名前、そしてIT企業の名前である Google は、googol に由来しています。Google が生まれたのはスタンフォード大学で、当初Googleの共同創業者であるラリー・ページ (Lawrence Edward “Larry” Page) とセルゲイ・ブリン (Sergey Mikhailovich Brin) は BackRub と呼んでいました。1997年9月に、ラリーがスタンフォード大学の研究室で当時大学院生だったショーン・アンダーソン (Sean Anderson) と検索エンジンの新しい名前について話をしていたときの様子が、次のように記録されています。これは、2004年にスタンフォード大学の大学院生だったデイビッド・コラー (David Koller) がショーンから聞いた話です。

ショーンとラリーは、研究室でホワイトボードを使いながら良い名前について考えていました。非常に膨大なデータをインデックスする、ということに関係のある名前がいいと考えていました。ショーンが非常に大きな数である「グーゴルプレックス」はどうかと口頭で提案したところ、ラリーは「グーゴル」がいいと答えました。ショーンはコンピュータの端末に座っていたので、インターネットのドメイン名登録データベースを検索して、その名前が登録可能かどうか調べました。そのときに、ショーンは googol の綴りを正確に覚えていなかったので google.com という名前を探すというミスをしてしまいました。ラリーはその名前が気に入って、直後に google.com を登録する手続きをしました。

つまり、googol のスペルミスから google.com が登録されたというのが Google の由来となっているのです。

1.4 シャノン数

シャノン数 (Shannon number) は、10の120乗です。これは、1950年に情報理論の父として知られるアメリカの数学者、電気工学者のクロード・シャノン (Claude Elwood Shannon, 1916–2001) が1950年に書いた論文に出てくる数です。この論文は、チェスの指し手を読むコンピュータを開発することの意義について考察したものです。

当時は、1949年にEDSACという最初のノイマン型コンピュータが作られた頃でした。シャノンは、コンピュータにチェスをさせることは「おそらくまったく実用的な重要性はないが、理論的な関心であり、この問題に対する満足な回答が得られれば、同じような他の同様の性質を持つ問題を解決する役に立つだろう」としています。

この論文では、まずチェスというゲームについて記述してから、チェスというゲームを完全に解析して完全ゲームをさせることができるだろうか、と疑問を発して、それは原理的には可能であるが現実的には無理だろうとしています。その理由を説明するために、完全解析をするには何手読む必要があるかを見積もっています。

まず通常のチェスの局面では可能な駒の動かし方は30通り程度であり、多くのマスター(とてもチェスが強い人)のゲームを解析すると、ゲームの最初から終わりまで、あまりこの数が変化しないという結果を示して、チェスの1手、つまり先手の白が1つ駒を動かして、後手の黒が1つ駒を動かすセット(将棋では2手と数えられる)は、およそ10の3乗通りの可能性があるとしました。そして、通常のゲームは投了するまでに40手ほどであると見積もりました。コンピュータは投了までではなくチェックメイトまで読むので、本当はもっと手数が長くなることを考えると、控えめの見積もりだとしています。

このような控えめな見積もりでも、初期配置から10の120乗通りの変化を読む必要があり、1つの変化を1マイクロ秒で読めるコンピュータができたとしても、初手を読むためには10の90乗年以上かかってしまいます。チェスには10の120乗通りの変化があるというこの計算から、10の120乗をシャノン数と言います。

シャノンはまた、チェスのあらゆる可能な局面を記憶する「辞書」を作る方法についても考察し、チェスの全局面は概算で10の43乗通りの局面があるため、それもまた非現実的だとしています。このように、チェスの完全解析をコンピュータにさせることは非現実的であるとして、コンピュータにチェスをさせるための戦略についてシャノンは論文で考察しています。

なお、シャノン数はシャノン自身が「控えめな見積もり」としていますが、相当に控えめな見積もりです。実際にチェスを完全解析するために「手当たり次第に」読ませたとすれば、コンピュータは人間のように「試合を終わらせようとする手」だけではなく、「お互いにまったく攻めようとせずに自陣で駒を動かし続けるような試合」も数多く出て、そのような手順をすべて読むことが「完全解析」なので、手数は40手どころではなく果てしなく続きます。イギリスの数学者ゴッドフレイ・ハーディ (Godfrey Harold Hardy, 1877–1947) は「宇宙の陽子の数は10の80乗である。チェスのゲームの可能な数は、それよりもはるかに大きく、おそらく10の「10の50乗」乗である」としています。

ロバート・ムナフォは、チェスの50手ルールと75手ルールを採用し、白黒双方が協力して75手ルールで強制的に引き分けとなるまで引き分けを宣言しないとしたときに、最長手数は8848手となると計算して、チェスのゲームの可能な数はおよそ26の8848乗、すなわちおよそ10の12500乗通りになるとしています。

なお、完全解析の難しさを考えるときには、このような「可能なゲームの数」を考えるよりも「可能な局面の数」である10の43乗を使う方が適切だろうと思います。もちろん可能な局面の数を保存しておくメモリを仮定することは非現実的ではありますが、すでに非現実的な時間を想定しているわけですから、メモリについて非現実的な仮定に躊躇をする理由がありません。読み終わった全ての局面を保存しておくことが可能であるとして完全解析の難しさを評価するのが妥当でしょう。

その後コンピュータは発展し、1997年5月には、IBMが開発したチェス専用のスーパーコンピュータ「ディープ・ブルー」が、当時のチェス世界チャンピオン、ガルリ・カスパロフに6戦中2勝1敗3引き分けで勝利しました。一方、1997年の時点では、将棋のプログラムはまだ弱く、とてもプロ棋士の相手にはなりませんでした。将棋はチェスよりも複雑なので、そう簡単にチェスのようには強くならないと思われていました。

将棋の実現可能局面数はチェスよりもはるかに多く、10の62から70乗程度とされています。また、将棋の世界でもシャノン数と同じ計算方法、つまり一局の平均手数が約115手、各局面での可能な指し手の数が約80通りであるという計算から、80の115乗、つまりおよそ10の220乗通りのパターンがある、というような説明がよくされています(これは、チェスと同じ理由であまり適切ではないと思いますが、シャノン数と比較するという目的にはかなっています)。この数が、後に「不可説不可説転」で説明をする予定の、仏教の経典である華厳経に出てくる阿伽羅(あから)という数の見積もりである10の224乗に近いことから、情報処理学会では「あから」というコンピュータ将棋が開発されました。なお、情報処理学会のホームページには「阿伽羅(あから)は10の224乗という数を表し、将棋の局面の数がこの数に近いことに因んで命名されました。」と説明されていますが(2016年6月25日現在)、「将棋の局面の数」という表現であれば、10の70乗以下という見積もりになるだろうと思います。

さてこのように、将棋はチェスよりもずっと複雑だから当面はコンピュータが人間に勝つことはない、と20世紀末には多くの人が考えていたものの、その後コンピュータはみるみる強くなり、2010年には「あから」が女流棋士の清水市代を敗り、2012年からはプロ棋士とコンピュータソフトが戦う「電王戦」が開始され、2013年にはプロ棋士5人とコンピュータソフト5種類の団体戦で、プロ棋士が1勝3敗1分となり、現役のプロ棋士が敗れました。

将棋よりもさらに局面が広くて複雑であるとされる囲碁についても、2016年3月に、グーグルが開発した囲碁プログラム「アルファ碁」(AlphaGo)がイ・セドル九段に4勝1敗で勝ちました。囲碁の全局面数は、シャノン数と同じ考え方で10の360乗程度とされていることが多いですが、それは適切ではありません。盤面の状態は3^19^2通り、つまりおよそ1.74×10^172通りありますが、その中で実現可能な局面の数は2016年1月20日に正確な値が計算されました (https://tromp.github.io/go/legal.html)。その値はおよそ2.081681994×10^170であり、この近似値は2006年にすでに知られていました。

シャノン数をきっかけとして、チェス、将棋、囲碁のプログラムについて話しましたが、これらのプログラムは最強の人間を負かすほどに強くなったとはいえ、「完全解析」ができる時は来ないでしょう。それは「全局面数」が桁違いに大きいためですが、巨大数論の世界では「高々クラス2程度の数」です。

ロバート・ムナフォは、6才の時には知っていた最大の数が million (100万)で、7才の時に母親にその上の単位を聞いて、billion (10億)と trillion (兆)の単位を知り、さらに8才の時に学校の図書館で読んだ本でビギンティリオン (10の63乗) という数を覚えて嬉しくなり、校庭の砂に

1 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000

と書いて、いじめられたという過去があるようです。

コンウェイとガイの『数の本』では、ビギンティリオンの先を、ショートスケールでは10の3003乗まで、ロングスケールでは10の6000 まで、つまりミリニリオン (millinillion) = 10の3003乗あるいはミリリオンまでラテン語を元に名付ける体系が提案されています。

日常生活で使うのは、クラス2の中でも非常に小さい数までですので、数に名前がつけられるのも、たいていはここまでです。

1.5 数の比較

クラス2までの数は、数の大小比較が簡単にできます。10進数で書かれていれば、まずは桁数を比較して、桁数が同じであれば一番上の桁から順番に大きさを比較すれば良いのです。数が3.23×10^21のような指数表記で書かれていれば、桁数を数える必要もないので楽です。ただし、10進数表記あるいは10進数の指数表記同士で書かれていない数を比較するときには、計算をする必要が出てきます。計算は手計算でもできますが、電卓を使えば簡単です。電卓には、スマホのアプリやパソコンのソフト等、色々あります。性能によって、表示できる最大の数(指数表示の時の最大の指数)、表示される桁数、内部で計算されている桁数、等が変わります。

カシオが運営している高精度計算サイト (http://keisan.casio.jp/) は、強力です。「生活の計算」「数学・物理」「専門的な計算」それぞれ様々な実用的な計算をすることができて、実用的にも便利ですし、なんといっても「フリー計算」の機能が良いので、本書のような趣味の計算をするときにも便利に使えます。様々な関数が扱え、桁数は50桁までの精度が得られ、さらに精度保証の機能がついています。コンピュータで計算をするときには、計算機の内部で保持している変数の桁数に限界があるので、限界以上の桁は丸めて計算をするため、計算結果に誤差が出ます。そこで、計算結果を丸めるときに、必ず「最小の値」と「最大の値」を同時に計算することで、最大でどの程度の誤差が生じるかを正確に知る手法が、精度保証つき計算です。

この高精度計算サイトでエディントン数を50桁まで計算すると、

1.5747724136275002577605653961181555468044717914527×10^79

と計算できます。しかしエディントン数は80桁あるので、最後の30桁が計算できていません。 そこで桁数に制限のない任意精度計算機 (http://apfloat.appspot.com/) を使えば、エディントン数を正確に計算できます。 計算結果は、

1574772413 6275002577 6056539611 8155546804 4717914527 1167093662 3142507618 5631031296

となります。このような計算機を使えば、クラス2の数はだいたい大小比較ができます。

手元の電卓ではエラーが出てしまうような大きな数を計算するときには、対数(log)を使うと、大きさを知ることができます。対数には、底を10とする常用対数と、底をe ≈ 2.71828 (ネイピア数)とする自然対数があるので、常用対数で計算したときにはその数aに対する10^aを、自然対数で計算したときにはexp(a) = e^aを計算することになります。ここでは、常用対数を使います。エディントン数 136×2^256の常用対数の大きさを

log(136×2^256) ≈ log (136) + 256 log (2) ≈ 79.197217798

とまず計算してから、エディントン数のおおよその大きさを

10^79.197217798 = 10^0.197217798 + 79 = 10^0.197217798×10^79 ≈ 1.57477241×10^79

と計算すれば良いのです。指数が100万までのクラス2の数であれば、対数を取れば100万までの数になりますので、対数が計算できる関数電卓であれば計算できます。

2 クラス3の巨大数

クラス3の数 (10の100万乗–10の(10の100万乗)乗): クラス2を超えると、10進数で数を書いて大きさを比較するのが無理になります。ここでもクラス2までと同様、クラス2の上限である10^10^6を10の指数に持ってきて、10^10^10^6をクラス3の上限とします。ここでクラスの定義をフォーマルな形で記しておきます。

数列 c(n) を c(0)=6, c(n+1)=10^c(n) で定義する。

クラスnの自然数とは、

(i) n=0 の時は、c(0)以下の自然数である。

(ii) n>0 の時は、c(n-1)よりも大きく、c(n)以下の自然数である。

2.1 アルキメデスが考えた数の単位

古代ギリシャの数学者、科学者であるアルキメデス (Archimedes; 紀元前287年? – 紀元前212年)の著作である『砂粒を数えるもの』 (The Sand Reckoner; Ψαμμίτης) では、当時の宇宙に関する知識から、宇宙を埋め尽くすのに必要な砂粒の数を概算しました。

そのために、まずは大きな数をあらわすための数の体系を作りました。当時のギリシャでは、1万をあらわす myriad (μυριάς)という単語があり、この単語を使って10の8乗(億)までの数を名付けることができました。

アルキメデスは、億までの数を「第1級の数」として、億を「第2級の数の単位」としました。そして、第2級の数の単位を使って、億単位までの数を数えることにより、10の16乗までの数を億ごとに数えることができます。第2級の数の単位を使って10の8乗とあらわされる数、すなわち10の16乗を第3級の数の単位とします。

このようにして、第億級の数の単位を使って億まで数えることで、(10^8)^(10^8) = 10^(8×10^8) まで数えることができます。ここまでの数を「第1期の数」として、次に第2期の数を考えます。第1期の最後の数10^(8×10^8)を「第2期第1級の数の単位」として、また10の8まで数えたときの最後の数を「第2期第2級の数の単位」とします。そして「第2期第10の8乗級の数」を使って10の8乗まで数えて、それを第3期第1級の数の単位とします。(10^(8×10^8))^2 = 10^(16×10^8) になります。

このようにして、第億期第億級の数の単位で億まで数えると、

((10^8)^(10^8))^(10^8) =10^(8× 10^16)

まで数えることができます。これは、クラス3の巨大数です。紀元前にこのような実用からは程遠い大きさの数が考えられて、その記録が残っているというのは驚くべきことで「最古の巨大数」と言って良いと思います。

アルキメデスは、続いて宇宙を埋め尽くすのに必要な砂の数を次のように見積もりました。

  1. ケシの実の直径は40分の1寸(直訳すると「指」なので、インチと同様に親指の幅をあらわす「寸」で訳しておく)よりも小さくはないので、直径1寸の球に入るケシの実の数は40^3=64000個よりは少ない。

  2. ケシの実1粒の体積が砂1万粒よりは小さいので、直径1寸の球に入る砂の数は、64000の1万倍よりは少ない。これは現在の数え方では6億4000万であるが、アルキメデスの単位で「第2級の数で6単位と第1級の数で4000万個」よりは小さいと計算した。そしてこれは、第2級の数で10単位(10億)より少ない。

  3. 直径100寸の球に入る砂の数は、第2級の数で1000万、つまり10の15乗個よりも少ない。

  4. 1スタディオンは1万寸よりも短い。スタディオンは古代ギリシアおよびローマで使われていた長さの単位で、複数形はスタディア。時代や地域によって差があるようだが、およそ180 m 程度。

  5. ここまでの仮定を整理すると、ケシの実の直径は180 mの1万分の1の40分の1、すなわち0.45 mmよりも大きく、砂の直径はその10000の3乗根分の1、つまり0.02 mm よりも大きい、という仮定をしていることに相当する。ちなみに、前節でガンジス川の砂の数を見積もったときには、砂の直径を暫定的に0.1 mmとしたが、0.02 mmとすれば砂の数は125倍、すなわち2桁ほど大きく見積もられることとなる。

  6. 直径1スタディオンの球に入る砂の数は、直径100寸の球に入る砂の数(第2級の数で1000万よりも少ない)の100万倍になる。これを計算すると第3級の数で10万個、つまり10垓(10の21乗)個よりも少ないこととなる。

  7. 太陽から地球までの距離を半径とする球を「世界」として、世界の直径を見積もる。地球の周囲は300万スタディアよりも小さく、直径は100万スタディアよりも小さい。そして、太陽の大きさの見積もりと太陽の直径が地球から見える視角から、世界の直径は地球の直径の1万倍よりも小さく、したがって100億スタディア(18億 km)よりも小さいと見積もられる。現代の科学では、太陽から地球までの距離の2倍は約3億 km であることが知られているので、これは正しい。

  8. 直径 100億スタディアの球である「世界」に入る砂の数は、第7級の数で1000単位、つまり1000極(10の51乗)個以下である。

  9. 次に、古代ギリシャの天文学者で数学者のアリスタルコス (Aristarchus, 紀元前310年–紀元前230年頃) が考えた星が存在する「宇宙」の大きさを見積もる。ここで、地球の直径と世界の直径の比が、世界の直径と宇宙の直径の比に等しいという仮定を使う。すると宇宙の直径は世界の直径の1万倍よりは小さいこととなる。これは2光年よりも小さいという仮定であり、現代の天文学からすると小さすぎる仮定となる。この宇宙に入る砂の数は、第8級の数で1000万、すなわち1000那由他(10の63乗)個以下である。

2.2 不可説不可説転

ここでまた、仏教で使われている数の大きさについての話になります。インドの数の単位では、本来は下数の単位が使われていましたが、後の仏典では上数として使われることがあり、華厳経第45巻、阿僧祇品第三十には、

100洛叉(らくしゃ=10万)を1倶胝(くてい)とする。倶胝倶胝を1阿庾多(あゆた)とする。阿庾多阿庾多を1那由他(なゆた)とする。那由他那由他を1頻波羅(びんばら) とする。(中略)不可説転不可説転を1不可説不可説とする。このまた不可説不可説(倍)を1不可説不可説転(ふかせつふかせつてん)とする。

と書かれています。「倶胝倶胝を1阿庾多とす」とは、倶胝×倶胝=阿庾多ということなので、1000万を意味する倶胝以上は、中国の上数と同じように2乗すると次の単位になっています。したがって、倶胝(くてい)は10の7乗、阿庾多(あゆた)は10の14乗、那由他(なゆた)は10の28乗、頻波羅(びんばら)は10の56乗と、2乗することで指数が2倍になるため、倶胝のn個上の単位は10の (7×2^n) 乗となります。不可説不可説転(ふかせつふかせつてん) は、倶胝の122個上の単位なので、10の (7×2^122) 乗になります。

数学史家の鈴木真治が書いた『巨大数』(岩波科学ライブラリー)によると、華厳経の漢訳完本としては、全60巻の旧訳(普経)と、全80巻の新訳(唐経)があり、上記の定義は旧訳を元にしていて、華厳経の旧訳と新訳で数が微妙に異なっているとしています。数学者の末綱は、新訳を元に「不可説転転 = 10^(5×2^120)」と計算しています。 トーマス・クリアリー (Thomas Cleary) が華厳経の新訳を英語に訳し、その訳では unspeakable = 10^(10×2^120), square untold = 10^(10×2^123) となります。

2.3 グーゴルプレックス

グーゴルプレックス (googolplex) は数の単位で、10のグーゴル乗、つまり10^10^100です。

グーゴルの説明で引用したように、グーゴルプレックスはカスナーの甥のミルトン・シロッタが9歳の時に名付けましたが、それは1の後に0を疲れるまで書いた数、という定義でした。カスナーは、人が疲れる時間には違いがあるので、それでは正確な定義にはならないとして、より正確な定義として1の後に1グーゴル個の0を書いた数としました。

1グーゴル個の0を書くためには、宇宙の全物質をインクに変えてもまだ足りません。観測可能な宇宙に存在する素粒子の数は10の80から85乗程度なので、素粒子1つが「0」を表すものとして、全宇宙の素粒子を集めてもまだグーゴルプレックスを10進数で表記することはできないからです。巨大数のたとえとして「全宇宙の物質全てをインクに変えても10進数で表記できないほど大きい」というたとえがよく使われますが、このたとえはグーゴルプレックスのようなクラス3の数をたとえるときには良いのですが、クラス4以上の数をたとえるときには、たとえが小さすぎて不適切であると言えます。

クラス3の数は、通常の計算で比較するのが困難です。不可説不可説転まで大きくなると、指数表記をしたときに指数の部分が7×2^122という大きな数になりますので、通常の電卓では計算範囲を超えます。たとえば、前節で紹介した高精度計算サイトを使って計算しても、計算結果は∞と表示されるだけで、計算の上限を超えてしまっています。

このような大きさの数を比較するためには、対数を使うことができます。不可説不可説転とグーゴルプレックスの比較であれば、すでに両者とも10^xの形になっているので、簡単に比較できます。両者の常用対数を取った、7×2^122と10^100を比較すれば良いのです。

7×2^122 = 37218383881977644441306597687849648128 ≈ 3.72×10^37

と計算されるので、これよりも10の100乗の方が大きく、グーゴルプレックスは不可説不可説転よりも大きいことが分かります。

2.4 ハイパーE表記

指数が重なると読みにくくなってくるので、アメリカのアマチュア数学者・哲学者であるスビス・サイビアン (Sbiis Saibian) が考案したハイパーE表記 (hyper-E notation) を使うと便利です。

ハイパーE表記は、1つ以上の正の整数から成る数列 p, q, r, ..., z をハイペリオン記号 # で区切ったものです。これを E(b)p#q#r#...#z と表記し、bを基数と呼びます。基数が省略されたときは10がデフォルトで、よく省略されます。次のような定義です。

  1. E(b)x = b^x
    ハイペリオン記号がまったくない場合にはb^xとなるということです。

  2. E(b)p#q...#z#1 = E(b)p#q ...#z
    最後のハイペリオン記号の後の数が1であれば、そのハイペリオン記号と数を取り除くことができるということです。

  3. E(b)p#q...#x#y#z = E(b)p#q...#x#(E(b)p#q...#z-1)
    1,2以外の場合です。まず、元の式の最後の数を1減らしたものをXとします。次に、元の式から最後の2つの数とその間のハイペリオン記号を消して、かわりに(X)を追加します。

具体的に計算すると、次のようになります。

つまり、Ea#b は10の指数をb個重ねたものに、さらにaを重ねたものになります。

ハイパーE表記は、さらに E100#100#100#100 のように重ねることで大きくなり、そこから拡張ハイパーE表記、連鎖E表記、拡張連鎖E表記といったさらに大きな数を表記するシステムへと発展します。その詳細については本書では踏み込みませんが、サイビアンの巨大数論に関する Web 書籍 「1から無限大まで – 有限数ガイド」 (One to Infinity: A Guide to the Finite) (https://sites.google.com/site/largenumbers/) に、詳しく解説されています。

2.5 プロマキシマ

サイビアンの紹介をしたところで、サイビアンがプロマキシマ (promaxima) と名づけた巨大数を紹介します。 これはネット上で次のような投稿がされたところから、考えられた数です。

宇宙のすべての空間が原子や素粒子のようなもので完全に充填されていたとします。 その粒子の数はとても大きいでしょう。 さらに、これらの粒子が充填される順列を数え上げるといくつになるでしょうか。 N個の粒子があるとすれば、Nの階乗、すなわちN!通りになるでしょう。 これはどのくらい大きな数になるでしょうか。

これに対して、サイビアンは観測可能な宇宙が宇宙で最も小さい物質である「宇宙ひも」で満たされたと考えました。 宇宙ひもの長さをプランク長すなわち約10の-35乗メートル(=「10の35乗」分の1メートル)として、観測可能な宇宙の直径を10の26乗メートルとしました。 すなわち、宇宙ひもで観測可能な宇宙を充填すると、1辺に10の26乗を10の-35乗で割って10の61乗個、その3乗で10の183乗個の宇宙ひもで充填されることになります。 これをNとします。 この宇宙ひもの配列はN! = (10^183)! 通りで、スターリングの近似を使うと約10^10^185 = E185#2 通りとなります。

サイビアンは、この計算にさらに時間の概念を加えました。 すなわち、時間の最小単位はプランク時間すなわち約10の-43乗秒なので、1プランク時間における組み合わせがN!通りであると考えて、tプランク時間における組み合わせを(N!)^t通りとしました。 宇宙が5×10^17年続くと考えてそれをプランク時間に直してtに入れることで、(N!)^t = 10^10^245 = E245#2通りとなります。 これをサイビアンはプロマキシマと名づけました。プロマキシマは「確率の最大 (probability maximum)」から名づけたもので、宇宙の歴史として考えられる組み合わせの上限値であり、サイビアンは現実的な数の上限であるとしました。

ここで、サイビアンはプロマキシマは科学的な数であり、10^10^245 はその上限を計算したものであって、物理法則に反する単純化した仮定を使って計算したものであり、実際にはプロマキシマは10^10^245よりもずっと小さくなるはずであるとしました。 たとえば、物質の移動速度は光速を超えないことから、プランク時間で移動できる距離はプランク長を超えません。そのことから、ある時間の次の時間における宇宙ひもの位置は制限されます。 また宇宙は宇宙ひもでみたされているわけではありません。 しかし、サイビアンはこの数は現実的な数の上限としての意味を持っているとしています。

サイビアンはその後、陽子の半減期が約10の35乗年であり、宇宙には約10の81個の陽子が存在することから、宇宙の寿命は10の35乗年はあるとして、さらに宇宙の膨張速度を計算に入れた上で、10^(6.5446×10^343)という数を導き、可能な平行宇宙の数であるとしました。

2.6 超過剰数

過剰数 (abundant number) は、正の約数の総和が元の数の2倍よりも大きい数です。すなわちその数を除く正の約数の総和が元の数よりも大きい数です。たとえば、36は約数である 1, 2, 3, 4, 6, 9, 12, 18 の和が 55 となり、36よりも大きいため過剰数です。その逆にその数を除く約数の和が元の数よりも小さい数を不足数と言い、両者が一致する数を完全数と言います。最初の過剰数は 12, 18, 20, 24, 30, 36, 40, 42, 48, ... で、ほとんどの過剰数は偶数となるように見えます。最小の奇数の過剰数は 945 です。2と3で割れない最小の過剰数は

5^2×7×11×13×17×19×23×29 = 5391411025

で、11以下の数で割れない最小の過剰数は

13^2×17^2×19×...×223×227 = 7.970466327×10^87

です。

ここまではクラス2の数ですが、ここからクラス3の数に入っていきます。そのために「とても過剰な数」について考えてみます。nの正の約数の総和をσ(n)とすると、過剰数はσ(n) > 2n となる数です。では σ(n) > 1000n となる「1000倍以上過剰な数」は存在するかどうかを考えてみましょう。 そのような数は、確実に存在します。 そして、その数は E243.47#2 よりは大きく E446.94#2 よりも小さいことがわかります。 つまり、グーゴルプレックスよりは大きいクラス3の数となります。

m<n であるすべての自然数mに対してσ(m)/m < σ(n)/n を満たす自然数nを超過剰数 (superabundant number) と言います。σ(n) > 1000n を満たす最小のnは超過剰数です。超過剰数は無限にあり、 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040, 10080, 15120, 25200, 27720, 55440, 110880, 166320, 277200, 332640, 554400, 665280, 720720, 1441440, 2162160, 3603600, 4324320, 7207200, 8648640, 10810800, 21621600, ... と続きます。

3 クラス4の巨大数

クラス4の数 (E6#3–E6#4): クラスの定義より、クラス4の上限はE6#4 = 10^10^10^10^6です。このクラスになると、大小を比較するには、対数を2〜3回取る必要があります。また、前節で「全宇宙の物質全てをインクに変えても10進数で表記できないほど大きい」というようなたとえはこのクラスの数をたとえるには小さすぎて不適切である、という話を書きました。実際には、一般の人が理解できるたとえとしては、「全宇宙の物質全てをインクに変えても10進数で表記できないほど大きい」あたりが限界だろうと思います。したがってここから先はまさに「たとえようもないほど大きな数」を扱うことになります。

3.1 グーゴルデュプレックス

10の100乗がグーゴルで、10のグーゴル乗はグーゴルプレックスです。それでは、10のグーゴルプレックス乗はなんというのでしょうか。 これには、いろいろな名前がついています。 最も単純な名前のつけ方は、10のN乗がNプレックスであると考えて、グーゴルプレックスプレックス (googolplexplex) とする方法です。 他にも、同じ数をあらわす言葉としてグーゴルプラスプレックス (googolplusplex)、ガーグーゴルプレックス (gargoogolplex)、グーゴルプレクシアン (googolplexian) 等があります。

サイビアンは、グーゴルプレックスプレックスのかわりにグーゴルデュプレックス (googolduplex) と名づけました。つまり、プレックスの前に2をあらわすduの接頭辞を加えました。そして、10のグーゴルデュプレックス乗は3をあらわす接頭辞triを使ってグーゴルトリプレックス (googoltriplex) となり、さらに以下のように続きます。

グーゴルトリプレックス以降はクラス5以上の巨大数となりますが、ここでまとめて紹介しておきました。

3.2 スキューズ数

それでは次の巨大数の話をするために、少し準備をします。 素数計数関数 (prime counting function) π(x)は、x以下の素数の個数を返す関数です。 対数積分 li(x)は、1を除く全ての正の実数 x において、1/log(t)(log は自然対数)という関数に対する0からxまでの定積分(∫0〜x(dt/log(t)))で定義される関数です。ここで、x=1は特異点として除外されます。

素数定理によればπ(x)は漸近的に li(x) に等しくなりますが、計算がなされている範囲では、常に π(x) < li(x) となっていて、今でも π(x) > li(x)となるような具体的なxは見つかっていません。ところが、π(x)とli(x)は無限回大小関係が逆転することが証明されているため、いつはじめてπ(x) > li(x)となるxが出てくるのかが研究されてきました。

スキューズ数 (Skewes number) には2つあります。スキューズは、1933年の論文で、リーマン予想が正しいとしたときに、Sk1 = e^e^e^79 = E(e)79#3以下の数にπ(x) > li(x) となる数が存在することを証明しました。このSk1が第1スキューズ数と呼ばれます。さらにスキューズは、1995年に、リーマン予想を仮定することなしに、第2スキューズ数 Sk2 = e^e^e^e^7.705 = E(e)7.705#4以下の数でπ(x) > li(x) となるxが存在することを証明しました。この上限は、Bays and Hudson (2000) によって約1.3983×10^316にまで下げられています。

スキューズ数はいずれもクラス4の数です。Sk1はE34#3 = 10^10^10^34程度です。Sk2はE963#3 = 10^10^10^963程度ですが、分かりやすくE3#4 = 10^10^10^10^3とされることもあります。

第2スキューズ数 = e^e^e^e^7.705 ≈ 10^10^10^10^3 = E3#4

ムナフォは、通常の計算プログラムでは大きすぎて計算できないような巨大数を計算するためのプログラム、ハイパーカルク (Hypercalc: http://www.mrob.com/pub/perl/hypercalc.html) を作成しました。Hypercalc を使うと、第2スキューズ数は

入力: e^e^e^e^7.705

結果: 10^(10^(3.299943221955 x 10^963 ) )

と、計算ができます。第2スキューズ数をこのように直接計算できるプログラムは、他にはなかなかないだろうと思います。

4 クラス5以上の巨大数

4.1 宇宙論で使われた最大の数

宇宙論で使われた最大の巨大数(であると思われる数)に、クラス5の巨大数である

10^10^10^10^10^1.1 = E1.1#5

という数があります。これは、理論物理学者のドン・ページ (Don Nelson Page) が「リンデの確率過程的インフレーションという説で生まれるかもしれないあらゆる多重宇宙の全質量を1個のブラックホールに潰して適当な箱の中に入れた」と仮定したときにブラックホールの蒸発後にまたブラックホールができるまでのポアンカレ再帰時間(力学系のある状態を出発点としたときに、初期状態にとても近い状態に戻るまでの時間)を計算したものです。

この数は現在の状態の宇宙に対するポアンカレ再帰時間ではないので、「宇宙の全ての物質が元に戻る」という説明は不正確です。 意味のある数というよりは、どちらかというと、巨大数を作ることを目的に計算された数、ということのようです。 単位はプランク時間(5.391×10^-44 秒)でも1000年でもなんでもいい、とページが書いているように、クラス5の数になると、クラス4までの数をかけても割っても右肩の数(この場合だと1.1)にほとんど影響を与えなくなってしまうため、時間の単位を気にする必要すらなくなってしまいます。

4.2 ベントレー数

「現代巨大数論の父」と言われるジョナサン・バウアーズ (Jonathan Bowers) が書いた「永遠の努力」(Forever endeavor) という短編小説は、このレベルの数の大きさの果てしなさについて想像をかきたてます。ここに巨大数研究Wikiに掲載した概略のストーリーを記します。英語の原文は、もっと詳細に描写されていて面白いです。

この物語は、10 個のカウンターを作れば 100 万ドルを提供すると宣伝する、奇妙なカードが通りを舞っているのに気が付いた、欲張りなベントレーから始まります。彼はカウンターとは何なのかも知らないままこれを引き受け、1 枚の壁に窓のある窮屈な部屋に通されました。彼が 10 個のカウンターを作るのを手伝う、コンパドリーという名前のアシスタントを除き、彼はその部屋にひとりでいなければなりません。一度カウンターを作り始めてしまうとその部屋から逃げることは許されません。

部屋には金属のディスクでいっぱいになった大きな段ボール箱が、またその箱の横には 10 本の金属の棒がありました。コンパドリーは棒を取りそれにディスクを取り付けました。そのディスクは 10 の節に分割され、それぞれ 0〜9 の番号が付けられていました。それがカウンターでした。

すでに棒に1つのディスクが取り付けられている1つ目のカウンターは完成して、コンパドリーがそれを持っていました。2つ目のカウンター作りから始めることになりました。ベントレーは、棒を手に取ってディスクを取り付け、そしてそれに続いて、コンパドリーは 1 を示すようにディスクを V 字の刻み目 1 つ分回転させます。ベントレーはその作業を繰り返し、コンパドリーは 0 になるまでその数を 1 つずつ増やすのです。ベントレーが10 枚のディスクを取り付け終わった所で、コンパドリーのカウンターが0となって、2つ目のカウンターが完成しました。

それからコンパドリーは、ベントレーの2個目のカウンターを受け取り、それぞれのディスクを分割された桁として使って、カウンターを 0000000000 にセットします。そして、ベントレーは別の棒を取り、3個目のカウンター作成を開始します。棒にディスクを1つ取り付けるごとに、コンパドリーはカウンターを 0000000001, 0000000002, 0000000003, ... と、1ずつ増やします。箱の中のディスクは、いくら使っても減ることはなく常にいっぱいで、棒は窓の外に向かっていくらでも延びます。

ベントレーとコンパドリーは、睡眠と食事、トイレ以外は休まずに、休日もなく1日18時間ひたすらこの作業を続けます。食事はいつも、投下口から送られてくるボローニャサンドウィッチと堅く乾燥したパンケーキで、メニューは変わりません。コンパドリーは一言も口を利かず、完全に感情も無く、ベントレーが何を言ってもほとんどなんの関心も示しませんでした。奇妙なことに、ベントレーもコンパドリーも、老いていくようには見えませんでした。しかしながら、ベントレーは 500 年以上もカウンターに取り組んでいるらしいのです。

550年以上かかって、100 億枚のディスクを取り付け、3個目のカウンターが完成しました。棒の長さは10万キロになります。そしてコンパドリーはその3個目のカウンターを受け取り、000...000 (100億個の0)にセットしました。ベントレーは別の棒を取って、4個目のカウンター作りを始め、コンパドリーはその 3 つ目のカウンターを数え始めました。4個目のカウンターは、ディスクを10の100億乗個取り付けることで完成します。それは、グーゴルのグーゴル倍の、そのまたグーゴル倍の…と、1億回繰り返したほどの、気の遠くなるほど大きな数です。とてもその作業が終わる日が来るようには思えません。そして4個目のカウンターが完成すれば、今度はそのカウンターを使って、5個目のカウンター作りを始めることになります。つまり今度は 10^10^10000000000 個のディスクを取り付けることになります。

果たして10個目のカウンターが完成する時はやってくるのでしょうか?とてもやって来るとは思えません。この「永遠の努力」を終わらせる方法は知られていません。

ベントレーが10個のカウンターを完成させるまでに、とりつけなければならないディスクの数をベントレー数 (Bentley’s Number) と言います。ベントレー数は次のような値となります。

1+10+10^10+10^10^10+...+10^10^10^10^10^10^10^10^10

ベントレー数はクラス9の巨大数です。私たちの想像力をもってすれば、これはもうほとんど「無限」と思える数です。

5 巨大数に関する参考資料

この本は、『巨大数論』という本の最初の部分を電子書籍として独立させたものです。続きは、『巨大数論』の単行本あるいはPDF電子書籍で読むことができます。

小林銅蟲による『寿司 虚空編』 (http://comic.pixiv.net/works/1505) という巨大数漫画は、多くの人が巨大数を知るきっかけとなりました。 小林銅蟲は「巨大数探索スレッド」の議論をまとめた「巨大数研究室」 (http://www.geocities.co.jp/Technopolis/9946/) を管理しています。また、巨大数に関する発表をしたときのスライド (http://www.slideshare.net/DoomKobayashi/presentations) がいくつか公開されています。『寿司 虚空編』は、当初小学館の「裏サンデー」に掲載されて話題となりましたが、その後 pixiv コミックで無料のウェブコミックとして継続され、2017年8月10日に三才ブックスから単行本が発売されることが決定しました。

数学史家の鈴木真治による『巨大数』という書籍(岩波科学ライブラリー)は、20世紀までの巨大数に関する数学史を一般向けに分かりやすくまとめたものです。

英語のサイトでは、すでに紹介したムナフォとサイビアンのサイトが有名です。 そして、巨大数に関する情報を集めている Googology Wiki (http://googology.wikia.com/) というサイトでは、世界の巨大数ファンが日夜巨大数の情報を収集整理し、議論しています。ここは巨大数コミュニティの本拠地と言って良いでしょう。この Googology Wiki の日本語版「巨大数研究Wiki」 (http://ja.googology.wikia.com/) では、日本語で巨大数の情報が整理されています。モバイル版では数式が表示されないので、数式を表示するためには、画面一番下から「PC版で表示」を選んでください。 Googology Wiki は、英語と日本語の他にもオランダ語、ドイツ語、フランス語、中国語、ロシア語版があり、それぞれの言語間で項目ごとにリンクされています。

おわりに

この『巨大数入門』という本は、『巨大数論』の第1章だけを取り出してKindle版とEPUB版の電子書籍として出版したものです。数式を使わずに読めるように、内容を若干書き換えました。『巨大数論』は、PDF版と紙の本(単行本)が出版されています。その中から、最初の部分だけを『巨大数入門』として公開したのは、次のような理由があります。

『巨大数入門』をここまで読んで興味を持った方は、ぜひ続きを『巨大数論』でお読みください。

ここで、『巨大数論』の内容を簡単に紹介しておきます。このような目次となっています。

第1章は、本書『巨大数入門』と同じです。「超過剰数」の計算が詳しく書かれているところと、脚注が入っているところが主な違いです。

そしてここから章が進むごとに、あつかう巨大数の大きさが爆発的にレベルアップします。

第2章では指数表記を重ねる回数を数える「テトレーション」という演算をはじめとするハイパー演算を表記するためのクヌースの矢印表記を導入します。第3章では、有名なグラハム数やコンウェイのチェーン表記を紹介します。

第3章までは、すでに一般によく知られている内容ですが、第4章からは、巨大数論独自の混沌とした世界に入っていきます。 そして、巨大数を作り、その解釈をするために数学基礎論、数理論理学、証明論、計算機科学のような数学の分野から、再帰理論、順序数、逆数学、述語論理、計算可能性理論のような理論を導入します。

続きは、以下の『巨大数論』でどうぞ。

単行本をアマゾンで購入
https://www.amazon.co.jp/dp/4802093195
ホームページで無料PDFをダウンロード
http://gyafun.jp/ln/


目次へ

フィッシュ (2017) 『巨大数入門』 http://gyafun.jp/ln/intro.html