巨大数研究 Wiki
(新しいページ: 'とりあえずは[http://googology.wikia.com/wiki/Hyper-E_notation 英語ページ]を参照して下さい。できれば、訳して下さい。 {{DEFAULTSORT:はいは...')
 
編集の要約なし
タグ: ソースの編集
(10人の利用者による、間の29版が非表示)
1行目: 1行目:
  +
{{関数
とりあえずは[http://googology.wikia.com/wiki/Hyper-E_notation 英語ページ]を参照して下さい。できれば、訳して下さい。
 
  +
|type =
  +
|base = [[冪乗]]
  +
|fgh = \omega
  +
|prefix =
  +
|postfix = }}
  +
'''ハイパーE表記''' (Hyper-E Notation) は、'''E#'''とも省略され、 [[Sbiis Saibian]] が考案した巨大数を表記する方法である<ref>[http://sites.google.com/site/largenumbers/home/3-2/Hyper-E Hyper-E Notation - Large Numbers]</ref>。彼のウェブ書籍 "One to Infinity: A Finite Journey" で2011年の11月にはじめて紹介され、拡張ハイパーE表記('''xE#''')へとさらに一般化された。ハイパーE表記は Sbiis Saibian が子供の時に開発した [[多角形分割表記]]の改良版である。
  +
  +
E# と xE# は、さらに大きい表記法である[[拡張型Eシステム]]の一部で、[[連鎖E表記]]へと発展する。
  +
  +
== 元の定義 ==
  +
元々の(拡張されていない)ハイパーE表記は、1つ以上の正の整数の数列 {{asq|''n''}} の'''引数'''をハイペリオン記号 # で区切ったものである。これを E(''b''){{asq|1}}#{{asq|2}}#...#{{asq|''n''}} と表記し. ''b'' を基数と呼ぶ。基数が省略されたときは10がデフォルトであり、よく省略される。
  +
  +
以下の3つの規則がある。
  +
  +
*'''Rule 1.''' ハイペリオンがないとき
  +
*: \(E(b)x = b^x\).
  +
*'''Rule 2.''' 最後の数字が1の時
  +
*: \(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_n}\#1 = E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_n}\).
  +
*'''Rule 3.''' それ以外
  +
*: \(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#{a_{n-1}}\#{a_n} =\)
  +
*: \(= E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#{a_{n-1}}\#{a_n-1})\)
  +
  +
言葉で説明すると:
  +
  +
#もし引数が ''x''のみなら, その値は {{^|''b''|''x''}}となる。
  +
#もし最後のエントリが1ならば, それは削除できる。.
  +
#Otherwise...
  +
##最後のエントリから1を引いた数を保存する。 その値を ''z''とする。
  +
##最後の2つのエントリを削除する。
  +
##''z'' をエントリの最後に追加する。
  +
  +
=== ハイパーE表記の例 ===
  +
* Ea = Ea#1 = 10<sup>a</sup>
  +
* E100 = E100#1 = 10<sup>100</sup> = [[グーゴル]] (a = 100 on above equation)
  +
* Ea#b = EEE...Ea w/b E's = {{^...|10|a}} (b個の10)
  +
* E(3)a#b = {{^...|3|a}} (b個の3's)
  +
* E(''m'')a#b = {{^...|m|a}} b個の''m''<nowiki/>'s
  +
* E100#100 = [[グランゴル]]
  +
* Ea#b#c = Ea#(Ea#(Ea#(Ea#(...(Ea#b)...)) (c個のEa)
  +
* E100#100#100 = [[グレーゴル]]
  +
* Ea#b#c#d = Ea#b#(Ea#b#(Ea#b#(Ea#b#(...(Ea#b#c)...)) (d個のEa)
  +
  +
== 拡張された定義 ==
  +
  +
{{関数
  +
|name = 拡張ハイパーE表記
  +
|type =
  +
|base = ハイペリオン記号
  +
|fgh = \omega^{\omega}
  +
|prefix =
  +
|postfix =}}
  +
'''拡張ハイパーE表記''' (Extended Hyper-E Notation) は、ハイパーE表記の拡張で、数字と数字の間に複数のハイペリオン記号を書くことができる。{{asq|''n''}} の後に続くハイペリオンの数を ''h''(''n'') と書く。つまり、 {{^|#|''n''}} は ''n'' の連続するハイぺリオンを簡単に表したものである。 その正式な表記は E(''b''){{asq|1}}{{hm|1}}{{asq|2}}{{hm|2}}...{{hm|''n'' - 1}}{{asq|''n''}}{{hm|''n''}} である。Bowersが#で列の残りを指示したように、Saibianは@を用いた。
  +
  +
オリジナルと拡張された表記の違いは、拡張ハイパーE表記は2個以上の連続した#が許されるという事である。
  +
  +
*'''Rule 1.''' もしハイぺリオンがなければ:
  +
*: \(E(b)x = b^x\)
  +
*'''Rule 2.''' もし最後のエントリが1ならば:
  +
*: \(E(b) @ \#^{h(n-1)}{a_n}\#^{h(n)}1 = E(b) @ \#^{h(n-1)}{a_n}\).
  +
*'''Rule 3.''' もし\(h(n-1)>1\)ならば:
  +
*: \(E(b) @ \#^{h(n-2)}{a_{n-1}}\#^{h(n-1)}{a_n} = E(b) @ \#^{h(n-2)}{a_{n-1}}\#^{h(n-1)-1}{a_{n-1}}\#^{h(n-1)}{a_n-1}\)
  +
*'''Rule 4.''' それ以外ならば:
  +
*: \(E(b) @ \#^{h(n-2)}{a_{n-1}}\#{a_n} = E(b) @ \#^{h(n-2)}(E(b) @ \#^{h(n-2)}{a_{n-1}}\#{a_n-1})\) (note \(\#^1\) = \(\#\))
  +
  +
これらは[[配列表記]]の規則と似ている。 言葉で表すと:
  +
  +
#もし引数が''x''のみならば, その値は{{^|''b''|''x''}}である。
  +
#もし最後のエントリが1なら、それは削除できる。
  +
#''h'' を最後のハイぺリオンの長さとする。 もし ''h'' > 1なら:
  +
##最後のエントリを消したものを''r''とする。
  +
##もう1度最後のエントリを消し、それを''z''とする。
  +
##''z''を''r''回''h'' - 1個のハイペリオンで繰り返す。 これを式の最後に加える。
  +
#そうでなければ、普通の表記の3.を実行する。
  +
  +
=== 拡張ハイパーE表記の例 ===
  +
  +
* a##b = a#a#a#...a#a (b個のa#)
  +
* a###b = a##a##...a##a##a (b個のa##)
  +
* a####b = a###a###...a###a###a (b個のa###)
  +
* etc.
  +
* a#<sup>b</sup>c = a###...##c (b個の#)
  +
  +
== 他の表記との比較 ==
  +
  +
ハイパーE表記は[[矢印表記]]との間に次のような関係がある<ref>Fish, [[:en:User_blog:Kyodaisuu/Comparison_of_up-arrow_notation_with_hyper-E_notation|Comparison of up-arrow notation with hyper-E notation]] 2021年7月1日</ref>。
  +
  +
: <math>a \uparrow^{c}b = E(a)\underbrace{1\#1\#...1\#}_{(1\#) \times (c-1)}b</math>
  +
  +
ここで、a, b, c は正の整数である。たとえば、
  +
  +
* a&uarr;b = E(a)b
  +
* a&uarr;&uarr;b = E(a)1#b
  +
* a&uarr;&uarr;&uarr;b = E(a)1#1#b
  +
* a&uarr;&uarr;&uarr;&uarr;b = E(a)1#1#1#b
  +
  +
== 例 ==
  +
* E(10)6 = E6 = E6#1 = {{^|10|6}}
  +
* E(10)100 = E100 = E100#1 = {{^|10|100}} = [[グーゴル]]
  +
*:これはRule 1の例である。基数のデフォルトは10であるため、このようになる。
  +
* E100#2 = E(E100#1) = E{{^|10|100}} = {{^|10|{{^|10|100}}}} = [[グーゴルプレックス]]
  +
* E100#3 = E(E100#2) = E10<sup>10<sup>100</sup></sup> = {{^|10|{{^|10|10<sup>100</sup>}}}} = [[グーゴルプレックスプレックス]]
  +
*: これはRule 3,4の例。2つ目の例ではこのように省くこともできる: E(E100#1) = EE100#1.
  +
* E303#1 = E303 = [[:en:eceton|eceton]] = [[センティリオン]] = 10<sup>303</sup>
  +
* E303#2 = [[:en:ecetonplex|ecetonplex]] = EE303 = 10<sup>10<sup>303</sup></sup>
  +
* E303#3 = EEE303 = 10<sup>10<sup>10<sup>303</sup></sup></sup> = [[エセトンデュプレックス]]
  +
* E1#100 = EEE...EEE1 (100 E's) = [[ギゴル]]
  +
*: ルール3を繰り返し適用する: E1#100 = EE1#99 = EEE1#98 = ...
  +
* E100#100 = EEE...EEE100 (100 E's) = [[グランゴル]]
  +
*: これは E1#100 と同じだが、最初の数が違う。
  +
* E100#101 = EEE...EEE100 (101 E's) = [[グランゴルプレックス]]
  +
*: E100#101 = EE100#100 = {{^|10|:grangol}} となるために、この名前となる。
  +
* E100#100#2 = E100#(E100#100) = EEE...EEE100 (グランゴル個のE) = [[グランゴルデックス]]
  +
*: ついに三変数まで達する。
  +
* E100#100#3 = E100#(E100#100#2) = E100#(E100#(E100#100)) = EEE...EEE100 (グランゴルデックス個のE) = [[グランゴルデュデックス]]
  +
*: 3番目の変数を大きくすればするほど、ネスト数は深くなっていく。
  +
* E100#100#100#100 = E100#100#(E100#100#100#99) = E100#100#(E100#100#(E100#100#100#98)) = ... [[ギガンゴル]]
  +
*: 変数が4つでもほとんど同じである。 &mdash同様にネストの数は深くなっていく。 これはE100##4とも書き、次のレベルの表記法の始まりである。
  +
* E100##100 = E100#100#100#...#100#100#100 (100個の100) = [[ギュゴルド]]
  +
*: ついに拡張ハイパーE表記に到達した。二つの記号の連続は、一つ下の記号の繰り返しを表す。
  +
* E100##100#100 = [[グラータゴルド]]
  +
*: 個の表記はルール4を繰り返し用いることによりE''a''##''b''の形で表すことが出来る。
  +
* E100##100##100 = E100##100#100#...#100#100 (100個の100) = [[ギュゴルスラ]]
  +
*: 二つ目の##が展開されきって100のみになるまで、一つ目は無視する。
  +
* E100###100 = E100##100##...##100##100 (100個の100)= [[スルーゴル]]
  +
*: 三つのハイペリオンは二つの物の繰り返しを表す。ハイペリオンは右から左は計算される。
  +
* E100####100 = E100###100###...###100###100 (100個の100) = [[テトルーゴル]]
  +
*: 四つは三つに展開される。
  +
* [[ゴドガグラ]] = E100#####...#####100 (100個の#)=E100#<sup>100</sup>100
  +
*: E100#(<sup>100</sup>100)ではない。
  +
<!--
  +
N.B.: The purpose of this section is to explain xE# to readers, not to collect every Saibianism on the planet. Please keep this in mind when adding googologisms. Thanks! <3
  +
-->
  +
  +
== 疑似コード ==
  +
  +
'''function''' E<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 1}}, {{asq|''n''}}):
  +
  +
'''if''' ''n'' = 1:
  +
'''return''' {{^|''b''|{{asq|1}}}}
  +
  +
'''if''' {{asq|''n''}} = 1:
  +
'''return''' E<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 1}})
  +
  +
''z'' := E<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 1}}, {{asq|''n''}} - 1)
  +
  +
'''return''' E<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 2}}, ''z'')
  +
  +
