📜  NP完整度|设置1(简介)

📅  最后修改于: 2021-05-07 09:35:28             🧑  作者: Mango

我们一直在写有效的算法来解决复杂的问题,例如最短路径,欧拉图,最小生成树等。这些都是算法设计人员的成功案例。在这篇文章中,讨论了计算机科学的失败故事。

可以用计算机解决所有计算问题吗?即使在没有时间限制的情况下,也存在无法通过算法解决的计算问题。例如,图灵暂停问题(给出一个程序和一个输入,无论该程序在使用该输入运行时最终会停止还是永远运行)。艾伦·图灵(Alan Turing)证明了解决所有可能的程序输入对暂停问题的通用算法是不存在的。证明的关键部分是,图灵机被用作计算机和程序的数学定义(源暂停问题)。
NP完全问题的状态是另一个失败案例,NP完全问题是状态未知的问题。尚未发现针对任何NP完全问题的多项式时间算法,也没有人能够证明对于它们中的任何一个都不存在多项式时间算法。有趣的部分是,如果可以在多项式时间内解决任何一个NP完全问题,那么所有这些问题都可以解决。

什么是NPPNP完全NP-Hard问题?
P是一组确定性的图灵机可以在P多项式时间内解决的问题。

NP是一组决策问题,可以由N个确定性图灵机在P多项式时间内解决。 P是NP的子集(在多项式时间内可以由确定性机器解决的任何问题也可以在多项式时间内由非确定性机器解决)。
非正式地,NP是一组决策问题,可以通过“幸运算法”(Lucky Algorithm)来解决多项式时间问题,这是一种神奇的算法,始终可以在给定的一组选择中做出正确的猜测(来源参考文献1)。

NP完全问题是NP集中最难的问题。在以下情况下,决策问题L是NP完全的:
1) L在NP中(可以快速验证任何给定的NP完全问题的解决方案,但没有有效的已知解决方案)。
2) NP中的每个问题都可以在多项式时间内归纳为L(归约定义如下)。

问题是NP-Hard如果遵循上述属性2,而不必遵循属性1。因此,NP-Complete集也是NP-Hard集的子集。

决策与优化问题
NP完整性适用于决策问题领域。之所以这样设置,是因为比较决策问题的难度比优化问题的难度要容易。但是,实际上,能够在多项式时间内解决决策问题通常将使我们能够在多项式时间内解决相应的优化问题(使用对决策问题的多项式调用)。因此,讨论决策问题的难度通常实际上等同于讨论优化问题的难度。 (来源参考文献2)。
例如,考虑顶点覆盖问题(给定一张图,找出覆盖所有边的最小尺寸的顶点集)。这是一个优化问题。相应的决策问题是,给定无向图G和k,是否存在大小为k的顶点覆盖?

什么是还原?
令L 1和L 2是两个决策问题。假设算法A 2求解L 2 。也就是说,如果y是L 2的输入,则算法A 2将根据y是否属于L 2回答“是”或“否”。
想法是找到从L 1到L 2的变换,以便算法A 2可以成为解决L 1的算法A 1的一部分。

一般来说,减少学习非常重要。例如,如果我们具有用于解决某些问题的库函数,并且可以将新问题简化为已解决的问题之一,则可以节省大量时间。考虑一个问题的示例,在该示例中,我们必须在给定的有向图中找到最小乘积路径,其中路径乘积是沿路径的边权重的乘积。如果我们有Dijkstra算法的代码来找到最短路径,我们可以记录所有权重并使用Dijkstra算法来找到最小乘积路径,而不必为这个新问题编写新的代码。

如何证明给定的问题是NP完整的?
从NP完全的定义来看,似乎不可能证明问题L是NP完全的。根据定义,它要求我们证明NP中的每个问题都可以多项式化为L的时间。幸运的是,还有另一种方法可以证明这一点。这个想法是采取一个已知的NP-完全问题并将其简化为L.如果多项式时间减少是可能的,则我们可以通过减少的传递性证明L是NP-完全(如果NP-完全问题可简化为多项式中的L时间,那么所有问题都可以在多项式时间内简化为L)。

被证明是NP-Complete的第一个问题是什么?
必须通过定义NP-完全问题来证明一些第一个NP-完全问题。 SAT(布尔可满足性问题)是Cook证明的第一个NP-Complete问题(有关证据,请参阅CLRS书)。

即使对于工程师,了解NP完整性也总是有用的。假设要求您编写一种有效的算法来解决公司的一个非常重要的问题。经过大量思考,您只能提出不切实际的指数时间方法。如果您不了解NP完整性,则只能说我无法提供一种有效的算法。如果您了解NP完全性并证明该问题为NP完全性,则可以自豪地说,多项式时间解不大可能存在。如果存在多项式时间解决方案,那么该解决方案将解决许多科学家多年来一直在尝试的计算机科学的一个大问题。

我们很快将讨论更多的NP-完全性问题及其对NP-完全性的证明。

参考:
麻省理工学院关于计算复杂性的视频讲座
算法入门第三版,作者:Clifford Stein,Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest
http://www.ics.uci.edu/~eppstein/161/960312.html