名もなき巨大数研究掲示板 637342


・こちらは、巨大数に関する情報を書き込んだり、自作巨大数を投稿したりできる掲示板です。
・sage機能は実装されてません。
・主なスレッドの一覧はこちら
・意見要望はこちらへ


ハイパー演算系ークヌースの矢印表記

1:abata :

2019/06/01 (Sat) 11:57:12

■こちらでは、クヌースの矢印表記についての情報や話題を募集します。

参考:
https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%8C%E3%83%BC%E3%82%B9%E3%81%AE%E7%9F%A2%E5%8D%B0%E8%A1%A8%E8%A8%98

例:
10↑↑2=10^10
10↑↑↑2=10↑↑10=10^‥^10(10が10個)
10↑↑↑↑2=10↑↑↑10=10↑↑10‥10↑↑10(10が10個)
2:xelee :

2019/07/09 (Tue) 02:13:19

ハイパー演算階層(HOH)なるものを考えてみる

HOH[m][0](n) = n
HOH[m][α+1](n) = HOH[m][α](m+n)
HOH[m][β](n) = HOH[m][β[n−1]](m)

m,n : 正整数
α : 順序数
β : 極限順序数
β[n−1] : βの収束列の第n−1項

矢印表記やハイパー演算を拡張し、尚且つハーディ階層くらいの細かさで数をクラス分けするのが狙いです。
3:xelee :

2019/07/09 (Tue) 02:15:10

Wainer階層で収束列を定めると、ω^ω以下で矢印表記、ハイパー演算に一致します。
(※以下 HOH[m] 部分を省略)

[0](n) = n
[1](n) = m+n [hyper1]
[2](n) = m+m+n
[ω](n) = m*n [hyper2]
[ω+1](n) = m*(m+n)
[ω*2](n) = m*m*n
[ω*3](n) = m*m*m*n
[ω^2](n) = m^n [hyper3]
[ω^2+ω](n) = m^(m*n)
[ω^2*2](n) = m^m^n
[ω^2*3](n) = m^m^m^n
[ω^3](n) = m^^n [hyper4]
[ω^3+ω^2](n) = m^^m^n
[ω^3*2](n) = m^^m^^n
[ω^4](n) = m^^^n [hyper5]
[ω^ω](n) = [ω^(n-1)](m) [hyper n]

以降はチェーンやSAN、配列表記、NGHなど他のハイパー演算系関数と異なる成長をするようです。
4:xelee :

2019/07/09 (Tue) 02:17:48

例も少し載せておきます。

m = 10のとき、
[ω^ω](1) = [ω](2) = [1](10) = 10+10 = 20
[ω^ω](2) = [ω^2](2) = [ω](10) = 10*10 = 100
[ω^ω](3) = [ω^3](2) = [ω^2*2](1) = [ω^2](10) = 10^10 = 10000000000
[ω^2*2](2) = [ω^2](100) = 10^100 = グーゴル
[ω^2*3](2) = [ω^2*2](100) = 10^10^100 = E100#2 = グーゴルプレックス
[ω^2*101](2) = [ω^2*100](100) = E100#100 = グランゴル
[ω^ω](12) = [ω^11](10) = 10^^^^^^^^^^10 = 10→10→10 = トリデカル
[ω^ω](102) = [ω^101](10) = 10→10→100 = ブーゴル
5:abata :

2019/07/09 (Tue) 08:09:11

>xeleeさん
情報ありがとうございます。
発想として、N成長階層に似ていて、N成長階層のハーディ階層版というように感じました。

参考:N成長階層
http://googology.bbs.fc2.com/?act=reply&tid=11272226

6:xelee :

2019/07/09 (Tue) 21:23:13

案の定、NGHを多分に参考にさせて貰ってます(笑)

矢印表記やハイパー演算の自然な拡張とはどのようなものかと気になり
HOHもそこから出てきたのですが難しいですね…

配列表記やチェーン、SANの線形配列は、違った関数なのによくできててどれも自然な拡張に見えます。
全部自然な拡張と言えるのかもしれませんね。
7:xelee :

2019/07/09 (Tue) 21:34:17

ちなみに拡張考えるときに出てきたhyper系の副産物

