1
动态编程永不比贪婪弱吗?
在电路复杂度方面,我们将各种电路模型的电源分开。 在证明复杂性方面,我们将各种证明系统的能力进行了分隔。 但是在算法上,我们在算法范式的能力之间仍然只有很少的分离。 我下面的问题旨在用两个范式解决后一个问题:贪婪和动态编程。 我们有一套基础要素,并声明了一些子集家族是可行的解决方案。我们假设这个家庭是向下封闭的:可行解的子集是可行的。给定非负权重给地面要素,问题在于计算可行解的最大总权重。 贪心算法从一个空的部分解开始,并且在每个步骤中,如果可能,即如果扩展解仍然可行,则添加一个尚未处理的最大权重元素。著名的Rado-Edmonds定理指出,如果可行解家族是拟阵,该算法将为所有输入加权找到最佳解。 粗略地说,如果DP算法仅使用Max和Sum(或Min and Sum)运算,则它很简单。更具体地说(如约书亚所建议),通过一个简单的DP算法,我将表示一个具有fanin-2 Max和Sum门的(max,+)电路。输入是变量,变量的第iii个对应于赋予第i一世i个元素的权重。这样的电路可以通过仅计算可行解决方案的最大总重量来解决任何此类问题。但是,如果我们有成倍的此类解决方案(几乎总是如此),这可能是一个巨大的过高。 问题1: 是否有拟阵,在其上任何简单的DP算法都需要超多项式运算才能解决相应的最大化问题? 评论(2015年12月24日添加):已经回答了这个问题(请参阅下文):即使在绝大多数国家中也存在这样的拟阵。 下一个问题要求将Greedy和简单DP分开以解决近似问题。在最大权重匹配问题中,可行解的族由完整的二分n × nñ×ñn\times n图中的所有匹配组成。对于给定的边缘权重分配,目标是计算匹配的最大权重(由于权重非负,因此这将始终是完美匹配)。 简单的贪心算法可以在因子2内近似此问题:只是始终取最大重量尚未出现的不相交边缘。所获得的重量将至少是最佳重量的一半。 问题2: 简单的DP算法是否可以仅使用多项式的Max和Sum运算来近似2因子内的Max-Weight匹配问题? 当然,输出倍于边缘的最大权重的平凡DP算法可以在系数n内近似该问题。但是我们想要一个更小的因素。我猜想即使是因子n / log n也无法实现,但是,再次:如何证明这一点? ññnññnn /日志ññ/日志ñn/\log n 相关:最大重量匹配的一个表亲是分配问题:找到完美匹配的最小权重。仅使用运算即可通过线性编程(所谓的匈牙利算法)解决(甚至完全解决)此问题。但较低的Razborov对单调布尔电路的计算永久功能的大小必然意味着(不太直接),任何(分钟,+)电路的任何(!)有限因子必须使用内逼近这个问题ñ Ω (日志ñ )业务。因此,为了最小化O(n3)O(n3)O(n^3)nΩ(logn)nΩ(logn)n^{\Omega(\log n)}问题,简单的DP算法可能比线性编程要弱得多。我上面的问题旨在表明,这种DP算法可能比Greedy还要弱。 有人看到有人正在考虑类似的问题吗? 已添加(2015年12月24日):问题2旨在显示一个特定的最大化问题(最大权重匹配问题)可以通过贪婪算法以来近似,而不能用一个简单的多边形来近似具有相同因子r的 DP 。同时,我获得了贪婪和简单DP之间的较弱分离:对于每个r = o (n / log n ),都有一个显式的最大化问题,可以通过贪婪算法以因子r近似,但是没有多尺寸的简单DP算法可以用更小的近似值r = 2[R=2r=2[R[Rrr = o (n /对数n )[R=Ø(ñ/日志ñ)r=o(n/\log …