'''function''' xE<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 1}}, {{asq|''n''}};
  +
{{asq|1|h}}, {{asq|2|h}}, ..., {{asq|''n'' - 2|h}}, {{asq|''n'' - 1|h}}):
  +
  +
'''if''' ''n'' = 1:
  +
'''return''' {{^|''b''|{{asq|1}}}}
  +
  +
'''if''' {{asq|''n''}} = 1:
  +
'''return''' xE<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 1}};
  +
{{asq|1|h}}, {{asq|2|h}}, ..., {{asq|''n'' - 2|h}})
  +
  +
'''if''' {{asq|''n'' - 1|h}} > 1:
  +
''r'' := {{asq|''n''}}
  +
''z'' := {{asq|''n'' - 1}}
  +
''zseq'' := ''z'', ''z'', ..., ''z'', ''z'' (''r'' times)
  +
''h'' := {{asq|''h'' - 1}}
  +
''hseq'' := ''h'', ''h'', ..., ''h'', ''h'' (''r'' - 1 times)
  +
'''return''' xE<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 2}}, ''zseq'';
  +
{{asq|1|h}}, {{asq|2|h}}, ..., {{asq|''n'' - 2|h}}, ''hseq'')
  +
  +
''z'' := xE<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n''}} - 1;
  +
{{asq|1|h}}, {{asq|2|h}}, ..., {{asq|''n'' - 2|h}}, {{asq|''n'' - 1|h}})
  +
