Plotkin-Shmoys-Tardos和Arora-Kale求解器的玩具示例


34

我想了解Arora-Kale SDP求解器如何在近似线性时间内近似Goemans-Williamson松弛,Plotkin-Shmoys-Tardos求解器如何在近似线性时间内近似分数“包装”和“覆盖”问题,以及算法如何是“向专家学习”抽象框架的实例。

Kale的论文表现出色,但我发现直接进入抽象框架非常困难,我希望从一个简单问题的示例开始,对于该问题,绝对显而易见,然后再转到更一般的问题,逐步向算法及其分析中添加“功能”。

例如:

Plotkin-Shmoys如何解决未加权顶点覆盖的线性编程松弛问题?加权顶点覆盖率?设置封面?双向匹配?

Arora-Kale算法执行有趣操作的最简单示例是什么?如何计算图的拉普拉斯算子的最大特征值?

(计算拉普拉斯算子的最大特征值等同于解决Max Cut的Goemans-Williamson SDP松弛的较弱版本的问题,在该问题中,您不希望每个向量的长度为一,而是希望平方和的标准是| V |。)


2
这是一个很好的问题。
Suresh Venkat

4
要了解用于包装问题的PST风格算法,最好查看近似解决PST起源的多商品流问题的算法。尼尔·杨(Neal Young)的论文详细介绍了机套。Ihttp://www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf。我认为Arora-Kale-Hazan的调查还使专家框架与打包/覆盖求解器之间的联系更加明确。
Chandra Chekuri

1
@ChandraChekuri:延迟了,但是我想知道您是否应该将此作为答案?
Suresh Venkat

2
FWIW,有关在SODA纸@ChandraChekuri上提到的一些注释,请参阅greedyalgs.info/blog/about
Neal Young

更新的链接:algnotes.info/on/obliv
Neal Young

Answers:


26

卢卡,一年过去了,您可能已经研究了自己的答案。我在这里回答您的一些问题仅供参考。我针对您提到的问题复习了一些拉格朗日松弛算法,并概述了与学习的联系(尤其是遵循专家的建议)。我在这里不对SDP算法发表评论。

请注意,您提到的特定算法不会在几乎线性的时间内运行。(有一个接近线性时间的算法可以 明确给出打包或覆盖问题。请参见 节拍单形以了解分数打包和覆盖线性程序。)您所想到的算法通常具有以几乎线性的迭代次数运行的变体,但每个变体迭代通常也至少需要线性时间。我在下面讨论其中一些算法。

一些有用的功能

yLmax(y)lniexp(yi)maxiyi

maxiyi  Lmax(y)  maxiyi+lnm.
Lmin(y)Lmax(y)miniyi

为了方便起见,我们使用表示的梯度。我们使用表示的梯度。g(y)Lmin(y)G(y)Lmax(y)

明确地,为 而为。gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin和Lmax 在以下意义上是光滑的:对于任何向量和, 和 d[0,ε]nyRn

Lmin(y+d)  Lmin(y) + (1O(ε))dg(y)
Lmax(y+d)  Lmax(y) + (1+O(ε))dG(y).

注意,两个梯度的1范数等于1: 。(在整个过程中,我们使用表示1范数。)|G(y)|=|g(y)|=1|z|

还要注意,对于矩阵,函数相对于的梯度 为(通过链式规则)。更明确地,函数相对于的偏导数 为。同样, 相对于的Lmax的偏导数为。AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

分数套盖

修复Set-Cover实例。令表示元素/集合关联矩阵。因此,如果,则,否则为0,并且是分数覆盖覆盖元素的程度。AAes=1esAexxe

LP为。给定,该算法为min{|x|:Ax1;x0}ε(0,1)


  1. 初始化所有。令。 xs=0N=log(n)/ε
  2. 重复直到: mineAexN

    2.1。选择最大化LMIN的偏导数 WRT。 (明确地,选择最大化。) s(Ax)xs
    sesexp(sexs)

    2.2。增加由。 xsε

  3. 返回。x/mineAex


该算法以迭代返回近似解,其中是元素数,而是最优分数集覆盖(通常)。(Chandra提到的论文中出现了类似的算法。“顶点覆盖”当然是特例。)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

注:请注意,迭代边界不取决于集合的数量,而仅取决于元素的数量。因此,只要给定元素的权重,一个算法就可以有效地与隐式定义的集合系统一起使用。查找最大(或接近最大)总重量的集合。这种预言与将椭圆形算法应用于对问题所需的分隔预言相同。对于打包问题(例如装箱),您需要一个预言,给定元素的权重,则返回使总权重最小的集合。例如,对于多商品流等问题,您可能需要找到一条路径,以使某些给定的边缘权重之和最小。

这是性能保证证明的草图。在每次迭代中,选择的的偏导数 至少为,其中是最佳分数集覆盖率。s1/|x|x

