言語LがNPにあるかどうかを判断できますか?


15

決定するチューリングマシンによって定義された言語Lが与えられた場合、LがNPにあるかどうかをアルゴリズムで決定することは可能ですか?


複雑性理論に再タグ付けされました。これがNP完全性とどう関係しているかはわかりません。
アルヤバタ

1
FWIW、提案サイトへの投票にもかかわらず、ファクタリングに関する質問はほとんどのイントロ複雑度コースでカバーされるため、この質問はファクタリングに関する質問よりもスコープ内にあると思いますが、これは多くの大学院レベルではカバーされていません複雑なコース。
ジョシュアグロチョウ

1
これは、ライスの定理の典型的な応用としての計算可能性に関するイントロコースではカバーされていませんか?
モリッツ

3
Moritz-この質問に対するyes / noの答えはライスの定理でカバーされていますが、より興味深い結果については私の答えをご覧ください。たぶん、txwikinger、あなたは質問を「集合{i:L(M_i)はNPにある}の複雑さは何ですか?」に変更すべきでしょうか?
ジョシュアグロチョウ

ここでジョシュアの答えを二番目にします。言語がチューリングマシンによって指定されている場合、答えは明白かもしれませんが、言語を何らかの任意の形式で指定できる場合、答えは同じです(おそらくそれほど明白ではありません)。
アナンドクルカルニ

回答:


24

いいえ。まず、ライスの定理により、これはTMの特性であり、TMが計算する言語にのみ依存するため、計算することはできません。

しかし、それ以上に、のインデックス集合することが知られている(、で計算言語そのTMの組であるN Pが)であるΣ 0 3 -complete(Σ 0 3における算術計算可能の階層ではありません多項式階層)。NPNPΣ30Σ30

このような質問は最初にHajekによって調査されました。詳細については、Ken Reganによるこの記事などを参照してください。

Hajekの論文からさらにいくつかの素晴らしいナゲット:

  • インデックスセットあるΣ 0 3 -complete。PΣ30
  • である Π 0 2 -complete{PLMNPLM}Π20
  • 総チューリングマシン(すべての入力で停止)がありように、P L iは = N P L Iが、文" PのL iは = N P Lをiは独立している"とは、(ここで、L iは = L M I) 。同様に、P N Pの相対化についても同様です。MPL=NPLPL=NPLL=LMPNP

1
ここでの質問は、完全な決定問題ではなく、約束決定問題(認識されただけでなく、TMによって決定されると約束された言語)のようです。ライスの定理はここでも適用できますか?ライスの定理の証明は停止の決定不能性を採用しているため、そこでは決定不能性が不可欠であることを思い出してください。
-Zeyu

2
質問では、言語Lは「それを決定する機械によって与えられた」と尋ねました。チューリングマシンMが与えられた場合、L(M)がNPにあるかどうかを判断できますか?言語LがTMによって指定されておらず、自然数のサブセットとして単に指定されている場合、LがNPにあるかどうかをアルゴリズム的に決定することはどういう意味ですか?特に、L自体が有限の記述によって与えられていないときに、Lをアルゴリズムへの入力と考えるにはどうすればよいでしょうか?
ジョシュアグロチョウ

1
はい、知っています。しかし、ライスの定理では、TMが言語を決定しない、つまり、全関数を計算しない可能性があります。
-Zeyu

2
「MはNP言語を定義する」などのチューリングマシンのセマンティックプロパティが与えられた場合、最初にこのプロパティを1次論理で表現しようとするのが一般的なヒューリスティックです。これにより、プロパティが算術階層のレベルに配置されます。ヒューリスティックは、プロパティが通常そのレベルの階層に対して完全であることです。このヒューリスティックに顕著な反例があるかどうかを尋ねたいと思います。
アンディドラッカー

2
多項式階層にスケールダウンすると、物事はそれほどうまく動作する可能性が低くなります。たとえば、プロパティ「Cは最小サイズのブール回路です(計算する関数の場合)」を考えます。この問題はNP困難であり、多項式階層に配置できますが、自然に存在するレベルで完全かどうかは明らかです。(このような結果は、一部の制限されたクラスの回路、たとえばDNFで知られています。シェーファーとウーマンスによる2部調査「多項式階層の完全性」を参照してください。)
Andy Drucker

