自己参照なしで問題を停止する


10

停止問題では、特定の入力iで特定のチューリングマシンMが停止するかどうかを判断できるチューリングマシンあるかどうかに関心があります。通常、証明はそのようなTが存在すると仮定して開始されます。次に、iM自体に制限し、対角引数のインスタンスを使用して矛盾を導出する場合を考えます。私がMであるという約束が与えられた場合、証明はどのようになるのか興味があります。どのような約束についてM "Mは、機能的に同等であるMTMiTiMiMiMMM


2
ヒント:がそれ自体またはそれと同等のM 'についての質問に正しく答える必要がない場合でも、同等のM 'をフィードして、それが何をするかを確認できます。それはかどうかを計算可能ではないので、Mが"と等価であるMMは、自身と同等のものを持って、それを伝えることができなくなります。MMMMMM
Andrej Bauer 14

@AndrejBauerこれはあなたが私に与えた単なるヒントでした。私はこのヒントを使用して実際の問題を解決する必要がありますか?私はあなたが私の設定では、私がすることを約束していた場合、「必要がない」と言って問題を緩和するのでビットは、混乱しています同等で供給されることはありませんMを"。基本的に、問題を決定不可能にするあらゆる種類の「自己参照」であることを私は見たいと思います。これは論理と不完全さについて話すときにそうであると考えられました。MM
ベルピース2014

あなたは約束を破って、好きなようにを養うことができます。とにかく、約束を破ったとは言えません。あなたはのは、不正行為と思われる場合は、その後、私が養うよMのと等価ではありません、物事M、彼らが似ているので、Mが、すべての入力とだけシフト1、またはそのようないくつかを。MMMM1
Andrej Bauer

実際、あなたの質問は十分に定式化されていません。念頭に置いている実際の証明を概説し、回避したいものを正確に指定する必要があります。私はあなたが意味はないと思うが、何か他のもの。iM
Andrej Bauer 14

回答:


7

HALTSが入力をxのペアとして読み取るTMであるとします。ここで、MはTMエンコーディングであり、xはそのTMへの任意の入力です。MxMx

我々はHALTSは、すべての入力のための停止問題を解決仮定した場合に何が起こるならばあなたの質問はありように、xが機能的に同等であるTMのエンコーディングではありませんMM,xxM

これは矛盾を意味すると主張します。私はその場でこれを思いついたので、私は自分の証明に対するあらゆる批判を歓迎します。証明の考え方は、それ自体を対角化するのではなく、2つの相互に再帰的なTMを作成し、一部の入力では動作が異なる(したがって、機能的に同等ではない)ことですが、それ以外の場合は矛盾を引き起こします。

D 2を2つの相互に再帰的なTM としましょう(つまり、D 1のプログラム内でのD 2の記述をシミュレーション、印刷などできます)。再帰定理から相互に再帰的なTMを作成できることに注意してください。D1D2D2D1

定義およびD 2を次のように入力上のx、もし| x | < 10(10は任意に選択)、D 1は受け入れ、D 2はループします。(したがって、それらは機能的に同等ではありません)。D1D2x|x|<10D1D2

|で入力を指定 x | 10、定義D 1にHALTSをシミュレートするためにD 2X と停止場合D 2停止またはループもしD 2ループ。x|x|10D1D2,xD2D2

|で入力を指定 x | 10、定義D 2にHALTSをシミュレートするためにD 1X ループならD 1停止または停止する場合D 1ループ。x|x|10D2D1,xD1D1

次に、|付きのがあることに注意してくださいx | 10D 1(x)の停止またはループのいずれか。D 1が入力xで停止した場合、HALTS(D 2、x)がD 2が入力xで停止したと判断したことがわかります。ただし、入力x でD 2が停止するということは、HALTS(D 1、x)がループすることを意味します。x|x|10D1D1D2D2D2D1

場合入力上のxループ、矛盾が同様に続きます。D1x

これは、が機能的にD 1またはD 2と同等のチューリングマシンのエンコーディングでない限り矛盾します。その場合、HALTSは未定義の動作をします。ただし、x10より大きいサイズのすべての文字列から任意に選択されました。したがって、D 1およびD 2とは異なる動作をする、10を超えるサイズのエンコーディングを備えたチューリングマシンが存在することを示す必要があります。そのような機械は簡単に構築できます。QED。xD1D2x10D1D2

考え?


D 2が機能的に同等でないことを確認する必要があるのはなぜですか?D1D2
ベルピース2014

これは必要ないというのは正しいと思います。私の当初の目的は、停止(上で対角化することであったD1,D2
クルトミューラー

それがなければ、証明はよりエレガントになりますが、とにかくそれは私にはよく見え、まさに私が必要としていたものです。
ベルピース2014

2

MMMMMM


MMH

  • H(M,x)xHxH
  • H(M,x)M(x)

Q

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

QHx=QQ(Q)H


iM

1
あなたがそのような約束を与えられているとしましょう。計算できないことは知っています。OPを更新しました。
ベルピース2014

@bellpeace: それをどのように定義しますか?

(M,i)iM1Mi0

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