プリミティブな再帰的関数等価


7

2つの基本的な再帰関数が与えられた場合、それらが同じ関数であるかどうかは決定可能ですか?たとえば、プリミティブな再帰的なソートアルゴリズムAとBを考えてみましょう。ソートのアルゴリズムはたくさんありますが、それらはすべて同じ関係を表しています。AとBの2つのプリミティブな再帰的な実装が与えられた場合、それらは同じ機能を表すことが証明できますか?この質問は無制限の再帰についてではなく、チューリングマシンのプロパティによって制限されないことに注意してください。

停止する2つの関数があり、有限ドメインがある場合、可能なすべての入力を試し、各関数の出力を比較できるため、それらが同じ関数であることが証明できることを知っています。私が混乱しているのは、それらが有限ではないため、自然数と言っているものを扱うときです。

これがプリミティブな再帰関数で決定できない場合、たとえば基本的な再帰関数などの弱いクラスが可能です。これは、有限状態機械や確定的プッシュダウンオートマトンなどの弱いものでも可能であることも知っています。ありがとう。


1
「決定可能」と「証明可能」は2つのまったく異なるものであることに注意してください。
ラファエル

回答:


6

CFGsでも同等性が決定できないことはよく知られています。PDA(Wikipedia参照)。これは、CFLのスーパーセットのすべてのモデルで同じプロパティが決定できないことを証明します(単純な特別なケースの削減により)。

特定のCFLの単語の問題を解決することは明らかにプリミティブな再帰的である(お気に入りの解析アルゴリズムによる)ため、これにはプリミティブな再帰的関数/アルゴリズムのセットが含まれます。


4

比較的簡単な非公式の証明では決定できません。

任意のチューリングマシンを指定すると、次の関数定義できます。MfM

fM(n)={0 if M does not halt in n steps on empty input1 otherwise

が実際にはプリミティブな再帰的であることは、プリミティブな再帰の基本的な事実です(ステップでを「シミュレート」します)。fMMn

ステートメント

M does not halt on empty input

に相当

n, fM(n)=0(n)
ここで、は常に返す関数です。停止しない関数の言語は決定できないため、上記のプリミティブな再帰関数の同等性は、一般的な決定できませ。00fM

プリミティブな再帰関数の同等性の決定が実際にはにあることを示すことはそれほど難しくありません。、チューリングマシンの非終了を決定する、または単一の非制限のユニバーサル数量詞で算術文を決定するのと同じくらい難しい(そして、おそらくと囲まれてい)。Π10

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.