これは、ここでの別の質問のフォローアップであり、あまりにも哲学的ではないことを願っています。ラファエルが私の前の質問のコメントで指摘したように、私は本当に「計算可能」の定義を取得していませんが、私が読んだいくつかの論文によると、定義は、チューリングよりも弱い計算のモデルになると本当に明確ではありません入力と出力のエンコーディングのためにマシン。
計算可能チューリングの一般的な定義は次のとおりです。
定義1:関数は、自然数の適切なエンコードを文字列として使用してfを計算するチューリングマシンMがある場合に、チューリング計算可能と呼ばれます。
定義は、適切なエンコーディングとは正確に何であるかで異なりますが、ほとんどの場合、バイナリエンコーディング、単項エンコーディング、または10進数エンコーディングを、1つの固定された適切なエンコーディングと呼びます。チューリング計算可能性の定義には、1つのエンコーディングを修正する必要があることを示すこともできます。しかし、自然数のバイナリエンコーディングを特別にして、適切なエンコーディングとして公理化できるようにするにはどうすればよいでしょうか。たぶん、それが偶然に計算可能性が何を意味するかという直感的な概念に適合しているからでしょう。
次に、チューリングマシンよりも弱い計算モデルを検討するとどうなるでしょうか。たとえば、のは、設定され考えてみましょうアルファベットで「不自由」チューリングマシンのを{ 0 、だけ右に移動することができる、との定義不自由が計算チューリングチューリング計算可能のものと一致しています。
定義2:関数呼び出される計算チューリング不自由またはで計算MのC不自由チューリングマシンがときに限り、Mはた計算する列として自然数の適切なエンコーディングを使用しては。
我々は次に、機能、「バイナリエンコーディング」と「適切なエンコーディングを」定義する場合でないで計算のM C。「適切なエンコーディング」を「単項エンコーディング」として公理化すると、fはM cで計算可能になります。誰もが無限に多くの直感的なエンコーディングの1つを思いのままに修正できるという事実を考えると、これは厄介なようです。計算モデルがfを計算できるかどうかは明確でなければなりません 特定のエンコーディングを参照せずに-少なくとも「ループプログラムはチューリングマシンよりも弱い」と述べたときに、どのエンコーディングが使用されているかについて誰かが言及したことはありません。
この紹介の後、私はようやく私の質問を述べることができます:計算の直観的な概念と一致しない計算の任意のモデルの「適切なエンコーディング」と「計算可能性」をどのように定義しますか?これは、計算可能性を調整する枠組みの中で可能ですか?
編集:私は紹介を短くしました、それは質問に追加しませんでした。