Pの実行時境界は決定可能ですか?(回答:いいえ)


64

質問は、次の質問が決定可能かどうかです。

問題   整数およびチューリングマシンがPにあると約束された場合、入力の長さに関しての実行時間は?kM On knMM O(nk)n

「はい」、「いいえ」、または「オープン」という狭い回答は受け入れられますが(参照、証明スケッチ、または現在の知識のレビューを含む)、より広範な回答も大歓迎です。

回答

Emanuele Violaは 、質問が決定不能であることの証拠投稿しました(以下を参照)。

バックグラウンド

私にとって、この質問は、Pのランタイムは上限にEXPリソースを必要としますかという質問に対するLuca Tevisanの回答を解析する際に自然に生じました。…具体的な例は知られていますか?

この質問は、MathOverflowの質問にも関連しています。数学で最も魅力的なチューリングの決定不可能な問題は何ですか?、「数学」という言葉が「工学」に変更されたバリエーションでは、実行時間の推定は(たとえば)制御理論と回路設計に関連する普遍的な工学問題であると認識されています。

したがって、この質問をする際の幅広い目的は、複雑度クラスPでの実行時推定の実際的な側面が実行可能である(つまり、推定にPの計算リソースを必要とする)か、実行不可能である(つまり、推定するにはEXPに計算リソースが必要です)、正式には決定できません。

---編集(回答後)---

Violaの定理をMathOverflowのコミュニティウィキ「魅力的なチューリング決定不能問題」に追加しました 複雑度クラスPに関連付けられたwikiの最初の貢献です。これは、ヴィオラの定理の新規性、自然性、および広範な範囲(およびIMHOの美しさ)を証明しています。

---編集(回答後)---

ジュリス・ハートマニスのモノグラフFeasible計算と証明可能な複雑性プロパティ(1978)は、Emanuele Violaの証明とほぼ同じ内容をカバーしています。


Lance FortnowとBill GASARCHのウェブログのトピック「75年のコンピューターサイエンス」に寄せられた質問への回答として、「チューリングにひたむきに尋ねることを望みました。 ...運命的に難しい質問を投げかけるチューリングの代わりに:「数字を計算する際に実行可能なプロセスは何ですか?」、次に尋ねられる質問は(およそ)「証明できるチューリングマシンが存在するかPのメンバーシップが決定できないNPでは?」これは、私がまだそれについて考えていることを示すためです!:)
ジョン・シドルズ

2
Iエマヌエーレヴィオラの証明は明確ですが、非常によく似た質問が尋ねたとMathoverflowに答えた:mathoverflow.net/questions/28056/...
アレックス10ブリンク

このスレッドに関するいくつかの答えとアイデアは、ディック・リプトンが彼のウェブログGodel's Lost Letterに投稿したエッセイ/質問セットに関連していることが証明されました。そのエッセイ/質問セットは「Getting On Base With P = NP」です。URL:rjlipton.wordpress.com/2011/07/04/getting-on-base-with-pnp
John Sidles

Pの境界は決定できませんが、(自分自身をさらに制限することによって)試行することを止めることはありません。このcstheoryの回答で
Artem Kaznatcheev

1
この質問は、次の記事に影響を与えました。arxiv.org
デビッドG

回答:


83

問題は決定不能です。具体的には、次のようにして停止の問題を減らすことができます。停止問題のインスタンスが与えられると、次のように機能する新しいマシンを構築します。長さ入力で、ステップでをシミュレートします。受け入れる場合、ステップループして停止します。それ以外の場合、ステップループして停止します。M n M x n M n 2 n 3(M,x)MnMxnMn2n3

場合上に停止、それがそうでの工程、程度の運転時間であろう。が停止しない場合、実行時間は少なくともです。x t = O 1 M O n 2M M n 3Mxt=O(1)MO(n2)MMn3

したがって、実行時間がかかを決定することにより、を受け入れるかどうかを決定できます。x M O n 2O n 3MxMO(n2)O(n3)


4
なぜMはO(1)ステップでxで停止する必要があるのですか?
スレシュVenkatさん

