第8話 ハイパー演算

「衆議院議員平野八蔵の横領の疑いは確定的とみられ、その金額は250億円に上るとして、過去最大の着服事件として捜査が進んでいます」

「250億円っていうともはや天文学的で、もう想像も及びませんね。こんな金額は個人ではどう使えばいいか想像もできないというか・・・」

「以前24億円の横領事件というものはありましたが、もはや桁が違いますからね・・・」

「前代未聞の横領事件ということで、内閣総理大臣小林久美も声明を発表しています」


テレビで連日流されるこれまでの横領事件の金額をはるかに上回る、250億円横領事件。もはや、その手口などより、その金額のほうに注目が言ってしまうのも、また致し方ないことであった。


でも・・・


テレビの前で小林奈々は思った。


天文学的ってなんだろう?学校で習った最大の数は、アボガドロ定数

6.022140857×10^23

だ。これは、物質1molの中に含まれている要素粒子の数で、歴史的には、分子量グラムに含まれる分子の数だ。極端に大きい数で、これを上回る数に出会うことはあまりない。


大きさの大体を表してくれているのは、10^23の部分。1000垓だ。だから、アボガドロ定数は、約6022垓だということができる。有効数字は10桁なので、

6022垓1408京5700兆といってもよい。


10^23という部分に注目する。これは、10×10×…×10と、10を23回掛けた、という記号だ。

でも、もともと、×という記号は、加算の繰り返しで、+というものは、+1の繰り返しだった。


奈々は懐かしい気分になってきた。

「5個のりんごに3個のりんごを加えると、りんごはいくつになるでしょう?」

●●●●●5個

●●●●●●5個+1個

●●●●●●●5個+2個

●●●●●●●●5個+3個

これを数えると8個になるわけだ。


「それをハイパー0演算と呼ぼう」


だれ!?


「私は平野八蔵だよ。奈々ちゃん」


その男を見ると、いまテレビの中で逮捕されている平野八蔵と同じ人間であった。


なにが起きてるの!?さっぱりわからない。


「まだわかるでしょ、+nというのは、次の数を得るという操作をn回したという意味だ」


わからないのはそこじゃなくてね…


「うん、じゃあ、少しだけ例をあげてみよう。nの次の数をSnと書くことにしよう


S1

=2


S3

=4


SSS6

=SS7

=S8

=9


SSSSS3

=SSSS4

=SSS5

=SS6

=S7

=8


そして、加算+の定義だ。

a+bを次のように定義する

①b=0のとき、

a+0=a

②b=Snと表せるとき(bが正整数のとき)

a+Sn=Sa+n


この=の意味は、式が左の形になっているとき、右の形に変形して良い、ということ。等しいというよりかは、変形ルールだ。

ルール①は+記号を消してくれる、つまり、計算を終了させてくれるルール。

ルール②は右のりんごから左のりんごに一個ずつ渡してるイメージのルール。


細かい条件や説明は抜きだ。実際に計算して感覚をつかもう。


3+2

=3+S1(ルール②を使えるようにした)

=S3+1(ルール②)

=4+1(ルール②を使えるようにした)

=4+S0(ルール②)

=S4+0(ルール②を使えるようにした)

=5+0(ルール②)

=5(ルール①)


同じ計算だが、次のようにかくと、一つずつりんごを渡している感覚が得られる。

3+2

=SSS0+SS0

=SSSS0+S0

=SSSSS0+0

=SSSSS0

=5


さて、いきなり乗法×を定義しよう。加法と似ている感覚をつかめれば、ハイパー演算の理解まであと一歩だ。


a×bを次のように定義する

①b=0のとき

a×0=0

②bがSnと表せるとき

a×Sn=a+(a×n)


ルール①もルール②も、加法のときとは全然違うが、それでも、ルール①は×記号が消せる、ルール②は×記号の右側のSが消せる、という点は似ている。


さて、実際に計算だ。


3×2

=3×SS0(2=SS0より)

=3+(3×S0)(乗法のルール②)

=3+(3+(3×0))(乗法のルール②)

=3+(3+0)(乗法のルール①)

=3+3(乗法のルール①)

=3+SSS0(3=SSS0より)

=S3+SS0(加法のルール②)

=SS3+S0(加法のルール②)

=SSS3+0(加法のルール②)

=SSS3(加法のルール①)

=6(SSS3=6より)


全て定義通りに計算するのはとても楽しい。いかなる=の接続もルールに従うように書いていくのだ。


さて、どんどん行こう。冪乗^の定義だ。これは乗法の定義と酷似する。


a^bを次のように定義する

①b=0のとき

a^0=1

②b=Snと表せるとき

a^Sn=a×(a^n)


ほとんど乗法の定義と同じだ。ルール①は少しだけ違うが…。さて、具体例だ。


2^3

=2^SSS0

=2×(2^SS0)

=2×(2×(2^S0))

=2×(2×(2×(2^0)))

=2×(2×(2×1))

=2×(2×(2+(2×0)))

=2×(2×(2+0))

=2×(2×2)

=2×(2×SS0)

=2×(2+(2×S0))

=2×(2+(2+(2×0)))

=2×(2+(2+0))

=2×(2+2)

=2×(2+SS0)

=2×(S2+S0)

=2×(SS2+0)

=2×(SS2)

=2×SSSS0

=2+(2×SSS0)

=2+(2+(2×SS0))

=2+(2+(2+(2×S0)))

=2+(2+(2+(2+(2×0))))

=2+(2+(2+(2+0)))

=2+(2+(2+2))

=2+(2+(2+SS0))

=2+(2+(S2+S0))

=2+(2+(SS2+0))

=2+(2+SS2)

=2+(2+SSSS0)

