計算可能関数(けいさんかのうかんすう、英: Computable function)は、計算可能性理論研究の基本的な目的で、直観的には、アルゴリズムによって結果の値が得られる関数のことである。計算可能関数は、チューリングマシンやレジスタマシンといった具体的な計算モデルを参照せずに、計算可能性を論じるのに使われる。しかし、その定義には特定の計算モデルを参照する必要がある。 計算可能関数の正確な定義が与えられる以前から、数学者は effectively computable(実効的に計算可能)という言い回しをよく使っていた。現在では、その概念が計算可能関数となっている。effective(実効的)であってもefficient(効率的)に計算できるということは導かない。実際、計算可能関数には非効率な場合もある。計算複雑性理論は、そのような関数の計算効率を研究している。 チャーチ=チューリングのテーゼによれば、計算可能関数は、任意にいくらでも拡大できる記憶装置を持った計算機械を使い(いくら長くても良いが)有限の時間で計算が必ず終了する関数である。アルゴリズムのある関数は全て計算可能である。 ブラムの公理を使って、計算可能関数の集合について抽象的な計算複雑性を定義できる。計算複雑性理論では、計算可能関数の複雑性を特定する問題を函数問題と呼ぶ。 計算可能関数は、自然数についての部分関数である。計算可能関数 f{displaystyle f} は引数として固定個の自然数をとり、個々の計算可能関数によって引数の個数は異なる。部分関数なので、あらゆる入力の組合せについて定義されているとは限らない。計算可能関数は出力として1つの自然数を返す(この出力を対関数を使って自然数のリストに変換することもできる)。 f(x1,…,xk)↓{displaystyle f(x_{1},ldots ,x_{k})downarrow } と記した場合、引数 x1,…,xk{displaystyle x_{1},ldots ,x_{k}}
Continue reading
Recent Comments