極限計算可能関数のソースを表示
←
極限計算可能関数
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[計算可能性理論]]における'''極限計算可能関数'''(きょくげんけいさんかのうかんすう、{{lang-en-short|limit computabile function}})とは、一様に計算可能な関数列の極限によって表せる関数をいう。極限において計算可能({{lang-en-short|computable in the limit}})や極限帰納的({{lang-en-short|limit recursive}})などともいう。集合が極限計算可能とはその[[指示関数|特性関数]]が極限計算可能であることをいう。 関数列が ''D''-計算可能であるとき、極限の関数は ''D''-極限計算可能であるという。 == 正式な定義 == 関数 <math>r(x)</math> が極限計算可能であるとは、[[計算可能]]全域関数 <math>\hat{r}(x,s)</math> が存在して : <math>r(x) = \lim_{s\to\infty} \hat{r}(x,s)</math> が成り立つことをいう。 関数 <math>r(x)</math> が ''D''-極限計算可能であるとは、[[チューリング還元|''D''-計算可能]]全域関数 <math>\hat{r}(x,s)</math> が存在して : <math>r(x) = \lim_{s\to\infty} \hat{r}(x,s)</math> が同様に成り立つことをいう。 コード化可能な集合が極限計算可能とはその特性関数が極限計算可能であることをいう。これに対して、集合が[[計算可能]]であることと、ある関数 <math>\varphi(x,s)</math> によって極限計算可能であり、かつ <math>\varphi(x,s)</math> の値が'''安定する''' <math>s</math> の値が <math>x</math> に対して計算可能であることとは同値である。 == 極限補題 == '''極限補題'''は自然数の集合が極限計算可能であることと <math>0'</math>-計算可能であることとが同値であることを述べる。ここで <math>0'</math> は空集合の[[チューリングジャンプ]]である。相対化された極限補題は自然数の集合が ''D''-極限計算可能であることと '''D''''-計算可能であることとが同値であることを述べる。 さらにいえば極限補題(とその相対化)は一様に成立する。すなわち <math>\hat{r}(x,s)</math> のインデックスから <math>\hat{r}(x)</math> の <math>0'</math>-相対的インデックスを計算できる。逆に <math>\hat{r}(x)</math> の <math>0'</math>-相対的インデックスから <math>\hat{r}(x,s)</math> のインデックスを計算できる。 === 証明 === <math>0'</math> は帰納的可算集合であるから実効的に枚挙できる。したがって次のようにして <math>0'</math> が極限計算可能であることが分かる: : <math>\displaystyle \hat{r}(x,s)=\begin{cases} 1 & \text{if by stage } s, x \text{ has been enumerated into } 0'\\ 0 & \text{if not} \end{cases}</math> 明らかに <math>\hat{r}(x,s)</math> の <math>s \to \infty</math> に於ける極限は <math>0'</math> の特性関数である。極限計算可能関数のクラスは recursively closed である。すなわち関数合成、原始再帰、最小化によって閉じている。したがって任意の <math>0'</math>-計算可能関数は極限計算可能である。 逆に <math>X</math> を極限計算可能な集合とし、 <math>X_s</math> を <math>X</math> に収束する一様に再帰的な集合列とする。これが <math>0'</math>-計算可能であることを示すには、半計算可能集合 <math>Y</math> で <math>X\leq_T Y</math> を満たすものを構成すればよい。以下、集合とその特性関数とを同一視する。まず <math>Y</math> を次で定める: : <math>(x,n) \in Y \iff \sharp \{ s \mid X_s(x) \neq X_{s+1}(x) \} \geq n</math> ここで <math>\sharp</math> は集合の要素数を表す。つまり <math>X_s(x)</math> の値が <math>n</math> 回以上変化する場合に <math>(x,n)</math> を <math>Y</math> に置く。すると <math>Y</math> を[[神託機械|オラクル]]として次のように <math>X</math> を計算できる。入力 <math>x</math> に対して <math>(x,n)\in Y</math> を満たす最大の <math>n</math> を探す。これは <math>X_s(x)</math> が収束することから必ず存在する。このとき <math>X_0(x),X_1(x),\ldots</math> の値はちょうど <math>n</math> 回だけ変化する。そこで <math>n</math> が偶数ならば <math>X_0(x)</math> を、 <math>n</math> が奇数ならば <math>1 - X_0(x)</math> を出力する。この出力は <math>X(x)</math> に等しい。 :<math>\begin{matrix} \mbox{accept} & X_0(x) & X_1(x) & & X_3(x) & & & \cdots \\ \mbox{reject} & & & X_2(x) & & X_4(x) & X_5(x) & \cdots \\ \mbox{mind change} & 0 & 0 & 1 & 2 & 3 & 3 & \cdots \end{matrix} </math> === 算術的階層における位置づけ === [[ポストの定理]]によれば <math>0'</math>-計算可能であることと <math>\Delta^0_2</math> であることとは同値である。したがって極限補題は任意の極限計算可能集合が <math>\Delta^0_2</math> であることを導く。実際 <math>X</math> を極限計算可能集合とし、 <math>X_s</math> を <math>X</math> に収束する一様に再帰的な集合列とすれば、 : <math>x \in X \iff \exists s \forall t (s\leq t \to x\in X_t) </math> が成り立つ。右辺は <math>\Sigma^0_2</math> である。また : <math>x \in X \iff \forall s \exists t (s \leq t \wedge x \in X_t) </math> が成り立つ。右辺は <math>\Pi^0_2</math> である。 == 極限計算可能実数 == [[実数]] ''x'' が極限計算可能であるとは、計算可能[[有理数]]列 <math>r_i</math> (あるいは同じことだが[[計算可能実数]]列)で ''x'' に収束するものが存在することをいう。これに対して、実数が計算可能であることと、ある有理数列によって極限計算可能であり、かつ収束列の収束率が計算可能であることとは同値である。 実数をビットの無限列と見做せば次の定義と上の定義とは同等である。無限ビット列 <math>\omega</math> が極限計算可能であるとは、計算可能な0-1関数 <math>\varphi(t, i)</math> が存在して <math>\lim_{t\to\infty}\varphi(t, i) = \omega_i</math> が成り立つことをいう。したがって任意の ''i'' に対して、 ''t'' を増加させると <math>\varphi(t,i)</math> の値は最終的に <math>\omega_i</math> の値と等しくなる。計算可能実数の場合と同様に、極限計算可能関数の2つの表現を実効的に変換することはできない。 == 例 == * 二進展開が[[停止性問題]]のコードに一致する実数は極限計算可能だが計算可能でない。 * 二進展開が[[真の算術]]のコードに一致する実数は極限計算可能でない。 == 心変わりの制限 == 以下、関数列 <math>f_0,f_1,\ldots</math> と入力 <math>x</math> について <math>f_s(x) \neq f_{s+1}(x)</math> となるとき、ステージ <math>s+1</math> で <math>f_s(x)</math> が'''心変わり'''({{lang-en-short|mind change}})するということにする。このとき極限計算可能関数とは有限回の心変わりで極限計算可能であるということができる。実際、極限 : <math>f(x) = \lim_s f_s(x)</math> が存在するということは、心変わりの回数が有限回であることと同値である。 そこで極限計算可能関数を近似する関数列の心変わりの回数を制限することが考えられてくる。高々 <math>n</math> 回の心変わりで極限計算可能な関数は <math>n</math>-'''近似可能'''({{lang-en-short|<math>n</math>-approximable}})という。このクラスについて次が知られている: * 任意の <math>n</math>-近似可能関数は <math>n+1</math>-近似可能である。 * <math>n</math>-近似可能でない <math>n</math>+1-近似可能関数が存在する。とくにそのような例は0-1関数として得られる。すなわち <math>n</math>-近似可能でない <math>n+1</math>-近似可能集合が存在する。 * いかなる <math>n</math> についても <math>n</math>-近似可能でない、極限計算可能関数が存在する。とくにそのような例は0-1関数として得られる。 すなわち心変わりの回数が定数で抑えられる極限計算可能関数のクラスは、その定数によって階層を成している。また心変わりの回数を定数で抑えられないような極限計算可能関数が存在する。他のクラスとの関係としては次が知られている: * <math>0</math>-近似可能であることと計算可能であることとは同値。 集合の心変わりの回数については、近似列 <math>A_s</math> の初項 <math>A_0</math> の形を制限することが考えられる。そこで空集合から始めて高々 <math>n</math> 回の心変わりで極限計算可能な集合は '''<math>n</math>-帰納的可算'''という。また補集合が <math>n</math>-帰納的可算な集合は'''補 <math>n</math>-帰納的可算'''という。これらのクラスについては次が知られている: * 任意の <math>n</math>-r.e.集合は <math>n+1</math>-r.e.かつco-<math>n+1</math>-r.e.である。 * 任意のco-<math>n</math>-r.e.集合は <math>n+1</math>-r.e.かつco-<math>n+1</math>-r.e.である。 また他のクラスとの関係としては次が知られている: * <math>1</math>-r.e.であることとr.e.であることとは同値。 * co-<math>1</math>-r.e.であることとco-r.e.であることとは同値。 * <math>2</math>-r.e.であることとd-r.e.(2つのr.e.集合の差集合で書ける)であることとは同値。 * <math>n+1</math>-r.e.かつco-<math>n+1</math>-r.e.であることと <math>n</math>-近似可能であることとは同値。 * 任意の <math>n</math>-r.e.集合は <math>n</math>-近似可能である。 * 任意のco-<math>n</math>-r.e.集合は <math>n</math>-近似可能である。 すなわち <math>n-1</math>-近似可能集合のクラス <math>\Delta^{-1}_{n}</math>、 <math>n</math>-r.e.集合のクラス <math>\Sigma^{-1}_{n}</math>、co-<math>n</math>-r.e.集合のクラス <math>\Pi^{-1}_{n}</math> は、それぞれ[[算術的階層]]における <math>\Delta^0_n,\Sigma^0_n,\Pi^0_n</math> と対応する形の階層構造を成している。すなわちこの階層は次のような構造を持つ。ここで矢印は包含を示す。 <center> <math> \begin{matrix} & & \Sigma^{-1}_{1} & & & & \Sigma^{-1}_{2} & & \cdots \\ & \nearrow & & \searrow & & \nearrow \\ \Delta^{-1}_{1} & & & & \Delta^{-1}_{2} & & & & \cdots \\ & \searrow & & \nearrow & & \searrow \\ & & \Pi^{-1}_{1} & & & & \Pi^{-1}_{2} & & \cdots \end{matrix}\begin{matrix} & & \Sigma^{-1}_{n} & & & \cdots \\ & \nearrow & & \searrow \\ \quad \Delta^{-1}_{n} & & & & \Delta^{-1}_{n+1} & \cdots \\ & \searrow & & \nearrow \\ & & \Pi^{-1}_{n} & & & \cdots \end{matrix} </math> </center> これをエルショフの階層という。エルショフの階層は{{仮リンク|クリーネのO|en|Kleene's O}}を用いることによって[[構成的順序数]]へ一般化できる。このとき極限計算可能関数はある構成的順序数 <math>\alpha</math> について <math>\alpha</math>-近似可能となる。すなわち極限計算可能関数はエルショフの階層によって完全に分類される。 心変わりの回数がある計算可能関数で抑えられるとき、極限関数は <math>\omega</math>-近似可能という。このとき、集合 <math>A</math> が <math>\omega</math>-近似可能であることと、<math>A</math> が <math>0'</math> に[[真理表還元]]可能であることとは同値である。この事実は、先の極限補題の証明において、<math>(x, n)\in Y</math> なる神託問い合わせの <math>n</math> が再帰的関数で抑えられることから分かる。 == 関連項目 == * [[スペッカー列]] * [[計算論的学習理論]] == 参考文献 == # J. Schmidhuber, "Hierarchies of generalized Kolmogorov complexities and nonenumerable universal measures computable in the limit", ''International Journal of Foundations of Computer Science'', 2002. # R. Soare. ''Recursively Enumerable Sets and Degrees'', Springer-Verlag, 1987. # R. G. Downey, D. R. Hirschfeldt. ''Algorithmic Randomness and Complexity'', Springer, 2010. # W. Calvert, R. Miller, J. C. Reimann. ''The Distance Function on a Computable Graph'', arXiv:1111.2480, 2011. # Richard L. Epstein, Richard Haas, Richard L. Kramer. ''Hierarchies of sets and degrees below <math>0'</math>'', Logic Year 1979-1980, Lecture Notes in Mathematics, Vol. 859, Springer-Verlag, pp.32-48, 1981. {{デフォルトソート:きよくけんけいさんかのうかんすう}} [[Category:計算可能性理論]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
極限計算可能関数
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報