在我的计算机科学教育中,我越来越注意到,大多数离散问题(至少是NP完全问题),而优化连续问题几乎总是很容易实现的,通常是通过梯度技术实现的。有例外吗?
在我的计算机科学教育中,我越来越注意到,大多数离散问题(至少是NP完全问题),而优化连续问题几乎总是很容易实现的,通常是通过梯度技术实现的。有例外吗?
Answers:
我喜欢的一个示例问题是,给定不同的,确定是否:∫ π - π COS (一个1个 Ž )COS (一个2 Ž )... COS (一Ñ Ž )
起初,这似乎是评估此积分的一个连续问题,但是如果存在集合的平衡分区,则很容易证明该积分不为零,因此该积分问题为实际上是NP完整的。
当然,我鼓励尝试一些数值工具,以使自己相信,一旦足够大,大多数(如果不是全部)评估该积分的数值技巧注定会失败。
存在许多形式为“测试此组合输入是否可以实现为几何结构”的连续问题,这些问题对于实数存在的理论(NP的连续模拟)是完整的。特别是,这意味着这些问题是NP难题,而不是多项式问题。示例包括测试给定图是否为单位距离图,是否可以在具有直线段边缘和最多给定交叉次数的平面上绘制给定图,或者是否可以拉伸给定伪线排列以形成线安排。
还有其他持续的问题甚至更难解决:例如,在3d中的多面体障碍中找到最短的路径是PSPACE完全的(Canny&Reif,FOCS'87)。
尽管这不能完全回答您的原始问题,但这是一种哲学对立的(推测性)示例:一个问题,即表示形式是离散的,但所有难度都来自问题的“连续性”方面。
很难,人们普遍怀疑它可能是NP困难的,实际上可能不在NP范围内(如评论中所述,有充分的理由认为它不是NP完整的);迄今为止,唯一已知的限制是多项式层次结构中的较高级别。显然,此问题的表示形式是尽可能离散的(一组整数和关于它们的是/否问题),但是由于出现了难题,因为尽管计算任意指定精度的平方根是一个容易的问题,但可能需要计算它们以较高的精度(可能是超多项式)来解决不平等问题。这是一个“离散”的问题,它出现在数量惊人的优化环境中,并有助于加剧其自身的复杂性。
离散问题通常更难解决(例如LP vs. ILP),但问题不是问题本身,而是离散性……约束条件如何影响您搜索域的方式。例如,您可能认为优化多项式是可以有效完成的事情,但是 确定四次凸(4级多项式)是NP-hard的。
这意味着即使您已经以某种方式拥有最佳状态,简单地证明自己处于最佳状态已经是NP难题了。
2^n
“ 有趣的邻居 ”。
尽管对于某些普遍存在的问题,这确实是正确的,但我认为这两个假设(取决于您定义为优化问题的假设)都不正确。
首先给出一些定义:大多数优化问题都不是NP的一部分。例如背包问题:一个人不能利用不确定性来构造最有价值的袋子,这很简单,因为不同的不确定性分支没有共享内存。NP也被定义为“多项式可验证”(验证证书)[1, p. 34]
。在这种情况下,证书例如是bag:一个位串,如果第i位被设置,则表示第i个项是bag的一部分。如果这样的包比给定的阈值更有价值,您确实可以检查多项式时间(这是决策变量)),但就我们所知,您不能(基于我们所知)基于一个袋子(多项式袋子)来确定该袋子是否是所有可能袋子中最有价值的袋子。那是NP和EXP之间的重要区别:在EXP中,您可以枚举所有可能的袋子,并记账哪个袋子是最好的袋子。
优化问题的决策变量在某些情况下是NP的一部分,需要明确区分最大化风格和决策风格。在决策方面,问题是:“ 给定优化问题和效用范围,是否存在效用大于或等于该范围的解决方案 ”(或为最小化问题而稍作修改)。
我还假设由NP你的意思的(假设的)部分NP不是的一部分P。如果P = NP,当然NP-complete仍然存在,但是它将等于P(仅在某些归约概念上与P吻合,例如@AndrásSalamon的多项式多次多归约法),这并不是那么令人印象深刻(并会减少您在问题中指出的“ 差距 ”。
我越来越注意到大多数离散问题都是NP完全的。
现在我们已经解决了这一问题:P中存在许多优化问题:最短路径问题,最大流量问题(对于积分容量),最小生成树和最大匹配。尽管这些问题对您来说看起来似乎“微不足道”,但它们仍然是优化问题,在许多情况下,构造(和正确性证明)并不那么容易。因此,该主张并不包含所有离散问题都是NP完全的。给定P不等于NP,那么这些问题就不可能是NP完全的。
而优化连续问题几乎总是可以轻松实现的。
实际上,长期以来,线性编程也一直被认为是NP难的,但是具有很好的启发式(单纯形法)。然而,Karmarkar的算法在P中。
从优化问题处理非凸对象的那一刻起,通常很难(即使不是不可能)找到有效的算法。
参考书目
P=NP
,在每一个问题NP完全是由定义部分NP和延伸。因此P,现在P意味着存在一个多项式算法。关键是,我认为转换并不重要,因为对于P中的每种语言,都必须存在一个多项式算法。是否进行(最多多项式)变换都无关紧要。它仍然是多项式,因此在P中。换句话说,由于原始元素位于P中,因此您可以免费进行每个多时间转换(不会导致复杂度更高的类)。