=2+(S2+SSS0)

=2+(SS2+SS0)

=2+(SSS2+S0)

=2+(SSSS2+0)

=2+SSSS2

=2+SSSSSS0

=S2+SSSSS0

=SS2+SSSS0

=SSS2+SSS0

=SSSS2+SS0

=SSSSS2+S0

=SSSSSS2+0

=SSSSSS2

=8


冪乗の計算自体は始めの五行だ。まあ、それにしても長くなるね。


さて、

Sはハイパー0演算

+はハイパー1演算

×はハイパー2演算

^はハイパー3演算

と呼ぶことにする。この先は規則正しく定義することができる。


ここで、冪乗の別表記を導入する。とはいえ、^が↑になるだけだ。これをクヌースの矢印表記という。通称タワー表記。


a↑b=a^b


さて、ハイパー4演算を定義しよう。4はラテン語でtetraだ。それを冠してハイパー4演算をテトレーションという。

記号は↑↑を用いる。


a↑↑bを次のように定義する。

①b=0のとき

a↑↑0=1

②b=Snと表せるとき

a↑↑Sn=a↑(a↑↑n)


これは、冪乗の定義の演算記号を取り替えただけだ。さて、具体例だ。とはいえ、これを全て書きくだすのは無理ではないが長くなるので省略しよう。

2↑↑3

=2↑↑SSS0

=2↑(2↑↑SS0)

=2↑(2↑(2↑↑S0))

=2↑(2↑(2↑(2↑↑0)))

=2↑(2↑(2↑1))

=2↑(2↑(2×(2↑0)))

=2↑(2↑(2×1))

=…

=2↑(2↑2)

=…

=2↑4

=…

=16


以下、ハイパーk演算(k≧4)の定義だ。

m=k+1とする。(↑の数プラス2がk)


a↑…(m+1個)…↑bを次のように定義する。

①b=0のとき、

a↑…(m+1個)…↑0=1

②b=Snと表せるとき

a↑…(m+1個)…↑Sn=a↑…(m個)…↑(a↑…(m+1個)…↑n)


どうだい?途端に難しくなったかな?でも、大丈夫、ゆっくり見ていけばすぐにわかるようになるさ」


わからないことだらけだわ…。なぜこの家に平野八蔵が?そもそもテトレーションがどういうものなのか、この段階では全然想像できないわ…。


「定義が理解できたところで実際がわからないと理解できたとはいえないからね


ではもうちょっと現実に即した見方をしよう。

加法と乗法はまあいいだろう。

まず、冪乗について考えよう。

冪乗は指数法則という大切な法則があるかわりに、交換法則と結合法則を満たさない。

3^5≠5^3

243≠125


2^(3^4)≠(2^3)^4

2^81≠2^12


そこで、冪乗は右から計算するきまりになる。なぜなら左から計算すると

(a^b)^c=a^(b×c)

と、冪乗が積の形に変わるだけだからだ。

よって、a^b^cと書いたら、a^(b^c)を意味する。


さて、これは計算上かなり厄介なことを引き起こす。たとえば、16=2^4=2^2^2と8=2^3をつないで2^4^2^3と計算することはできない。つなぎ方によって値が変わってしまうからだ。

16^8<2^4^2^3<2^2^2^2^3

そして、この違いは大変なものとなる。実際に、

2^32<2^65536<2^(2^256)


これは、たとえば、10^10^10^10=10↑↑4と、10^10^10^10^10=10↑↑5をつないで、

(10^10^10^10)^(10^10^10^10^10)としたとき、

ほぼ10^10^10^10^10^10=10↑↑6となることを意味する。

なぜこうなるか。どのように計算するか。まず、A=10^10^10とおいてみよう。

すると、与式は

(10^A)^(10^10^A)

となる。これを計算すると、

10^((10^10^A)×A)

となる。(指数法則)

さて、(10^10^A)×AのAを戻そう。

10^10^10^10^10×10^10^10

これを計算すると、

10^(10^10^10^10+10^10)

となる。

さて、10^10^10^10は10^10にくらべて遥かに大きい。桁数が10^10^10-10桁ほど違う。そこで、10^10^10^10+10^10≈10^10^10^10と近似してよい。

よって、与式は、およそ

10^10^10^10^10^10

とほぼ等しいことになる。


さて、これをふまえてテトレーションにいこう。テトレーションは指数タワーの底と高さを表す。指数タワーとは、

n^n^n^…のような形をしたものであり、

このnを底、nの個数を高さという。

たとえば、底が3、高さが4の指数タワーは、

3^3^3^3=3^7625597484987

となる。

指数タワーの大きさの指標はなんといっても高さだ。底の役割はほとんど無い。

実際に底を2にしても、底を10000にしても、高さが2~3変わる程度だ。具体的には、n≧4に対して

2↑↑n<10000↑↑(n-2)<2↑↑(n+1)

が成り立つ。


実際には底を3にすると便利だ。

そこで次のような近似式は役に立つことだろう。

2≦a≦26のとき、

a↑↑n≈3↑↑n

27≦a≦7625597484986

a↑↑n≈3↑↑(n+1)

aは上記より大きいが、アラビア数字で書き下せる程度

a↑↑n≈3↑↑(n+2)


実際には、底といっても、指数タワーの最も右側を見ているにすぎないわけだけどね」


わからないことだらけだわ…。テレビに映っている平野八蔵は一体誰なのか?本当に同一人物なのか?なぜ底を3にするのか?


「なぜ底を3にするのか、それは深い質問だ。この後現れるコンウェイのチェーン表記を知ったならば解決するだろう。

実際には計算の強さを失わない程度のもっとも小さい整数といったところだ」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る