「数学コラム Rayo数より大きな数の構築を試みる2 Cat関数 (2020/01/15)」
さて。前回の続きから。
int Cat()
{
int n=1;
for (;;)
{
n *= 2;
if (円周率の[TREE3]桁番目の数 < 5) break;
}
return n;
}
{
int n=1;
for (;;)
{
n *= 2;
if (円周率の[TREE3]桁番目の数 < 5) break;
}
return n;
}
この関数の返す値はいくつでしょうか?
まず、円周率は無限なので、
α = 円周率の[TREE3]桁番目の数
は存在します。
そしてα=0,1,2,3...,9のどれか一つ。
ここまでは確か。
だがαの値はわからない。
少なくとも現段階の人類にαを計算できる科学力はない。
α=0,1,2,3...,9のどれか一つなのは間違いないのだ。
つまり。
実直に言って、Cat関数の値は
50%の確率で<5を満たすのでCat関数の値は2
残り50%の確率で<5を満たさないのでCat関数は無限ループ=∞
半分無限、半分有限の位置に
存在するという摩訶不思議な関数です。
もちろん!
現実的に言えばα=0,1,2,3...,9のどれか一つであり。
人類にはその値がわからないだけで、
神の目から見たら真の値は一つに確定している。
Cat関数の値も無限/有限のどちらかに確定してるのですが。
やはり人間にはαがなんなのかはわからないので
人間視点からの現状ベストな見積もりは
Cat関数 = 50%で無限、50%で2
でしょうか。
そもそもこのCat関数。^_^;
何故に一体。
どこから、どういう目的で出てきたのかと言われましたら。
前回構築したIL関数
int IL()
{
int n=1;
for (;;)
{
n *= 2;
if (n%10 == 5) break;
}
return n;
}
{
int n=1;
for (;;)
{
n *= 2;
if (n%10 == 5) break;
}
return n;
}
が
IL関数 > Rayo数
でした。
IL関数はRayo数より強い。
ただし、IL関数は
絶対にbreak条件が発動しないように作られており、
確信的なズル・不正をしている。
おいこらてめー!ズルしてるじゃねえか。それは認められない。
ってなわけで。
breakの発動条件を緩くして
50%の確率でbreakは発動しない。無限。Cat関数 > Rayo数
50%の確率でbreakは発動する。有限。Cat関数 < Rayo数
にして。
これなら「無限ループを使ってる」・・・・
とは言い切れない。
使ってる可能性もあるが
使ってない可能性もある。
確定無限ループじゃない。
サイズを(確率的に)少し減らした代わりに
不正度も下げたのがCat関数なわけです。
いや、ここまで来るともうめちゃくちゃなのは
わかってるけど。
いちおう期待値的なサイズ比較で言えば
IL関数(100%無限ループ。期待値∞) > Cat関数(50%無限ループ。期待値∞/2) >(?!) Rayo数。有限の数
※ちなみに
Rayo数は「10100文字で記述できる式を全てを調べて、その中で最大+1を返す数」。
なので、
「全ての式を調べるのならIL関数もCat関数もRayo数の中に含まれてるはずじゃ?」と
思われるかもしれませんが、
含まれません。
なぜならRayo数には「サイズ無限、および無限ループだけは含まない」という
重要な取り決めがある。
(あくまで最大の数を調べるのが目的なので。無限は大きすぎる。)
IL関数もCat関数も
無限ループを扱っていて、
そのルールを破っているから
Rayo数の中には出てこないのです。
Rayo数は「10100文字で記述できる式を全てを調べて、その中で最大+1を返す数」。
なので、
「全ての式を調べるのならIL関数もCat関数もRayo数の中に含まれてるはずじゃ?」と
思われるかもしれませんが、
含まれません。
なぜならRayo数には「サイズ無限、および無限ループだけは含まない」という
重要な取り決めがある。
(あくまで最大の数を調べるのが目的なので。無限は大きすぎる。)
IL関数もCat関数も
無限ループを扱っていて、
そのルールを破っているから
Rayo数の中には出てこないのです。
基本的なアタックポイントはずっとこれです。^^;
Rayo数は「無限、無限ループだけは除外する」という取り決めがあるので、
こっちは「(意図的に)無限ループを使用した式」を用いて
なんとか攻撃の糸口を作ろうとしている。
だからあえて数ではなく、
関数と表現してる。
んで、「無限=∞」サイズを持ち出すと完全に不正になるので、
あくまで無限ループ。
無限ループにハマって数が際限なく伸びてる
途中のnとサイズを比較することで
どこかで
n > Rayo数
が発生すると主張している。
次回に続く。