Plotkin-Shmoys-TardosおよびArora-Kaleソルバーのおもちゃの例


34

Arora-Kale SDPソルバーがほぼ線形時間でGoemans-Williamson緩和を近似する方法、Plotkin-Shmoys-Tardosソルバーがほぼ線形時間で分数の「パッキング」および「カバー」問題を近似する方法、およびアルゴリズムがどのように「専門家から学ぶ」抽象的なフレームワークのインスタンス化です。

ケールの論文には優れたプレゼンテーションがありますが、抽象的なフレームワークに直接ジャンプすることは非常に難しいと思います。何をすべきかが絶対に明らかな単純な問題の例から始めて、より一般的な問題に移りたいと思います、アルゴリズムとその分析に「機能」を徐々に追加します。

例えば:

Plotkin-Shmoysは、重みのない頂点カバーの線形計画緩和をどのように解決しますか?重み付き頂点カバー?カバーをセットしますか?二部一致?

Arora-Kaleアルゴリズムが何か面白いことをしている最も単純な例は何ですか?グラフのラプラシアンの最大固有値をどのように計算しますか?

(ラプラシアンの最大固有値を計算することは、Max CutのGoemans-Williamson SDP緩和の弱いバージョンを解く問題に相当します。各ベクトルの長さを1つにする代わりに、平方和を求めます。 | V |となる規範の)


2
それはいい質問です。
スレシュヴェンカト

4
パッキング問題のPSTスタイルのアルゴリズムを理解するには、PSTの進化元であるマルチコモディティフローの問題を近似的に解決するアルゴリズムを調べるとよいでしょう。Neal Youngの論文では、セットカバーについて詳しく説明しています。Ihttp://www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf。Arora-Kale-Hazanの調査では、エキスパートフレームワークとパッキング/カバーソルバーとの関係が明確になると思いました。
チャンドラチェクリ

1
@ChandraChekuri:それはかなり遅れていますが、これを答えにするべきかどうか疑問に思っていますか?
Suresh Venkat

2
FWIW、@ ChandraChekuriが言及したSODA論文に関するいくつかのメモについては、greedyalgs.info / blog / aboutを参照してください。
ニールヤング

更新されたリンク:algnotes.info/on/obliv
ニールヤング

回答:


26

ルカ、1年が経ちましたので、おそらくあなた自身の答えを研究したでしょう。記録のために、ここでいくつかの質問に答えています。あなたが言及した問題についてラグランジュ緩和アルゴリズムをいくつかレビューし、学習との関係をスケッチします(特に専門家のアドバイスに従って)。SDPアルゴリズムについてはここではコメントしません。

あなたが言及する特定のアルゴリズムは、ほぼ線形の時間で実行されないことに注意してください。(のためのほぼ線形時間アルゴリズムであり 、明示的に与えられたパッキンや問題をカバーするを参照 フラクショナルパッキングと被覆リニアプログラムのためのシンプレックスを打つ。)あなたが考えているアルゴリズムは、一般的に持っているのはほぼ線形の数でその実行をバリアント回の反復が、各通常、反復には少なくとも線形時間も必要です。これらのアルゴリズムのいくつかを以下で説明します。

いくつかの便利な機能

yLmax(y)lniexp(yi)maxiyi

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

以下の便宜上、を使用して、勾配を示します。我々が使用勾配示すため Lmaxとなります。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


アルゴリズムは、繰り返しで近似解を返します。ここで、は要素数、は最適です分数集合カバー(通常)。(チャンドラが言及た論文に同様のアルゴリズムが登場します。頂点カバーはもちろん特別な場合です。)(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未満であるということです。チャンドラが言及た論文で。)x/|x|xss

分数加重セットカバー(および一般的な分数カバー)

Weighted Set Coverなどの問題を効率的に処理するために、アルゴリズムを変更して不均一な増分を使用します(GargとKonemannによるアイデア)。

LPはで、は要素範囲、はセット範囲、すべての変数は非-負。アルゴリズムを提示するには、まず問題を一般的な問題として書き直します。LETためのとそれ以外の場合。(変数を変更し、各をでスケーリングして)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
    sesexp(sexs)/cs

    2.2。を増加し。ここで、残りのすべてのカバー制約について、増加が最大になるように、が最大限に選択されます。xsδδeAexε

    2.3などのすべてのカバー制約削除します。eAexN

  3. 返します。x/mineAex


