コンウェイのチェーン表記

提供: testwiki
ナビゲーションに移動 検索に移動

コンウェイのチェーン表記(コンウェイのチェーンひょうき、テンプレート:Lang-en-short)とは、1995年イギリス数学者ジョン・ホートン・コンウェイによって導入された巨大数の表記法の一つである。

クヌースの矢印表記アッカーマン関数などより比較的強い演算である。具体的には、3つ組ではクヌースの矢印表記と等価だが、更に長く続けることで、クヌースの矢印表記では簡潔に表せない、あるいは現実的に表せない大きな数を表すことができる。

導入

加法を反復すると乗法、乗法を反復すると累乗が得られる。このとき累乗を上向き矢印によって テンプレート:Math と表して、さらに テンプレート:Math の反復を テンプレート:Mathテトレーション)、テンプレート:Math の反復を テンプレート:Mathペンテーション)、というように矢印を増やしていくことで累乗の先の演算を表せるようにしたものをクヌースの矢印表記と呼ぶ。

(1)a×b=a+a++ab copies of a=a+a+b1a(2)ab=a×a××ab copies of a=a×a×b1a(3)acb=ac1ac1c1ab copies of a=ac1ac1b1a=ac1ac1ab1 copies of a

コンウェイのチェーン表記は、このクヌースの矢印表記の一般化、拡張である。以下チェーンの各項はすべて自然数であるものとする。

コンウェイはまず長さが テンプレート:Math のチェーンを、クヌースの矢印表記を用いて次のように与えた[1]

(4)abc=acb=acb(ab=abとも書き換えられる)

このチェーンによって テンプレート:Math を書き換えると次のような式になる。これは末尾 テンプレート:Math のチェーンを末尾 テンプレート:Math のチェーンに分解する式となっている。

(5)abc=ac1ac1ac1ac1ac1ab copies of a=ac1ac1ac1ac1ac1ac1ab1 copies of a=ac1ac(b1)=ac1{a(b1)c}=a{a(b1)c}(c1)=a(a((a(ab)(c1)))(c1))(c1)b1

この式の テンプレート:Mvar を部分チェーン テンプレート:Mvar に置き換えることで、長さが テンプレート:Math 以上のチェーンに対する式が得られる。

(6)Xbc=X{X(b1)c}(c1)=X(X((X(Xb)(c1)))(c1))(c1)b1

さらにコンウェイはチェーン末尾のテンプレート:Mathは無視されるとした[1]。従って式 テンプレート:Math, テンプレート:Math を繰り返して末項を テンプレート:Math にすることで、長さが テンプレート:Math 短いチェーンへと分解することができる。

(7)a1an1=a1an

また、この規則から長さが テンプレート:Math のチェーンは累乗となる。

さらにコンウェイはチェーン途中のテンプレート:Mathの右側の全ても無視されるとした。それにより4つ組チェーンの計算も行える。

abz1=abz

定義

次のようにチェーンを定義する。

さらに テンプレート:Math を正の整数、テンプレート:Mvar を部分チェーンとするとき、チェーンについて以下が成り立つ。

ここで関数 テンプレート:Mvarテンプレート:Math とおくと、最後の二つの条件は次のようにも述べられる。但し テンプレート:Mathテンプレート:Mvarテンプレート:Mvar反復合成である。

X(p+1)(q+1)=X((X(pX)q))qp=f(f(pX))p=fp(X)

別の定義

上記以外の書き方でされている定義もある。

書き方は違うが、意味は同じである。

以下の4つの定義でチェーン表記を定義することも可能である。

チェーン表記abcyz(a~zは正の整数)を以下のように定義する。

  • ab=ab
  • abcyz1=abcyz
  • abcyz1=abcyz
  • abcyz=abc(abc(y1)z)(z1)

性質

以下、項(正の整数)を小文字 テンプレート:Math 、チェーン(および部分チェーン)を大文字 テンプレート:Math で表す。

以下は長さが テンプレート:Math のチェーンの計算例である。

テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math
テンプレート:Math

