4.2 NPクラスの問題の例
この章では、NPクラスに属する具体的な問題の例をいくつか紹介します。NPクラスの問題とは、解が与えられたときに、その解答が正しいかどうかを多項式時間(つまり、入力サイズに対して比例的に増加する時間)で確認できる問題のことを指します。しかし、最適な解答を見つけるのは一般には困難です。
**旅行セールスマン問題**:この問題は、一連の都市を訪れて初めの都市に戻る最短ルートを見つけるというものです。都市の数が増えると、可能なルートの数は急速に増大し、全てのルートを試すことは不可能に近くなります。しかし、あるルートが与えられたときに、それが最短であるかどうかを確認するのは比較的簡単です。
**クリーク問題**:この問題は、あるグラフの中に特定の大きさのクリーク(互いに全てが直接結びついている頂点の集合)が存在するかを判断する問題です。頂点の数が増えると、クリークを見つけるのは困難になります。しかし、一旦クリークが見つかれば、それが正しいクリークであるかを確認するのは簡単です。
これらの問題は、解答を見つけるのが難しく、それがNPクラスの特徴であることを示しています。しかし、これらの問題がPクラスの問題(つまり、効率的に解答を見つけることが可能な問題)である可能性もまだ排除されていません。それがPとNPの問題の核心であり、次の章でさらに詳しく探ります。
---
この章の目的は、読者にNPクラスの問題が何であるか、それがどのような特性を持つかを具体的な問題を通じて理解させることです。これにより、読者はPとNPの問題の本質的な部分をより深く理解することができます。