巨大数探索スレッド12 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
ベクレミシェフの虫と同じなら
T_0(n)はnの値に関係無く1にしかならないと思う。 34>>
何を勘違いされているかわかりませんが、とりあえずΤ_0(ω)まで書いておきます。
Τ_0(0)=1
Τ_0(0,0)=2
Τ_0(0,0,0)=3
Τ_0(1)=Τ_0(0,0,0,…)=ω
Τ_0(1,0)=ω+1
Τ_0(1,0,1)=Τ_0(1,0,0,0,…)=ω×2
Τ_0(1,0,1,0,1)=ω×3
Τ_0(1,1)=Τ_0(1,0,1,0,1,0,…)=ω^2
Τ_0(1,1,0)=ω^2+1
Τ_0(1,1,0,1)=ω^2+ω
Τ_0(1,1,0,1,1)=ω^2×2
Τ_0(1,1,1)=Τ_0(1,1,0,1,1,0,1,1,…)=ω^3
Τ_0(2)=Τ_0(1,1,1,1,…)=ω^ω
Τ_0(2,0)=ω^ω+1
Τ_0(2,0,2)=ω^ω×2
Τ_0(2,1)=ω^(ω+1)
Τ_0(2,1,2)=ω^(ω×2)
Τ_0(2,2)=ω^ω^2
Τ_0(3)=ω^ω^ω
Τ_0(4)=ω^ω^ω^ω
Τ_0(ω)=Τ_0(n)=ε_0 >>33
詳しく書いてないってどういうこと?
定義と増加率と例が書いてあるんだから、十分じゃないの?
不十分だと思うなら、自分でどんどん書き足せばいい。 多次元配列は分かるけどテトレーション配列が分かりません。どういうの >>37
プログラムの動作確認のための例が2つじゃ心許なかったって意味です。
そうですね、暇な時にいくつかの気付きを精査してから纏めて書き足してみます。 テトレーション配列って俺もよくわからん。
だれか分かりやすい解説たのむ。 多次元配列の次元を多次元配列であらわすのがテトレーション? >>41
こんなに綺麗に書けるんですね。もうちょっと勉強しなきゃって感じです。 ある言語を対角化した関数を記述できる言語を対角化したらより強い関数ができる、
というのは計算可能レベルでもそうな訳で、当たり前と言えば当たり前か。 線形配列…{a,a,a,a,a…}
高次元配列…{a,b(n)2}
超次元配列…{a,b(n,n,n,n…)2}
テトレーション配列…{a,b(((…((1)1)…1)1)1)2}
BEAFで厳密に定義できてるのってどこまでだっけ? あぁ、FOOTがFOSTに一つの真理述語を追加した強さだと言うのは
SKIコンビネータに神託コンビネータを追加するようなもんなのか。
神託式の追加は神託機械の延長線上にあるようなイメージ。つまりF4とΞ関数の違いみたいな。
とここまで書いて思ったけどそうなるとΞ関数の強さはI^CKくらい? テトレーション次元配列ちょっと分かった。
スカラーで位置が表せるのが線形配列。
例えば(a,b,c)でbの位置は2番目。
線形配列で位置が表せるのが多次元配列。
例えば
[a,b,c
d,e,f
g,h,i]でfの位置は(2,3)。
そして多次元配列で位置が表せるのがテトレーション配列。
たとえばサイズが
[2,2
2,2]のテトレーション配列(位置と同じくサイズも多次元配列で表せる)は16個の要素を持つ。 1辺が10の100次元だと10^100個の要素があるけど、
1辺が10で100テトレーションすると10^^100個の要素になる、ということがわかればよくて、
実際にその要素がどのように並ぶのかを頭の中で想像するのは大変 多次元配列で位置を表せるのはX^X^Xまででテトレーション空間には
届かないんじゃなかろうか? あ、テトレーション次元じゃなくて超次元の話をしちゃってたのかな Googology Wikiのベクレミシェフの虫の[2]のステップ4ゼロ足りなくない? g=[1,0,1,0],b=[0]
Step 4 だから、next(W,m)=g+b+b+b+b+b
で、いいんでないの Τ_0(ω^3+1)=ψ_0(Ω^ω)
Τ_0(ω^3+1,ω^3)=ψ_0(Ω^(ω+1))
Τ_0(ω^3+1,ω^3,ω^3+1)=ψ_0(Ω^(ω×2))
Τ_0(ω^3+1,ω^3+1)=ψ_0(Ω^ω^2)
Τ_0(ω^3+2)=ψ_0(Ω^ω^ω)
Τ_0(ω^3+ω)=ψ_0(Ω^ε_0 )
Τ_0(ω^3+ω,ω^3)=ψ_0(Ω^(ε_0+1))
Τ_0(ω^3+ω,ω^3+ω)=ψ_0(Ω^ε_1)
Τ_0(ω^3+ω^2)=ψ_0(Ω^ψ_0(Ω))
Τ_0(ω^3+ω^2,ω^3+ω)=ψ_0(Ω^ψ_0(Ω+1))
Τ_0(ω^3+ω^2,ω^3+ω,ω^3+ω^2)=ψ_0(Ω^ψ_0(Ω+ψ_0(Ω)))
Τ_0(ω^3+ω^2,ω^3+ω^2)=ψ_0(Ω^ψ_0(Ω×2))
Τ_0(ω^3+ω^2+1)=ψ_0(Ω^ψ_0(Ω×ω))
Τ_0(ω^3+ω^2+ω)=ψ_0(Ω^ψ_0(Ω×ε_0))
Τ_0(ω^3+ω^2×2)=ψ_0(Ω^ψ_0(Ω×ψ_0(Ω)))
Τ_0(ω^3×2)=ψ_0(Ω^ψ_0(Ω^2))
Τ_0(ω^3×2,ω^3×2)=ψ_0(Ω^ψ_0(Ω^3))
Τ_0(ω^3×2+1)=ψ_0(Ω^ψ_0(Ω^ω))
Τ_0(ω^3×3)=ψ_0(Ω^ψ_0(Ω^ψ_0(Ω^2)))
Τ_0(ω^4)=ψ_0(Ω^Ω)
Τ_0(ω^ω)かΤ_0(ε_0 )あたりで「FGH with transfinite ordinals」
と一致するようになるかも。 詳しく調べてはないがΤ_0(ω^3,ω^2,ω^3)=ψ_0(Ω^2×Ω×ψ_0(Ω^2))じゃないの 間違え
Τ_0(ω^3,ω^2,ω^3)=ψ_0(Ω^2+Ω×ψ_0(Ω^2)) 久しぶりに見たらまだあったのか
しかも2月3日に巨大数論更新されてるし >>55
計算しなおしたところ、確かにそうなりました。
Τ_0(ω^4)=ψ_0(Ω^3) となり、
Τ_0(ω^ω)=ψ_0(Ω^ω) になりそうです。
「FGH with transfinite ordinals」と同程度
(じっさいはFGHよりハーディー階層に近い)なら
Τ_0(ω^(ω+1))=ψ_0(Ω^Ω) になるはず。 新しい順序数崩壊関数
Ρ_0(Ρ_0(Ω))=ψ_0(Ω)
Ρ_0(Ρ_0(Ω)×2)=ψ_0(Ω×2)
Ρ_0(Ρ_0(Ω)^2)=ψ_0(Ω^2)
Ρ_0(Ρ_0(Ω)^Ρ_0(Ω))=ψ_0(Ω^Ω)
Ρ_0(ε_(Ρ_0(Ω)+1))=Ρ_0(Ρ_0(Ω+1))=ψ_0(ε(Ω+1))=ψ_0(ψ_1(0))
Ρ_0(Ρ_0(Ω+Ρ_0(Ω)))=ψ_0(ψ_1(Ω))
Ρ_0(Ρ_0(Ω+Ρ_0(Ω×2)))=ψ_0(ψ_1(Ω_2))
Ρ_0(Ρ_0(Ω+Ρ_0(Ω×2+Ρ_0(Ω×3))))=ψ_0(ψ_1(ψ_2(Ω_3)))
Ρ_0(Ρ_0(Ω×ω))=ψ_0(Ω_ω)
Ρ_0(Ρ_0(Ω×Ρ_0(Ω)))=ψ_0(Ω_Ω)
Ρ_0(Ρ_0(Ω^2))=ψ_0(ψ_Ι(0))
定義は未完成。
Ρ_0(Ρ_0(Ρ_0(Ω)))=ψ_0(Ω)とすればもっと強くなり、
同じ方法でさらに強くできる。 >>59
Taranovsky's Cを参考にしたので(定義を知らないので見た目をまねただけですが)
もしかしたら似たような性質があるかもしれません。 どうやらΤ_0(ω^(ω+1))=ψ_0(Ω^(ω+1))になるようです。
そうなるとΤ_0(Τ_1(1))=ψ_0(Ω^Ω)になり、
Τ_1関数の限界もあまり大きくならなさそうです。 Τ関数の定義を微調整。
Τ_1(#,0)=Τ_1(#)+Ω
Τ_0(#,0)=Τ_0(#)+ω
Τ_0(Ω)=ψ_0(Ω^Ω)
Τ_0(Ω,0,Τ_0(Ω))=ψ_0(Ω^Ω)×2
Τ_0(Ω,0,Τ_0(Ω),1)=ψ_0(Ω^Ω)×ω
Τ_0(Ω,0,Τ_0(Ω),ω)=ψ_0(Ω^Ω+1)
Τ_0(Ω,0,Τ_0(Ω),Τ_0(Ω))=ψ_0(Ω^Ω×2)
Τ_0(Ω,0,Τ_0(Ω)+1)=ψ_0(Ω^Ω×ω)
Τ_0(Ω,0,Τ_0(Ω,0,Τ_0(Ω)))=ψ_0(Ω^Ω×ψ_0(Ω^Ω))
Τ_0(Ω,0,Τ_0(Ω,0,Τ_0(Ω),1))=ψ_0(Ω^(Ω+1))
Τ_0(Ω,0,Ω)=ψ_0(Ω^(Ω×2))
Τ_0(Ω,0,Ω,0,Ω)=ψ_0(Ω^(Ω×3))
Τ_0(Ω,1)=ψ_0(Ω^(Ω×ω))
Τ_0(Ω,1,0,Ω,1)=ψ_0(Ω^(Ω×ω×2))
Τ_0(Ω,1,1)=ψ_0(Ω^(Ω×ω^2))
Τ_0(Ω,1,Τ_0(Ω))=ψ_0(Ω^(Ω×ψ_0(Ω^Ω)))
Τ_0(Ω,1,Ω)=ψ_0(Ω^Ω^2)
Τ_0(Ω,2)=ψ_0(Ω^Ω^ω)
Τ_0(Ω,ω)=ψ_0(ε_(Ω+1))=ψ_0(ψ_1(0))
Τ_0(Ω,ω,Ω)=ψ_0(ψ_1(Ω))
Τ_0(Ω,ω+1)=ψ_0(ψ_1(Ω×ω))
Τ_0(Ω,ω+2)=ψ_0(ψ_1(Ω^ω))
Τ_0(Ω,ω×2)=ψ_0(ψ_1(ψ_1(0)))
Τ_0(Ω,ω^2)=ψ_0(ψ_1(Ω_2)) 巨大数を生成するシステムを作る人工(でなくてもいいけど)知能的なやつ
基本
とにかく不特定多数のプログラムを書きまくる。
実行して停止したものから最終的に出力された数を一旦全て採用
大きさを比較して小さい方は捨てる。
ここから自力でいかに効率をあげられるかが勝負どころ。
健全で停止するプログラムを作った場合は、結果だけ求めるのであれば必要ないが、
健全で停止することの証明まで用意してもらうのが望ましい、
というか知識の共有のためには必要不可欠 最終的に出力された数を保存しようと思ったらグーゴルプレックスでも無理でしょ 指数を導入すればいいだけ
表記法も自動で学習、獲得する感じで グーゴルプレックスそのものは指数で書けるけど、グーゴルプレックス程度の
大きさの指数ではぴったりとかけないような数字を書こうとすると、
どうしても10進数で計算する必要があるよ いずれにせよ「実際に計算する」時点でメモリと計算時間の「現実的制限」があるよ 原子の数は限りがあるけど、電場・磁場・重力場とかのパターンとかなら無限の表現ができるよね。
それで計算できたりしないのかな。
一桁上がる毎に半分のフォントにすれば全角に無限桁入るはず
テオヤンセン機構みたいな感じで電磁力の相互作用で計算できるとすごくいい 1万ビット程度の素因数分解もできないのに、巨大数を素直に計算しようなんて無謀すぎる 「将棋の完全解析をするプログラム」ですらできないわけなので
実行して停止したものから最終的に出力された数
というアプローチだとクラス3の数が限界だよ 宇宙が有限で最小の長さがあるという理論が有力である以上、無限のパターンは無理だろ なんだか語弊のある書き方をしてしまったが、実際には巨大数を生成する
プログラムを記憶すればいいのであって
巨大数そのものは記憶しなくてよい、現実的に不可能だし。
人工知能に限らず普通にグーゴロジストの知能にとっても課題となるが、
つぎの二つを学習しなければならない。
効率的な評価方法
・最低限、プログラムを最初から最後まで起動させなくても大きさを
見積もれるようになってほしい。
より強力なシステムの発見
・(現実的な時間内に)発見したシステムが強力であればあるほど、その発見者は
より自由な意志をもっている(ように見える)
計算不可能レベルは言語そのものを開発して殴り会うからまた事情が違ってくる。 なにをもって「大きさを見積もった」とするかだな
実際には「停止するとわかったものの中で最大」がわかればいいので、
ビジービーバー候補である「優勝マシン」の探索を、いかに効率的にしていくか、
という問題に帰着するのかな 簡単な例をあげれば、実際に計算しなくても、
3+3と3^^3を比較してテトレーションのほうが強力だから
3^^3の方が大きい、と評価する感じ、評価方法が健全であることの証明を添えて。
ここまで書いて気付いたけど、この場合の証明って要するに説明するってことだな。 停止するか確認じゃなくてするか証明させればいいじゃん
本当にやったら人間には理解できないのが出てきそうで期待 そもそもみんな証明することしか考えてなかっただろ
ベクレミシェフの虫も、ヒドラも、グッドスタイン数列も、サブキュービックグラフ数も、
停止することを証明するし、でかいことも証明する 3+3と3^^3 程度の複雑さだったらいいけど、
>>66 の「不特定多数のプログラムを書きまくる」というアプローチで期待していることは、
なんかとても複雑なことをやっていてよくわからないけどでかい数ができることを
期待してるわけでしょ。そんなものの大きさをどう評価するかという問題なわけで。
評価するためには、なんらかの物差しとなる「評価する関数」が必要となる。
そして、結局はその「評価する関数」が整然とした関数なのであれば、はじめから
その「整然とした関数」で巨大数を作ればいいので、
「不特定多数のプログラムを書きまくる」というアプローチの出番はない。 とりあえずは、バシク行列数を出力するプログラムと、
ローダー数を出力するプログラムの大小関係を
どうやって比較するのでしょうか >>82
最初から効率よく評価する方法を知っていればいいですけど、
自然数の公理以外は何も知らない状態から始めることを前提としているので。
それに新しい発見のために従来よいとされているやり方から離れるランダムな
要素は多少必要かと。 ランダムな要素で語弊がありそうなので補足
効率のいいやり方を学習したら不特定多数のプログラムを書きまくる必要はありません。 Τ_ω未満ではΤ_0(Τ_1(Τ_2(Τ_3(…))))という構造が出てきて、原始数列の計算法を使うことになる。
Τ_ω以上を定義するにはΤ_0関数の原始数列バージョンを作るか虫のルールだけで計算できるように
Τ_1の計算法を変える必要がある。
後者の場合Τ_1(0)=ψ_0(Ω^Ω) なのにΤ_1(Τ_1(0))≠Τ_1(ψ_0(Ω^Ω))みたいに変なことになるが
前者より定義は簡単で強さも多分変わらない。 サバンナで一番強い動物は何か、ライオンかゾウかそれとも蚊かって話し合ってるときに「答えはサバンナで一番強い動物だ」って言ってるようなものだな。
その命題は偽じゃないけど情報量がないというかそういう答えは求めてない。その動物名が知りたくてみんなやっているわけで。
ラヨ数とかビジービーバーとかもそういうけがある。いいよ、別に手段としてラヨ数というアプローチを使っても。でもそれで一番だと分かったその関数が何だったのかを知りたい >>47
ちょっとC++でソース書いてみたがこんな感じ?
ここからどう巨大数を生み出せばいいかな?
#include<map>
using namespace std;
template<int N>
class T;
template<int N>
bool operator<(const T<N> &a,const T<N> &b);
template<int N>
class T{
public:
map<T<N-1>,int> val;
};
template<int N>
bool operator<(const T<N> &a,const T<N> &b)
{
return a.val<b.val;
}
template<>
class T<0>{
public:
map<int,int> val;
};
int main()
{
T<0> t0;
T<1> t1;
T<2> t2;
t0.val[0]=1;
t1.val[t0]=1;
t2.val[t1]=1;
} 「サバンナで一番早い動物」の答を求めてるんじゃなくて、
答に至るまでの考え方や知能のはたらき方といった過程を
求めてるんだけど、過程に興味ないと言われてしまえばそれまでなのだわ。 計算不可能レベルでは一番の存在を示すことはできても
それが何であるかを知ることができなくなってきますし・・・
主に英語版の住民がやってることだが、計算不可能レベルにもそれなりに需要があるわけで、
みんな具体的な動物名が知りたくてやってるというのは極論かと。 函数を比べるためにはそれよりも強い函数が必要になるんじゃないの?
でそんな函数があればそれを利用したもっと強い函数が出てきて・・・ BIG FOOT、BIG FOFT、Little Biggedonにはさらに次の議論を示唆する余地があって良いよね。有意義だと思う。
でも計算可能関数もいいよね。それは何だ。っていうのが見えてきて。 Τ_1(0)=ψ_0(Ω^Ω)
Τ_1(0,0)=ψ_0(Ω^Ω)×2
Τ_1(Τ_0(Τ_1(0)))=ψ_0(Ω^Ω)^2
Τ_1(Τ_0(Τ_1(0)),1,Τ_0(Τ_1(0)))=ψ_0(Ω^Ω)^3
Τ_1(Τ_0(Τ_1(0)),ω)=ψ_0(Ω^Ω+1)
Τ_1(Τ_0(Τ_1(0)),Τ_0(Τ_1(0)))=ψ_0(Ω^Ω×2)
Τ_1(Τ_0(Τ_1(0))+1)=ψ_0(Ω^Ω×ω)
Τ_1(Τ_0(Τ_1(0),1))=ψ_0(Ω^(Ω+1))
Τ_1(Τ_0(Τ_1(0),1,Τ_1(0)))=ψ_0(Ω^(Ω+ψ_0(Ω^Ω)))
Τ_1(Τ_1(0))=ψ_0(Ω^(Ω×2))
Τ_1(Τ_1(0),0,Τ_1(0))=ψ_0(Ω^(Ω×3))
Τ_1(Τ_1(0),1)=ψ_0(Ω^(Ω×ω))
Τ_1(Τ_1(0),1,Τ_1(0))=ψ_0(Ω^Ω^2)
Τ_1(Τ_1(0),2)=ψ_0(Ω^Ω^ω)
Τ_1(Τ_1(0),ω)=ψ_0(ψ_1(0))
Τ_1(Τ_1(0),ω,ω)=ψ_0(ψ_1(1))
Τ_1(Τ_1(0),ω,Τ_1(0))=ψ_0(ψ_1(Ω))
Τ_1(Τ_1(0),ω+1)=ψ_0(ψ_1(Ω×ω))
Τ_1(Τ_1(0),ω+2)=ψ_0(ψ_1(Ω^ω))
Τ_1(Τ_1(0),ω×2)=ψ_0(ψ_1(ψ_1(0)))
Τ_1(Τ_1(0),ω^2)=ψ_0(ψ_1(Ω_2))
Τ_1(Τ_1(0),ω^2,Τ_1(0))=ψ_0(ψ_1(Ω_2×Ω))
Τ_1(Τ_1(0),ω^3)=ψ_0(ψ_1(Ω_2^2))
Τ_1(Τ_1(0),Τ_1(0))=ψ_0(ψ_1(Ω_2^Ω_2))
Τ_1(Τ_1(0),Τ_1(0),ω)=ψ_0(ψ_1(Ω_2^Ω_2+1))
Τ_1(Τ_1(0),Τ_1(0),ω+1)=ψ_0(ψ_1(Ω_2^Ω_2×ω))
Τ_1(Τ_1(0),Τ_1(0),ω×2)=ψ_0(ψ_1(ψ_2(0)))
Τ_1(Τ_1(0),Τ_1(0),Τ_1(0))=ψ_0(ψ_1(ψ_2(Ω_3^Ω_3)))
ここまでが正しければΤ_1(Τ_1(0)+1)=ψ_0(Ω_ω)になるはず。
早く定義を完成させなければ。 ■ このスレッドは過去ログ倉庫に格納されています