以下は長さが テンプレート:Math のチェーンのクヌースの矢印表記による展開例(縦横展開)である。

pqr1=prq
pqr2=pq{pq(r1)2}1=pq{pq(r1)2}=pq(pq(pq(r1)1)1)r=ppppqqqq}r
pqr3=pq(pq(pq(r1)2)2)r=pqpqppqq}pqpqppqq}}ppppqqqq}pqr

アッカーマン関数

アッカーマン関数はコンウェイのチェーン表記へ置き換えられる:

m > 2の際 A(m, n) = (2 → (n + 3) → (m − 2)) − 3 (ハイパー演算の角括弧表記を用いると A(m, n) = 2 [m] (n + 3) - 3)

よって

n > 2の際 2 → nm = A(m + 2,n − 3) + 3

(n = 1 と n = 2 は A(m, −2) = −1 と A(m, −1) = 1に対応し、論理的に加算できる。)

グラハム数

グラハム数 G それ自体を、コンウェイのチェーン表記を用いて簡潔に表す事は出来ない。しかし、仲介させる関数を g(n)=33n=33n 本 の 矢 印 と定義することで G=g64(4) と表記できる。(写像の冪を参照。)又、 33642<G<33652 である。

テンプレート:Quotation

コンウェイのチェーン表記を用いれば上記の数よりも非常に大きい数を表記する事は、とても容易い。次にその例を記す。

3333
=33(33272)2
=g33272(1)
=gg27(1)(1)

=3333333333}33層 333333} 33=27層 

33272=g27(1) は65よりもはるかに大きいので、3333はグラハム数よりはるかに大きい。 さらに末尾の数字を増やしたりチェーンを伸ばしたりすることで極めて巨大な数を表記可能である。3333はコンウェイのテトラトリと呼ばれる。

CG関数

コンウェイとテンプレート:仮リンクに共同制作された単純な単一引数関数は、下記の様に表記法全体にわたって対角化する様定義されていた:

cg(n)=nnnnnn長 さ n

その出力を順に並べると:

テンプレート:Math

テンプレート:Math

テンプレート:Math

テンプレート:Math

テンプレート:Math

テンプレート:Math

テンプレート:Math

この関数は予測されるように、とても急速に増大する。

この関数は急増加関数cg(x)fω2(x)と近似できる。

拡張チェーン系の表記

このチェーン表記にも、次のような拡張表記が考案されている。

ピーター・ハーフォードによる拡張

Webデベロッパーで統計学者のピーター・ハーフォードは、2011年にこの表記法の拡張を定義した。

abc=ab1ab1ab1b1ab1ab1ac 本 の 矢(あくまでb1c本、という意味)

a2(a1)は既に cg(a) と同等であり、関数f(n)=nnnは cg(n) よりも大きな増加速度を持つ。

定義

a1b=ab

a1b1n=anb

anbncnzn1=anbncnz

anbncnzn1n=anbncnz

anbnnynz=anbnn(anbn(y1)nz)n(z1)

anb=an1an1n1a長 さ  b+1

この表記は拡張チェーン表記と呼ばれ、同じ拡張チェーン系の回転矢印表記と同じくらいの強さである。歴史的には、回転矢印表記が先に考案され、後にそれとは独立にこのハーフォードの拡張チェーン表記が考案されたが、現在ではチェーン表記の拡張としてはより定義や記述がすっきりしているこのハーフォード式が標準的となっている。もっとも、拡張チェーン系表記のレベルの巨大数は、巨大数論的に中途半端なポジションということもあり、そのレベルの巨大数を表す場合は拡張チェーン系表記より強力な配列表記(海外)あるいは多変数アッカーマン関数(日本)を用いるのが最も主流となっている。

この表記は急増加関数xxxfω3(x)と近似できる。

ちなみに多変数アッカーマン関数xxxA(1,0,0,0,x)程度である。

彼は上記以外の規則は変更しなかった。(一つのチェーンにおいては1種類の矢印のみを使用できた。つまりb≠dの際abcdeは規則違反になる)

もし更に規則を若干訂正し

