先决条件: NP-完全性
NP问题:
NP问题是一组问题的解决方案很难找到但很容易验证,并在多项式时间内由非确定性机器解决。
NP难问题:
如果存在 NP 完全问题 Y,则问题 X 是 NP-Hard 问题,使得 Y 在多项式时间内可归约为 X。 NP-Hard 问题与 NP-Complete 问题一样困难。 NP-Hard 问题不必属于 NP 类。
NP完全问题:
如果存在 NP 问题 Y,则问题 X 是 NP 完全的,使得 Y 在多项式时间内可归约为 X。 NP 完全问题与 NP 问题一样难。如果一个问题是 NP 和 NP-Hard 问题的一部分,那么它就是 NP-Complete。非确定性图灵机可以在多项式时间内解决 NP-Complete 问题。
NP-Hard 和 NP-Complete 的区别:
NP-hard | NP-Complete |
---|---|
NP-Hard problems(say X) can be solved if and only if there is a NP-Complete problem(say Y) that can be reducible into X in polynomial time. | NP-Complete problems can be solved by a annon-deterministic Algorithm/Turing Machine in polynomial time. |
To solve this problem, do not have to be in NP . | To solve this problem, it must be both NP and NP-hard problems. |
Do not have to be a Decision problem. | It is exclusively a Decision problem. |
Example: Halting problem, Vertex cover problem, Circuit-satisfiability problem, etc. | Example: Determine whether a graph has a Hamiltonian cycle, Determine whether a Boolean formula is satisfiable or not, etc. |
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。