巨大数探索スレッド7
■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さん
2006/11/19(日) 23:44:01http://www.geocities.co.jp/Technopolis/9946/
前スレ、過去スレ、避難所はこのページからどうぞ。
「前の数+1」
「1/x x→0」
「∞」
「9を延々と書き続けるプログラム」
「本日からこのスレでは、いっさいの数学的ではない話を禁止する。
私以外で検証する能力を持っている人間はいないようなので、
数学的に明確に証明できた場合以外は反論しないように。
特に今日のような低俗な煽りには徹底して放置で対応すること。」
という類の投稿は放置推奨。
0267132人目の素数さん
2007/05/16(水) 21:08:19n文字(またはn単語、nトークンなど) で表せる最大の可算順序数を
o(n) とした場合、この極限 lim o は可算なのだろうか?
可算だとすると、
帰納的定義では到達できないほど大きな可算順序数が存在することになる。
非可算(つまりΩ)になるとすると、
可算順序数の列で、極限が非加算になるものが存在することになる。
0268132人目の素数さん
2007/05/16(水) 21:28:350269132人目の素数さん
2007/05/16(水) 22:08:40> 可算順序数の可算列ではω_1にはならないんじゃないか?
ということは、
帰納的定義では到達できない最小の順序数を☆_0とし、
☆_0と帰納的定義では到達できない最小の順序数を☆_1とし、
....
☆_n の極限を☆_ω とし、
....
☆_☆_...._☆_☆_0 を ★_0 とし、
....
とか定義できるのかな?
0270132人目の素数さん
2007/05/17(木) 09:11:32基本的な概念だから、順序数を使って急増加函数を作りたいなら
勉強したほうが良いよ。無理にとは言わないけどね。
n文字を用いて或る数を表す、とかいうときの文字数は
Peano算術なりZFCなりの論理式の文字数と考えれば良いだろう。
μxP(x)と表したときのPでも良いだろうし。
Pに量化記号が無制限に入っていいことにすると、
急増化函数の存在がZFCから独立、
なんてことが起こるから基礎論に詳しくないとどう考えていいか分からなくなるけど。
0271132人目の素数さん
2007/05/17(木) 23:48:47わざわざどうも。
私は基礎論も順序数論も集合論も詳しくないので、先は長そう。
帰納的定義によりたどり着ける順序数は、
言語によらず同じで、
☆_0 も1個に定まると楽観的には思いますが、
いかがでしょうか。
H[☆_0](n) は計算不可能(アルゴリズム存在せず)なので、
結局BB(n)と実質同じになります。
●このスレで出た最大
順序数、基数、濃度: Ψ
可算順序数: ★_0
帰納的定義の可算順序数: ψ(Ψ)
関数: >>230
帰納的定義の関数: H[ψ(Ψ)](n)
0272132人目の素数さん
2007/05/18(金) 19:13:44保存しておきました。
http://symy.jp/?C1vg
0273132人目の素数さん
2007/05/19(土) 14:14:250274132人目の素数さん
2007/05/19(土) 23:56:47もう既に名前がついてるんですか。
>>202では、
ψ_α(0) を、濃度がω_αである最小の順序数としていますが、
ψ_α(0) = ☆_α としてもまったく同じように各順序数の収束列を定義でき、
>>203 や >>266 のプログラムもまったくかわらず、
H[ψ(Ψ)](n) の値もまったく同一になりますね。
(この場合、Ψ=★_0)
さらにψ_α(0)を小さく定義することもできそうです。
(つまり帰納的定義の範囲内)
こう考えると、
はじめは H[ψ(Ψ)](n) の定義には巨大な基数が現れるので、
H[Γ_0](n) に比べて革命的に大きくなっているように見えたんですが、
だんだんと普通の拡張に見えてきました。
プログラムも2倍程度に増えただけですし。
0275132人目の素数さん
2007/06/17(日) 15:05:450276132人目の素数さん
2007/06/19(火) 23:08:35任意の自然数cに対しある数nが存在しn<xならばf^c(x)<g(x)が成り立つならばgはfより本質的に大きい。
というアイディアはどうでしょうか。既出かもしれませんが。
0277132人目の素数さん
2007/06/22(金) 12:35:51g = f^x(x) と定義すれば、gはfよりも本質的に大きくなるね。
通常の関数であれば十分に本質的に大きい、と言えるだろうけど、
たとえば>>230のような関数に対してこのような拡張をしたところで、
本質的に大きいとは言えないかも。
0278132人目の素数さん
2007/06/25(月) 22:27:46ここにある「C」は、「An Ordinal Notation」の段階で
>>202 の添字つきψと同じ順序数まで表せる模様。
さらに、
「A Stronger Ordinal Notation」
「Second Order Arithmetic」
「Beyond Second Order Arithmetic」
と続くので、相当巨大な順序数が作れそう。
0279276
2007/06/26(火) 22:59:19276ですが、どうもこの方法は原始帰納関数?では上手く機能すると思うのですが、
それ以上となると駄目なような気がなんとなくしてきました。
0280132人目の素数さん
2007/06/26(火) 23:49:45計算可能な関数に関しては、
Hardy Function を用いて、F[順序数](n) という形に近似して順序数の大小で比較。
Hardy Function を本質的に超える関数が出てくるまでは、
これで大小比較が可能。
(順序数が本質的に大きいかどうかという問題になる)
---例---
Knuthの上矢印 3(↑^n)3 ≒ F[ω](n)
n個のnからなるConwayのチェーン ≒ F[ω^2](n)
↑n (3,3,3) ≒ F[ω^3](n)
Ak(n, 3) = ≒ F[ω](n)
Ak を多変数に拡張、Ak(n個のn) ≒ F[ω^ω](n)
Ak を2重リストに拡張、Ak([n個のn], [n]) ≒ F[ω^ω^ω](n)
Ak を多重リストに拡張、Ak(n重リスト) ≒ F[ε_0](n)
ちなみに、g = f^x(x) とするのは、F[順序数](n) の順序数に1を加えるのと同じ効果。
----
計算不可能なものも含めた場合には、
ある程度小さなものは、
>>230 の形に近似して順序数の大小で比較すれば良いが、
順序数をマシンで生成させ、これを引数とするHALT[順序数] 命令にすると、
M[順序数](n) よりも大きくなるため、順序数での比較は不可になる。
0281たろう
2007/06/27(水) 23:00:18http://up.spawn.jp/file/up29497.txt.html
F[ω^3] までゆっくりで、一気に F[φ_ω(0)] まで飛んでます。
F[ω^4], F[ω^ω], F[ε_0] なども作ってみたけど、
F[φ_ω(0)] より大きくなってしまいました。
順序数を使う2個は >>278 の C を参考にしてます。
「An Ordinal Notation」より手前の段階のを多変数にしてます。
veblen関数を普通に多変数にしたものよりは効率がよさそうです。
(+ の定義まで含まれているのと、収束がちょっと簡単)
いずれは
「An Ordinal Notation」や「Beyond Second Order Arithmetic」、
「An Ordinal Notation」から「Beyond Second Order Arithmetic」を順序数回繰り返したもの
など、より大きなものを作る予定。
あと、>>280 にある、
アッカーマンの拡張で F[ε_0] やその先まで到達する方法をまとめました。
http://up.spawn.jp/file/up29500.txt.html
0282たろう
2007/06/30(土) 05:40:21M[順序数](n) の関数を作るには、
>>233 の基本命令に
test ** という命令を加えればよい。
これは、ラベル ** へジャンプした場合に halt で停止する場合はポインタ位置を1にセット、
無限ループする場合はポインタ位置に0をセットする命令。
この命令は引数として順序数を取る。
ジャンプ先に、引数以上の test ** 命令が出現する場合には停止問題は解決できない為、
ジャンプ先で、halt より前に、引数以上の test ** 命令が出現する場合は halt と同じ動作をする。
引数の順序数の与え方は、
たとえばM[ω](n)を定義するマシンの場合には、
ポインタ位置から1が続く個数を数え、これを引数nとする。
M[C(a, b, c) の極限](n) を定義するマシンの場合は、 ...(Cは>>278のもの)
順序数を 0 , C ( ) の5個の文字で表し、
0 には 1 を、
, には 11 を、
C( には 111 を、
) には 1111 を、
割り振り、
文字の境目を 0 としてエンコードしたものを引数とすればよい。
たとえば、ポインタ位置から 111 0 1 0 11 0 1 0 11 0 1 0 1111 となっている場合は
引数は C(0,0,0) と解釈する。
※ C(a, b, c) は0とCのみでCの極限未満のすべての順序数を表現可能
0283132人目の素数さん
2007/06/30(土) 05:55:11>>233 のようなマシンでは定義が非常に複雑になるが、
C++ のような高級言語なら出来そうである。
>>266 のように、ordinalを、0 から始めて再帰的に、
1個前の順序数を使って定義する
収束列を使って定義する
としていけばすべての帰納的順序数を表現できる。
これを引数にとるような test ** 命令を持つマシンでの
n命令での最大のステップ数が M[帰納的でない最小の順序数](n) である。
(>>269 でいう ☆_0)
さらに、☆_a をあらかじめ定義しておくことで、
M[★_0](n), M[☆_2](n) なども定義できる。
ただ、このようなルールはマシンを定義する段階で必要であるので、
すべての順序数を定義できるわけでなく、
いままで人間が到達出来ていない最小の順序数
のようなものに対してマシンを定義できない。
たとえば、M[Ω](n) なんかは、可算順序数がすべて表現可能な
方法が見つかってから始めて定義できる。...つまり定義できない。
0284132人目の素数さん
2007/06/30(土) 06:07:41>>280 の後半「順序数の比較は不可になる」というのは嘘で、
M[順序数](n) として大小比較が出来そう。
----
☆_0 の収束列を、
C++ n語で表現できる最大の帰納的順序数
とすれば、
F[☆_0](n) が定義できる。
「C++ n語で表現できる最大の帰納的順序数」を求めるアルゴリズムは存在しないため、
これは BB と同程度の大きさとなる。
F[帰納的順序数](n) はすべて計算可能であり、
すべての計算可能な関数は、F[ある帰納的順序数](n) で押さえられる。
M[0](n) ≒ F[☆_0](n) であり、
M[1](n) ≒ F[☆_1](n) であり、
おそらく、M[a](n) ≒ F[☆_a](n) といえる。
0285もやしっ子
2007/07/05(木) 03:42:16さっぱりです。
何とかします。
0286132人目の素数さん
2007/07/06(金) 18:18:38ここに載ってるのとふぃっしゅ数だったらどっちがでかいのか?
表記法の説明(英語)
http://www.polytope.net/hedrondude/array.htm
0287たろう
2007/07/06(金) 21:49:47http://www.geocities.co.jp/Technopolis/9946/log/ln023.html
S変換がハーディー関数の順序数にωを足す位の変換。
つまり、F[a](n)にS変換を行うとF[a+ω](n)になる位。
SS変換はω^2を足すのと同等、
SSS変換はω^3を足すのと同等、
....
S^i変換はω^iを足すのと同等、
--------
(S^n変換)f(n) ≒ F[a+ω^ω](n)
最初の関数にアッカーマンを使っているが、
f(x) = x+1 としても大差なし。どちらもF[ω^ω](n)程度となる。
>>281の多変数#と同程度。
0288たろう
2007/07/06(金) 21:53:01Extended Operators の下の方の4変数の段階で F[ω^2](n) 程度。
0289たろう
2007/07/06(金) 22:14:29こちらの >>10 にバージョン5の記述がありましたね。
m(2) がハーディー関数の順序数に1を加えるのと同等、
m(3)m(2) がハーディー関数の順序数にωを加えるのと同等、
m(4)m(3)m(2) がハーディー関数の順序数にω^2を加えるのと同等、
....
f5(n) ≒ F[ω^ω](n)
となり、古いバージョンとほぼ同じとなるようです。
0290132人目の素数さん
2007/07/06(金) 22:19:59いよいよこのスレの終焉も近い?
0292たろう
2007/07/06(金) 22:49:37m(2) がハーディー関数の順序数に1を加えるのと同等、
m(3)m(2) がハーディー関数の順序数にωを加えるのと同等、
m(4)m(3)m(2) がハーディー関数の順序数にω^ωを加えるのと同等、
m(5)m(4)m(3)m(2) がハーディー関数の順序数にω^ω^ωを加えるのと同等、
....
f5(n) ≒ F[ε_0](n)
0293132人目の素数さん
2007/07/07(土) 21:41:330294132人目の素数さん
2007/07/10(火) 09:20:520295132人目の素数さん
2007/07/31(火) 13:41:180296132人目の素数さん
2007/08/02(木) 02:56:33無限大を超えることになる。
無限大×∞
∞^∞
∞^∞^∞ とかぎりなく増やせるということは、
さらに、上数があるということだろうか?
0297感覚的限界
2007/08/02(木) 16:38:09∞ = 1+1+1+…
として
2∞ = (1+1+1+…)+(1+1+1+…)
= 1+1+1+1+1+1+…
としてしまうと∞と変わらなくね?となるので
「1が無限個ある」はまだいいけど「1が2∞個ある」は禁止。
きちんと掛け算を定義しないといけなくてそれをやってるのが順序数。
で
「∞に^∞を無限個つなげる」から先はどうすればいいんでしょうね。
0298132人目の素数さん
2007/08/02(木) 17:37:180299132人目の素数さん
2007/08/03(金) 23:40:15∞ ==> ω
0300132人目の素数さん
2007/08/04(土) 17:29:010301132人目の素数さん
2007/08/05(日) 00:41:21ω+1とか定義できるしなあ。
>>297の言いたいこととはちょっと噛み合ってないんじゃないかと思われ
0302132人目の素数さん
2007/08/09(木) 15:55:06フォームです、(直線的)のアレイ記法や、広げられて(次元)のアレイ記法や、いくつかの
変更があるtetrationalアレイ記法などのように。 元々、様々なアレイ記法には、いくつ
かの規則がありました--直線的のための5、広げる、私がtetrationalであっ、それでも、
今それを解決しようとして、3つの規則しかなくて、すべてのアレイの世話をするtetrati
onalアレイのずっとも先の7。
--------------------------------------------------------------------------------
どのように、それ、Started
数年間、私は数多く興味を持っています、数個のために名前を鋳造しさえするまで私の
「「不-ライオン」番号」ページを参照してください。 ある日(およそ20年前)、私は強国を
超えたオペレータ、tetrationなどのオペレータ、pentation、hexationなどについて議論し
たものを本(名前を覚えていない)に読み込みます。 これによって、私は次元スペース(私が
現在呼ぶ空間、最高の次元の、そして、trimensionalなquadramentionalなど)を超えた極端
な空間と同様により極端な数を調査したくなりました。 時間が経ったように、私はその本の
見られるオペレータにextentionを開発し始めました、私が拡張オペレータに言及するつもり
であるこれら。 その後、AckermannのFunctionやコンウェイのChained Arrow Notationなど
の知られている大きい数の機能を調べた後に、私はこれらのよく知られている機能と拡張オ
ペレータを比べることができました。 オペレータのはるかに凌がれたAckermannのFunctionを
広げて、実際にコンウェイのChained Arrowと比較することができました--詳細がないかどうか
M.ロブの大きい数のページでチェックしてください。 その後、私は拡張オペレータを広げる
タスクを引き受けました--私は、後で4つの番号、および次のextentionが5時までに拡張オペ
レータを定義することができると発見しました。 これは私のArray Notationの開発の始まり
です。
0303132人目の素数さん
2007/08/09(木) 19:59:480304132人目の素数さん
2007/08/11(土) 22:17:300305132人目の素数さん
2007/08/12(日) 00:40:16>>302
You might wanna post it in English.
0306132人目の素数さん
2007/08/23(木) 20:28:14足し算a+bは1を足すのをb回繰り返す
掛け算a*bはaを足すのをb回繰り返す
階乗a^bはaかけるのをb回繰り返す
タワーa↑↑bはaをb乗するのをb回繰り返す
タワーa↑↑↑bはa↑↑bをb回繰り返す
タワーa↑^nbはa↑(n-1個)bをb回繰り返す
これを改良したのがコンウェイのチェーン表記
アッカーマン関数
原始帰納的でない帰納的関数
ack(0,n)=n+1
ack(1,n)=n+2
ack(2,n)=2*n+3
ack(k,n)はack(k-1,n)と階乗を使って表わせる。
以下、俺の理解
バード数
タワーと、グラハム数を使った関数を用いた数。
ふぃっしゅ数
バージョン1のS変換は↑^nのこと
その次のS変換(SS変換?)は↑の代わりにアッカーマン関数を使ったもの
それらの変換を使って定義した数
ビジービーバー関数
どんな計算可能な関数よりも増加率の大きい関数。
「じゃあ、俺今まで出た一番でかい関数+1ね。」っていうズルと一緒
ハーディ関数:ω(無限順序数のうち最小のもの)が計算可能でないのでズルに思える。
多分、S変換とバード数の回転だと、初期の値の振る舞いはバード数が勝つ(グラハム数を使っているため)が
基本的にタワーよりはアッカーマン関数のほうが増加率が大きいので
グラハム数を...回適用する程度の差は吸収されて、S変換を使った数のほうが大きくなるように感じる。
0307132人目の素数さん
2007/08/23(木) 22:33:190308132人目の素数さん
2007/08/23(木) 23:29:33ぐらいには上手くまとまってる。
0309132人目の素数さん
2007/08/24(金) 01:01:07おかしなところを指摘しておく。
>タワーa↑↑bはaをb乗するのをb回繰り返す
この書き方だと、a↑↑b=((a^b)^b)^b…=a^(b^b)という意味にとれてしまう。
もしかしたら、「aの○乗というのをb回繰り返す」と言いたかったのかもしれないけど。
>ack(k,n)はack(k-1,n)と階乗を使って表わせる。
ack(k,n) = ack(k-1,ack(k,n-1))だから、階乗を使って表すことはできないだろう。
>「じゃあ、俺今まで出た一番でかい関数+1ね。」っていうズルと一緒
ビジービーバー関数の値は他に依存せずに定義されているから、
そういう他に依存した定義をするズルとは違う。
ただ、「計算可能」でないと、他の「計算可能」でない関数と大小比較をするのも難しいし、
具体的な計算手順が分からなくて面白みに欠けるから、このスレではあまり深く扱われないのだと思う。
(ここでいう「計算可能」とは、簡単にいえば、与えられた引数から関数の値を計算するプログラムが書けるということ。)
>ω(無限順序数のうち最小のもの)が計算可能でないのでズルに思える。
ここで”計算可能でない”と言ってるのは、単にωが「普通の数」ではないという意味だと思う。
ただ、そういう「普通でない数」を使っていても、各順序数に対して定まる関数は「計算可能」であるから、
(例えばH[ω](x)=2xだから、H[ω]は「計算可能」な関数)
ハーディ関数自体はズルではないと言える。
バード数とふぃっしゅ数についてはよく覚えてないので、指摘はしない。
0310たろう
2007/08/24(金) 07:18:44http://www.geocities.co.jp/Technopolis/9946/ambitious.html
X_1(n) ≒ F[ω^3+1](n)
X_a(n) ≒ F[ω^3+a](n)
X_n(n) ≒ F[ω^3+ω](n)
入れ子操作n回 ≒ [ω^3+ω+1](n)
n回回転チェーン↑n(3,3,3) ≒ F[ω^3](n) だから
ほとんど増えていないことに。
0311たろう
2007/08/24(金) 07:41:23Knuthの上矢印 3(↑^n)3 ≒ F[ω](n)
Ak(n, 3) ≒ F[ω](n)
n個のnからなるConwayのチェーン ≒ F[ω^2](n)
チェーンの回転 ↑n (3,3,3) ≒ F[ω^3](n)
バード数の定義の X_n(a) の入れ子操作n回 ≒ F[ω^3+ω+1](n)
5変数Ak ≒ F[ω^4](n)
多変数Ak Ak(n個のn) ≒ F[ω^ω](n)
Ak を2重リストに拡張、Ak([n個のn], [n]) ≒ F[ω^ω^ω](n)
ふぃっしゅ数バージョン5のf5(n) ≒ F[ε_0](n)
0313132人目の素数さん
2007/08/24(金) 22:17:39>この書き方だと、a↑↑b=((a^b)^b)^b…=a^(b^b)という意味にとれてしまう
確かに。補足さんくす。
a^b^cはa^(b^c)だな。
^以降では、交換法則が不成立性なのはすぐわかるんだが、結合法則はどうやって示すんだろ
2+2+2=3+3が成り立つから2*3=3*2
2*2*2=3*3が成り立たないから2^3=3^2じゃない
ackについては、もう少し書くと
ack(3,n)=2^(n+3)-3
ack(4,n)=2^(2^n+3)-3
ack(5,n)=2^(2^(2^n+3))-3
↑細かくは間違っているかもしれんがふいんきをつかんでくれ
ack(k,n)とack(k-1,n)を再帰の定義の関係としてでなくて
ack(k,n)の一般項とack(k-1,n)の一般項の関係でみればいい。
つまり、ackは高階原始帰納的関数というわけ
hardy functionに関しては、n<ωの時はこうなるよな?
3(↑^n)3<ω
Ak(n,3)<ω
↑n(3,3,3)<ω
n>=ωの場合は、計算の仕方がわからん・・
>そういう他に依存した定義をするズルとは違う。
違わないと思う。
ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/undecidable.html
0314132人目の素数さん
2007/08/24(金) 23:19:54> ack(4,n)=2^(2^n+3)-3
> ack(5,n)=2^(2^(2^n+3))-3
これじゃ原始帰納だよ
0315132人目の素数さん
2007/08/25(土) 01:48:40> ^以降では、交換法則が不成立性なのはすぐわかるんだが、結合法則はどうやって示すんだろ
(3^3)^3 ≠ 3^(3^3)
> ackについては、もう少し書くと
どこをたてよみ?
> hardy functionに関しては、n<ωの時はこうなるよな?
「hardy function に関しては」と書いているのに hardy function が出てこない不思議。
>> そういう他に依存した定義をするズルとは違う。
> 違わないと思う。
自分が理解できないからってズルか。
あたまがわるいふりをした釣り?
0316132人目の素数さん
2007/08/25(土) 04:16:19ackとチェーン表記については、ack(m,n)=2→(n+3)→(m-2) - 3という関係式が成り立つようだ。
ただ、m=0を代入すると右辺の計算ができないからm>0とする。
(a→b→(-1) = a+b, a→b→0 = a*bとしておく)
どうやら、>>306では「階乗」という言葉を"!"以外の意味で使いたかったようだな。
hardy functionに対しては何を言いたいのか分からないので、
もう一度hardy functionのことを勉強してから書き直してほしい。
ビジービーバー関数みたいな定義をズルと感じるかどうかは、人によって違うかもしれない。
関数に対して具体的な計算手順を定めなければいけないと考えるなら、
ビジービーバーみたいな具体的な計算手順を与えない定義はズルだとも言える。
ただ、この場合は暗黙のうちに「計算可能」な関数のみを考えているということになる。
一方、関数というのはある引数に対してある値が定まりさえすればいいと考えるなら、
ビジービーバー関数もズルではないということになる。
いずれにしても、「今まで出た一番でかい関数+1」というのは状況によって異なる関数になってしまうから、
まともに定義しているとは言えず明らかなズルだと言える。
結局、客観的に見てズルかどうか判断するには、ルールや暗黙の了解が必要になる。
そういうものがあれば、それに反するものがズルだと客観的に判断できる。
現状では「計算可能」な関数に限るというルールも暗黙の了解もないから、
ビジービーバー関数がズルだと言っても単なる個人の意見でしかない。
ビジービーバー関数がズルだという主張も理解できなくはないけどな。
「今まで出た一番でかい関数+1」というのは他に依存した定義だから悪いというのなら、
他に依存しないように定義すればいい。他に依存しない定義をするためには、
あらゆる可能性をあらかじめ考えてその中で最大のものを選び出せばいい。
「あらゆる」といってしまうときりがないから、「n文字以下のプログラム」とか制限をつければいい。
とやって行き着くところがビジービーバー関数だとも言えなくはないわけで。
0317132人目の素数さん
2007/08/25(土) 08:23:40> まともに定義しているとは言えず明らかなズルだと言える。
単に+1するのに14文字も費やして非常に効率が悪いのでだれも見向きもしないけど、
14文字である関数を非常に大きく出来るならそれはそれで意味があると思う。
S変換なんかは関数を大きくする変換だしね。
計算可能じゃない関数がズルだとかいっていたらそこで進歩は止まるよ。
虚数なんかは数じゃないといって否定するようなもの。
実際ビジービーバー関数よりずっと大きな関数も出てきてるし。
0318132人目の素数さん
2007/08/25(土) 10:28:26別に、計算可能じゃない関数がズルだと316で主張したいわけではない。
ビジービーバー関数に違和感を感じる人の気持ちも理解できなくはないというだけで。
個人的な考えとしては、計算可能な関数に限って大きいものを考えるのも、
計算不能な関数も含めて大きいものを考えるのも、どちらも意味あることだと思う。
実数の範囲のみで考えることも、複素数の範囲まで広げて考えることも、どちらも意味があるように。
0319132人目の素数さん
2007/08/25(土) 19:04:160320132人目の素数さん
2007/08/25(土) 21:56:26理解コストの高そうなのはスキップして前スレ一通り読んでみた。
俺の印象では計算不可能な巨大数だと、到達不能基数を除いてε数が強げ。
そんでωを表わすためのC言語の関数を考えてみた
big w(){return 1+w();} //bigは多倍長正数型(つか、値より停止性にしか意味ないような)
この関数の返す値(もちろん計算可能でない)をωとする
するとw()の多項式は、順序数ωの計算同様、右分配法則を満たさない
1+w()はw()に吸収されるからw()の値と同じ→1+ω=ωのアナロジー
n+w()はw()に吸収されるからw()の値と同じ→n+ω=ωのアナロジー
2*w()はw()に吸収されるからw()の値と同じ→2*ω=ωのアナロジー
n*w()はw()に吸収されるからw()の値と同じ→n*ω=ωのアナロジー
w()+1はw()で計算がとまる→ω+1≠1+ωのアナロジー。残りも同様
あと、ack3項版を作ってみた
1.ack(0,0,z)=z+1
2.ack(0,y,0)=ack(0,y-1,1)
3.ack(x,0,0)=ack(x-1,ack(x-1,1,0),0)
4.ack(x,0,z)=ack(x-1,z+1,0)
5.ack(0,y,z)=ack(0,y-1,ack(0,y,z-1))
6.ack(x,y,z)=ack(x-1,ack(x,y-1,z),ack(x-1,y,z))
☆ack(0,m,n)は2項のack(m,n)と一致する
停止性を満たしたまま1,2,5式を残せば☆を満たせる。
つまり、ackのn項化って色々やり方がある
多重帰納法の種類だけ、作れるんじゃなかろうか
0321132人目の素数さん
2007/08/26(日) 00:40:18> 俺の印象では計算不可能な巨大数だと、到達不能基数を除いてε数が強げ。
計算可能という意味をまず理解したほうがいい。
> big w(){return 1+w();} //bigは多倍長正数型(つか、値より停止性にしか意味ないような)
> この関数の返す値(もちろん計算可能でない)をωとする
無限ループとなり値は返らない。
> あと、ack3項版を作ってみた
複雑なわりに大して大きくなってない。
3変数ならもっとずっと大きく出来る。
0322132人目の素数さん
2007/08/28(火) 12:09:42ackやチェーン表記みたいな巨大関数の拡張案は過去に何度も出ているが、
その多くは元の関数にあった単純さを失ってる上にそれほど大きくないものになっている。
単純で巨大な計算可能関数としてはHardy関数があるし、
ただの拡張案で大きな関数を目指すことにはほとんど意味がないと思う。
あと、「ωはどんな自然数よりも大きい」とかの説明を聞くと、
順序数自体を巨大数として扱うのだと思ってしまう人がいるが、
順序数は単に巨大な自然数を作るための道具として使われてるだけのはず。
順序数から巨大関数を作るための手段の一つがHardy関数。
0323たろう
2007/08/28(火) 22:28:59これだけだと、単に大きな順序数を考えることと同じになってしまう。
Hardy関数、順序数やチューリングマシンの概念を使わずに
シンプルに、もしくは新しい方法で巨大な関数を作ることは十分意味があると思う。
Hardy関数と比較することで大きさの評価も比較的簡単になったし。
今のところHardy関数やチューリングマシンを使わない最大は、
ふぃっしゅ数バージョン5 (F[ε_0] 相当の関数) であろうか。
----
ちなみに、
>>320 のack は F[ω+ω](n) 程度の大きさ。
以下のように定義すれば、よりシンプルで F[ω^2](n) 程度まで大きくなる。
(こんな簡単な定義でコンウェイのチェーンでn個のnを結んだものと同程度になってしまう)
1.ack(0,0,z)=z+1
2.ack(x+1,0,z)=ack(x,z,z)
3.ack(x,y+1,0)=ack(x,y,1)
4.ack(x,y+1,z+1)=ack(x,y,ack(x,y+1,z))
※x, y, z は非負整数
多変数や多重リストへの拡張は >>281 の up2950.txt 参照。
0324132人目の素数さん
2007/08/28(火) 22:32:010325132人目の素数さん
2007/08/29(水) 09:39:080326132人目の素数さん
2007/09/03(月) 23:41:17A(n)では非負のnは1以下。パラメータの階層と、最上階層のパラメータの数はともに1。
A(0)=2 (初期値)
A(1)=A(0)^A(0)^A(0)=2^2=4
(=2↑↑2)
★2つ目の関数
この4が次のパラメータの階層と、最上階層のパラメータの数になる。すなわち、
A(n_1_1(n_1_2(n_1_3(n_1_4))),n_2_1(n_2_2(n_2_3(n_2_4))),n_3_1(n_3_2(n_3_3(n_3_4))),n_4_1(n_4_2(n_4_3(n_4_4))))
3つ目の関数に移行するためには、(5^(4*4)-1≒1.5^11)回の計算を経なければならない。
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(0(0))))=A(1)=4
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(0(1))))=4↑↑↑↑4=4→4→4
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(0(2))))=(4→4→4)↑↑<4→4→4個>↑↑(4→4→4)
=(4→4→4)→(4→4→4)→(4→4→4)
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(0(3))))=[(4→4→4)→(4→4→4)→(4→4→4)]→[(4→4→4)→(4→4→4)→(4→4→4)]→[(4→4→4)→(4→4→4)→(4→4→4)]=あ
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(0(4))))=あ→あ→あ
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(1(0))))=(あ→あ→あ)→(あ→あ→あ)→(あ→あ→あ)=い
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(1(1))))=い→い→い
A(0(0(0(0))),0(0(0(0))),0(0(0(0))),0(0(1(2))))=(い→い→い)→(い→い→い)→(い→い→い)
★3つ目の関数
2つ目の関数の最後、
A(4(4(4(4))),4(4(4(4))),4(4(4(4))),4(4(4(4))))
はすでにグラハム数ですら無に等しいほどの巨大数となっている。仮にこれを「う」とする。
3つ目の関数は「う」の階層を持ち、最上階層の数が「う」のパラメータを持つことになる。
4つ目の関数に移行するには「(う+1)^(う*う)-1」回の計算を行わなければ成らない。
★64番目の関数
「ふぃっしゅ数」を軽く超えているものと予想される。
0327132人目の素数さん
2007/09/04(火) 02:32:05どのくらい大きいのかはよく分からないけど、なんだか昔の
スレッドに戻ったみたいでほのぼのした。
0328326
2007/09/04(火) 04:14:04○→○→○
だから、イマイチ増加率が大きくないことに気づく。
ただ、関数を1つ上げるために必要な項の増加率が膨大だから、どちらが大きくなるか。
語弊を招くことを承知で極論すれば、
「ある等差数列の1無量大数項目と、ある等比数列の百項目のどちらが大きいか」
と同じ話だ。
0329132人目の素数さん
2007/09/04(火) 10:01:57定義を誤解しているかもしれないが、思ったことを書いておく。
パラメータの数が多い割には、その多さが活かされていないと思う。
f(x)=x→x→xとすると、「う」というのは、f^{5^(4*4)-1}(4)と表される。
(f^n(x)は、xにfをn回適用した数とする)
n番目の関数でパラメータに最大値を代入したときの値をg(n)と表すと、
g(1)=4, g(n+1)=f^{(g(n)+1)^(g(n)*g(n))-1}(g(n))という漸化式でg(n)を表すことができる。
g(n)の大きさを見積もるためにHardy関数を用いると、
f(x)≒F[ω], g(n+1)≒f^{g(n)}(g(n))なので、g(n)≒F[ω+2](n)程度の大きさということになる。
過去ログによると、ふぃっしゅ関数ver.1はF[ω^2*63]程度の大きさということなので、
残念ながら326の関数ではふぃっしゅ数ver.1にも及ばない。
定義を解釈するときに、A(0(0(0(0))),0(0(0(0))),0(0(0(0))),4(4(4(4))))=☆として、
A(0(0(0(0))),0(0(0(0))),0(0(0(1))),0(0(0(0))))=☆→☆→☆のように計算するのだと解釈したが、
この解釈がもし間違っていたら指摘してほしい。
0330326
2007/09/04(火) 14:24:56はい、その通り。返す言葉もございません。
私も未明の書き込みの時点でふぃっしゅ数に遠く及ばないだろうと感じていた。
もともとこの式は、
・高校生でも理解できる関数(↑までは容易に理解できると思われるので)
・パラメータを爆発的に増やすことで「それなりに」大きな数を作ることを試みる
を満たそうと考えたのもので、これはその最も原始的なものという扱いです。
グラハム数やふぃっしゅ数とどちらが大きいかもまったく検証してなかった。ごめんなさい。
関数自体の増加率もパラメータの数もさらに増やすことは容易なので、
修正すればもう少し大きな数ができるかもしれない。
ふぃっしゅ数に勝てるかはわからんが、パラメータにも前項の式を代入できるようにすればあるいは…
0331331
2007/09/04(火) 18:44:150332132人目の素数さん
2007/09/04(火) 21:54:360333326
2007/09/05(水) 03:09:54つまり、ある項A_k+1はその前の項までAkを用いて、
A_k+1 = Ak^Ak^…(Ak↑↑Ak…(Ak↑↑Ak 回)…Ak↑↑Ak 回)…^Ak^Ak
A_k+1 = Ak^Ak^…(Ak↑↑↑Ak 回)…^Ak^Ak = Ak↑↑↑↑Ak = Ak→Ak→4
ある関数のパラメータは、その前の関数の最後の項の数Cだけ最上階層パラメータをもつ。
各最上階層パラメータはそれぞれCだけ2次パラメータを持ち、さらにその2次パラメータはそれぞれCだけ3次パラメータを持つ。
パラメータの階層はCある。
すべてのパラメータmはm(i1,i2,i3,…,in)(1≦n≦C)と表記される。ここでi1,i2…は最上階層、次の階層…の値。
各パラメータには順序があり、i1が小さいもの、その中でi2が小さいもの、その中でi3が小さいもの、…から計算される。
たとえばC=3のとき、
A(あ(い(う,え,お),か(き,く,け),こ(さ,し,す)),せ(そ(た,ち,つ),て(と,な,に),ぬ(ね,の,は)),ひ(ふ(へ,ほ,ま),み(む,め,も),や(ゆ,よ,ら)))
とパラメータがおかれ、「ら」が最大値となったとき「よ」が1つ加算され、
「ら〜せ」がすべてそれぞれ最大値となった時「す」が1つ加算され、となる。
また、あ→ら にかけて上位→下位のパラメータと定義する。
すべてのパラメータがそれぞれ最大値をとったとき、次の関数に移行する。
各パラメータは1からB(l)の値をとる。
ここで、あるパラメータの値が1つ下位のパラメータの最大値B(l-1)に達した時の、項の値をB(l)とする。
このとき、1つ上位のパラメータに移行するには、
B(l+1) = A_(k+B(l))
A_(k+B(l+1)) = A_(k+A_(k+B(l))) = A_(k+(Ak→Ak→4)→B(l)→2)
A_(k+B(l+1)) = (Ak→Ak→4)→((Ak→Ak→4)→B(l)→2)→2 (B(l)<Ak)
次の関数に移行するには…
やめた。326よりは確実に大きくなっているが、これだけややこしい説明してもグラハム数には及ばない。
高校生にも簡単に理解できて、かつグラハム数を超える数は作れないのか…
ちなみに高校生っていうのは、理屈の上ではタワー表記を使わずに説明できること(便宜上使ったが)
0334132人目の素数さん
2007/09/05(水) 05:20:32>高校生にも簡単に理解できて、かつグラハム数を超える数
>>323の3変数アッカーマン関数で、ack(1,1,100)とするだけでグラハム数を超えると思う。
ack(1,0,x) = ack(x,x)=2→(x+3)→(x-2) - 3だから大雑把に見てack(1,0,x)≒3→3→xで、
ack(1,1,x)はack(1,0,x)をx回繰り返すのと大体同じくらいになるので、
3→3→xを4に64回適用したグラハム数よりack(1,1,100)の方が大きくなるはず。
左の方の引数を増やせば、もっと大きい数を作ることもできる。
そもそも、パラメータを増やすとごちゃごちゃしてくるのでかえって分かりにくくなってしまう。
あと、パラメータに最大値があるというのも、あまり大きくならない原因の一つだと思う。
それから、パラメータに階層構造があるのに、それが活かされていない。
たとえば、326の2つ目の関数では、括弧を取り除いて16個のパラメータを並べても同じ関数になる。
巨大数作りではよくあることだが、数を爆発的に大きくするための要点があって、
その要点をうまく抑えれば単純な定義でも非常に巨大な数が作れる。
逆に、その要点を外すとどんなに複雑な定義をしてもたいして大きくならない。
それがはっきり分かる一例としては、>>323の3変数アッカーマン関数がある。
たった3変数で、たった4つの定義式しかないのに、一番左の引数を大きくすれば
チェーン表記を伸ばすのと同程度の速さで増大していく。
0335326
2007/09/05(水) 06:09:38詳しい解説サンクス。
私も326を書き込む前に3変数アッカーマン関数を見て驚いた。
これは単純ながら強力だなあと感心した。
(じゃあ複雑化しただけで使い道のない関数作ってないでそれ使えよという突っ込みはなしで)
変数に関数自体を格納してしまうのが賢いとは分かっていながら、同じ手法使っても面白くないし。
読む気も失せる333だが、これは326を改良したものである。
どちらも結局、増加率には乗数しか使っていない。
パラメータにもなんら関数は格納していないし(順番に1ずつ増えていくだけ)、
ひどく原始的な手法で巨大数を作ろうという試みだ。
恐れ多くもこれでグラハム数を超えようとは呆れたものだ。
いまさらだが結局、乗数だけに頼っていては限界があるという愚例になったと思う。
(さらにまどろっこしい説明を加え続ければx→x→x→xを説明できないこともないが、無益なのでやめ)
0336ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/05(水) 21:24:49なるほど。ふぃっしゅ数バージョン5の意味付けをしていただき
ありがとうございます。
>>311
こうやって整然と比較できるのが、Hardy関数の威力ですね。
せっかくなので、これまでのふぃっしゅ数について
http://www.geocities.co.jp/Technopolis/9946/log/thread6.html
ここの531、544を参考にして大きさを評価すると、
ふぃっしゅ数バージョン1のSS変換n回:F[ω^2+1](n)
ふぃっしゅ数バージョン2のSS変換n回:F[ω^3](n)
ふぃっしゅ数バージョン3のs(n):F[ω^ω](n)
といった感じになりましょうか。
ちなみに、
http://www.geocities.co.jp/Technopolis/9946/log/ln051.html
ここの115に出てくるSnakeは、どの程度の大きさになりますか?
>>323では、F[ω^2]程度の関数をシンプルに表記していますが、
F[ω^ω]程度、あるいはF[ε_0] 程度の関数を出来るだけシンプルに
表記するにはどうすればいいか?といった問題設定もできそうですね。
なにをもってシンプルとするかは主観ですが…。
0337たろう
2007/09/05(水) 22:39:13Snake の定義の3つ目の式を、
Snake([a<1>,・・・,a<n>],x)
=Snake([a<1>,・・・,a<n>-1],Snake([a<1>,・・・,a<n-1>,1],x))
と解釈し、
Snake([1],x) = x+1
とした場合は、
Snake([1がn個], n) ≒ F[ω^ω](n)
0338たろう
2007/09/05(水) 23:06:50>>260 でしょう。
>>281 でアップしたものをもう一度アップしておきます。
http://1rg.org/up/46579.txt.html
ついでに、定義自体に順序数を使わない大きな関数です。
概念的には順序数+Hardy関数ですが、
順序数を知らなくても、頑張れば理解できるかも。
http://1rg.org/up/46580.txt.html
0339132人目の素数さん
2007/09/06(木) 01:36:03保存しておきます
http://symy.jp/m1mG
http://symy.jp/Lo51
0340ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/06(木) 23:12:12難しいですね…。
「概念的には順序数+Hardy関数」とのことなので、
Hardy で F[ω^2], F[ω^ω], F[ε_0] に相当する
大きさの H[A] を作ると、Aの値はどうなりますか?
0341たろう
2007/09/07(金) 20:42:22H[((((0)))0)] ≒ F[ω^2](n)
H[(((0)0)0)] ≒ F[ω^ω](n)
H[((0)00)] ≒ F[ε_0](n)
H[(((0))00)] ≒ F[η_0](n)
H[((0)000)] ≒ F[Γ_0](n) = F[ψ(0)](n)
H[((0)(0)00)] ≒ F[Γ_Γ_...Γ_0](n) = F[ψ(Ω)](n)
H[(((0))000)] ≒ F[ψ(Ω^2)](n)
H[((0)0000)] ≒ F[ψ(Ω^3)](n)
H[((0)00000)] ≒ F[ψ(Ω^4)](n)
H[((0)00.....n個.....00)](n) ≒ F[ψ(Ω^ω)](n)
0342ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/08(土) 02:43:26まずは、>>338の定義をコピーします。
N:非負整数 とする (0, 1, 2, .....)
■集合T
○定義
0 ( ) の3つの文字からなる文字列の集合で、以下の2つの条件を満たす最小のもの
"0" はTの元である
Tの元を1個以上有限個繋げて () でくくったものはTの元である
演算子 + で文字列の連結を表す
"(0)" + "0" = "(0)0"
○意味
葉が0の多進木
0と多変数の関数funcで生成できる数 と対応する
"(000)" => (0,0,0) => func(0, 0, 0)
"((0)0(0)((0)0))" => ((0),0,(0),((0),0)) => func( func(0), 0, func(0), func( func(0), 0 ) )
0343ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/08(土) 02:44:25○定義
Seq は T×N から T への関数であり以下を満たす
s = "0" の時
Seq(s, i) は未定義
s = "(" + □ + a + ")" の形の時
Seq(s, i) = a
s = "(" + X + B + □ + a + ")" の形の時
Seq(s, 0) = "(" + a + ")"
Seq(s, i+1) = "(" + X + Seq(B, i+1) + Seq(s, i) + □ + ")"
ただし、
s, a, b, B ∈ T ただし、B ≠ 0
□ : 0個以上の0を有限個繋げたもの
X : 0個以上のTの元を有限個繋げたもの
i ∈ N
0344ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/08(土) 02:45:00○定義
a ∈ T とし、H[a] で N => N の関数を表し以下を満たす
H[0](n) = n+1
H[A](n) = H[Seq(A, n)](n+1)
ただし、
A ∈ T, A ≠ 0
0345ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/08(土) 02:45:37(1) = ((0))
(2) = (((0)))
(3) = ((((0))))
(i,j) = (i)(i)(i)…j+1個…(i)
0^i = 000...i個…0
【Seq の計算】
Seq((0), i) = 0
Seq((n), i) = (n-1)
Seq(((n+1,1)), i+1) = (Seq((n+1), i+1) + Seq(((n+1,1)), i))
= ((n) + Seq(((n+1,1)), i))
= ((n, i) + Seq(((n+1,1)), 0))
= ((n, i) + (n+1))
Seq(((n+1,m+2)), i+1) = ((n+1,m) + Seq((n+1), i+1) + Seq(((n+1,1)), i))
= ((n+1,m) + (n, i) + (n+1))
Seq(((n+1) + 0), i+1) = (Seq((n+1), i+1) + Seq(((n+1) + 0), i))
= ((n) + Seq(((n+1) + 0), i))
= ((n, i) + Seq(((n+1) + 0), 0))
= ((n, i) + 0)
Seq(((n+1, m+2) + 0), i+1) = ((n+1,m) + Seq((n+1), i+1) + Seq(((n+1) + 0), i))
= ((n+1,m) + (n, i) + 0)
Seq((0, m+2) + 0, i+1) = ((0,m) + Seq((0), i+1) + Seq(((0, m+2) + 0), i))
= ((0,m) + 0 + Seq(((0, m+2) + 0), i))
= ((0,m) + 0^(i+2))
0346ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/08(土) 02:47:25H[((((0)))0)](n) = H[((2)0)](n) = H[Seq(((2)0), n)](n+1)
= H[((1, n-1) + 0)](n+1)
= H[Seq(((1, n-1) + 0), n+1)](n+2)
= H[((1, n-3) + (0, n) + 0)](n+2)
= H[Seq(((1, n-3) + (0, n) + 0), n+2)](n+3)
= H[((1, n-3) + (0, n-2) + 0^(n+3))](n+3)
= H[Seq(((1, n-3) + (0, n-2) + 0^(n+3)), n+3)](n+4)
Seq((X + (0, n-2) + 0^(n+3)), n+3)
= (X + (0, n-3) + Seq((0), n+3) + Seq((X + (0, n-2) + 0^(n+3)), n+2) + 0^(n+2))
= (X + (0, n-3) + 0 + Seq((X + (0, n-2) + 0^(n+3)), n+2) + 0^(n+2))
普通に計算したのでは、歯が立たないかな。
また、改めて出直してきます。
0347たろう
2007/09/08(土) 07:44:37http://web.mit.edu/dmytro/www/other/OrdinalNotation.htm
順序数の生成にはこれを参考にしたC0を使っています。
(Cの一番小さいものを多変数にしたもの)
veblen関数の多変数に比べて変数1個分小さいですが、
その分、加算の定義が不要となります。
-----------C0-----------
●定義
C0(□, a) = a+1
C0(X, b+1, a) = lim { 初項 a / 2項目以降 C0(X, b, 1個前の項) }
C0(X, b+1, 0, □, a) = lim { 初項 a / 2項目以降 C0(X, b, 1個前の項, □, a) }
C0(X, B, □, a) = lim C0(X, B_n, □, a)
ただし、
a, b : 順序数
A, B : 極限順序数 (A_n, B_n : 収束列)
□ : 0個以上の0
X : 0個以上の0以上の順序数
●大きさ
C0(a) = a+1
C0(a,0) = ω^a
C0(1,0,0) = ε_0
C0(2,0,0) = η_0
C0(1,0,0,0) = Γ_0
C0(1,0,0,0) = Γ_Γ_...Γ_0
C0(2,0,0,0) = ψ(Ω^2)
C0(1,0,0,0,0) = ψ(Ω^3)
lim C0(1,0,0,....n個.....,0,0) = ψ(Ω^ω)
0348たろう
2007/09/08(土) 07:53:24"0" => 0
"(0)" => 1
"((0))" => 2
"(((0)))" => 3
"((0)0)" => C0(1,0) => ω
"(((0))0)" => C0(2,0) => ω^2
"((0)00)" => C0(C0(0),0,0) => ε_0
"((0)000)" => C0(C0(0),0,0,0,0) => Γ_0
Seq(s, i) は、順序数が極限の場合はその収束列を返し、
順序数がa+1の形の場合はaを返します。
H[a] はaが後続順序数と極限順序数の時の定義をくっつけた
ハーディー関数になります。
0349132人目の素数さん
2007/09/08(土) 07:59:56H[((((0))0)0)] = H[ω^ω^2] ≒ F[ω^2](n)
H[((((0)0)0)0)] = H[ω^ω^ω] ≒ F[ω^ω](n)
0350たろう
2007/09/08(土) 08:06:53× "((0)000)" => C0(C0(0),0,0,0,0) => Γ_0
○ "((0)000)" => C0(C0(0),0,0,0) => Γ_0
ミスが多くてすいません。
Seq の定義は、定義式の数を減らすため、>>347 の定義と微妙に変えてあります。
0351ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/09(日) 01:17:49> Seq の定義は、定義式の数を減らすため、>>347 の定義と微妙に変えてあります。
C0(X, B, □, a) = lim { 初項 a / 2項目以降 C0(X, B_n, 1個前の項, □) }
といった感じですか?
どうしてこれが順序数の収束列になるのかがまだよく分かりませんが、
もう少しよく考えてみます。
0352132人目の素数さん
2007/09/09(日) 22:45:32F_ω^ω(x)はx重帰納的関数に相当するとたいていのHardy functionに
関する論文には書いてあるようです。x重帰納的関数は詳しくは知りませんが
たしか前スレにそれらしいものが載ってたと思います。
このようなこともあってF_ε_0(x)に相当する関数を順序数なしで定義するのは
不可能だと思っていたのですがふぃっしゅ数ver5がそれに到達している
というのは本当でしょうか?
Snakeやver5はまだ理解していないので理解できたらそれらとHardyの比較も
やりたいと思っています。
0353ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 01:39:12ふぃっしゅ数ver5がF[ε_0](n)に達しているかどうかは、
よく分かりません。>>292では、達しているとされていますが、
その計算内容が十分にまだ分かっていません。
「F[ω^ω](x)はx重帰納的関数に相当する」ということから
「F[ε_0](x)に相当する関数を順序数なしで定義するのは不可能」
という帰結になるのはなぜでしょうか?「x重帰納的関数よりも
大きな関数は順序数なしでは定義できない」というようなことでも
あるのでしょうか?
「定義できない」ということが、もしも「TMで構成できない」と
いうことになればF[ε_0](x)がBB級の大きさになる可能性もありますが、
そんなことはないですよね。Hardy関数が計算可能である、という
ことに関しては特に問題ないようですし。
逆に、F[ε_0](x)等のHardy関数をTMで構成できるのであれば、
それはつまり帰納的に定義できるという意味だと感じますが、
甘いでしょうか。
Provably recursive という言葉も出てきましたが、そのあたりの
言葉との関係でしょうか…。
0354132人目の素数さん
2007/09/10(月) 17:28:44>>352
よく考えたら順序数と対応付けられる集合とかリストとかを
しらみつぶしに禁止するつもりですか?
Peano Arithmeticの中では任意のm(x)を構成することが
不可能ってことになるんじゃないでしょうか。
0355ルート41
2007/09/10(月) 18:59:48僕が前から考えていた巨大数の表記方法を失礼ながら書かせてもらいます。
A〜・Bという表記をするんですが、(〜・で一つの記号です)定義として
A〜・1=A
A〜・2=A^A
A〜・3=A↑↑A
A〜・4=A→→A
としています。つまり、〜・の後の数字が一つ増えるごとに→→と同じこと
前の記号に行うという事です。
次にA〜・〜・B=A〜・(A〜・B)と定義します。
次にabcdの自然数において
n=a〜・b>(a^b)〜・(c^d)>b>d>c>a
が成り立つ時のnの最小数を◎と表示します。
〜・だとふた文字に見えるので♪を代用します。
◎♪♪♪♪♪♪♪♪◎という表記は10文字以内では大きい表示になるんでしょうか?
0356132人目の素数さん
2007/09/10(月) 20:08:540357ルート41
2007/09/10(月) 20:19:23A〜・Bの表記のBは何種類目の記号が使われたかを表しています。
B=100なら100種類目の記号という意味です。巨大数を表す場合、
なんらかの記号を使って標記すので、最終的にはその記号の数を数える
のが最も大きな数になるという考えから〜・を考案したのです。
ただこのままだと、ほとんど反則なので>>355では一番解りやすい
→→の法則で次の記号を定義しました。(もともとA〜・Bは絶対
に表記出来ない数がある事の証明で作ったので、B=100なら100種類
の記号を必ず使います) 説明下手ですいません。
あと途中の式ですが、これは
abcdの自然数において
n=a→→b>(a^b)→→(c^d)>b>d>c>a
が成り立つ時のnは少なくとも3→→1025より大きい数のとき
であるの応用で作りました(nの最小値がいくらは、僕にわ
解らないです。誰か計算できるひといませんかね)
0358ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 20:48:34F[φ_ω(0)](n)やF[ψ(Ω^(Ω+ω))](n)がいとも簡単にコーディング
されていますが、このプログラムを理解できる人はいますか?
おそらく、基本的には>>347のアイデアを使っているのだと
思います。私としては、順序数の収束列をこのように多重帰納
関数の様な形で定義できる、ということが驚きで、いまだ理解に
至っていないのですが…。
http://web.mit.edu/dmytro/www/other/OrdinalNotation.htm
こちらのページを見ても、C(X, B, □, a)を導く一般式、のような
ものは書かれていないように見えますし。やはり、なぜ>>347の
式で順序数の収束列を定義できるか、という点については解説
していただかないと、私だけではなく皆さん理解できないのでは
ないでしょうか?
0359ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 20:59:32http://www.geocities.co.jp/Technopolis/9946/log/ln051.html
ここの58で、m(3)がF(x,y,z)=F(x-1,F(x,y-1,z),F(x,y-1,z)) で
あらわされました。この関数が真の三重帰納か、それとも実は
二重帰納か、という議論があったとは思いますが、いずれにしても、
m(n)は良くて多重帰納、もしかすると二重帰納になる気がします。
F[ε_0](n)になるというのは、落ち着いて考えると過大評価しすぎ
なような…。
また、m(3)が三重帰納であれば、s(n)はm(3)で生成される程度の
関数ですから、それよりも小さく、二重帰納程度です。
0360ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 21:00:03であることが分かっているので、いずれも二重帰納で、
m(n)が多重帰納であるとすれば、
Knuthの上矢印 3(↑^n)3 ≒ F[ω](n)
Ak(n, 3) ≒ F[ω](n)
ふぃっしゅ数バージョン1のSS変換:F[ω^2](n)
n個のnからなるConwayのチェーン ≒ F[ω^2](n)
ふぃっしゅ数バージョン2のSS変換:F[ω^2](n)
チェーンの回転 ↑n (3,3,3) ≒ F[ω^2](n)
バード数の定義の X_n(a) の入れ子操作n回 ≒ F[ω^2](n)
ふぃっしゅ数バージョン3のs(n)変換:F[ω^2](n)
ふぃっしゅ数バージョン5のm(3) ≒ F[ω^3](n)
真の三重帰納関数 ≒ F[ω^3](n)
例: A(x+1,y+1,z+1) = A(x,A(x+1,y,A(x+1,y+1,z)),A(x+1,y+1,z)))
真の四重帰納関数 ≒ F[ω^4](n)
例: A(w+1,x+1,y+1,z+1)=
A(w,A(w+1,x,A(w+1,x+1,y,A(w+1,x+1,y+1,z)),A(w+1,x+1,y+1,z)),A(w+1,x+1,y,A(w+1,x+1,y+1,z)),A(w+1,x+1,y+1,z))
真のn重帰納関数 ≒ F[ω^ω](n)
ふぃっしゅ数バージョン5のf5(n) ≒ F[ω^ω](n)
こんな感じになるのではないでしょうか。
0361ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 21:01:03真の○重帰納関数以外は、すべてF[ω^2](n)でした、という話に
なると思います。
>>311が正しいのか、それとも本当は>>360のような感じなのか。
そして、それはHardy関数を正確に計算することではっきりする
ものなのか。
Hardy で関数の大きさが整理できるといっても、正確に計算
しようとするとけっこう大変ですね。
0362ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 21:50:11議論の雰囲気を読むと、Hardy + 順序数による巨大数の定義は、
canonical sequence の取り方が1つに保証されないε_0以上の
世界は、関数が1つに定まるかどうか不明という点で、きっちりと
定義された関数、あるいは数の仲間入りをさせていいかどうかと
いう疑問がまだ残っています。
そんなこんなで色々と昔を思い出していると、やはり多重帰納は
強力なので、なんとかして多重帰納を本質的に強める方法はないか、
と考えてしまうわけですが…。
http://www.geocities.co.jp/Technopolis/9946/log/ln051.html
ここの184によって、n重帰納関数 A_n(a_n,...,a_1) を定義する。
ただし、A_1(x)=f(x)、g(x)=A_x(a_x,...,a_1)とすることで、
関数 f(x) から 関数 g(x) への写像が定義される。
この写像は、f(x)=x+1という関数をF[ω^ω]クラスに持って行く
だけの力を持った写像である。
この時に、生成された多重帰納関数に対してこの写像の適用を
繰り返すとどうなるか。
0363ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 21:51:37(1) F[ω^ω] のまま変わらない
(2) F[ω^(ω+1)], F[ω^(ω+2)], ... F[ω^(ω*2)]
(3) F[ω^(ω*2)], F[ω^(ω*3)], ... F[ω^(ω^2)]
(4) F[ω^(ω^2)], F[ω^(ω^3)], ... F[ω^ω^ω]
(5) F[ω^ω], F[ω^ω^ω)], ... F[ε_0]
良くて(3)あたりだと思うのですが…どうでしょう。
この写像をM2変換としたふぃっしゅ数V5を考えたところで、
F[ε_0] までは到底到達しない…のでしょうね。本質的に強める
ためには、更なる工夫が必要かな。
0364ふぃっしゅっしゅ ◆/T2GtW187g
2007/09/10(月) 23:29:14> ただし、A_1(x)=f(x)、g(x)=A_x(a_x,...,a_1)とすることで、
ただし、A_1(x)=f(x)、g(x)=A_x(x,x,...,x)とすることで、
でした。
0365132人目の素数さん
2007/09/11(火) 06:44:31すいません、書き方がまずかったです。
Hardy Functionはもちろん計算可能ですのでもちろんF[ε_0](x)はBB以下になります。
単にPAではProvably recursiveでない最小のものということですね。
過去スレに(一般的な?)多重帰納関数の例がでてきたときに順序数なしでは
これが最強だと思っていたのでF[ε_0](x)レベルのものは無理なんじゃないかと
勝手に思っていたので、ふぃっしゅ関数ver5がこれに至っているということに懐疑的に
なっていました。
しかし、ふぃっしゅ関数ver5がF[ω^ω](x)(=H[ω^ω^ω](x))に至っているというだけ
でも個人的にはすごいことだと思います。
>>362
>ε_0以上の世界は、関数が1つに定まるかどうか不明
http://www.geocities.co.jp/Technopolis/9946/log/thread6.html
ここの>>655に定義の例が書かれています。
0366366
2007/09/11(火) 19:36:39■ このスレッドは過去ログ倉庫に格納されています