数学において、ハイパー演算シーケンス[nb 1]は、単項演算(n = 0の後継関数)で始まる算術演算(この文脈ではハイパー演算と呼ばれる)の無限シーケンスです[1] [11] [13]。シーケンスは、加算(n = 1)、乗算(n = 2)、および累乗(n = 3)の2項演算に続きます。
その後、このシーケンスは右結合性を使用して、指数関数を超えるさらに二項演算に進みます。指数関数を超える演算では、このシーケンスのn番目の要素は、ルーベン・グッドスタインによって、 nのギリシャ語接頭辞に-ationを接尾辞として付けて命名されており (テトレーション( n = 4)、ペンテーション( n = 5)、ヘキサレーション ( n = 6) など) [5] 、クヌースの上矢印表記法でn − 2 個の矢印を使用して記述できます。各ハイパー演算は、前のハイパー演算の観点から再帰的に 次のように理解できます。
これは、定義の再帰規則の部分に従って定義されることもあります。たとえば、Knuth のアッカーマン関数の上矢印バージョンがそうです。
これを使うと、スキューズ数やグーゴルプレックス数など、科学的記数法で表せるよりもはるかに大きな数を簡単に表示することができます(例えば、はスキューズ数やグーゴルプレックス数よりもはるかに大きいです)。しかし、グラハム数やTREE(3)など、科学的記数法でも簡単に表示できない数もあります。[14]
この再帰ルールは、ハイパーオペレーションの多くのバリエーションに共通です。
意味
定義、最も一般的な
ハイパーオペレーションシーケンスは 、次のように再帰的に定義されるバイナリオペレーションのシーケンスです。
( n = 0の場合、最初の引数を無視することで 、バイナリ演算は基本的に単項演算(後続関数)に簡略化されることに注意してください。)
n = 0, 1, 2, 3の場合、この定義は、それぞれ後続(単項演算)、加算、乗算、累乗の基本的な算術演算を次のように再現します。
n ≥ 3の演算は、クヌースの上矢印記法で記述できます。
では、累乗の次の演算は何でしょうか? 乗算を と定義し、累乗を と定義したので、次の演算であるテトレーションを3 つの「a」の塔で と定義するのが論理的と思われます。同様に、(a, 3) のペンテーションは、3 つの「a」を含むテトレーション (a、テトレーション (a、a)) になります。
クヌースの表記法は、インデックス付けの遅れを除いて、ハイパーオペレーションシーケンス全体に一致するように、負のインデックス ≥ −2 に拡張できます。
ハイパーオペレーションは、後続、加算、乗算、累乗などの シーケンスの「次は何?」という質問に対する答えとして見ることができます。
基本的な算術演算間の関係が示されており、より高度な演算を上記のように自然に定義できます。ハイパー演算階層のパラメータは、類似の指数項で参照されることがあります。[15]したがって、aは基数、bは指数(またはハイパー指数)、[12]、nは階数(またはグレード)、[6]であり、さらに、は「aのb番目のn乗」と読みます。たとえば、は「7 の 9 番目の四乗」と読み、は「456 の 789 番目の 123 乗」と読みます。
一般的に言えば、ハイパー演算とは、前のハイパー演算の反復に基づいて増加する数を複合する方法です。後続演算、加算、乗算、累乗の概念はすべてハイパー演算です。後続演算 ( xからx + 1を生成) は最も基本的で、加算演算子は最終値を生成するために 1 を自身に加算する回数を指定し、乗算は数を自身に加算する回数を指定し、累乗は数を自身に乗算する回数を指します。
反復を使用した定義
2変数 関数fの反復を次のように定義する。
ハイパーオペレーションシーケンスは、次のように反復によって定義できます。すべての整数に対して定義します 。
反復は結合的であるため、最後の行は次のように置き換えることができる。
計算
ハイパーオペレーションシーケンスの定義は、項書き換えシステム (TRS)に自然に転置できます。
定義サブ1.1に基づくTRS
ハイパーオペレーションシーケンスの基本的な定義は、簡約規則に対応する。
を計算するには、最初に要素を含むスタックを使用できます。
そして、不可能になるまで繰り返し、3つの要素がポップされ、ルールに従って置き換えられます[nb 2]
図式的には、次のように始まります。
スタック長 <> 1 の場合
{
3 つの要素
を POP します。r1、r2、r3、r4、r5 の規則に従って 1 つまたは 5 つの要素をPUSH します。
}
例
計算する。[16]
還元シーケンスは[nb 2] [17]
スタックを使用して実装した場合、入力時に
定義サブ1.2に基づくTRS
反復法を用いた定義は、異なる一連の削減規則をもたらす。
反復は結合的であるため、規則r11の代わりに次のように定義できる。
前のセクションと同様に、の計算はスタックを使用して実装できます。
最初、スタックには 4 つの要素が含まれます。
そして、終了するまで、4つの要素がポップされ、規則に従って置き換えられます[nb 2]
図式的には、次のように始まります。
スタック長 <> 1 の場合
{
4 つの要素
を POP します。r6、r7、r8、r9、r10、r11 の規則に従って 1 つまたは 7 つの要素をPUSH します。
}
例
計算します。
入力時に連続するスタック構成は
対応する等式は
削減規則r11を規則r12に置き換えると、スタックは次のように変換されます。
その後のスタック構成は
対応する等式は
備考
- は特別なケースです。下記を参照してください。[nb 3] [nb 4]
- の計算は、{r6 - r10, r11} の規則に従って、高度に再帰的です。原因は、反復が実行される順序にあります。最初のものは、シーケンス全体が展開された後にのみ消えます。たとえば、は 2863311767 ステップで 65536 に収束しますが、再帰の最大深さ[18]は 65534 です。
- その点では、{r6 - r10, r12} の規則に従った計算の方が効率的です。反復の実装は、手順 H の繰り返し実行を模倣します。[19]再帰の深さ (n+1) は、ループのネストと一致します。Meyer & Ritchie (1967) はこの対応を形式化しました。{r6-r10, r12} の規則に従った の計算も、65536 に収束するのに 2863311767 ステップが必要ですが、テトレーションはハイパー演算シーケンスの 5 番目の演算子であるため、再帰の最大深さは 5 だけです。
- 上記の考慮事項は、再帰の深さのみに関係します。どちらの方法で反復しても、同じ数の削減ステップがもたらされ、同じルールが適用されます (ルール r11 と r12 が「同じ」と見なされる場合)。例に示されているように、削減は9 つのステップで収束します: 1 X r7、3 X r8、1 X r9、2 X r10、2 X r11/r12。反復法は、削減ルールが適用される順序にのみ影響します。
例
以下は最初の 7 つ (0 番目から 6 番目) のハイパー演算のリストです ( 0⁰ は1 と定義されます)。
特別なケース
H n (0, b ) =
- b + 1、n = 0の場合
- b、n = 1のとき
- 0、n = 2の場合
- 1、n = 3 かつb = 0の場合[nb 3] [nb 4]
- 0、n = 3 かつb > 0の場合[nb 3] [nb 4]
- 1、n > 3 かつbが偶数(0 を含む)の場合
- n > 3 かつbが奇数の場合、0
H n (1, b ) =
- b、n = 2の場合
- 1、n ≥ 3の場合
H n ( a , 0) =
- 0、n = 2の場合
- 1、n = 0、またはn ≥ 3の場合
- a、n = 1のとき
H n ( a , 1) =
- 2、n = 0の場合
- n = 1 の場合、a + 1
- a、n ≥ 2の場合
H n ( a , a ) =
- H n+1 ( a , 2)、 n ≥ 1のとき
H n ( a , −1) = [nb 5]
- n = 0 またはn ≥ 4の場合、0
- a − 1、n = 1のとき
- − a、n = 2のとき
- 1/1つの、n = 3の場合
Hn (2,2) =
- 3、n = 0の場合
- 4、n ≥ 1 の場合、再帰的に簡単に証明できます。
歴史
ハイパーオペレーションに関する最も初期の議論の一つは、1914年のアルバート・ベネットによるもので、彼は可換ハイパーオペレーションの理論の一部を発展させました(下記参照)。[6]約12年後、ヴィルヘルム・アッカーマンはハイパーオペレーションシーケンスに似た関数を定義しました。 [20]
1947 年の論文[5]で、 ルーベン・グッドスタインは、現在ではハイパー演算と呼ばれている特定の演算シーケンスを導入し、指数関数を超える拡張演算 (添え字 4、5 などに対応するため) にテトレーション、ペンテーションなどのギリシャ語名を提案しました。 は 3 つの引数関数 (例: ) であるため、ハイパー演算シーケンス全体は、元のアッカーマン関数(再帰的だが原始再帰的ではない) の一種であると見なされます。これは、グッドスタインによって修正され、原始後継関数を算術の他の 3 つの基本演算 (加算、乗算、指数関数)とともに組み込み、指数関数を超えてこれらをよりシームレスに拡張したものです。
元の 3 引数のアッカーマン関数は、 グッドスタインのバージョンと同じ再帰規則 (つまり、ハイパー演算シーケンス) を使用しますが、2 つの点で異なります。まず、 は、後続関数ではなく加算 ( n = 0) から始まり、次に乗算 ( n = 1)、累乗 ( n = 2) などの演算シーケンスを定義します。次に、 の初期条件はとなり、累乗を超えるハイパー演算とは異なります。[7] [21] [22]前の式のb + 1の意味は、 =であり、b は演算子(累乗)の数を数えるのであって、 のbのようにオペランド("a")の数を数えるのではないということです。より高レベルの演算についても同様です。(詳細については、アッカーマン関数の記事を参照してください。)
表記
これはハイパー演算に使用されている表記法のリストです。
バリアントの開始1つの
1928 年、ヴィルヘルム アッカーマンは3 引数関数を定義しました。これは徐々に 2 引数関数へと進化し、アッカーマン関数と呼ばれています。元のアッカーマン関数は、初期条件がすべてのn > 2に対して で始まるため、現代のハイパー演算とはあまり似ていませんでした。また、加算をn = 0、乗算をn = 1、累乗をn = 2 に割り当てたため、初期条件によってテトレーション以降では非常に異なる演算が生成されます。
使用されている別の初期条件は、 Rózsa Péterによる(基数が定数) であり、これはハイパー演算階層を形成しません。
0から始まるバリアント
1984 年、CW Clenshaw と FWJ Olver は、ハイパー演算を使用してコンピュータの浮動小数点オーバーフローを防ぐ議論を始めました。[29] それ以来、他の多くの著者[30] [31] [32] が、ハイパー演算を浮動小数点表現に適用することに新たな関心を寄せています。( H n ( a , b ) はすべてb = -1に対して定義されているため)。テトレーションについて議論している間、Clenshawらは初期条件 を仮定しました。これにより、さらに別のハイパー演算階層が作成されます。前のバリアントと同様に、4 番目の演算はテトレーションと非常に似ていますが、1 つオフセットされています。
ハイパーオペレーションの低減
これらのハイパーオペレーションの代替は、左から右への評価によって得られる。[ 9]
定義する(°または下付き文字を使用)
と
この考え方はドナーとタルスキ[33]によって序数に拡張された。
定義1(i)、系2(ii)、定理9から、a ≥ 2およびb ≥ 1の場合、[独自の研究? ]
しかし、これは一種の崩壊に陥り、ハイパーオペレーターに伝統的に期待される「パワータワー」を形成できなかった。[34] [注6]
α ≥ 2 および γ ≥ 2 の場合、[28] [系 33(i)] [注記 6]
可換超演算
可換超演算は1914年にアルバート・ベネットによって考えられており[6] 、これはおそらく超演算列に関する最も古い発言である。可換超演算は再帰規則によって定義される。
これはaとbに関して対称であり、すべてのハイパー演算は可換であることを意味します。このシーケンスには指数演算が含まれていないため、ハイパー演算階層を形成しません。
ハイパーオペレーションシーケンスに基づく記数法
RLグッドスタイン [5]はハイパー演算子のシーケンスを使用して、非負整数の記数法を作成しました。レベルkおよび基数bでの整数nのいわゆる完全な遺伝的表現は、最初のk個のハイパー演算子のみを使用し、数字として0、1、...、b −1のみを使用し、基数b自体を使用して次のように表すことができます。
- 0 ≤ n ≤ b − 1 の場合、n は対応する数字で単純に表示されます。
- n > b − 1の場合、 nの表現は再帰的に求められ、まずn を次の形式で表す。
- b [ k ] x k [ k − 1] x k − 1 [ k - 2] ... [2] x 2 [1] x 1
- ここで、x k、...、x 1 は、(順番に)を満たす最大の整数である。
- b [ k ] x k ≤ n
- b [ k ] x k [ k − 1] x k − 1 ≤ n
- ...
- b [ k ] x k [ k − 1] x k − 1 [ k - 2] ... [2] x 2 [1] x 1 ≤ n
- b − 1 を超えるx iも同様の方法で再表現され、結果の形式に数字 0、1、...、b − 1 と基数bのみが含まれるようになるまでこの手順が繰り返されます。
不要な括弧は、高レベルの演算子に評価順序で高い優先順位を与えることによって回避できます。つまり、
- レベル1の表現はb [1] Xの形式を持ち、Xもこの形式である。
- レベル2の表現はb [2] X [1] Yの形式を持ち、X、Yもこの形式である。
- レベル3の表現はb [3] X [2] Y [1] Zの形式を持ち、X、Y、Zもこの形式である。
- レベル4の表現はb [4] X [3] Y [2] Z [1] Wの形式を持ち、X、Y、Z、Wもこの形式である。
等々。
このタイプの基数b の 遺伝的表現では、式の中に基数自体と、集合 {0, 1, ..., b − 1} の「数字」が現れる。これは、基数bで書き表された通常の基数 2 の表現と比較される。例えば、通常の基数 2 の表記では、 6 = (110) 2 = 2 [3] 2 [2] 1 [1] 2 [3] 1 [2] 1 [1] 2 [3] 0 [2] 0 であるのに対し、レベル 3 の基数 2 の遺伝的表現は、 6 = 2 [3] (2 [3] 1 [2] 1 [1] 0) [2] 1 [1] (2 [3] 1 [2] 1 [1] 0) である。遺伝的表現は、[1] 0、[2] 1、[3] 1、[4] 1などのインスタンスを省略することで省略することができます。たとえば、上記のレベル3の2進数表現6は、2 [3] 2 [1] 2と省略されます。
例:レベル 1、2、3、4、および 5 における 数値266の固有の 2 進表現は次のとおりです。
- レベル1: 266 = 2 [1] 2 [1] 2 [1] ... [1] 2 (2が133個)
- レベル2: 266 = 2 [2] (2 [2] (2 [2] (2 [2] (2 [2] 2 [2] 2 [2] 2 [2] 2 [1] 1)) [1] 1)
- レベル3: 266 = 2 [3] 2 [3] (2 [1] 1) [1] 2 [3] (2 [1] 1) [1] 2
- レベル4: 266 = 2 [4] (2 [1] 1) [3] 2 [1] 2 [4] 2 [2] 2 [1] 2
- レベル5: 266 = 2 [5] 2 [4] 2 [1] 2 [5] 2 [2] 2 [1] 2
参照
注記
- ^ ハイパー演算シーケンスに似たシーケンスは、歴史的に多くの名前で呼ばれてきました。アッカーマン関数[1] (3引数)、アッカーマン階層[2]、グジェゴルチク階層[ 3] [4] (より一般的なもの)、グッドスタインのアッカーマン関数バージョン[5]、n次の演算[6]、 xとyのz倍反復累乗[7]、矢印演算[8]、レイヘン代数[9]、ハイパーn [1] [9] [10] [11] [12]などです。
- ^ abc これは、左端から内側(1ステップ)の戦略を実装します。
- ^ abc 詳細については、「ゼロの累乗」を参照してください。
- ^ abc 詳細については、「ゼロのゼロ乗」を参照してください。
- ^ abc x = a [ n ](−1)とします。再帰式により、a [ n ]0 = a [ n − 1]( a [ n ](−1)) ⇒ 1 = a [ n − 1] xとなります。1つの解はx = 0 です。これは、 n ≥ 4のとき定義によりa [ n − 1]0 = 1 となるためです。この解は、すべてのa > 1, b > 0に対してa [ n − 1] b > 1 となるため、一意です(再帰による証明)。
- ^ ab 順序加算は可換ではありません。詳細については順序算術を参照してください。
参考文献
- ^ abc ガイスラー2003年。
- ^ フリードマン 2001.
- ^ カンパニョーラ、ムーア、フェリックス・コスタ、2002。
- ^ ウィルツ 1999.
- ^ abcde グッドスタイン1947.
- ^ abcd ベネット 1915.
- ^ ブラック 2009年。
- ^ リトルウッド 1948年。
- ^ abc ミュラー1993年。
- ^ ムナフォ 1999a.
- ^ ロビンズ 2005より 。
- ^ ガリダキス 2003より。
- ^ ルブツォフ&ロメリオ 2005年。
- ^ タウンゼント 2016.
- ^ ロメリオ 2008年。
- ^ ベゼム、クロップ、デ・フライエル、2003.
- ^ 各ステップで下線付きのredexが書き換えられます。
- ^ 再帰の最大深度とは、手続きの最も深い呼び出し中に存在する手続きの活性化レベルの数を指します。Cornelius & Kirby (1975)
- ^ ループ n 回実行H.
- ^ アッカーマン 1928より。
- ^ abc ムナフォ 1999b.
- ^ カウルズ&ベイリー 1988.
- ^ クヌース 1976年。
- ^ ツヴィリンガー 2002年。
- ^ ワイスタイン 2003.
- ^ ヒルベルト 1926.
- ^ ナンビア 1995年。
- ^ Doner & Tarski 1969より引用。
- ^ クレンショー&オルバー 1984.
- ^ ホームズ 1997.
- ^ ツィンマーマン 1997.
- ^ ピンキエヴィッツ、ホームズ、ジャミル 2000年。
- ^ Doner & Tarski 1969、定義 1.
- ^ Doner & Tarski 1969、定理3(iii)。
文献
- アッカーマン、ヴィルヘルム(1928)。 「ツム・ヒルベルトシェン・アウフバウ・デア・リーレン・ザーレン」。数学アンナレン。99 : 118–133。土井:10.1007/BF01459088。S2CID 123431274。
- ベネット、アルバートA. (1915 年12月)。「第 3 級の演算に関するメモ」。数学年報。第2シリーズ。17 (2): 74– 75。doi :10.2307/2007124。JSTOR 2007124。
- マルク・ベゼム。クロップ、ヤン・ウィレム。デ・ヴリエル、ロエル (2003)。 「一次項書き換えシステム」。「Terese」による用語書き換えシステム。ケンブリッジ大学出版局。38 ~ 39ページ 。ISBN 0-521-39115-6。
- Black, Paul E. (2009 年 3 月 16 日). 「アッカーマン関数」.アルゴリズムとデータ構造の辞書. 米国国立標準技術研究所 (NIST) . 2021 年8 月 29 日閲覧。
- カンパニョーラ、マヌエル・ラメイラス。クリストファー・ムーア;フェリックス・コスタ、ホセ (2002 年 12 月)。 「再帰的整数論における超有限序数」。複雑さのジャーナル。18 (4): 977–1000 .土井: 10.1006/jcom.2002.0655。
- Clenshaw , CW ; Olver, FWJ (1984 年 4 月)。 「浮動小数点を超えて」。Journal of the ACM。31 ( 2): 319– 328。doi : 10.1145/62.322429。S2CID 5132225 。
- Cornelius, BJ; Kirby, GH (1975). 「再帰の深さとアッカーマン関数」. BIT 数値数学. 15 (2): 144– 150. doi :10.1007/BF01932687. S2CID 120532578.
- Cowles, J.; Bailey, T. (1988 年 9 月 30 日)。「アッカーマン関数のいくつかのバージョン」。ワイオミング大学コンピューターサイエンス学部、ワイオミング州ララミー。2021年8 月 29 日閲覧。
- ドナー、ジョン。タルスキー、アルフレッド(1969)。 「序数の拡張算術」。数学の基礎。65 : 95–127 .土井: 10.4064/fm-65-1-95-127。
- フリードマン、ハーヴェイ M. (2001 年 7 月)。「長い有限シーケンス」。組み合わせ理論ジャーナル。シリーズ A。95 ( 1): 102– 144。doi : 10.1006/ jcta.2000.3154。
- Galidakis, IN (2003). 「数学」。2009年4月20日時点のオリジナルよりアーカイブ。2009年4月17日閲覧。
- ガイスラー、ダニエル (2003)。「指数関数の先には何があるのか?」2009 年4 月 17 日閲覧。
- Goodstein, Reuben Louis (1947 年 12 月). 「再帰的数論における超限順序数」(PDF) . Journal of Symbolic Logic . 12 (4): 123– 129. doi :10.2307/2266486. JSTOR 2266486. S2CID 1318943.
- デイヴィッド・ヒルベルト (1926)。 「ユーバー・ダス・ウンエンドリッシェ」。数学アンナレン。95 : 161–190。土井:10.1007/BF01206605。S2CID 121888793。
- Holmes, WN (1997 年 3 月). 「複合演算: 新しい標準の提案」.コンピュータ. 30 (3): 65– 73. doi :10.1109/2.573666 . 2009 年4 月 21 日閲覧。
- Knuth, Donald Ervin (1976 年 12 月). 「数学とコンピュータサイエンス: 有限性への対処」. Science . 194 (4271): 1235– 1242. Bibcode :1976Sci...194.1235K. doi :10.1126/science.194.4271.1235. PMID 17797067. S2CID 1690489. 2009 年4 月 21 日閲覧.
- Littlewood, JE (1948 年 7 月). 「大きな数」. Mathematical Gazette . 32 (300): 163– 171. doi :10.2307/3609933. JSTOR 3609933. S2CID 250442130.
- Meyer, Albert R. ; Ritchie, Dennis MacAlistair (1967)。ループプログラムの複雑性。ACM '67: 1967 年第 22 回全国会議の議事録。doi : 10.1145 /800196.806014。
- Müller, Markus (1993). 「Reihenalgebra」(PDF) 。 2013年12月2日時点のオリジナル(PDF)からアーカイブ。 2021年11月6日閲覧。
- Munafo, Robert (1999a). 「アッカーマン関数のバージョン」。MROB の Large Numbers。2021年8 月 28 日閲覧。
- Munafo, Robert (1999b) 「新しい演算子と関数の発明」。MROBの Large Numbers。2021年8 月 28 日閲覧。
- Nambiar, KK (1995). 「アッカーマン関数と超限順序数」.応用数学レター. 8 (6): 51– 53. doi : 10.1016/0893-9659(95)00084-4 .
- Perstein, Millard H. (1962年6月1 日)。「アルゴリズム 93: 一般順序演算」。Communications of the ACM。5 ( 6)。ニューヨーク市: Association for Computing Machinery : 344。doi : 10.1145/367766.368160。ISSN 0001-0782 。
- Pinkiewicz, T.; Holmes, N.; Jamil, T. (2000)。「有理数用の複合演算ユニットの設計」。IEEE Southeast Con 2000 の議事録。「新世紀への準備」(カタログ番号 00CH37105)。IEEE の議事録。pp. 245– 252。doi : 10.1109/ SECON.2000.845571。ISBN 0-7803-6312-4.S2CID 7738926 。
- Robbins, AJ (2005年11月). 「Home of Tetration」. 2015年6月13日時点のオリジナルよりアーカイブ。2009年4月17日閲覧。
- Romerio, GF (2008 年 1 月 21 日)。「ハイパーオペレーション用語」。Tetration Forum。2009年4 月 21 日閲覧。
- Rubtsov, CA; Romerio, GF (2005 年 12 月)。「アッカーマン関数と新しい算術演算」 。2009年4 月 17 日閲覧。
- タウンゼント、アダム (2016 年 5 月 12 日)。「大きな数の名前」。Chalkdustマガジン。
- ワイスタイン、エリック W. (2003)。CRC簡潔数学百科事典、第 2 版。CRC プレス。pp. 127– 128。ISBN 1-58488-347-2。
- マルク・ヴィルツ (1999)。 「安全な再帰によるグジェゴルチク階層の特徴付け」(PDF)。ベルン: Institut für Informatik und angewandte Mathematik。CiteSeerX 10.1.1.42.3374。S2CID 117417812。
- Zimmermann, R. (1997). 「コンピュータ演算: 原理、アーキテクチャ、および VLSI 設計」(PDF) 。講義ノート、統合システム研究所、ETH チューリッヒ。2013年 8 月 17 日のオリジナル(PDF)からアーカイブ。2009 年4 月 17 日に取得。
- ツヴィリンガー、ダニエル (2002)。CRC標準数学表と公式、第 31 版。CRC プレス。p. 4。ISBN 1-58488-291-3。