abcde=abcd1cd1cd1d1cd1cd1ce 本 の 矢

とすると、abcdeは規則違反では無くなる上に表記法が更に強くなる(あまり意味はない。つまり、本質的に大きくする手段は別にある。)。[2]

クリス・バードによる拡張(回転矢印表記)

テンプレート:Main

矢印表記やチェーン表記の拡張版として、クリス・バード(Chris Bird)によって考案された回転矢印表記というものもある。この表記法ではその矢印の回転を繰り返すことにより、非拡張チェーンを遥かに超える巨大な数が表記可能となる。これは2chの巨大数スレッドで一時期ある程度使われたことがある。ただしこれは発想こそ単純であるものの、ピーター・ハーフォードの拡張チェーン表記とほぼ同等の増加速度であり、それと比べると若干定義が複雑なことと、配列表記の方が効率的に数の大きさを爆発させることができることもあり、近年ではこの回転矢印表記が用いられることはほとんどなくなっている。

その他

その他の拡張チェーン系の表記としては、次のようなものが考えられている。

  • チェーンを角括弧で括り、[a→b]nのように拡張レベルを角括弧の外に書いて、2変数の場合の右側の数bを1つ下のレベルのチェーンのaの個数とするAeton式

更に、ハーフォード式・バード式(回転矢印表記)・Aeton式の三者よりも強力な表記として、

  • 拡張レベルを多変数化して例えば3[3,1,2]3[3,1,2]3などのように書く配列チェーン表記
  • ハーフォード式と同じように矢印に添字を付ける→nという表記を使いながら、添字が揃っていなくても計算でき、かつレベルの違いを活かして強くした混合チェーン表記

その他

チェーン表記(およびその拡張表記)では、数の大きさを評価するための重要度は次の通りである:

(拡張チェーン系の表記におけるチェーンの拡張レベル>)チェーンの長さ>末尾の変数>末尾から2番目の変数>それ以外の変数

チェーン表記(およびその拡張表記)では、どの変数の値が増えても厳密には数は増えるものの、特に5つ組以上のチェーンでは、末尾の2つ以外の変数の値が増えても巨大数として無視できるレベルの増加にしかならない。また末尾の変数が巨大数レベルになれば、末尾から2番目の変数の値が増えても巨大数として無視できるレベルの増加にしかならない。

ふぃっしゅ数バージョン1はCG関数でCG(グラハム数)、つまりGGGグ ラ ハ ム 数 個 の Gより遥かに大きい。ふぃっしゅ数バージョン1はピーター・ハーフォードの拡張チェーン表記による近似で≒5→264→22、ふぃっしゅ数バージョン2は同表記による近似で≒3→643→642程度の大きさとなる。このようにふぃっしゅ数はバージョン1とバージョン2までは、拡張チェーン系の表記の範囲で近似可能であるが、バージョン3以上になるとそのレベルをも遥かに本質的に超えてしまう。

チェーン表記とは異なった規則により、チェーン表記(およびその拡張表記)よりも効率的に数の大きさを爆発させることができる表記として、配列表記があり、それにも拡張表記が考案されており、その最終形態にはBEAFバードの配列表記がある。具体的には、チェーン表記で表される数は多変数アッカーマン関数では3変数程度で配列表記では4変数程度、ピーター・ハーフォードの拡張チェーン表記(あるいはクリス・バードの回転矢印表記)で表される数は多変数アッカーマン関数では4変数程度で配列表記では5変数程度のレベルとなる。チェーン表記およびその拡張表記と配列表記との比較(近似・大小関係)については配列表記#チェーン表記との比較および回転矢印表記#他表記との比較を参照のこと。

BEAFの配列表記は多変数アッカーマン関数と同じくらいの増加速度を持ち、BEAFそのものはさらに大きい増加速度を持つ(テトレーション配列など)。

出典

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

関連項目

テンプレート:巨大数

  1. 1.0 1.1 John H. Conway & Richard K. Guy, The Book of Numbers, 1996, p.59-62
  2. テンプレート:Cite news