(要知道为什么,请回想一下Lmin相对于的梯度为。如果我们要从分布中随机选择集合,,因此相对于的偏导数的期望值 为。由于,因此至少。由于,因此至少。因此,必须至少存在一些给出偏导数由于该算法选择(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xs在每次迭代中使 偏导数最大化,它的偏导数至少达到) 1 / | x |1/|x|

然后,将步长选择得足够小,以使坐标增加不超过。因此,由于Lmin的平滑性,将 增加到会使至少增加 。εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

这样,该算法将保持不变 (请注意,Lmin等于。)

Lmin(Ax)(1O(ε))|x|/|x|lnn.
(0¯)lnn

在终止处,在不变式中,项是乘以左侧,因此通过计算得出。在算法的最后一行进行归一化之后,这意味着。lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW,证明不变量的不等式与证明切尔诺夫界的不等式基本相同。(实际上,可以通过将条件概率方法应用于随机四舍五入方案来推导该算法,该方案从分布 (有替换项)重复采样集,为每个采样集增加。这样的去随机化给出了算法:基本不变性只是悲观估计量保持在1以下。悲观估计量的指数惩罚来自舍入方案分析中使用的Chernoff界,此基本思想将进一步说明。在钱德拉提到的论文中。)x/|x|xss

小数加权集合覆盖(和一般小数覆盖)

为了有效处理诸如“加权集覆盖”之类的问题,我们修改了算法以使用非均匀增量(这是Garg和Konemann提出的想法)。

LP是,其中覆盖元素,覆盖集合,所有变量均为非-负。为了展示该算法,首先将问题改写为一般覆盖问题。让用于和否则。然后(通过更改变量,将每个缩放为),LP为,我们可以将其视为一般的LP。这是算法:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. 初始化所有。令。xs=0N=log(n)/ε

  2. 重复直到所有覆盖约束都被删除:

    2.1。选择最大化LMIN的偏导数 WRT。 (明确地,选择最大化。)s(Ax)xs小号Σ Ë 小号 EXP - Σ 小号'è X 小号'/ C ^ 小号
    sesexp(sexs)/cs

    2.2。增加通过,其中被选择最大限度这样,对于每一个其余的覆盖约束,在增加为至多。xsδδeAexε

    2.3删除所有覆盖约束使得。eAexN

  3. 返回。x/mineAex


该算法以迭代返回 -近似解,其中是覆盖约束的数量。(每次迭代通过增加一些剩余的;在删除约束之前,只能对约束执行次。)正确性的证明基本上是通过与Set Cover相同的不变性进行的。(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

加权顶点覆盖是一种特殊情况。

最大分数二分匹配

给定图,问题的自然LP为。G=(U,W,E)max{|x|:v.evxe1}

在矩阵表示中,这是包装LP 系数为0-1的(如果则)。这样的问题不需要非均匀的增量,因此类似于未加权的Set Cover算法(但用于打包)的简单算法可以做到:max{|x|:Ax1;x0}Ave=1ve


  1. 初始化所有。令。xe=0N=log(n)/ε
  2. 当:Ax<N

    2.1。选择最小化Lmax wrt的偏导数。 (明确地,选择以最小化。)e(Ax)xe Ë Σ v È EXP Σ Ë 'v X ë '
    eveexp(evxe)

    2.2。增加由。 xeε

  3. 返回。x/maxvAvx


该算法以迭代返回 -近似解。(这是因为每次迭代都会使增加,最后在归一化之前,。)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

只是为了好玩,这是一种完美的二分匹配的替代算法。回想一下。令。G=(U,W,E)n=|U|=|W|


  1. 初始化所有。令。 xe=0N=4ln(n)/ε
  2. 重复次:nN

    2.1。从中随机均匀地选择。 2.2。选择使中的最小化。 2.3。将增加。 uU
    w(u,w)Eewxe
    xuwε

  3. 返回。x/N


如果具有完美的匹配,算法返回的,使得,并且,以高概率,为所有顶点,,对于所有顶点,。如果您对证明的细节感兴趣,请询问...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

混合包装和覆盖

您可能已经问过有关二部匹配的问题,希望以混合包装和覆盖问题为例,即的形式之一 这是解决此类问题的一种算法。首先,规范化,以便和。

x? Pxp;Cxc;x0.
p=1¯c=1¯

令为约束的数量(行加上行)。mPC


  1. 初始化所有。令。xj=0N=2ln(m)/ε
  2. 而:Px<N

    2.1。选择使得Lmax相对于的偏导数最多为Lmin相对于的偏导数。(明确地,选择使得j(Px)xj(Cx)xjj

    iPijexp(Pix)iexp(Pix)iCijexp(Cix)iexp(Cix).)

    2.2。增加通过,其中被选择最大限度使得没有约束或剩余约束比更增加。xjδδPixCixε

    2.3。删除所有覆盖约束使得。iCixN

  3. 返回。x/maxiPix


假设给定的问题是可行的,该算法返回,使得 和。迭代次数为,因为每次迭代都会增加约束,并且每个约束最多可以发生次。xPx1Cx1O(ε)O(mln(m)/ε2)εN

正确性的证明是通过不变的 不变量表示 在终止处,左侧为,证明了性能保证。

Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).
maxPx2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)

