我在很多地方都读到有些问题很难近似( NP很难近似 )。但是,逼近并不是一个决定性的问题:答案是一个实数,而不是是或否。同样对于每个所需的逼近因子,有许多正确的答案和许多错误的答案,并且随着所需的逼近因子而变化!
因此,如何说这个问题是NP问题呢?
(灵感来自有向图中计算两个节点之间的简单路径的数量有多困难?)中的第二个项目符号。)
我在很多地方都读到有些问题很难近似( NP很难近似 )。但是,逼近并不是一个决定性的问题:答案是一个实数,而不是是或否。同样对于每个所需的逼近因子,有许多正确的答案和许多错误的答案,并且随着所需的逼近因子而变化!
因此,如何说这个问题是NP问题呢?
(灵感来自有向图中计算两个节点之间的简单路径的数量有多困难?)中的第二个项目符号。)
Answers:
正如您所说,尚无决策,因此需要新的复杂度类别和新的归约类型,才能为优化问题确定合适的NP硬度定义。
一种实现方法是拥有两个包含优化问题的新NPO和PO类,它们当然会模拟决策问题的NP和P类。还需要新的减少。然后,我们可以按照成功解决决策问题的方法,为优化问题重新创建NP-hardness版本。但是首先我们必须同意什么是优化问题。
定义:令是一个优化问题。是适合编码为字符串的一组输入或实例。是每个实例映射函数到一组串,该可行解实例的。这是一个集合,因为有许多优化问题的解决方案。因此,我们没有一个目标函数 可以告诉我们每一对 的实例和它的溶液的成本或值。告诉我们,无论我们是最大化或最小化。
这使我们能够定义什么的最佳解决方案是:让是最佳的解决方案的实例的优化-问题的与
现在我们可以定义类NPO:让是所有优化问题的集合,其中:
它的直觉是:
这反映了现在如何为PO定义情况:令P O为N P O的所有问题的集合,这些问题可以通过多项式时间内的确定性算法解决。
现在我们能够定义我们要调用的近似算法:一种近似算法的优化,问题的是计算一个可行的解决方案的算法Ÿ ∈ 大号(X )为一个实例X ∈ X。
注意:我们不要求最佳解决方案,而只是寻求可行的解决方案。
现在,我们有两种类型的错误:该绝对误差的可行解的的实例的X ∈ X优化-问题的ø = (X ,大号,˚F ,ö p 吨)是| f (x ,y )− f (x ,y ∗)| 。
我们称之为近似算法的绝对误差用于优化-问题Ø所界定ķ如果算法一个为每个实例单位计算X ∈ X一个可行的与有界的绝对误差的解决方案ķ。
示例:根据变色定理,图的色指数(边缘着色中使用的颜色最少的颜色数)是或Δ + 1,其中Δ是最大结点度。根据定理的证明,可以设计出一种近似算法,用于计算Δ + 1种颜色的边缘着色。因此,我们有一个关于M i n i m u m - E d g e C o l o r i n的近似算法问题,绝对误差以 1为界。
这个例子是一个例外,小绝对误差是罕见的,因而我们定义相对误差 的逼近算法的甲在实例X优化-问题的ø = (X ,大号,˚F ,ö p 吨)与˚F (X ,ÿ )> 0对于所有X ∈ X和ÿ ∈ 大号(X )是
其中是由近似算法计算的可行解。甲
现在,我们可以定义近似算法用于优化-问题是一个 -近似算法为如果相对误差为界对于每个实例,因此 Ô = (X ,大号,˚F ,ö p 吨)δ Ô ε 甲(X )δ ≥ 0 X ∈ X ε 甲(X )≤ δ
在相对误差定义的分母中选择,以使定义对称,以最大化和最小化。相对误差。在出现最大化问题的情况下,解的值永远不会小于并且永远不会大于用于最小化问题。ε 甲(X )∈ [ 0 ,1 ] (1 - ε 甲(X ))⋅ ˚F (X ,ÿ *)1 /(1 - ε 甲(X ))⋅ ˚F
现在,如果存在一个以多项式时间运行的的近似算法,我们可以调用一个优化问题 -approximable 。δ 一个Ø
我们不想查看每个实例的错误,只查看最坏情况。因此,我们定义,则最大relativ误差的近似算法的用于优化-问题是 ϵ A(n )A O ϵ A(n )= sup { ϵ A(x )∣ | x | ≤ ñ } 。
凡应该是实例的大小。
示例:通过将所有从匹配到顶点覆盖的入射节点相加,可以将图中的最大匹配转换为最小节点覆盖因此边缘被覆盖。由于每个包含最优顶点的顶点覆盖必须具有每个覆盖边的节点之一,否则可以对其进行改进,因此我们得到。因此, 因此,用于最大匹配的贪婪算法为近似值算法。因此是。1 / 2 ·&| C | 1 / 2 ·&| C | ⋅ ˚F (X ,ÿ *)| C | − f (x ,y ∗) 1/2中号我Ñ我中号一升-VËř吨ËXÇÒvéř中号我Ñ我中号一升-VËř吨ËXÇÒvë- [R1/2
不幸的是,相对误差并不总是最佳的近似质量概念,如以下示例所示:
示例:一个简单的贪心算法可以近似。分析显示,因此将是 -近似的。| C |中号我Ñ我中号Ü中号-šË吨ÇÒvëřLN(Ñ)
如果相对误差接近于则以下定义是有利的。
让是一个优化-问题对于所有和和的近似算法为。实例的可行解的近似比率为 ˚F (X ,ÿ )> 0 X ∈ X Ý ∈ 大号(X )甲Ô ř 甲(X )甲(X )= Ý ∈ 大号(X )X ∈ X r A(x )= { 1 f (
我们称之为一个近似算法之前一个 -近似算法的优化-问题如果近似比是由有界对于每个输入。 再一次,如果对于优化问题我们有一个近似算法,那么称为近似。同样,我们只关心最坏的情况,并将最大近似比率为 - [R ø ř 甲(X )- [R ≥ 1 X ∈ X ř 甲(X )≤ [R [R 甲ö ø - [R [R 阿(Ñ )- [R 阿(Ñ )= SUP { ř 甲(X )| | x | ≤ ñ } 。1 中号我Ñ 我米ù 米-
对于与最佳和的较小偏差,相对误差优于近似比率,这表明其在较大偏差和。
-approximable 的两个版本不重叠,因为一个版本始终为,而另一个版本始终为。的情况是没有问题的,因为只有通过产生精确解的算法才能解决此问题,因此不必将其视为近似算法。
经常出现另一类APX。它被定义为一组所有优化-问题从是天堂的 -近似算法与,在多项式时间内运行。
我们快完成了。愿我们的成功理念复制的减少和completness从复杂性理论。可以观察到,优化问题的许多NP硬决策变量可以彼此简化,而它们的优化变量在逼近性方面具有不同的属性。这是由于在NP不完全性减少中使用的多项式时间Karp减少,它不保留目标函数。即使保留了目标函数,多项式时间-Karp归约法也可能改变解的质量。
我们需要的是简化的更强版本,它不仅将实例从优化问题映射到实例,而且还将良好解决方案映射到良好解决方案。
因此,我们从定义了两个优化问题和的近似保留约简。如果存在两个函数和以及一个常数,我们将还原为,写为:
在这个定义中,和取决于解的质量。因此,对于不同的质量,功能可能会有所不同。不一定总是需要这种通用性,我们只需使用和。
现在我们有了减少优化问题的想法,我们终于可以转移我们从复杂性理论中学到的许多知识。例如,如果我们知道中的并且显示那么它也将跟随中的。
最后,我们可以定义 -hard和 -complete表示优化问题的含义:
让从优化-问题和一类的优化-从问题的然后被称为 -hard相对于如果对所有成立。
因此,我们再次有了班上最困难的问题的观念。并不奇怪一个 -hard问题称为 -complete相对于如果是的元素。
因此,我们现在可以讨论和等。当然,现在要求我们展示第一个问题,该问题承担的角色。可以很自然地证明是完整的。借助PCP定理,甚至可以证明是。
现有的两个答案非常有帮助,但我认为它们中的任何一个都不能真正回答这个问题,即“当NP是一类决策问题时,哪怕不是决策问题的问题也很难解决? ?
答案是记住NP-hard的含义。如果将NP中的每个问题都可以简化为那么问题 在某种简化下是NP难的 。(如果 是NP困难的,则是NP完全的;在NP中是。)非正式地,NP困难的意思是“即使我能解决这个问题,我也能解决NP中的所有问题”,即使您正在谈论的问题是“ t在NP中。NP硬度不需要NP的成员身份,但确实需要还原的正确概念。
一些例子。