編集の要約なし タグ: ソースの編集 |
編集の要約なし タグ: ソースの編集 |
||
(同じ利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | '''紅魔館のメイドナンバー'''は[[ユーザー:長谷川由紀路|長谷川由紀路]](TwitterID @ailinko)が2018年3月25日に考案した巨大数であり、第2回[[東方巨大数]]参加作品である |
+ | '''紅魔館のメイドナンバー'''は[[ユーザー:長谷川由紀路|長谷川由紀路]](TwitterID @ailinko)が2018年3月25日に考案した巨大数であり、第2回[[東方巨大数]]参加作品である<ref>[http://web.archive.org/web/20210325094449/https://ch.nicovideo.jp/NegiSoup/blomaga/ar1444591 定義が投稿された記事のアーカイブ]</ref>。定義文は、ニコニコ動画のブロマガが終了になったため消失した。現在はその魚拓がウェブアーカイブにある。 |
==経緯== |
==経緯== |
||
53行目: | 53行目: | ||
これが2変数アッカーマン増殖法を使ったアルファゼロ関数の基本形だぜ。演算のレベルを示す順序数に相当するのが \([b.a]\) で、これを「歩数」と名付けるぜ。これは\(Ack(b,a)\)だが\(Ack\)の省略形として\([b.a]\)と記すことにする。 では、具体的な数字で計算してみるぜ。<br /> |
これが2変数アッカーマン増殖法を使ったアルファゼロ関数の基本形だぜ。演算のレベルを示す順序数に相当するのが \([b.a]\) で、これを「歩数」と名付けるぜ。これは\(Ack(b,a)\)だが\(Ack\)の省略形として\([b.a]\)と記すことにする。 では、具体的な数字で計算してみるぜ。<br /> |
||
<br /> |
<br /> |
||
− | + | \(f [1.1](3)=\)<br /> |
|
− | + | \(f [0.[1.0]] [0.[1.0]] [0.[1.0]](3)=\)<br /> |
|
− | + | \(f [0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.[0.3]](3)=\)'''<br /> |
|
<br /> |
<br /> |
||
こんな感じでアッカーマン関数の1ステップごとにn個に「歩数」が増殖してゆくんだ。ちなみに3行目は改造版の定義をもとにした計算だ。間違ってないぜ。<br /> |
こんな感じでアッカーマン関数の1ステップごとにn個に「歩数」が増殖してゆくんだ。ちなみに3行目は改造版の定義をもとにした計算だ。間違ってないぜ。<br /> |
||
63行目: | 63行目: | ||
重要なことなんで念を押して解説するぜ。<br /> |
重要なことなんで念を押して解説するぜ。<br /> |
||
<br /> |
<br /> |
||
− | + | \(f [0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.6] [0.6] 9(3)\)<br /> |
|
<br /> |
<br /> |
||
− | この |
+ | この\([0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.6] [0.6] 9\)の文字列はこれでひとつの 「歩数」だぜ。同じステップで増殖した仲間はまとめることもできる‥ \([0.[1.0]]^2 [0.[0.3]]^2 [0.6] ^2 9\)こんな感じにな。<br /> |
<br /> |
<br /> |
||
====特殊なケース==== |
====特殊なケース==== |
||
<br /> |
<br /> |
||
− | ここで大きな流れを復習するぜ。「歩数」は演算のレベルを示す数だ。この「歩数」は「アッカーマン増殖法」によって |
+ | ここで大きな流れを復習するぜ。「歩数」は演算のレベルを示す数だ。この「歩数」は「アッカーマン増殖法」によって\(n\)個に増殖してゆく。この「歩数」の末尾が十進数になると、「歩数」を1ステップづつ減らしてゆく事が出来る。つまり、演算のレベルを下げることが出来る。すると関数は\(n\)重に増殖してゆく。これを繰り返して演算のレベルが0になると、芯である\(n\)が大きくなって、さらにこれを繰り返すと、最終的に芯である\(n\)が目的の巨大数となって計算が終了するぜ。さて、\(f [1.1](3)\)という関数で最初に\(f\)の計算となるのは\(f [0.6](3)\)だぜ。こいつを計算すると、約\(2→3→8\)だな。<br /> |
<br /> |
<br /> |
||
− | |
+ | \(f [0.[1.0]] …略… (f [0.6] (f [0.6](3)))…略…) =\)<br /> |
− | + | \(f [0.[1.0]] …略… (f [0.6] (f 9 (3)))…略…) =\)<br /> |
|
− | + | \(f [0.[1.0]] …略… (f [0.6](巨大数))…略…) =\)<br /> |
|
− | + | \(f [0.[1.0]] …略… (f 6+巨大数(巨大数))…略…) =\)<br /> |
|
− | + | \(f [0.[1.0]] …略… (超巨大数)…略…)\)<br /> |
|
<br /> |
<br /> |
||
===巨大数=== |
===巨大数=== |
||
<br /> |
<br /> |
||
− | f α_0 |
+ | \(f α_0(n)= f [n回…n.n.n.n ](n)\)<br /> |
− | 紅魔館のメイドナンバー = f α_0 1 |
+ | 紅魔館のメイドナンバー = \(f α_0 1(3) = f α_0 ( f α_0 ( f α_0(3)))\)<br /> |
<br /> |
<br /> |
||
==厳密な定義== |
==厳密な定義== |
2022年3月12日 (土) 09:27時点における版
紅魔館のメイドナンバーは長谷川由紀路(TwitterID @ailinko)が2018年3月25日に考案した巨大数であり、第2回東方巨大数参加作品である[1]。定義文は、ニコニコ動画のブロマガが終了になったため消失した。現在はその魚拓がウェブアーカイブにある。
経緯
作者によると、「みくみく数 Vol.3[2]」という巨大数の定義を目論んだ「みくみくカウンター」という巨大関数の拡張パーツである「M3数」が「紅魔館のメイドナンバー」の起源である。アッカーマン関数のステップ数の多さを利用するという「アッカーマン増殖法」には大きな誤算があった。この「みくみくカウンター」の強化パーツである「M2数」の強さが順序数「\(\varepsilon_0\)」に到達したと推定された後、その「M2数」に「巨大関数の構造の評価に関する未熟さと誤認による修正」を施してしまった。テトレーションの構造で順序数「\(\varepsilon_0\)」ならば、アッカーマン関数の構造を使えば少なくとも順序数「\(\varepsilon_0\)」以上の強さがあるとの算段であったが、肝心の「M2数」が弱体化していたのだ[3]。東方巨大数2の審査団の解析によると、その強さは順序数「\(\varepsilon_0\)」には遠く及ばず順序数「\(\omega^{\omega^{\omega}}\)」に留まった。[4]
定義
元の記事から定義だけを取り出して書く。しかし、この定義には厳密ではないところがある。
一般多変数アッカーマン増殖法 Act.3
- アッカーマン増殖法の定義 Act.3
\(Ack(Step No.X) = Ack(Step No.X+1)^n\) 補足:n個に増殖するぜ。
\(Ack(Final Step) = Decimal Number\) 補足:最後の計算結果は増殖しないぜ。
- アッカーマン関数の改造定義 Act.3
\(Ack(0,a) = a+n\)
\(Ack(b,0) = Ack(b-1,n)\)
\(Ack(b,a) = Ack(b-1,Ack(b,a-1))\)
- 3変数アッカーマン関数の改造定義 Act.3
\(Ack(0,0,a) = Ack(a+n,a+n)\)
\(Ack(c,0,a) = Ack(c-1,a+n,a+n)\)
\(Ack(c,b,0) = Ack(c,b-1,n)\)
\(Ack(c,b,a) = Ack(c,b-1,Ack(c,b,a-1))\)
- 多変数アッカーマン関数の改造定義 Act.3
\(X : 0個以上の0以上の整数\)
\(Y : 0個以上の0\)
\(a,b : 0以上の整数\)
\(Ack(Y,a) = Ack(Y回 …,a+n,a+n,a+n)\) 補足:変数が一つ減るという意味だぜ。
\(Ack(X,b,0,Y,a) = Ack(X,b-1,a+n,Y,a+n)\)
\(Ack(X,b,0) = Ack(X,b-1,n)\)
\(Ack(X,b,a) = Ack(X,b-1,Ack(X,b,a-1))\)
急増加関数の定義
\(f_0(n)= n+1\)
\(f_a(n)= f^n_{a-1}(n)\)
これはそのままだな。詳しくはここに書いてあるぜ[5]。
- 急増加関数・極限順序数に関する定義
\(f_α(n)= f_{α[n]}(n)\)
\(α[n] は極限順序数 α の基本列のn番目の項\)。
計算方法
基本となる表記
- アルファゼロ関数の基本形
\(f [b.a](n)\)
これが2変数アッカーマン増殖法を使ったアルファゼロ関数の基本形だぜ。演算のレベルを示す順序数に相当するのが \([b.a]\) で、これを「歩数」と名付けるぜ。これは\(Ack(b,a)\)だが\(Ack\)の省略形として\([b.a]\)と記すことにする。 では、具体的な数字で計算してみるぜ。
\(f [1.1](3)=\)
\(f [0.[1.0]] [0.[1.0]] [0.[1.0]](3)=\)
\(f [0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.[0.3]](3)=\)
こんな感じでアッカーマン関数の1ステップごとにn個に「歩数」が増殖してゆくんだ。ちなみに3行目は改造版の定義をもとにした計算だ。間違ってないぜ。
略記
重要なことなんで念を押して解説するぜ。
\(f [0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.6] [0.6] 9(3)\)
この\([0.[1.0]] [0.[1.0]] [0.[0.3]] [0.[0.3]] [0.6] [0.6] 9\)の文字列はこれでひとつの 「歩数」だぜ。同じステップで増殖した仲間はまとめることもできる‥ \([0.[1.0]]^2 [0.[0.3]]^2 [0.6] ^2 9\)こんな感じにな。
特殊なケース
ここで大きな流れを復習するぜ。「歩数」は演算のレベルを示す数だ。この「歩数」は「アッカーマン増殖法」によって\(n\)個に増殖してゆく。この「歩数」の末尾が十進数になると、「歩数」を1ステップづつ減らしてゆく事が出来る。つまり、演算のレベルを下げることが出来る。すると関数は\(n\)重に増殖してゆく。これを繰り返して演算のレベルが0になると、芯である\(n\)が大きくなって、さらにこれを繰り返すと、最終的に芯である\(n\)が目的の巨大数となって計算が終了するぜ。さて、\(f [1.1](3)\)という関数で最初に\(f\)の計算となるのは\(f [0.6](3)\)だぜ。こいつを計算すると、約\(2→3→8\)だな。
\(f [0.[1.0]] …略… (f [0.6] (f [0.6](3)))…略…) =\)
\(f [0.[1.0]] …略… (f [0.6] (f 9 (3)))…略…) =\)
\(f [0.[1.0]] …略… (f [0.6](巨大数))…略…) =\)
\(f [0.[1.0]] …略… (f 6+巨大数(巨大数))…略…) =\)
\(f [0.[1.0]] …略… (超巨大数)…略…)\)
巨大数
\(f α_0(n)= f [n回…n.n.n.n ](n)\)
紅魔館のメイドナンバー = \(f α_0 1(3) = f α_0 ( f α_0 ( f α_0(3)))\)
厳密な定義
Nayuta Itoが、自身のブログ内で紅魔館のメイドナンバーを厳密に定義する試みを行っている。[6]
脚注
- ↑ 定義が投稿された記事のアーカイブ
- ↑ みくみく数 Vol.3 【Pixiv】
- ↑ 長谷川由紀路, 紅魔館のメイドナンバーの失敗を語るツイート, twitter.
- ↑ 第2回東方巨大数の審査シート
- ↑ 実際には同じ筆者による別の記事へのリンク
- ↑ ユーザーブログ:Nayuta Ito/ailinkoさんの紅魔館のメイドナンバーをwell-defineする