10
x nMとは、固定されます。xn
マヌー

2
非常に巧妙な証拠、それはいくつかの有名な結果のバリエーションですか、それともあなたはそれを考案しましたか?
アントニオE. Porreca

3
@Raphael:それは扱いにくい領域であり、私たちが解決したとは思わない。一部のstackexchangeサイトは、他の回答の編集を奨励しています。私たちにはそれに対するポリシーはありませんが、実際問題として、私はそれが実行されるのを見たことがほとんどありません。1つの技術的なポイント:回答の編集が多すぎると、コミュニティWikiになります。@ Emanueleは、回答がその後に支持された場合、それ以上の返信ポイントを取得しません。私は、追加の説明が明確に役立つだろうと思います:@ジョンSidlesは当初の約束が使用されていなかったと思ったが、証明は使用しています強力な約束:で実行しまたはだけでなく、P.n 2 n 3Mn2n3
アーロン・スターリング

2
@John:公開されたリファレンスが提供されていない限り、このガイドラインを考慮してください
ラファエル

29

これは、エマヌエーレヴィオラの答えを言い換えて、より理解しやすくすることを目標としています。

一般的な停止問題を減らすことで、与えられた問題が決定不能であることを示します。HPH

してみましょう、停止問題のいずれかのインスタンスであることは、我々が天気を決定する必要がある(上停止)。次のように機能するチューリングマシンを作成します。(M,x)M(x)MxM

M*(y) = {
  n := |y|
  Simulate M(x) for n steps
  if ( M(x) has halted )
    Execute n*n arbitrary steps
  else
    Execute n*n*n arbitrary steps
}

ここで、次の影響を観察します。

M(x)n0N:M halts on x after at most n0 stepsy:nn0M(y) executes n2 arbitrary stepsTM(n)O(n2)

そして

M(x)nN:M does not halt on x in less than n stepsy:M(y) executes n3 arbitrary stepsTM(n)Ω(n3)

したがって、。がアルゴリズム的に決定可能であると仮定すると、同様に矛盾します。H(M,x)P(M,2)PH


12

良い面としては、1テープチューリングマシンが与えられた時間で動作するかどうかを決定できます。C D NnCn+DC,DN

David Gajser:ワンテープ非決定論的チューリングマシンが時間内に実行されるかどうかの検証Cn+DarXiv:1312.0496


1
短時間のワンテープTMによる異常な動作の不足はありません。:)
Kaveh

4

この問題は、私の記事「ライスの定理の内包的内容」POPL'2008 でも解決されました。複雑度クリークは、同様の動作複雑度を持つプログラムを閉じたプログラムのクラスです。また、半決定可能なプロパティに必要な条件も提供します。

O(n ^ k)で実行されるプログラムは、上記の意味で複雑なクリークです。したがって、セットは決定できません。

結果は最近、Mathieu Hoyrupによるサブ再帰設定(Pなど)にも拡張されました:サブ再帰関数の決定可能なプロパティ(ICALP 2016)。


2

前の答えに追加すると、この問題は決定不能であるだけでなく、完全です。したがって、決定者が停止問題のオラクルを持っている場合でも、それは決定不能です。 Σ20

P-時間約束条件もあるが、完全性を明確にするため -complete、コードの決定可能集合が存在する内のすべてのマシンように多項式時間であり、質問がある完了します。 SSO N 2 Σ 0 2 SΣ20SSO(n2)Σ20S

これを証明するには、選択した完全、と(二進数のための)計算可能多項式時間を。 φをφX K MΣ20φψφ(x)kmψ(x,k,m)ψ

次に、次のマシンがである場合、が成り立ちます。ここで、は入力長です(マシンは入力長のみを考慮します)。O n 2nφ(x)O(n2)n

以下のための 0における:     もし:#ループ用いて試験         停止を     待つのステップが 停止n個の∀の M < Nkn
n 2m<nψ(x,k,m)

n2