アルゴリズムは、繰り返しで -近似解を返しますはカバーする制約の数です。(各反復は、残りのをだけ増加させます。これは、制約が削除される前に回だけ発生する可能性があります。)(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
    eveexp(evxe)

    2.2。を増やします。 xeε

  3. リターン。x/maxvAvx


アルゴリズムは、反復で -近似解を返します。(これは、各反復増加からであるにより、そして最後に、正規化の前に、)。(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

楽しみのために、完全な2者間マッチングの好奇心をそそる代替アルゴリズムを次に示します。思い出してください。ましょう。G=(U,W,E)n=|U|=|W|


  1. すべての初期化します。LET。 xe=0N=4ln(n)/ε
  2. 回繰り返す:nN

    2.1。から一様にランダムに選択します。 2.2。最小化するような選択します。 2.3。を増やします。 uUW U W E Σ E W、X 、E 、X 、U 、W ε
    w(u,w)Eewxe
    xuwε

  3. 返します。x/N


場合完全マッチングを有し、アルゴリズムが返す、このような、かつ、高い確率で、すべての頂点のため、、およびすべての頂点、。証拠の詳細に興味がある場合は、お問い合わせください...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

混合パッキングおよびカバー

あなたは二部マッチングの例を期待について尋ねたかもしれ混合、フォームの一つで梱包し、問題をカバーし、 。このような問題に対する1つのアルゴリズムを次に示します。まず、およびなるように正規化します。

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

ましょ制約(の行数であるプラス行)。mPC


  1. すべての初期化します。LET。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偏微分の期待値に関して は、最大で(Set Coverの前の証明スケッチを参照)同様に、に関してLmin偏微分の期待値 は少なくともます。したがって、jx x j xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jそのようなLmaxとの偏導関数ことに対する Lminとの偏微分最大である。)(Px)xj(Cx)

と選択、およびLminとLmaxの滑らかさにより、を 増やすと 、最大で 倍だけLmaxが増加するため、不変量は各反復で維持されます。Lmin増加。xjδxjxj+δ(Px)1+O(ε)(Cx)

学習(専門家のフォロー/後押し)

この関係を理解するための参考文献の1つは 、フロイントとシャピレによる乗法の重みを使用した適応ゲームプレイです。技術的なアイデアを示すための簡単な要約を以下に示します。

次の繰り返しのゲームを検討してください。各ラウンド: 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値LmaxY T、最大でです。ε1Lmax(yt)

したがって、後悔はせいぜいに加えて、合計ペイオフを掛けたものです。ε1ln(n)O(ε)

備考:フロイントとシャピールが指摘するように、この分析には「学習理論における」「ブースト」アルゴリズムも暗黙のうちに含まれると思います。詳細については、彼らの論文を参照してください。

総ペイオフの最小化

目標が総利益を最大化するのではなく最小化することである設定に対して、同様の戦略を導き出すことができます。まだ最小化したい後悔は、です。その場合、対応する戦略はをの勾配に選択することです。この戦略では、後悔はせいぜい に、総ペイオフになります。tptatminiaitptLmin(yt)ε1lnnO(ε)

ラグランジアン緩和アルゴリズムへの接続

ラグランジュ緩和アルゴリズムへの接続を確認するには、Set-Coverインスタンスを修正します。エキスパートがセットシステムの要素に対応する後者のタイプのゲーム(ペイオフを最小限に抑えることを目的とする)を検討してください。各ラウンドでは、確率分布の選択 Lminとの勾配であると上記のように、そして敵がペイオフベクトル選択有する関数として:次のように セット選択最大化、次いでせ場合、およびそうでありません。ept(yt)のT P T S T Σ E S P T E A T E = 1 、E S T A T E = 0atptstespetaet=1estaet=0

正しい停止条件(以下で説明)が与えられた場合、このプロセスにより、最初に説明したSet-Coverアルゴリズムが正確に得られます。

アルゴリズムのパフォーマンス保証は、次のように後悔の限界から続きます。してみましょう敵がセット選んだ回数もプレイ中。ましょ、最適な分数のセットカバーすること。レッツプレイしたラウンドの数です。後悔の限界は、 XssxT=|Xs|

tatptε1ln(m)+minetaet.

定義を使用すると、番目のペイオフ(左側の合計の番目の項)はます。敵はこの利益を最小限に抑えるためにを選択しました。敵が代わりに分布からランダムに選択した場合 、ペイオフの予想は (上記では、すべてのに対してを使用し、ます。)atttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|T、後悔の限界は 定義では、我々が持っている(各ラウンドは1セットを選択)、および、 ときにプロセスを停止するため、(用語の並べ替え) つまり、を正規化すると、サイズが最大分数集合カバーになります。最適な時間。
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
それが正解です!!
スレシュヴェンカト

1
ありがとう。おそらくそれをやり過ぎた。フィードバックに興味があります:他に何含まれるように、アクセス可能にこれらのアイデアを提示する方法を...
ニール・ヤング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.