【エヌピーこんなん】

NP困難 とは?

💡 宇宙が終わるまで計算しても解けないかもしれない超難問たち
📌 このページのポイント
NP困難 ─ 計算量クラスの関係 P 効率的に解ける NP 検証は効率的 NP完全 NP困難 NPと同等以上に難しい 巡回セールスマン (最適解) ナップサック (最適解) 停止問題 帰着 P ⊆ NP ⊆ NP困難(P≠NP予想が正しい場合)
NP困難のイメージ
ひよこ ひよこ

NP困難って「すごく難しい」ってこと?

ペンギン先生 ペンギン先生

ざっくり言うとそうだね。もっと正確には「NPに属するどの問題よりも簡単ではない」つまり「少なくともNPと同じくらい難しい」問題のことだよ

ひよこ ひよこ

NP完全っていうのもあるけど、何が違うの?

ペンギン先生 ペンギン先生

NP完全はNP困難かつNPに属する問題のことだよ。NP困難はNPに属さなくてもいいから、NP完全よりも広い概念なんだ

ひよこ ひよこ

具体的にはどんな問題があるの?

ペンギン先生 ペンギン先生

有名なのは巡回セールスマン問題の最適解を求めることだね。都市が増えると組み合わせが爆発的に増えて、全探索では現実的な時間で解けなくなるんだ

ひよこ ひよこ

じゃあNP困難な問題は諦めるしかないの?

ペンギン先生 ペンギン先生

最適解を保証するのは難しいけど、近似アルゴリズムやヒューリスティクスで「十分良い解」を実用的な時間で求めることはできるよ。実際の物流ルート最適化もそうやって解いているんだ

ひよこ ひよこ

もしNP困難な問題を効率的に解けたらどうなるの?

ペンギン先生 ペンギン先生

それはP≠NP予想を崩すことになるから、コンピュータサイエンス史上最大の発見になるよ。暗号の多くがNP困難な問題の難しさに依存しているから、もし解けたら現在の暗号体系が崩壊する可能性もあるんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「NP困難」って出てきたら「今のところ効率的に解く方法が見つかっていない、めちゃくちゃ難しい問題のカテゴリ」と思えればだいたいOK!
📖 おまけ:英語の意味
「NP-Hard」 = 非決定性多項式時間困難
💬 NP(Nondeterministic Polynomial time)のすべての問題と同等以上に難しい(Hard)という意味で名付けられたよ
← 用語集にもどる