小さすぎないごとに、プログラムが常に(たとえば)ステップで停止するかどうかは -completeですが、ロバストな方法で境界について尋ねると -completenessが得られます。≤のN 2 + C Π 0 1 Σ 0 2cn2+cΠ10Σ20


-1

ここに、この質問と関連するものに関する最近のより体系的な分析/角度/結果があり、「アルゴリズム検証可能性」の概念と複雑性理論のためのライスのようなthmアナログを紹介します。要約の関連セクションの1つは次のとおりです。P対NPなどの証明可能性に関連する他の多くの関連定理があります。

  • 計算可能な複雑さの概念が検証可能な数学にとって難しいのはなぜか / Hromkovic

    最初に、プログラムに関する各自明でないセマンティック問題は、アルゴリズム的に検証可能な「AV」数学でほとんどどこでも解決できないと主張して、ライスの定理を証明不能性について証明します。これを使用して、多項式時間で動作するという証明または多項式時間で動作しないという証明が存在しないアルゴリズム(証明可能なアルゴリズムであるプログラム)が無限にあることを示します。...

    P!= NPがAV数学で証明可能である場合、各アルゴリズムAについて、「AがSATISFIABILITYを解かない、またはAが多項式時間で機能しない」ことが証明されることに注意してください。興味深いことに、多項式時間で機能しないことを証明できないアルゴリズムや、SATISFIABILITYを解決しないアルゴリズムが存在することを最終的に示しています。さらに、SAT-FIABILITYを解決するアルゴリズムがあります。これは、多項式時間では機能しないことをAV数学で証明することはできません。

    さらに、P = NPは、アルゴリズムXの存在を意味し、「Xは多項式時間でSATISFIABILITYを解く」という主張はAV数学では証明できないことを示しています。


-3

Violaのソリューションは、任意の実行時間(ポリを超える)に一般化できます。次のようにして、停止の問題を減らすことができます。停止問題のインスタンス(M、x)が与えられた場合、次のように動作する新しいマシンM 'を構築します。長さnの入力で、f(n)ステップまたはMが停止するまでxでMをシミュレートします。 )は、nの任意の増加関数(定数より大きい)です。(目的:M 'は、入力が十分に大きく、Mが停止した場合に、すべての入力を不必要に読み取るためだけに線形時間[O(n)]を浪費することを避けるために、徐々に入力を読み取ります。)

Mがxで停止すると、T = O(1)ステップで停止するため、M 'の実行時間はO(1)になります。Mが停止しない場合、M 'の実行時間はO(n ^ 2 * f(n))です。

したがって、M 'の実行時間がO(1)かO(n ^ 2 * f(n))かを決定することにより、Mがxを受け入れるかどうかを決定できます。

次に、Raphaelの補助コードを次のように一般化できます。

(M、x)を停止問題のインスタンスとします。つまり、Mがxで停止するかどうかを決定する必要があります。次のように機能する決定論的チューリングマシン(DTM)M *を作成します。

  1. M *(入力)= {
  2. n:= 0
  3. 入力から最初のシンボルを読み取ります
  4. ループ:
  5. n:= n + 1
  6. f(n)ステップまたはM(x)が停止するまでM(x)をシミュレートします
  7. 入力から次のシンボルを読み取ります
  8. end_of_inputまたはM(x)が停止するまでループします
  9. }

ここで、次の影響を観察します。

Mは最大でk(定数)ステップ=> T(M *)= O(1)後にxで停止し、

Mはx => T(M *)= O(n ^ 2 * f(n))で停止しません

したがって、任意のDTMの実行時間が単に一定よりも長いかどうかを判断することでさえ、問題の停止と同じくらい困難です。□


2
1)LaTeXを使用してください。2)この質問に対する新しい貢献は何ですか?3)あなたの推論に誤りがあります。シミュレーションにはすでに時間がかかりますは一定の時間で実行できないことは確かです。On M MO(n)M
ラファエル

十分に大きいnの場合、M(x)が停止すると、そのシミュレーションも停止し、n0(一定)ステップ内でM *に戻ります。
アンドレルイスバルボサ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.