停止問題の制限されたバージョンについて私たちは何を知っていますか
(UPDATE:良く形成疑問が提起され、ここでこの質問を明確に定義されていないことを示し、以下の受け入れ答えのコメントとして) 停止問題の不可能性の古典的な証明は、入力としてそれ自体に停止検出アルゴリズムを適用しようとするときに矛盾を実証することに依存します。詳細については、以下の背景を参照してください。 実証された矛盾は、自己参照パラドックスのために適用されます(「この文は正しくない」という文のように)。しかし、そのような自己参照を厳密に禁止した場合(つまり、そのような自己参照が停止することを決定できないという事実を受け入れた場合)、どのような結果が残されますか?非自己参照マシンの残りのセットの停止の問題は、停止するかどうかを決定できますか? 質問は次のとおりです。 自己参照ではない(つまり、入力として自分自身を受け取らない)可能性のあるすべてのチューリングマシンのサブセットを検討する場合、このサブセットの停止問題について何がわかりますか? 更新 たぶん、私が何を求めているかをよりよく再定式化することは、決定可能なセットを定義するものをよりよく理解することです。HALTを実行する場合を除いて、決定不能性に関する情報を追加しないため、古典的な決定不能性の証明を分離しようとしました。 背景: チューリングマシンのエンコードである入力とを決定できるチューリングマシンがあり、停止するかどうかの矛盾を前提としています。次に、とを取り、を使用して停止するかどうかを決定し、逆のことを行うチューリングマシン考えます。つまり、が停止しない場合はが停止し、は停止します。次に、は矛盾を示しますQQQMMMバツバツXM(X)M(バツ)M(X)KKKMMMバツバツXQQQM(X)M(バツ)M(X)KKKM(X)M(バツ)M(X)M(X)M(バツ)M(X)K( K)K(K)K(K)KKK 停止しない場合は停止する必要があり、停止しても停止しません。 動機: 同僚がソフトウェアシステムの正式な検証に取り組んでおり(特に、システムがソースコードレベルで既に証明されており、コンパイラーの問題を中和するために、コンパイルされたバージョンでそれを修正したい場合)、彼の場合、組み込みの制御プログラムの特別なセットで、自己参照型ではないことは確かです。彼が実行したい検証の1つの側面は、入力ソースコードが終了することが証明された場合に、コンパイルされたプログラムが停止することが保証されるかどうかです。 更新 以下のコメントに基づいて、非自己参照チューリングマシンの意味を明確にします。 目標は、それを証明で提示された矛盾を引き起こさないセットとして定義することです(上記の「背景」を参照)。次のように定義できます。 チューリングマシンが存在すると仮定すると、チューリングマシンのセットのための停止問題を決定する、その後、に対して非自己参照されるそれが呼び出したすべてのマシン除外した場合上(直接または間接的に)。(明らかに、はメンバーにはなれません。)QQQSSSSSSQQQQQQSSSQQQSSS を間接的に呼び出すことの意味を明確にするには:QQQSSS でを呼び出すことは、状態のセットとテープ上の特定の可能な初期入力(任意のメンバーに対応)を持つチューリング機械によって示され、最初はその入力の先頭にあります。マシン呼び出す上の段階の(有限の)シーケンスがあることがあれば、「間接的に」、初期設定にその設定が「準同型」にするためにかかるだろう。QQQSSSQQQSSSWWWQQQSSSWWWQ ( S)Q(S)Q(S) 更新2 同じタスクを実行するチューリングマシンが無限に多く、が一意ではないという議論からの回答から、は単一のチューリングマシンではなく、すべてのマシンコンピューティングの(無限)セットであると言うことで上記の定義を変更します同じ関数(HALT)。HALTは、特定の入力でチューリングマシンが停止するかどうかを決定する関数です。QQQQQQ 更新3 チューリングマシン準同型の定義: ラベル付きノードANDエッジを持つグラフの準同型の標準的な意味で、Aの遷移グラフがBの遷移グラフと準同型である場合、A TM AはTM B と準同型です。TMの遷移グラフ(V、E)は、V = states、E = states間の遷移アークです。各アークには、(S、W、D)、S =テープから読み取ったシンボル、W =テープに書き込むシンボル、D =ヘッドショーが移動する方向のラベルが付いています。