私の理解では、すべてのNP完全問題はNP困難ですが、一部のNP困難問題はNP完全ではないことが知られており、NP困難問題は少なくともNP完全問題と同じくらい困難です。
それは、NP完全ではないNP困難な問題がより難しいことを意味しますか?そして、それはどのように難しいですか?
この質問に答えるには、最初に、どのNP困難問題もNP完全であるかを理解する必要があります。 NP困難問題が集合NPに属する場合、それはNP完全です。セットNPに属するためには、問題は
(i)決定問題、
(ii)問題の解の数は有限であり、各解は多項式の長さである必要があり、
(iii)多項式の長さの解が与えられた場合、問題の答えが「はい」か「いいえ」かを判断できるはずです。
これで、set NPに属さず、解決が難しいNP困難な問題が多数存在する可能性があることが簡単にわかります。直感的な例として、巡回セールスマンの最適化バージョン実際のスケジュールを見つける必要がある場合は、長さ<= kのスケジュールが存在するかどうかを判断するだけでよい巡回セールスマンの決定バージョンよりも困難です。
チューリングマシンの停止問題は、チューリングマシンとNP困難では決定不可能ですが、NPCでは決定できません。どうやらそれは難しいです;)
NP困難問題のセットは、NP完全問題のセットのスーパーセットです。 NPよりも「難しい」複雑度クラスがあります。たとえば、 [〜#〜] pspace [〜#〜] 、 [〜#〜] exptime [〜#〜] または [〜#〜] expspace [〜#〜] であり、これらすべてにNP困難な問題が含まれていますが、NP完全問題は含まれていません。
チューリング停止問題は決定不可能であり、NP困難セットに属しています。停止問題をチューリングするために、それはRE言語であるため、決定者はありません。したがって、それを解決するためのアルゴリズムはありません。したがって、解決できない問題がNP困難セットにもあることは明らかです。したがって、NP困難セットには、解決するアルゴリズムがない言語または問題も含まれています。
から http://en.wikipedia.org/wiki/NP-hard#Examples
停止問題など、NP困難であるがNP完全ではない決定問題もあります。これは、「プログラムとその入力が与えられた場合、それは永久に実行されるのか」という問題です。それはイエス/ノーの質問なので、これは決定問題です。停止問題がNP困難であるが、NP完全ではないことを証明するのは簡単です。