Pのマシンは決定不能ですか?


7

チューリングマシンを考える M、私たちはそれを言う L(M)∈P機械によって決定された言語が多項式時間である機械によって決定されることができるかどうか。と言うM∈Pマシンが多項式時間で実行される場合。不必要に長く動作するが、言語を決定するマシンが存在する可能性があることに注意してくださいP。ライスの定理により、

{⟨M⟩∣M is a Turing machine such that L(M)∈P }決定できません。次のことを知っていますか:

{⟨M⟩∣M is a Turing machine such that M∈P } また決定不可能ですか?


1
ライスの定理により、この言語は決定不可能である(重要な特性ではない)こともわかります。
— Tpecatte 2013

2
ティモット:いいえ、ライスの定理は第二言語には適用されません。 M∈P のプロパティではありません L(M)。OP:cstheory.stackexchange.com/questions/5004で
— sdcvvc

なぜライスの定理と同じ対角化証明を使用できないのですか?
— Tpecatte 2013

Timot:非PマシンがP言語を決定する可能性があるため、証明は再利用できないと思います。基本的な考え方は似ていますが、IMOは同じではありません。
— sdcvvc 2013

回答:


6

これは、理論的答えの証明の言い換えです。停止問題から軽減します。マシンが与えられたとしましょうM、そして私たちはかどうかを決定することです M空の入力で停止します。新しいマシンを構築しますM′ 単一の入力を受け入れる x、次のように動作します。

  1. しましょう n=|x|。
  2. M′ 走る M ために n ステップ。
  3. もし M 内で停止 n 次にステップ M′ 指数関数的な時間をかけてダミーループを実行します Ω(2n)。さもないと、M′ ただ停止します。

チューリングマシンは多項式オーバーヘッドのみでシミュレーションできるため、 M そのとき止まらない M′多項式時間で実行されます。もしM その後、停止します M′指数関数的な時間がかかります。したがってM 停止する M′ 多項式時間ではありません。


より一般的には、これは、 M 最大で間に合う f(n) いくつかの超多項式時間構築可能 f、その後、 M 多項式時間で実行されます。


私は疑問を持っています。Mが停止した場合O(2n) その後 M′ ただし、多項式時間で実行されます M′停止します。何か不足していますか?
— sashas

@sasha私はあなたの質問をフォローしていません。
— Yuval Filmus、2016

上記の削減が有効かどうかを確認できません L={<M>|M runs in P(n) steps where P(n) is some fixed polynomial}。
— sashas 2016

@sasha特に問題ありません。
— Yuval Filmus、2016

もし M 空の入力で停止します 2n、 M′ 多項式時間で実行されます。何か不足していますか?
— sashas 2016

2

あなたの第二言語が書かれている方法は、通常の標準に関して正確に形成されていません。 P言語のセットであり、マシンのセットではありません。あなたの質問の残りの部分であなたが言ったことに基づいて、私はあなたがほとんどの多項式時間で実行するマシンと発生するマシンを区別しようとしていると思いますP。おそらく、これは次のように書くより良い方法でしょう:

A={⟨M⟩|(∃k∀x)M(x) halts in O(|x|k) time}

O と置き換えることができます Θ ログタイムTMなどの弱いマシンを除外する場合。

ご了承ください: A⊂{⟨M⟩|L(M)∈P}

sdcvvcで観察されるように、ライスの定理はすぐには適用されず、ここで十分です。使用される「自明でない」プロパティは、L(M)。マシンにバインドされた時間は言語のプロパティではなく、そのマシンのプロパティです。

所定の回答 kコメントで参照された理論上の質問の質問について議論されました。その定数の選択は、決定不能性を証明するための鍵でした。私たちの言語では、k∈N したがって、最大値はありません k 一緒に働きます。

私は十分に調査するために費やす時間はありませんでしたが、それらの結果を任意の範囲に拡張することは不合理ではないと思います k>2 直接誘導を介して。

cstheoryの投稿に動機付けられたDavid Gajserによって書かれた最近の論文は、この質問のより一般化されたバージョンに答えています。

しましょう HALTT(n)={⟨M⟩|∀xM(x) halts in at most T(n=|x|) time}

シングルテープチューリングマシンの場合: HALTT(n) 決定できない場合 T(n)=Ω(nlog(n))

複数のテープチューリングマシンの場合: HALTT(n) 決定可能なiffです T(n)≤k+1 いくつかのための k∈N

彼はこれらの決定不可能性の結果を、任意の大きな定数( P)。彼によると、あなたの質問への答えは言語(A)は決定できません。


1
数量詞が間違った順序で表示されています。 ∃k,C∀xM(x) halts after at most C|x|k steps。
— Yuval Filmus 2013

@YuvalFilmus:あなたは正しいです。これを反映するために、回答を更新しました。これを指摘してくれてありがとう。
— mdxn 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.