NP完全問題(えぬぴーかんぜんもんだい、NP-complete problem)は、クラス
NP(Non-deterministic Polynomial)に属する問題でかつ、クラス
NPのすべての問題から
多項式時間帰着可能な問題である。すなわち、NPに属する問題のうちで
NP困難なものである。クラスNPに含まれる問題で、あるNP完全問題から多項式時間還元可能なものも、またNP完全である。現在発見されているNP完全問題の多くがこの定理によって
充足可能性問題より導かれたものである。
充足可能性問題がNP完全であることは1971年、
スティーブン・クックによって証明された。
もう一つの理由としてはNP完全とNP困難は
計算複雑性理論の研究者にとっては重要な違いではあるが、
アルゴリズム論の研究者にはそれほど重要な違いではないためである。アルゴリズム論の研究者にとっては
P≠NP予想が肯定されるなら、どちらも「
多項式時間では解くことのできない問題」でしかなく、それらの問題に対して
メタ・ヒューリスティックなどを適用することによってどこまで効率的に近似解を見つけられるか、多項式時間の内でどこまで小さな
近似度の
近似アルゴリズムを設計できるかなどが主な論点となり、両者の違いが大きく出るような状況にはならないからである。