NP-hard问题的最优贪心算法


38

贪婪,因为没有更好的词,是好的。入门算法课程中最早教授的算法范例之一是贪婪方法。贪婪方法可得出针对P中许多问题的简单直观算法。更有趣的是,对于某些NP难问题,显而易见的自然贪婪/局部算法会(在适当的复杂性理论假设下)产生(证明)最佳逼近因子。一个经典的例子是“ 设置封面问题”。自然贪婪算法给出O(ln n)近似因子,除非P = NP,否则它是最佳的。

列举一些自然的贪婪/局部算法,以解决NP难题,这些问题在适当的复杂性理论假设下可证明是最优的。


Suresh(或)Ryan,能否请您添加一个名为“ hardness-of-approximation”的标签并标记这个问题。我不能用我的当前声望:(又加入新的标签,因为标签长(> 20个字符)是不允许的,它应该是硬度-的-约我猜。
湿婆Kintali

您好Shiva,我按照您的建议添加了“近似硬度”标签,但我个人认为近似硬度听起来更好,并且应该比近似算法短,因此应该可行。
凯夫

6
精心挑选的第一句话。;)
AlcubierreDrive 2010年

Answers:


19

条件期望的方法(用于将Max-Cut和Max-SAT的“随机分配”算法去随机化)可以看作是一种贪婪策略:对于,您选择变量的值,例如结果减少的实例中满足的约束的预期数量超过当前实例中的约束的预期数量。(事实上,贪心算法为 -approximating最大形切割是相同的算法“的条件期望方法” -approximating最大方形)。i=1,,nxi1/21/2

由于该方法也适用于Max-E3-SAT并达到逼近,因此这是贪婪算法的一个示例,除非(参见Hastad和Moshkovitz-Raz对于Max- E3-SAT)。7/8P=NP


16

顶点覆盖:最佳常数因子近似算法涉及(贪婪地)找到最大匹配并选择所有涉及的顶点作为近似解。这样就产生了一个2近似的解,除非唯一游戏猜想为假,否则不可能有更好的恒定因子近似

Subhash Khot和Oded Regev,顶点覆盖范围可能很难逼近2-ε,JCSS 74(3),2008。

离题:我认为这是一个非常可爱的近似算法,尤其是因为事后看来,它是如此微不足道。


1
最大匹配算法真的很贪心吗?
Suresh Venkat 2012年

是的,因为它在每个步骤都做出了局部最优选择。该算法实际上做出了局部/可行/选择,但是由于未对边缘进行加权,因此这也是最佳选择。
gphilip

11

给定有向图,找到具有最大边数的无环子图。

平凡2逼近算法:选取任意的顶点顺序,并采用前边缘或后边缘。

击败2逼近被认为是独特的游戏难题(尽管可能不是NP难题)。

  • 打破随机顺序很难:最大无环子图Venkatesan Guruswami,Rajsekar Manokaran和Prasad Raghavendra的不可逼近性。

11

关于基数约束的亚模最大化具有1-1 / e贪婪近似。算法归功于Nemhauser,Wolsey,Fisher。NP硬度源自设置覆盖物的np硬度,因为最大覆盖率是次模最大化的一种特殊情况。


1
贪婪算法的Nemhauser-Wolsey-Fisher分析仅适用于最大化受简单基数约束的情况。即使对于简单的分区拟阵,贪婪也仅给出近似值。在 -近似的子模函数最大化主题为任意拟阵是最近的结果,由于冯德拉克和其他人(包括我自己)。它依赖于几种工具,不是贪婪的算法。1/2(11/e)
Chandra Chekuri 2011年

当然,我的错。编辑答案以反映更正。
Ashwinkumar BV 2012年

10

贪婪给出Max-k-cover的(1-1 / e)近似值,除非P = NP,否则无法改善。


我认为这与@AshwinkumarBV的答案是相同的问题,我猜这是我在键入我的答案时发布的...
Lev Reyzin


6

所述中心问题是一个聚类问题,在此我们给出一个完整的无向图与距离每对顶点之间。距离服从三角形不等式和模型相似性。我们还得到了一个整数。kG=(V,E)dij0i,jVk