・途中で成長が止まってしまう定義
[0](n) := n  [α+1](n) := [α](m+n)  [β](n) := [β[n]](0) … [ω^2](n) = [ω*n](0) = m^n*0 = 0 で止まる
[0](n) := n  [α+1](n) := [α](m*n)  [β](n) := [β[n]](1) … [ω^ω](n) = [ω^n](1) = {m,1,n} = m で止まる
[0](n) := n  [α+1](n) := [α](m^n)  [β](n) := [β[n]](1) … [ω^ω](n) = [ω^n](1) = {m,1,n+1} = m で止まる

・HOHの定義
[0](n) := n  [α+1](n) := [α](m+n)  [β](n) := [β[n-1]](m) … [ω^ω](n) = {m,m,n-2} [hyper n]

・hyperのレベルとも矢印の本数とも数字がずれる微妙な定義
[0](n) := n  [α+1](n) := [α](m*n)  [β](n) := [β[n-1]](m) … [ω^ω](n) = {m,m,n-1} [hyper n+1]

・配列表記の始めの方とだけ一致する定義
[0](n) := n  [α+1](n) := [α](m^n)  [β](n) := [β[n-1]](m) … [ω^ω](n) = {m,m,n} [hyper n+2]
[ω^(ω+a)](n) = {m,n,a,2}
[ω^(ω*2)](n) = {m,m,(n-1),2} = {m,2,n,2} (以降は配列表記と一致しない)
8:xelee :

2019/07/09 (Tue) 21:35:34

・チェーン表記およびHurfordの拡張チェーン表記と一致するチェーン表記階層
[0](n) := m^n  [α+1](n) := [α]^n(1)  [β](n) := [β[n-1]](m)
[a](n) = m→n→(a+1) = s(m,n,a+1)
[ω](n) = m→m→n = s(m,m,n) = s(m,n,1,2)
[ω+a](n) = m→m→n→(a+1) = s(m,n,a+1,2)
[ω*2](n) = m→m→m→n = s(m,m,n,2) = s(m,n,1,3)
[ω*2+a](n) = m→m→m→n→(a+1) = s(m,n,a+1,3)
[ω*3](n) = m→m→m→m→n = s(m,m,n,3) = s(m,n,1,4)
[ω^2](n) = m →[2] n (以降はSANと異なる成長)
[ω^2+ω](n) = m →[2] m →[2] n
[ω^2*2](n) = m →[3] n
[ω^2*a](n) = m →[a+1] n
[ω^3](n) = m →[n] m
9:xelee :

2019/07/09 (Tue) 21:49:53

色々バリエーション考え出すとキリがないですね…
長レス失礼しましたm(__)m
10:abata :

2019/07/09 (Tue) 23:02:21

>xeleeさん
いえいえ、いろいろな同程度の定義の考察は有意義な事だと思いますよ。
11:xelee :

2019/07/09 (Tue) 23:46:46

ありがとうございます。また色々調べてみようと思います。
12:xelee :

2019/07/10 (Wed) 22:24:19

N成長階層(NGH)はhyperと配列表記に一致する階層です。
故にhyperの純粋な拡張は配列表記かな?とも思いました。

しかし簡単な定義でも、チェーン表記に一致する階層や
それ以外のhyper系階層(HOHみたいな)も作れるっぽい。

結局、どれが純粋な拡張なのか分からなくなってくる
13:abata :

2019/07/12 (Fri) 14:05:22

>xelee
拡張の仕方次第・・という感じですかね。
解析する巨大数に合わせて交換できるシステムとかあっても面白いかもしれないですね。

階層系の強みはα部分を交換することで多様な巨大数に対応させやすいところがあると思います。
14:xelee :

2019/07/14 (Sun) 22:47:58

多様な巨大数に合わせてαを変えられるように…となると
よく行われていますがやはり色々な巨大関数との対応を調べないとですね。

ネット上に大量にあがっている雑多な巨大関数群(やそれらの派生形)を
体系的に整理するよさげな方法があればと思うのですが、
如何せんhyper関係だけでもバリエーション豊かすぎで手に負えないレベル

まずは地道にデータベースやら計算ツール作ったりとかかなあ
15:abata :

2019/07/15 (Mon) 14:25:19

>14
そうですね・・。
16:xelee :

2019/08/01 (Thu) 00:31:23

BANやSANを参考に…
ハイパー演算階層に一致するような配列もできるみたいです