'''return''' xE<sub>''b''</sub>({{asq|1}}, {{asq|2}}, ..., {{asq|''n'' - 2}}, ''z'';
  +
{{asq|1|h}}, {{asq|2|h}}, ..., {{asq|''n'' - 2|h}})
  +
  +
== 出典 ==
  +
<references />
  +
  +
== 関連項目 ==
  +
*[[:カテゴリ:ハイパーE系列]]
  +
*[[冪乗]]
  +
*[[連鎖E表記]]
  +
  +
[[en:Hyper-E notation]] [[de:Hyper-E Notation]] [[nl:Hyper-E notation]] [[zh:超E符號]]
   
 
{{DEFAULTSORT:はいはあいいひようき}}
 
{{DEFAULTSORT:はいはあいいひようき}}
  +
[[カテゴリ:関数]]
  +
[[カテゴリ:Sbiis Saibian]]
  +
[[カテゴリ:ハイパーE系列]]
  +
[[カテゴリ:多重再帰関数]]
  +
[[カテゴリ:表記]]

2021年7月2日 (金) 07:25時点における版

ハイパーE表記
基本関数 冪乗
急増加関数 \(f_{\omega}(n)\)

ハイパーE表記 (Hyper-E Notation) は、E#とも省略され、 Sbiis Saibian が考案した巨大数を表記する方法である[1]。彼のウェブ書籍 "One to Infinity: A Finite Journey" で2011年の11月にはじめて紹介され、拡張ハイパーE表記(xE#)へとさらに一般化された。ハイパーE表記は Sbiis Saibian が子供の時に開発した 多角形分割表記の改良版である。

