巨大数研究 Wiki
Advertisement
Explosion

n > 2 and m > 1 の時の n {{{1}}} m を計算しようとすると、こうなります。

爆発 (Explosion) は、BEAFで \(a\ \{\{\{1\}\}\}\ b = \{a,b,1,3\}\) と書く関数である[1]

直感的には、爆発はこのように定義出来る。

\[a\ \{\{\{1\}\}\}\ b = a\ \{\{a\ \{\{a \ldots \{\{a\}\} \ldots a\}\}\ a\}\}\ a\]

ここで、 \(a\) から外側へ \(b\) 個コピーされている。

急成長階層では、 \(f_{\omega \times 2+1}(n)\) が爆発の増加速度となる。

疑似コード

以下が、爆発の疑似コードの例である。

function explosion(a, b):
    result := a
    repeat b - 1 times:
         result := hyperexpansion(a,a,result)
    return result

function hyperexpansion(a, b, n):
    result := a
    repeat b - 1 times:
        if n = 1:
            result := hyper(a,a,result+2)
        else:
            result := hyperexpansion(a, result, n - 1)
    return result
function hyper(a, b, n):
    if n = 1:
        return a + b
    result := a
    repeat b - 1 times:
        result := hyper(a, result, n - 1)
    return result

出典

Advertisement