a,b[1] = a+b
a,1[c #] = a  (c≧2)
a,b[c #] = a,(a,b-1[c #])[c-1 #]  (b≧2,c≧2)
a,b[#1 1[1]n #] = a,a[#1 b[1]n-1 #]  (n≧2)
a,b[#1 1[m]n #] = a,a[#1 1[m-1]…1[m-1]2[m]n-1 #]  (b-1個の1[m-1])  (n≧2,m≧2)
[@[@']1] = [@]

a , b , c , n , m : 正整数
@ : 配列の残りの部分
# : 配列の残りの部分(なくてもよい)
#1 : [の直前が全て1である#

これでε_0までは一致する…はず
17:nanas1 :

2019/08/02 (Fri) 07:33:10

>16をXHAN(Xelee hyper array notation)と名付けよう。
HOHでζ_0まで一致する配列も作りたいですがそうなるとかなり厳しい感じがします。
18:xelee :

2019/08/03 (Sat) 18:34:36

名付けて頂けるとは…ありがとうございます。(_ _)

ε_0以降は一気に拡張の選択肢が増える上に、
階層の元となる順序数も複雑になり、自然な収束列を一意に定め辛くなってきます。
大きくするだけでも大変ですが、
自然な収束列による階層に一致するように自然に拡張する、となると
恐ろしい難易度になりそうです。
19:774 :

2021/09/10 (Fri) 22:55:20

クヌースの矢印表記をアスキー文字で書く場合、
テトレーションは^^ペンテーションは^^^などと書く場合がありますが、
まだ一般的ではありませんね。
10^^2
10^^^2
10^^^^2
など。
20:abata :

2021/09/10 (Fri) 23:00:09

>19 一般的というと微妙ですが、クヌースの矢印表記を知っているレベルの人であれば伝わる程度には暗黙に認知されている気がしますがどうなんでしょうね・・?
21:oz :

2021/10/17 (Sun) 15:32:05

ハイパー演算を常にa[〜]b[〜]c[〜]...[〜]x[〜]y[〜]zの形式に記述できるように定義してみました
繰り返し演算の基本である乗算から順番に定義して7重リストハイパー演算以降の定義を想像できるようにしてみました
空は乗算、0は冪乗、1はテトレーション、2はペンテーション、…0,0はハイパー演算の対角化となる様に定義しています
n重リストハイパー演算は配列をセパレータとして利用しています
配列も数値と同じ要素なのでグループ化や個数の繰り返しが数値と同様に扱えます

a,b := 自然数
c,k,n,m,m_0〜m_k := 非負整数
X := 0個以上の非負整数のリスト
Y := 0個以上の非負整数と空配列を含んだリスト
Y_0〜Y_k := 0個以上の非負整数と空配列と0以上添字以下の要素を1個持つ配列を含んだリスト
[] := 空配列
[k] := 1個のkを要素に持った配列
k:n := n個のk
k:? := 0個以上1個以下のk
@ := 左辺=a[Y_k](b+1) → @=a[Y_k]b

【乗算】
a[]1=a
a[](b+1)=a+@

【ハイパー演算】
a[c:?]1=a
a[](b+1)=a+@
a[0](b+1)=a[]@
a[c+1](b+1)=a[c]@

【多変数ハイパー演算】
a[X]1=a
a[](b+1)=a+@
a[0:n+1](b+1)=a[a:n]@
a[X,c+1,0:n](b+1)=a[X,c,a:n]@

【2重リストハイパー演算】
a[Y]1=a
a[](b+1)=a+@
a[[]:m+1](b+1)=a[a:a,([],a:a):m]@
a[(Y,[]):?,0:n+1,[]:m](b+1)=a[(Y,[]):?,a:n,([],a:a):m]@
a[Y,c+1,0:n,[]:m](b+1)=a[Y,c,a:n,([],a:a):m]@

【3重リストハイパー演算】
a[Y_0]1=a
a[](b+1)=a+@
a[[0]:m_0+1](b+1)=a[a,([],a):a,([0],a,([],a):a):m_0]@
a[(Y_0,[0]):?,[]:m+1,[0]:m_0](b+1)=a[(Y_0,[0]):?,a:a,([],a:a):m,([0],a,([],a):a):m_0]@
a[(Y_0,[]):?,0:n+1,[]:m,[0]:m_0](b+1)=a[(Y_0,[]):?,a:n,([],a:a):m,([0],a,([],a):a):m_0]@
a[Y_0,c+1,0:n,[]:m,[0]:m_0](b+1)=a[Y_0,c,a:n,([],a:a):m,([0],a,([],a):a):m_0]@

【4重リストハイパー演算】
a[Y_1]1=a
a[](b+1)=a+@
a[[1]:m_1+1](b+1)=a[a,([0],a):a,([1],a,([0],a):a):m_1]@
a[(Y_1,[1]):?,[0]:m_0+1,[1]:m_1](b+1)=a[(Y_1,[1]):?,a,([],a):a,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1]@
a[(Y_1,[0]):?,[]:m+1,[0]:m_0,[1]:m_1](b+1)=a[(Y_1,[0]):?,a:a,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1]@
a[(Y_1,[]):?,0:n+1,[]:m,[0]:m_0,[1]:m_1](b+1)=a[(Y_1,[]):?,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1]@
a[Y_1,c+1,0:n,[]:m,[0]:m_0,[1]:m_1](b+1)=a[Y_1,c,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1]@

【5重リストハイパー演算】
a[Y_2]1=a
a[](b+1)=a+@
a[[2]:m_2+1](b+1)=a[a,([1],a):a,([2],a,([1],a):a):m_2]@
a[(Y_2,[2]):?,[1]:m_1+1,[2]:m_2](b+1)=a[(Y_2,[2]):?,a,([0],a):a,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2]@
a[(Y_2,[1]):?,[0]:m_0+1,[1]:m_1,[2]:m_2](b+1)=a[(Y_2,[1]):?,a,([],a):a,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2]@
a[(Y_2,[0]):?,[]:m+1,[0]:m_0,[1]:m_1,[2]:m_2](b+1)=a[(Y_2,[0]):?,a:a,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2]@
a[(Y_2,[]):?,0:n+1,[]:m,[0]:m_0,[1]:m_1,[2]:m_2](b+1)=a[(Y_2,[]):?,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2]@
a[Y_2,c+1,0:n,[]:m,[0]:m_0,[1]:m_1,[2]:m_2](b+1)=a[Y_2,c,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2]@

【6重リストハイパー演算】
a[Y_3]1=a
a[](b+1)=a+@
a[[3]:m_3+1](b+1)=a[a,([2],a):a,([3],a,([2],a):a):m_3]@
a[(Y_3,[3]):?,[2]:m_2+1,[3]:m_3](b+1)=a[(Y_3,[3]):?,a,([1],a):a,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@
a[(Y_3,[2]):?,[1]:m_1+1,[2]:m_2,[3]:m_3](b+1)=a[(Y_3,[2]):?,a,([0],a):a,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@
a[(Y_3,[1]):?,[0]:m_0+1,[1]:m_1,[2]:m_2,[3]:m_3](b+1)=a[(Y_3,[1]):?,a,([],a):a,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@
a[(Y_3,[0]):?,[]:m+1,[0]:m_0,[1]:m_1,[2]:m_2,[3]:m_3](b+1)=a[(Y_3,[0]):?,a:a,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@
a[(Y_3,[]):?,0:n+1,[]:m,[0]:m_0,[1]:m_1,[2]:m_2,[3]:m_3](b+1)=a[(Y_3,[]):?,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@
a[Y_3,c+1,0:n,[]:m,[0]:m_0,[1]:m_1,[2]:m_2,[3]:m_3](b+1)=a[Y_3,c,a:n,([],a:a):m,([0],a,([],a):a):m_0,([1],a,([0],a):a):m_1,([2],a,([1],a):a):m_2,([3],a,([2],a):a):m_3]@


以下のリストに関する定義を加えてn重リストハイパー演算の定義を圧縮します

x,y,z := 非負整数
#x=[x]:m_x
x≦y → #x..y=#x,#x+1,#x+2,...,#y-2,#y-1,#y
#..=[]:m
#..y=#..,#x,#x+1,#x+2,...,#y-2,#y-1,#y
z#x+1=([x+1],z,([x],z):m_(x+1))
x≦y → z#x..y=z#x,z#x+1,z#x+2,...,z#y-2,z#y-1,z#y
z#..=([],z:z):m
z#..y=z#..,z#x,z#x+1,z#x+2,...,z#y-2,z#y-1,z#y

【2重リストハイパー演算】
a[Y]1=a
a[](b+1)=a+@
a[[],#1](b+1)=a[a:a,a#..]@
a[(Y,[]):?,0:n+1,#..](b+1)=a[(Y,[]):?,a:n,a#..]@
a[Y,c+1,0:n,#..](b+1)=a[Y,c,a:n,a#..]@

【3重リストハイパー演算】
a[Y_0]1=a
a[](b+1)=a+@
a[[0],#1](b+1)=a[a,([],a):a,a#0]@
a[(Y_0,[0]):?,[],#..0](b+1)=a[(Y_0,[0]):?,a:a,a#..0]@
a[(Y_0,[]):?,0:n+1,#..0](b+1)=a[(Y_0,[]):?,a:n,a#..0]@
a[Y_0,c+1,0:n,#..0](b+1)=a[Y_0,c,a:n,a#..0]@

【4重リストハイパー演算】
a[Y_1]1=a
a[](b+1)=a+@
a[[1],#1](b+1)=a[a,([0],a):a,a#1]@
a[(Y_1,[1]):?,[0],#0..1](b+1)=a[(Y_1,[1]):?,a,([],a):a,a#0..1]@
a[(Y_1,[0]):?,[],#..1](b+1)=a[(Y_1,[0]):?,a:a,a#..1]@
a[(Y_1,[]):?,0:n+1,#..1](b+1)=a[(Y_1,[]):?,a:n,a#..1]@
a[Y_1,c+1,0:n,#..1](b+1)=a[Y_1,c,a:n,a#..1]@

【5重リストハイパー演算】
a[Y_2]1=a
a[](b+1)=a+@
a[[2],#2](b+1)=a[a,([1],a):a,a#2]@
a[(Y_2,[2]):?,[1],#1..2](b+1)=a[(Y_2,[2]):?,a,([0],a):a,a#1..2]@
a[(Y_2,[1]):?,[0],#0..2](b+1)=a[(Y_2,[1]):?,a,([],a):a,a#0..2]@
a[(Y_2,[0]):?,[],#..2](b+1)=a[(Y_2,[0]):?,a:a,a#..2]@
a[(Y_2,[]):?,0:n+1,#..2](b+1)=a[(Y_2,[]):?,a:n,a#..2]@
a[Y_2,c+1,0:n,#..2](b+1)=a[Y_2,c,a:n,a#..2]@

【6重リストハイパー演算】
a[Y_3]1=a
a[](b+1)=a+@
a[[3],#3](b+1)=a[a,([2],a):a,a#3]@
a[(Y_3,[3]):?,[1],#2..3](b+1)=a[(Y_3,[3]):?,a,([1],a):a,a#1..3]@
a[(Y_3,[2]):?,[1],#1..3](b+1)=a[(Y_3,[2]):?,a,([0],a):a,a#1..3]@
a[(Y_3,[1]):?,[0],#0..3](b+1)=a[(Y_3,[1]):?,a,([],a):a,a#0..3]@
a[(Y_3,[0]):?,[],#..3](b+1)=a[(Y_3,[0]):?,a:a,a#..3]@
a[(Y_3,[]):?,0:n+1,#..3](b+1)=a[(Y_3,[]):?,a:n,a#..3]@
a[Y_3,c+1,0:n,#..3](b+1)=a[Y_3,c,a:n,a#..3]@


そしてn重リストハイパー演算の定義が次のように見えてきます

d,e := 非負整数

a[Y_d]1=a
a[](b+1)=a+@
a[[d+1],#d+1](b+1)=a[a,([d],a):a,a#d+1]@
e≦d → a[(Y_(d+2),[e+2]):?,[1],#(e+1)..(d+2)](b+1)=a[(Y_(d+2),[e+2]):?,a,([e],a):a,a#1..(d+2)]@
a[(Y_d,[1]):?,[0],#0..d](b+1)=a[(Y_d,[1]):?,a,([],a):a,a#0..d]@
a[(Y_d,[0]):?,[],#..d](b+1)=a[(Y_d,[0]):?,a:a,a#..d]@
a[(Y_d,[]):?,0:n+1,#..d](b+1)=a[(Y_d,[]):?,a:n,a#..d]@
a[Y_d,c+1,0:n,#..d](b+1)=a[Y_d,c,a:n,a#..d]@


更にセパレーターの配列を多変数リスト化する考えがありますが定義ができていません

a[[0,0]]1=a
a[[0,0]](b+1)=a[a,([a],a):a]@

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.