Fandom

巨大数研究 Wiki

ローダー数

548このwikiの
ページ数
新しいページをつくる
コメント14 シェアする

ローダー数 (Loader's number) は、Ralph Loader が巨大数ベイクオフ大会で作成して優勝したC言語プログラム loader.c によって出力される数字である。巨大数ベイクオフ大会の目的は、512文字以内のC言語プログラムで、最大の数を出力することである。

loader.c は、Thierry Coquandcalculus of constructions を対角化する。その出力は親しみを込めて ローダー数 (Loader's number) と名付けられ、D5(99) で定義される。ここで、 D(k) は calculus of constructions の表現で最初のk個の表現で表記出来るすべてのビット列の合計である。ここで、すべてを2進数に変換することとする。

David Meows は D(99) は 2↑↑30419より大きいとしており、さらに D2(99) は急増加関数の fε0 + ω3(1000000) よりも大きいとしている。これは Marxen.c の出力の上限であるため、 D2(99) はこれよりも大きい。

D5(99) の最終的な出力は TREE(3)SCG(13)BH(3) よりも大きい。おそらくは、有限約束ゲームレイバーのテーブル には負ける。Loaderの関数は計算可能であるため、 ビジービーバー関数 との比較では Σ(n) > D5(99) は小さなn (例えばn=100) でも成り立つ。

このコードは実行することを意図として作られてはいない。もし実行するとすれば、'int' はもちろん、物理的に実現可能なものよりはるかに大きい、計算されたすべての値をオーバーフローすることなく保持できるほどのメモリがあることを前提としている。

コード 編集

#define R { return
#define P P (
#define L L (
#define T S (v, y, c,
#define C ),
#define X x)
#define F );}

int r, a;
P y, X
   R y - ~y << x;
}
Z (X
   R r = x % 2 ? 0 : 1 + Z (x / 2 F
L X
   R x / 2 >> Z (x F
#define U = S(4,13,-4,
T  t)
{
   int
      f = L t C         
      x = r;
   R
         f - 2 ?
         f > 2 ?
         f - v ? t - (f > v) * c : y :
         P f, P T  L X  C 
                          S (v+2, t  U y C  c, Z (X )))
         :
         A (T  L X  C 
                T  Z (X ) F
}
A (y, X
   R L y) - 1
      ? 5 << P y, X 
      : S (4, x, 4, Z (r) F
#define B (x /= 2) % 2 && (
D (X 
{
   int
      f,
      d,
      c = 0,
      t = 7,
      u = 14;
   while (x && D (x - 1 C  B 1))
      d = L L D (X ) C
         f = L r C
         x = L r C
         c - r || (
            L u) || L r) - f ||
            B u = S (4, d, 4, r C 
                   t = A (t, d) C
            f / 2 & B  c = P d, c C 
                              t  U t C 
                              u  U u) )
             C
         c && B
            t = P
               ~u & 2 | B
                  u = 1 << P L c C  u) C 
               P L c C  t) C
            c = r  C
         u / 2 & B 
            c = P t, c C 
            u  U t C 
            t = 9 );
   R a = P P t, P u, P x, c)) C 
                                a F
}
main ()
   R D (D (D (D (D (99)))) F

関連項目 編集

外部リンク 編集

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


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

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

Fandomでも見てみる

おまかせWiki