【发布时间】:2016-12-03 10:30:22
【问题描述】:
为什么TSP和Hamiltonian path problem这两个问题都不是NP完全的?
它们看起来一模一样。
【问题讨论】:
标签: algorithm graph-theory np-complete np-hard
为什么TSP和Hamiltonian path problem这两个问题都不是NP完全的?
它们看起来一模一样。
【问题讨论】:
标签: algorithm graph-theory np-complete np-hard
NP-hardness 和 NP-completeness 的定义相关但不同。具体来说,如果 NP 中的每个问题在多项式时间内都归结为该问题,则该问题是 NP 难的;如果问题在 NP 中既是 NP 难的,又是其自身的问题,则该问题是 NP 完全的。
NP 类由决策问题组成,即有是/否答案的问题。结果,TSP 不能在 NP 中,因为预期的答案是一个数字,而不是是或否。因此,TSP 可以是 NP-hard,但不能是 NP-complete。
另一方面,哈密顿路径问题要求一个是/否的答案,它恰好在 NP 中。因此,由于它也是 NP 难的,所以它是 NP 完全的。
现在,您可以通过将问题从“最便宜的路径是什么?”更改为 TSP 并将其转换为决策问题。到“是否有一条花费 X 或更少的路径?”,后一种表述是 NP 的,而且恰好是 NP 完全的。
【讨论】:
要使问题 X NP-完全,它必须满足:
旅行商问题 (TSP) 有两个版本:
【讨论】: