From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1999-02-19T18:50:22+09:00 Subject: [ruby-dev:5344] Re: a genericity けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :5281 ] the message: "[ruby-dev:5281] Re: a genericity ", on Feb/18 19:49(JST) GOTO Kentaro writes: >ごとけんです >>面白かったのでちょっとだけ(^^;;; >># 私を悪の道に引きづり込まないで下さい(^^;;; ># どうも何かが共鳴してしまうようで(^^;; いやあ. 数学のファンとして拝聴させていただかせてもらっていますデス (__;;; >>計算可能な実数というのは, プログラムが有限時間内で停止し, その時点で確 >>定する数ですよね? >> >>今回のばあいは, プログラムは必ずしも値を確定して停止しなくて良くて, 数 >>そのものがだんだんとあるところに近付けば良いだけですよね? この場合でも >>やはり, 計算可能な実数にしか到達できないんでしょうかね? > >その定義では,近付いていることをどうやって知れば良いのかが >わからないのでナイーヴに過ぎると思います. >どっちにしろプログラムの濃度の可算性から逃れることが出来ないし, そうですね. それはそうかと思いました. >結論から言うと得ることが出来るのは計算可能な実数だけです. ですか. 思ったより少ないんですねえ... # まあ, 元々計算機で扱える数しか扱えなくていいんで, それで十分なんでしょ # うけども. >ちゃんとした定義は次のようになります. > > 「有理数列 {r_n} が計算可能である」とは帰納的な関数 > a,b,s: N->N が存在して, > r_n = (-1)**s(n) * a(n) / b(n) > と書けることをいう. > > 「実数 x が計算可能である」とは x に effective に収束 > する計算可能な有理数列 {r_n} が存在することをいう. > ここで「effective に収束する」とは,帰納的関数 e:N->N > が存在して, > k >= e(n) ならば |x - r_k| <= 2**n 2**(-n)?? > がなりたつことをいう. >effective な収束という制限をいれておくことで, なるほど. ここまで制約を強くした有理数列を用いれば, >どれだけ計算すれば必要な桁が得られるかがわかるのでこれは本質的です. という保証が得られるわけですね. でも, この条件だと有理数列以外に, e(n)も具体的に分かっていないといけな いんですね. 当然といえば当然なんでしょうけど. >>>実際は,列や関数を収束に基づいて定義することが出来るので >>>その上での演算も定義されます. >>そうです. これが重要なんですね. >なんですよね. >これらも上の定義と同様に,計算可能な二重有理数列などを >定義することで得られます.これらの結果は Grzegorczyk >により50年代にはじめられ,Poul-El と Richards によって >80年代に確立されました. 実は奥が深いこといっていたのですね(^^;;; >>なんかRubyの話しから飛んでいますね(^^;;; >こんな話ばっかりに反応するのはナニですね(^^;;; ほんと. こまったちゃんたちですね(^^;;; __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---