FANDOM


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

出典 編集

  1. Array Notation by Jonathan Bowers

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki