帰納的可算言語(きのうてきかさんげんご、: Recursively enumerable language)は、数学論理学計算機科学における形式言語の一種である。部分決定性言語(Partially Decidable Language)、チューリング受理性言語(Turing-recognizable Language)とも呼ぶ。形式言語のチョムスキー階層におけるタイプ-0言語に相当する。全ての帰納的可算言語は複雑性クラス RE に属する。

定義 編集

帰納的可算言語には以下の3つの等価な定義がある。

  1. 帰納的可算言語は、形式言語アルファベットから生成可能な全ての単語の集合のうち、帰納的可算部分集合である。
  2. 帰納的可算言語は、その言語に含まれる全文字列を数え上げるチューリング機械(または計算可能関数)が存在する形式言語である。言語が無限である場合、同じ文字列が現れないようなアルゴリズムが必要である。すなわち、n 番目の文字列が以前に出現しているかどうかを判定し、もし既出であったら n+1 番目の文字列を代わりに出力する。ただし、その n+1 番目の文字列も既出でないか確認が必要である。
  3. 帰納的可算言語は、入力された文字列がその言語に含まれる場合にそれを受理して停止するチューリング機械(または計算可能関数)が存在する形式言語である。ただし、入力された文字列がその言語に含まれない場合、停止して拒絶するかもしれないし、無限ループするかもしれない。帰納言語は常にチューリング機械が停止する点が異なる。

全ての正規言語文脈自由言語文脈依存言語帰納言語は帰納的可算言語である。

RE とその補問題 co-RE算術的階層の基盤となっている。

閉包属性 編集

帰納的可算言語は以下の操作について閉じている。すなわち、LP を2つの帰納的可算言語としたとき、以下の言語も同様に帰納的可算言語である。

  • Lクリーネ閉包  
  • LP の連結  
  • 和集合  
  • 共通部分  

帰納的可算言語は差集合や補集合の操作については閉じていない。差集合 L\PL の補集合は帰納的可算言語となる場合もあるし、ならない場合もある。

関連項目 編集

外部リンク 編集

参考文献 編集

  • Sipser, M. (1996), Introduction to the Theory of Computation, PWS Publishing Co.
  • Kozen, D.C. (1997), Automata and Computability, Springer.