【问题标题】:Definition of NP CompleteNP完全的定义
【发布时间】:2016-01-22 20:53:33
【问题描述】:

我正在尝试理解 NP Complete 的正式定义并且有一些问题。我想知道是否有人可以提供更多见解。

Jon Kleinberg algorithms book 表示如果每个 NP 问题都可以简化为问题 X,那么问题 X 就在集合 NP Complete 中。

现在由于 P 是 NP 的子集,因此我们可以在多项式时间内将 P 中的任何问题简化为 NP 完全问题。这导致了一个矛盾,因为减少是在多项式时间内,我们可以在多项式时间内解决这个 NP Complete 问题。这不可能是真的。所以我不确定这个推理哪里错了。

此外,如果我们能够将多项式时间内的任何 NP 问题简化为 NP Complete,那么为什么我们说 NP Complete 更难。由于减少是多项式时间,渐近地说,它不应该有所作为。

【问题讨论】:

  • 你混淆了“减少”是什么意思。
  • 考虑在 stackexchange 的计算机科学部分问这个问题 aka cs.stackexchange.com
  • 这是个好主意。我不知道存在 CS 部分。谢谢!!!

标签: np np-complete p-np


【解决方案1】:

现在由于 P 是 NP 的子集,因此我们可以减少任何 P 中的问题到多项式时间内的 NP 完全问题。这导致 矛盾的是,由于减少是在多项式时间内,我们 可以在多项式时间内解决这个NP完全问题。

你弄错了减少的方向。如果您可以将任何 NP 完全问题简化为给定的 P 问题,则 P = NP,因为这意味着该 P 问题比任何 NP 完全问题更难或等价。一个 P 问题可以简化为 NP 问题这一事实并不表明它比 NP 更难——它表明它比 NP 更容易,这并不奇怪或矛盾。

假设我们可以将最短路径减少到 1 次运行 TSP,并假设 TSP 只能通过枚举来解决(指数复杂度)。那么,最短路径是多项式的,归约是多项式的 (O(1)),但 TSP 不是多项式。这是一个假设的示例。但希望它表明 TSP 可以一次性解决 SP 的事实并不意味着 TSP 在任何方面都很容易。 TSP 的复杂性不受它可以轻松求解 SP 的限制。

【讨论】:

  • 我同意将 P 问题简化为 NP 问题意味着 NP 问题必须比 P 问题更难。然而,由于减少是多项式时间,它有多难?将 P 问题简化为的 NP 问题应该仍然可以在多项式时间内求解。我仍在努力理解这一切。
  • 嗯。这是一个很好的观点@tinlyx。当我在阅读完这个解释后回顾我的问题时,这一切都是有道理的。谢谢!!!
  • @AggieMan 当然。我很高兴能提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 2015-07-09
  • 2011-09-09
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
相关资源
最近更新 更多