在步骤2.1中,只要原始问题可行,所需的就必须存在。(这是因为,对于任何可行的和任何,如果我们要从分布选择随机,则Lmax的偏导数的期望值相对于 将是至多。(参见集合覆盖先前证明草图)同样地,LMIN的偏导数的预期值相对于 至少为。因此,存在一个jX * X Ĵ ' X * xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|j使得Lmax相对于 的偏导数最多为Lmin的偏导数。)(Px)xj(Cx)

然后在每次迭代中保持不变,因为通过选择和以及Lmin和Lmax的平滑度,将增加到 会使Lmax 最多增加 倍。 Lmin增加。xjδxjxj+δ(Px)1+O(ε)(Cx)

学习(跟随专家/促进)

理解这种联系的一个参考是 Freund和Schapire的使用乘法加权的自适应游戏。这里是一个简短的总结,给出了技术思想。

考虑下面的重复游戏。在每个回合中: t

  1. 您在(个所谓的专家)上选择概率分布。 pt[n]n
  2. 对手知道了,然后选择的支付向量。 ptat[0,1]n
  3. 您收到该回合的收益。 ptat

几轮游戏后游戏停止。你的目标是相比于任何单一的专家(即纯策略)尽量减少你的遗憾。也就是说,您的目标是最小化。i(maxitait)tptat

修复任何。令向量表示,也就是说, 乘以收益向量的向量总和直到时间。回想一下是Lmax的梯度。ε>0ytεstasεtG(y)(y)

这是我们将分析的基本策略: 在第轮,选择为。tptG(yt1)

通过检查,可以得出回合。atG(yt1)t

由于的平滑性, 也就是说,在每个回合中,增加不能超过收益的倍。由于,因此保持不变,即 最多是您的总回报时间,加上。另一方面,与最佳专家相比,您的遗憾 是,即F

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit ε - 1 Lmax的ÿ ,这最多是。ε1Lmax(yt)

因此,您的遗憾最多是加上乘以总收益。ε1ln(n)O(ε)

备注:我认为,正如Freund和Schapire所指出的那样,“提升”算法(在学习理论中)在该分析中也是隐含的。有关更多详细信息,请参见他们的论文。

最小化总收益

您可以为目标是最小化而不是最大化总收益的设置派生类似的策略。您仍然希望最小化的遗憾是。在那种情况下,相应的策略是选择作为的梯度。使用此策略,您的后悔最多还是 加乘以总收益。tptatminiaitptLmin(yt)ε1lnnO(ε)

与拉格朗日松弛算法的连接

要查看与Lagrangian松弛算法的连接,请修复Set-Cover实例。考虑后一种类型的游戏(目标是最大程度地减少收益),其中专家对应您所设置系统的元素。在每个回合中,如上所述,将概率分布选择 为Lmin的梯度,然后让对手选择收益向量作为的函数,如下所示: 选择集合最大化,然后让如果,和否则。ept(yt)atptstespetaet=1estaet=0

给定正确的停止条件(如下所述),此过程将为您提供刚开始讨论的Set-Cover算法。

该算法的性能保证如下所述。令为对手在比赛中选择set次数。令为最优分数集覆盖。令是打的回合数。后悔界限意味着 XssxT=|Xs|

tatptε1ln(m)+minetaet.

使用的定义,第个收益(左侧总和中的第个项)等于。对手选择来最小化此收益。如果对手改为从分布随机选择,,那么回报的期望应该是 (上面我们对所有使用,并且)由于每次收益至少为atttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|,后悔界限意味着 根据的定义,我们有(每个回合选择一组),并且,得到 当,我们使过程停止,因此(重新排列) 也就是说,归一化得到最大为的分数集覆盖最佳时间。
T|x|ε1ln(m)+minetaet.
X|X|=Ttaet=e[est]=seXs
|X||x|ε1ln(m)+mineseXs.
mineseXs=Ω(ε2lnm)
|X|mineseXs  (1+O(ε)|x|.
X(1+O(ε))

备注:从某种意义上说,这种学习理论解释是对算法解释的概括。但是,提高效率所必需的一些算法技术(例如非均匀增量和下降的满足覆盖约束)似乎不会自然地延续到学习理论中。同样,用于混合打包和覆盖LP(例如这些)的算法 在学习理论环境中似乎没有自然的类似物。


8
那是相当好的答案!
Suresh Venkat 2012年

1
谢谢。可能是过时了。我对反馈很感兴趣:如何无障碍地展示这些想法,还有哪些内容...
Neal Young
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.