在问题中,我们必须找到聚类,这些聚类将最相似的顶点聚在一起。我们选择一个集合个聚类中心。每个顶点将自己分配给最近的聚类中心,将这些顶点分组为不同的聚类。目的是最小化顶点到其群集中心的最大距离。因此,在几何上,我们希望找到覆盖所有点的相同半径的不同球的中心,从而使尽可能小。kSV,|S|=kkkkrr

最优算法是贪婪的,并且也非常简单直观。我们首先任意选择一个顶点并将其放入我们的聚类中心。然后,我们选择下一个群集中心,以使其距离所有其他群集中心尽可能远。因此,我们发现反复一个顶点的量,距离被最大化,并将其添加到。一次我们完成了。小号| S | < ķ Ĵ V d Ĵ 小号š | S | = kiVS|S|<kjVd(j,S)S|S|=k

所描述的算法是针对问题的逼近算法。实际上,如果存在的问题的近似算法,则。通过显示我们最多可以找到一个大小为的控制集,这是问题的一个实例,其中所有距离均为1或2都具有最优值,可以很容易地显示出NP完全控制集问题。1.该算法和分析由Gonzales于1985年提出,使用Clustering最小化最大集群间距离。另一个变体ķ ρ ρ < 2 P = Ñ P ķ ķ 22kρρ<2P=NPkk2- 近似Hochbaum和Shmoys给出,K中心问题的最佳启发式方法,1985年



1

也许您也会对此感兴趣(通过“ 方法”将全局约束转换为局部约束

由于贪婪方法(更正确的是本地方法)仅使用本地信息来实现全局优化,因此,如果找到了能够将全局条件转换为仅使用本地信息即可使用的条件的方法,则这将为问题提供(全局)最佳解决方案仅使用贪婪/本地技术。

参考文献:

  1. 全局思考,局部适应:低维流形的无监督学习(机器学习研究期刊4(2003))
  2. 使用本地信息进行全局优化,并将应用程序应用于流量控制,Bartal,Y。
  3. 为什么使用自然渐变?,Amari S.,Douglas SC
  4. 全球目标的本地优化:竞争性分布式僵局解决方案和资源分配,Awerbuch,Baruch,Azar,Y。
  5. 具有本地和全球一致性的学习
  6. 局部一致性方法可解决的约束满足问题

有一些参考文献解决了将全局评估函数(或约束)转换为局部函数(使用局部信息)及其一致性(即收敛到相同的全局最优值)的问题:

  1. 计算演化的局部评价函数和全局评价函数,韩静,2003
  2. 地方评价职能的产生,韩静,蔡庆生,2002

摘要(从1.开始)

本文从评估函数的局部性和全局性方面介绍了计算进化的新面貌,以解决经典的组合问题:kcoloring问题(决策问题)和minimum coloring问题(优化问题)。我们首先回顾一下当前的算法,然后将着色问题建模为多主体系统。然后,我们证明传统算法(本地搜索,例如模拟退火)和分布式算法(例如Alife&AER模型)之间的本质区别在于评估功能:模拟退火使用全局信息评估整个系统状态,这称为全球评估功能(GEF)方法;Alife&AER模型使用本地信息来评估单个代理的状态,这称为本地评估函数(LEF)方法。我们比较了LEF和GEF方法解决k色问题和最小色问题的性能。计算机实验结果表明,LEF与GEF方法(模拟退火和贪婪)相当,在许多问题实例中,LEF优于GEF方法。同时,我们分析了GEF和LEF之间的关系:一致性和不一致。一致性定理表明,当LEF与GEF一致时,LEF的纳什均衡与GEF的局部最优相同。该定理部分解释了LEF为什么可以将系统引导至全球目标。提出了一些用于构造一致的LEF的规则。除了一致性,

Specificaly纸地址的方法来determnine本地函数(LEF)是否一致与全局函数(GEF),构建从给定的全环基金(一致LEFS方法的一致性定理)。

结论部分的摘录摘自上述1.)

本文只是LEF&GEF研究的开始。除了上面的研究报告之外,还有很多未来的工作:更多关于LEF方法的实验;LEF分析研究;LEF的本地信息充足;任何LEF都有统一的GEF;一致性概念是否足够?由于遗传算法也具有评估函数(适应性函数),我们可以将LEF&GEF应用于遗传算法吗?……我们打算研究并尝试回答所有这些问题

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.