E# と xE# は、さらに大きい表記法である拡張型Eシステムの一部で、連鎖E表記へと発展する。

元の定義

元々の(拡張されていない)ハイパーE表記は、1つ以上の正の整数の数列 an引数をハイペリオン記号 # で区切ったものである。これを E(b)a1#a2#...#an と表記し. b を基数と呼ぶ。基数が省略されたときは10がデフォルトであり、よく省略される。

以下の3つの規則がある。

  • Rule 1. ハイペリオンがないとき
    \(E(b)x = b^x\).
  • Rule 2. 最後の数字が1の時
    \(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_n}\#1 = E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_n}\).
  • Rule 3. それ以外
    \(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#{a_{n-1}}\#{a_n} =\)
    \(= E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#(E(b){a_1}\#{a_2}\#{a_3}\cdots\#{a_{n-2}}\#{a_{n-1}}\#{a_n-1})\)

言葉で説明すると:

  1. もし引数が xのみなら, その値は bxとなる。
  2. もし最後のエントリが1ならば, それは削除できる。.
  3. Otherwise...
    1. 最後のエントリから1を引いた数を保存する。 その値を zとする。
    2. 最後の2つのエントリを削除する。
    3. z をエントリの最後に追加する。

ハイパーE表記の例

  • Ea = Ea#1 = 10a
  • E100 = E100#1 = 10100 = グーゴル (a = 100 on above equation)
  • Ea#b = EEE...Ea w/b E's = 1010...10a (b個の10)
  • E(3)a#b = 33...3a (b個の3's)
  • E(m)a#b = mm...ma b個のm's
  • E100#100 = グランゴル
  • Ea#b#c = Ea#(Ea#(Ea#(Ea#(...(Ea#b)...)) (c個のEa)
  • E100#100#100 = グレーゴル
  • Ea#b#c#d = Ea#b#(Ea#b#(Ea#b#(Ea#b#(...(Ea#b#c)...)) (d個のEa)

拡張された定義

拡張ハイパーE表記
基本関数 ハイペリオン記号
急増加関数 \(f_{\omega^{\omega}}(n)\)

拡張ハイパーE表記 (Extended Hyper-E Notation) は、ハイパーE表記の拡張で、数字と数字の間に複数のハイペリオン記号を書くことができる。an の後に続くハイペリオンの数を h(n) と書く。つまり、 #nn の連続するハイぺリオンを簡単に表したものである。 その正式な表記は E(b)a1#h(1)a2#h(2)...#h(n - 1)an#h(n) である。Bowersが#で列の残りを指示したように、Saibianは@を用いた。

オリジナルと拡張された表記の違いは、拡張ハイパーE表記は2個以上の連続した#が許されるという事である。

  • Rule 1. もしハイぺリオンがなければ:
    \(E(b)x = b^x\)
  • Rule 2. もし最後のエントリが1ならば:
    \(E(b) @ \#^{h(n-1)}{a_n}\#^{h(n)}1 = E(b) @ \#^{h(n-1)}{a_n}\).
  • Rule 3. もし\(h(n-1)>1\)ならば:
    \(E(b) @ \#^{h(n-2)}{a_{n-1}}\#^{h(n-1)}{a_n} = E(b) @ \#^{h(n-2)}{a_{n-1}}\#^{h(n-1)-1}{a_{n-1}}\#^{h(n-1)}{a_n-1}\)
  • Rule 4. それ以外ならば:
    \(E(b) @ \#^{h(n-2)}{a_{n-1}}\#{a_n} = E(b) @ \#^{h(n-2)}(E(b) @ \#^{h(n-2)}{a_{n-1}}\#{a_n-1})\) (note \(\#^1\) = \(\#\))

これらは配列表記の規則と似ている。 言葉で表すと:

  1. もし引数がxのみならば, その値はbxである。
  2. もし最後のエントリが1なら、それは削除できる。
  3. h を最後のハイぺリオンの長さとする。 もし h > 1なら:
    1. 最後のエントリを消したものをrとする。
    2. もう1度最後のエントリを消し、それをzとする。
    3. zrh - 1個のハイペリオンで繰り返す。 これを式の最後に加える。
  4. そうでなければ、普通の表記の3.を実行する。

拡張ハイパーE表記の例

  • a##b = a#a#a#...a#a (b個のa#)
  • a###b = a##a##...a##a##a (b個のa##)
  • a####b = a###a###...a###a###a (b個のa###)
  • etc.
  • a#bc = a###...##c (b個の#)

他の表記との比較

ハイパーE表記は矢印表記との間に次のような関係がある[2]

ここで、a, b, c は正の整数である。たとえば、

  • a↑b = E(a)b
  • a↑↑b = E(a)1#b
  • a↑↑↑b = E(a)1#1#b
  • a↑↑↑↑b = E(a)1#1#1#b

  • E(10)6 = E6 = E6#1 = 106
  • E(10)100 = E100 = E100#1 = 10100 = グーゴル
    これはRule 1の例である。基数のデフォルトは10であるため、このようになる。
  • E100#2 = E(E100#1) = E10100 = 1010100 = グーゴルプレックス
  • E100#3 = E(E100#2) = E1010100 = 101010100 = グーゴルプレックスプレックス
    これはRule 3,4の例。2つ目の例ではこのように省くこともできる: E(E100#1) = EE100#1.
  • E303#1 = E303 = eceton = センティリオン = 10303
  • E303#2 = ecetonplex = EE303 = 1010303
  • E303#3 = EEE303 = 101010303 = エセトンデュプレックス
  • E1#100 = EEE...EEE1 (100 E's) = ギゴル
    ルール3を繰り返し適用する: E1#100 = EE1#99 = EEE1#98 = ...
  • E100#100 = EEE...EEE100 (100 E's) = グランゴル
    これは E1#100 と同じだが、最初の数が違う。
  • E100#101 = EEE...EEE100 (101 E's) = グランゴルプレックス
    E100#101 = EE100#100 = 10:grangol となるために、この名前となる。
  • E100#100#2 = E100#(E100#100) = EEE...EEE100 (グランゴル個のE) = グランゴルデックス
    ついに三変数まで達する。
  • E100#100#3 = E100#(E100#100#2) = E100#(E100#(E100#100)) = EEE...EEE100 (グランゴルデックス個のE) = グランゴルデュデックス
    3番目の変数を大きくすればするほど、ネスト数は深くなっていく。
  • E100#100#100#100 = E100#100#(E100#100#100#99) = E100#100#(E100#100#(E100#100#100#98)) = ... ギガンゴル
    変数が4つでもほとんど同じである。 &mdash同様にネストの数は深くなっていく。 これはE100##4とも書き、次のレベルの表記法の始まりである。
  • E100##100 = E100#100#100#...#100#100#100 (100個の100) = ギュゴルド
    ついに拡張ハイパーE表記に到達した。二つの記号の連続は、一つ下の記号の繰り返しを表す。
  • E100##100#100 = グラータゴルド
    個の表記はルール4を繰り返し用いることによりEa##bの形で表すことが出来る。
  • E100##100##100 = E100##100#100#...#100#100 (100個の100) = ギュゴルスラ
    二つ目の##が展開されきって100のみになるまで、一つ目は無視する。
  • E100###100 = E100##100##...##100##100 (100個の100)= スルーゴル
    三つのハイペリオンは二つの物の繰り返しを表す。ハイペリオンは右から左は計算される。
  • E100####100 = E100###100###...###100###100 (100個の100) = テトルーゴル
    四つは三つに展開される。
  • ゴドガグラ = E100#####...#####100 (100個の#)=E100#100100
    E100#(100100)ではない。

疑似コード

function Eb(a1, a2, ..., an - 1, an):

    if n = 1:
        return ba1

    if an = 1:
        return Eb(a1, a2, ..., an - 1)

    z := Eb(a1, a2, ..., an - 1, an - 1)

    return Eb(a1, a2, ..., an - 2, z)
 
function xEb(a1, a2, ..., an - 1, an;
             h1, h2, ..., hn - 2, hn - 1):

    if n = 1:
        return ba1

    if an = 1:
        return xEb(a1, a2, ..., an - 1;
                   h1, h2, ..., hn - 2)

    if hn - 1 > 1:
        r := an
        z := an - 1
        zseq := z, z, ..., z, z (r times)
        h := ah - 1
        hseq := h, h, ..., h, h (r - 1 times)
        return xEb(a1, a2, ..., an - 2, zseq;
                   h1, h2, ..., hn - 2, hseq)

    z := xEb(a1, a2, ..., an - 1;
             h1, h2, ..., hn - 2, hn - 1)
    return xEb(a1, a2, ..., an - 2, z;
               h1, h2, ..., hn - 2)

出典

関連項目