5

Joshua Grochowが指摘したように、あなたの文字通りの質問に対する答えはノーです。

ただし、Holgerが述べたように、非決定的チューリングマシン(NTM)が一定のkに対してn ^ kステップ後に「クロック」し、停止するかどうかを線形時間でチェックすることができます。以下のコード)。多くの場合、NTMが多項式時間であるかどうかを判断することが可能であると論文または本が(誤って)示唆する場合、これが実際に意味するものです。おそらくこれがあなたが質問をした理由ですか?(複雑性理論を最初に学んだときに同じ質問があり、TMがポリタイムであるかどうかを確認することができるという声明をどこかで見ました。)本当の質問は、なぜこれをしたいのかということです。どのように

このようなクロック機能を追加する方法はたくさんあります。たとえば、長さnの入力xで、「プライマリアルゴリズム」の1つのステートメントを交互に実行し、次にn ^ kステップで終了する次のアルゴリズムの1つのステートメントを交互に実行するとします。

i_1 = 1からn
  i_2 = 1〜n
...
        i_k = 1からn
          ノーオペレーション;
戻り;

プライマリアルゴリズムが停止する前に上記のコードが返された場合、計算全体を停止します(拒否など)。

NTMがこの形式であるかどうかを決定するアルゴリズムは、その入力がポリタイムNTMであるかどうかを決定するアルゴリズムの試みとして解釈される場合、いくつかの偽陰性を報告します:一部のNTMは、多項式時間で停止することが保証されています上記のコードのように、アルゴリズムの1つのステートメントをクロックの1つのステートメントと交互に実行することはありません(したがって、ポリタイムであるにもかかわらず拒否されます)。

しかし、誤検知はありません。NTMがテストに合格すると、多項式時間で確実に停止するため、NP言語が定義されます。ただし、おそらく、プライマリアルゴリズムが停止する前にクロックがなくなると、基礎となるプライマリアルゴリズムの動作が変更され、終了するのに十分な時間が与えられた場合にプライマリアルゴリズムが受け入れられたとしても、計算が拒否されます。したがって、決定された言語は、プライマリアルゴリズムの言語と異なる場合があります。 だが、これが重要です。実行されるプライマリアルゴリズムが実際に時間p(n)で実行される多項式時間アルゴリズムであり、クロックの定数kがn ^ k> p(n)の大きさである場合、プライマリアルゴリズムは、クロックが切れる前に常に停止します。この場合、プライマリアルゴリズムの答えは変更されないため、プライマリアルゴリズムとそれをシミュレートするクロック付きNTMが同じNP言語を決定します。

何でこれが大切ですか?これは、「すべてのNP言語を列挙する」ことができることを意味します(私が言ったように、「特定のNTMがポリタイムかどうかを決定する」または「すべてのポリタイムNTMを列挙する」と不正確に記述されることがよくあります)。より正確には、NTMのM_1 M_2の無限リストを列挙することができます...

  1. 各M_kは多項式時間で実行され(たとえば、^ k時間クロックをM_kに接続することにより)、NP言語を決定します。
  2. 各NP言語は、リスト内のM_iによって決定された言語です。

発生しないのは、すべての多項式時間NTMがリストにあるということです。しかし、各NP言語には、それを表すNTMが無限にあります。したがって、各NP言語は、その代表的なNTMの少なくとも一部、特にn ^ kがM_kの実行時間を超える十分に大きなインデックスkにあるすべてのNTMをリストに持つことが保証されます。

これは、すべてのNP言語のそのような無限(または無制限)のリストをアルゴリズムで列挙する必要がある対角化のようなトリックを行うのに役立ちます。そしてもちろん、この議論全体は、ポリタイム決定論的TMなどのポリタイムNTM以外の多くの種類のマシンにも当てはまります。


3

pn


2
これは、クロック付きの非決定的 TMである場合にのみ機能します。時計付きのTM(指数関数的な時間で実行されるTMでも)を提供するだけでは、それが決定する言語がNPであるかどうかはまだ決定できません。ただし、N_1、N_2、...が指数クロックを持つTMの列挙である場合、N_iがすでに保証されているため、セット{i:L(N_i)is NP}はもはやSigma_3-completeではありません。合計ですが、それでもまだ計算できません。
ジョシュアグロチョウ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.