回答:
いいえ、 -hard問題は計算可能である必要はありません。定義はかなり完全です:ポリタイムソリューションを持つ問題がN Pのすべての問題にポリタイムソリューションがあることを意味する場合、問題はハードです(つまり、N Pのすべての問題に対してLの減少が存在します。)。
そのため、計算不可能な問題は空想的に困難です。多項式時間で解決できると仮定します。次に、計算可能でも計算不可能でもあるという矛盾を導き出すために、計算不可能であるという証明を使用します。この虚偽から、私たちは何でも導き出すことができます。つまり、私たちが見ている問題には多項式時間アルゴリズムがあるということです。
たとえば、停止問題考えます。我々は任意低減することができるN Pの言語AのにH、以下のように、我々はpolytimeチェッカー有すると仮定すると、F (S 、C )か否かをチェックCはのための証明書であるS ∈ Aを:
したがって、Holting問題を解くポリタイムアルゴリズムを1回呼び出すだけで、多項式時間で問題を解くことができます。
このような削減は、「falseの場合は何か」かどうかを判断するだけなので、役に立ちません。計算不可能な問題に対するポリタイムアルゴリズムはないことは既にわかっています。
この質問に関して、このコミュニティにはかなりの混乱があるようです。水をきれいにし、計算可能性とNP硬度の関係を明らかにすることを期待して、詳細な回答をします。
まず、関連するさまざまな定義について明確かつ明示的に説明することで、多くの混乱が解決すると考えています。
文字列には、いくつかの固定の有限アルファベットから文字の有限シーケンスです。
決定問題は、文字列の集合です。(通常、このセットは無限です。)決定の問題は、一部のプロパティの文字列をテストするものと考えてください。プロパティのある文字列はセットに含まれ、プロパティのない文字列は含まれません。
とBの 2つの決定問題があると仮定します。セイAがある多項式時間還元性のB一部の多項式がある場合、pは(X )とアルゴリズムいくつかのアルゴリズムMように、すべての文字列のための、
- に入力sを提供する場合、Mはp (| s |)ステップ(| s |は文字列sの長さ)未満で停止し、文字列M (s )を出力します。
- は、 M (s )が Bにある場合にのみ Aにあります。
すべてのNP決定問題Aについて、AがBに対して多項式時間で縮約可能であれば、決定問題はNP困難です。
すべての文字列sに対してアルゴリズムMが存在する場合、決定問題は計算可能です。
- に入力sを提供すると、Mは停止し、「yes」または「no」を出力します。
- 出力は、がAにある場合は「yes」、それ以外の場合は「no」です。
上記の定義を使用すると、あなたの質問の根本的な混乱と思われるものをすぐに明確にすることができます。意思決定問題、削減、またはNP困難の定義では、意思決定問題を計算可能にする必要はありません。定義は、決定の問題を任意の文字列のセットとして考えると完全に理にかなっており、これらのセットは実際に非常に厄介な場合があります。
テーブルには2つの質問が残ります。
質問1の方が簡単に答えられます。NP困難な計算不可能な決定問題を見つけるには、特に重要な2つの方法があります。最初の問題は停止問題です。停止問題には、すべての計算可能な決定問題が多項式時間でHに還元できるという性質があります。NP問題は計算可能であるため、すべてのNP問題はHに対して多項式時間で縮約可能であるため、HはNP困難です。
計算不可能なNP困難な問題を構築する他の重要な方法は、既知のNP困難な問題を既知の計算不可能な問題と組み合わせることができることを観察することです。してみましょう NP困難とさBは、非計算可能。決定問題形成A ⊕ Bを次のようにA ⊕ Bは、「文字列に続いて、0形のこれらの文字列が含まれているA」の文字列が続く、1「及び形状のものB」。A ⊕ Bは、我々が(どんな問題の)任意の削減を変えることができますので、NP困難であるAへの削減にA ⊕ B:アルゴリズムを微調整して、出力文字列の先頭に余分な「0」を出力します。計算するので、非計算でA ⊕ Bを決定する必要がある「1」で始まるセット内にあるストリング。Bは計算不可能であるため、これは不可能です。
質問2はかなり複雑ですが、実際には、NP困難ではない計算不可能な決定問題があります(P NPと仮定)。Yuvalの正解は、このような決定問題を明示的に構築します。(部屋内の任意の計算可能性理論家のために、任意の「コーエンΠ 0 1 -genericは」だけでなく、トリックを行います。)「NP困難な問題がハードであることを直感は、非計算問題は難しいですなぜ私が壊しますよ" 間違っている。
NPの困難さと計算不可能性はどちらも、問題は非常に一般的な意味で「難しい」と言っていますが、それらは非常に異なっており、同じ種類の現象としてまとめてはいけません。具体的には、NP-硬度は「正」の特性である:NP困難問題用チートシートへのアクセス与えられた、という意味では困難であるAを、あなたができる問題のハードクラスを解決します。一方、非計算可能性は「負の」特性です。特定のリソースのクラスではAを解くことができないという意味で、計算不可能な問題です。
途中で「強制」、技術は「コーエン生成するために使用される(私が述べていること。非常に非常にあいまいであるためには、強制的にジェネリック」を彼らが持っているという点で、「汎用」です農産物のものへの一般的な方法です。正のプロパティもすべての負のプロパティもありません。そのため、強制は計算可能でもNP困難でもない問題を直接生成する可能性があります。
いや。NP-Hardとは、最も困難なNPの問題よりも難しい、または難しいことを意味します。直感的には、計算不可能であることは、NPよりもはるかに困難になります。
ウィキペディア:
NPが難しいがNPが完全ではない決定問題、たとえば停止問題があります。
計算できないことは誰もが知っている
problem()
呼び出すことができる関数はありません。
完全を期すために、次の定理を証明しましょう。