FANDOM


乗算膨張 (Multiexpansion) はBEAFを用いて \(a\{\{2\}\} b = \{a,b,2,2\} = \underbrace{a \{\{1\}\} a \{\{1\}\} \ldots \{\{1\}\} a \{\{1\}\} a}_{\text{b個のa}}\) と表される関数である。[1]

急増加関数においては、 \(f_{\omega+2}(n)\) に一致する。

編集

  • {a,3,2,2} = a{{1}}a{{1}}a= \(\underbrace{a\{a\{a...a\{a\{a\}a\}a...a\}a\}a}_{\underbrace{a\{a\{a...a\{a\{a\}a\}a...a\}a\}a}_{a}}\)
  • {3,2,2,2} = 3{{2}}2 = 3{{1}}3 = {3,3,1,2}
  • {4,2,2,2} = {4,4,1,2}
  • {3,3,2,2} = 3{{2}}3 = 3{{1}}3{{1}}3 = {3,{3,3,1,2},1,2}
  • {4,3,2,2} = {4,{4,4,1,2},1,2}

擬似コード 編集

下は乗算膨張の擬似コードの例である。

function multiexpansion(a, b):
    result := a
    repeat b - 1 times:
        result := expansion(a, result)
    return result

function expansion(a, b):
    result := a
    repeat b - 1 times:
        result := hyper(a, a, result + 2)
    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