“ NP完全”优化问题


24

我对所遇到的关于优化问题的复杂性的某些术语感到有些困惑。在算法课程中,我遇到了一个大的简约问题,被描述为NP-complete。但是,我不确定在优化问题中术语“ NP完全”的含义。这是否仅表示相应的决策问题是NP完全的?这是否意味着优化问题实际上可能会更困难(也许在NP之外)?

尤其是,我担心这样一个事实,即一个NP完全决策问题可以通过多项式时间验证,而解决相应优化问题的方法似乎并不是多项式时间可验证的。这是否意味着问题并非真正存在于NP中,还是多项式时间可验证性只是NP决策问题的特征?


3
检查此问题
Ran G.

1
还有这个问题:决策问题的优化版本
凯夫

1
@RanG。,我不确定这是否完全相同
卡韦

@Kaveh你是对的,但是uli很好的答案完全可以回答这个问题。
Ran G.

@RanG。,可能有多个出色的答案。:)
Kaveh

Answers:


13

尝试部分回答:

从优化算法的角度来看,决策问题已经被调查了一段时间,直到优化问题出现为止。

继承决策问题中的概念时必须小心。可以做到,并且可以给出优化问题的NP完整性的精确概念。看这个答案。当然,它与决策问题的NP完备性不同,但是它基于相同的思想(归约法)。

如果您遇到无法通过可行解决方案进行验证的优化问题,那么您将无能为力。这就是为什么通常认为:

  • 我们可以有效地验证输入是否实际上是我们优化问题的有效实例。
  • 可行解的大小在多项式上受输入大小的限制。
  • 我们可以有效地验证解决方案是否是输入的可行解决方案。
  • 可以有效地确定解决方案的价值。

否则,我们没有什么希望可以实现的。

复杂度等级ñP仅包含每个定义的决策问题。因此,其中没有任何优化问题。而基于验证定义ñP你提到是针对NP。我还没有遇到优化问题。

如果您想验证一个解决方案不仅可行,而且是最优的,那么我要说这与解决原始优化问题一样困难,因为为了反驳给定的可行且可能的最优解为非最优方案,您需要必须提供更好的解决方案,这可能需要您找到真正的最佳解决方案。

但这并不意味着优化问题就更难了。请参阅此答案,这当然取决于精确的定义。


能否请您提供一篇文章或一本书的参考书,在这里我可以找到有关NP硬度优化问题的精确定义,减少等的更多信息?到目前为止,我还不知道。这对我来说非常有趣。谢谢。
John Threepwood'7


-1

大多数优化问题可以归类为P,NP,NP完全等的原因是Kuhn-Tucker条件。我将讨论线性编程问题,但是KTC可以应用于许多其他优化问题。对于每个优化问题,都有一个对偶。如果原始问题的目标是最大化某个功能,则对偶(通常)具有一个最小化的功能。*可行,但对偶问题不可行/无效,对原始问题的解决方案无效/无效;反之, -反之亦然。当且仅当一个解决方案适用于主要和双重解决方案时,这才是两者的最佳解决方案。(从技术上讲,它可能是产生相同结果的大量最佳解决方案之一。)

因此,找到优化问题的最佳解决方案等同于为主要和对偶找到有效解决方案。您可以使用优化算法来找到该解决方案,但是整个过程是存在的证明。

  • 如果要从最小翻转为最大化,请将目标函数乘以-1。

3
我看不到KKT条件与NP硬度有何关系,您能否详细说明?
离散蜥蜴

2
我真的不知道这如何回答问题。PNP等是决策问题的类别。优化问题不是决策问题,因此按定义,它们不在任何此类中。
David Richerby

2
我也看不出如何回答这个问题-这是一个有趣的评论,但它似乎回答的问题与所提出的问题不同。该问题询问说优化问题是NP完全的意味着什么,并且考虑到优化问题不是决策问题,是否可以说优化问题在NP中。这说明了在给定优化问题(无法验证解决方案)的情况下,我们通常可以构造一个可以验证解决方案的相应问题。非常有趣的东西,但我不确定它是否能回答所提出的问题。
DW

1
@DW我认为这并未真正回答问题的主要原因是,除了已经提到的内容外,KKT将设置限制为“常规”(例如连续,可微,凸)函数的数学优化。此设置不适用于大多数NP难题。
离散蜥蜴
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.