প্লটকিন-শময়েস-টারদোস এবং অরোরা-কালের সমাধানকারীদের জন্য খেলনা উদাহরণ


34

আমি বুঝতে চাই যে অরোরা-কেল এসডিপি সলভার প্রায় লিনিয়ার সময়ে গোমানস-উইলিয়ামসন শিথিলকরণের প্রায় কীভাবে, প্লটকিন-শময়েস-টার্ডোস সলভার প্রায় লিনিয়ার সময়ে কীভাবে ভগ্নাংশ "প্যাকিং" এবং "কভারিং" সমস্যাগুলি সান্নিধ্যিত করে এবং কীভাবে অ্যালগরিদমগুলি হ'ল "বিশেষজ্ঞের কাছ থেকে শেখার" বিমূর্ত কাঠামোর ইনস্ট্যান্টেশন।

কালের থিসিসটিতে একটি দুর্দান্ত উপস্থাপনা রয়েছে, তবে আমি সরাসরি বিমূর্ত কাঠামোতে ঝাঁপিয়ে পড়া খুব কঠিন বলে মনে করি এবং আমি একটি সাধারণ সমস্যার উদাহরণ থেকে শুরু করতে পছন্দ করব যার জন্য এটি করা কী একেবারে সুস্পষ্ট, এবং তারপরে আরও সাধারণ সমস্যার দিকে চলে যেতে , ক্রমান্বয়ে অ্যালগরিদম এবং এর বিশ্লেষণে "বৈশিষ্ট্যগুলি" যুক্ত করা হচ্ছে।

উদাহরণ স্বরূপ:

প্লটকিন-শময়েস কীভাবে অপ্রকাশিত ভার্টেক্স কভারের লিনিয়ার প্রোগ্রামিং শিথিলকরণ সমাধান করে? ভার্টেক্স ভার্টেক্স কভার? কভার সেট? বিপরীতে মিলছে?

অরোরা-কালে অ্যালগরিদম আকর্ষণীয় কিছু করছে এমন সহজ উদাহরণটি কী? এটি কোনও গ্রাফের ল্যাপ্লেসিয়ার বৃহত্তম ইগন্যালিউটি কীভাবে গণনা করে?

(ল্যাপ্লেসিয়ার বৃহত্তম ইগেনুয়ালু গণনা হ'ল ম্যাক্স কাটের গোমানস-উইলিয়ামসন এসডিপি শিথিলকরণের একটি দুর্বল সংস্করণ সমাধানের সমস্যার সমতুল্য, যার পরিবর্তে প্রতিটি ভেক্টরের দৈর্ঘ্য এক হওয়ার প্রয়োজনের পরিবর্তে আপনি স্কোয়ারগুলির যোগফল চান) মানদণ্ডের | V |।)


2
এটি একটি দুর্দান্ত প্রশ্ন।
সুরেশ ভেঙ্কট

4
প্যাকিংয়ের সমস্যাগুলির জন্য পিএসটি-স্টাইলের অ্যালগরিদমগুলি বোঝার জন্য পিএসটি যেখান থেকে বিকশিত হয়েছিল সেখানে মাল্টিকোমোডিটি প্রবাহ সমস্যাটি প্রায় সমাধান করার জন্য অ্যালগরিদমগুলি লক্ষ্য করা ভাল। নিল ইয়ংয়ের কাগজগুলি সেট কভারটি বিশদভাবে বর্ণনা করে। Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf। আমি ভেবেছিলাম অরোরা-কালে-হাজানের সমীক্ষা বিশেষজ্ঞদের ফ্রেমওয়ার্ক এবং প্যাকিং / কভারিং সলভারদের মধ্যে স্পষ্ট করে তোলে।
চন্দ্র চেকুরি

1
@ চন্দ্রচেকুরী: বরং এটি বিলম্বিত হয়েছে, তবে আমি ভাবছি যে আপনার এটি উত্তর দেওয়া উচিত কিনা?
সুরেশ ভেঙ্কট

2
এফডাব্লুআইডাব্লু, কয়েকটি নোটের জন্য সূডা কাগজে @ চন্দ্রচেকুরি উল্লিখিত নোটের জন্য দেখুন greedyalgs.info/blog/about
নিল ইয়ং

আপডেট হওয়া লিঙ্ক: algnotes.info/on/obliv
নিল ইয়ং

উত্তর:


26

লুকা, যেহেতু এক বছর কেটে গেছে, আপনি সম্ভবত নিজের উত্তরটি নিয়ে গবেষণা করেছেন। আমি এখানে আপনার কয়েকটি প্রশ্নের উত্তর দিচ্ছি কেবল রেকর্ডের জন্য। আপনার উল্লিখিত সমস্যার জন্য আমি কিছু ল্যাঙ্গরজিয়ান-রিলাক্সেশন অ্যালগরিদম পর্যালোচনা করি এবং শেখার সংযোগটি স্কেচ করি (বিশেষত বিশেষজ্ঞের পরামর্শ অনুসারে)। আমি এখানে এসডিপি অ্যালগরিদমে মন্তব্য করি না।

নোট করুন যে নির্দিষ্ট অ্যালগরিদমগুলি আপনি উল্লেখ করেছেন তা প্রায় রৈখিক সময়ে চলবে না। (সেখানে জন্য একটি প্রায় রৈখিক সময় আলগোরিদিম স্পষ্টভাবে দেওয়া প্যাকিং বা সমস্যা আচ্ছাদন। দেখুন ফ্র্যাকশনাল প্যাকিং এবং প্রাবরণ লিনিয়ার প্রোগ্রামের জন্য সিমপ্লেক্স পিটিয়ে ।) আলগোরিদিম আপনি মনে আছে সাধারণত একটি প্রায় রৈখিক সংখ্যা যে run রূপগুলো আছে পুনরাবৃত্তিও , কিন্তু প্রতিটি পুনরাবৃত্তির জন্য সাধারণত কমপক্ষে রৈখিক সময়ও প্রয়োজন। আমি নীচে এই কয়েকটি অ্যালগরিদম নিয়ে আলোচনা করি।

কিছু দরকারী ফাংশন

আমরা শুরু করার আগে, এখানে কয়েকটি ফাংশন রয়েছে যা আমরা প্রমাণ স্কেচগুলিতে ব্যবহার করব। (আপনি আলগোরিদিম আগ্রহী, কিন্তু না এমন প্রমাণ বিবরণ, আপনি এগিয়ে এড়িয়ে যেতে পারেন।) কোন ভেক্টর জন্য Yy , নির্ধারণ Lmax ( Y )Lmax(y) হতে Ln Σ আমি Exp ( Y আমি )lniexp(yi) । এই ফাংশনটি সর্বোচ্চ i y i এরmaxiyi উপরের একটি আবদ্ধ : সর্বোচ্চ i y iLmax ( y ) সর্বোচ্চ i y i + ln      m

maxiyi  Lmax(y)  maxiyi+lnm.
আনুষাঙ্গিকভাবে, সংজ্ঞায়িত করুনLmin ( y )Lmin(y)হতে - Lmax ( - Y )Lmax(y) , উপর একটি নিম্ন আবদ্ধ মিনিট আমি Y আমিminiyi

এরপরে যা সুবিধে হয় তার সুবিধার জন্য, আমরা লিমিনের গ্রেডিয়েন্ট লিমিন ( y ) বোঝাতে g ( y )g(y) ব্যবহার করি। আমরা গ্রেডিয়েন্ট den বোঝাতে G ( y ) ব্যবহার করি Lmin(y)G(y)Lmax Lmax ( y )Lmax(y)করি।

স্পষ্টভাবে আমি ( Y )gi(y) হয় Exp ( - Y আমি ) / Σ আমি ' Exp ( - Y আমি ' )exp(yi)/iexp(yi) যখন জি আমি ( Y )Gi(y) হয় Exp ( Y আমি ) / Σ আমি ' Exp ( Y আমি ' )exp(yi)/iexp(yi)

লিমিন এবং ল্যামাক্স নিম্নলিখিত অর্থে মসৃণ : কোনও ভেক্টরের জন্য d [ 0 , ε ] nd[0,ε]n এবং y R nyRn , লিমিন ( y + d ) লিমিন ( y ) + ( 1 - ( ε ) )    dg(y)

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

Note that both of the gradients have 1-norm equal to 1: |G(y)|=|g(y)|=1|G(y)|=|g(y)|=1. (Throughout we use |z||z| to denote the 1-norm.)

Note also that, for a matrix AA, the gradient of the function xLmin(Ax)xLmin(Ax) with respect to xx is (by the chain rule) (g(Ax))TA(g(Ax))TA. More explicitly, the partial derivative of the function with respect to xjxj is iAijexp(Aix)/iexp(Aix)iAijexp(Aix)/iexp(Aix). Likewise, the partial derivative of Lmax( একটি এক্স )(Ax) থেকে সম্মান সঙ্গে এক্স xj হয় Σ আমি একজন আমি Exp ( একটি আমি এক্স ) / Σ আমি Exp ( একটিix)iAijexp(Aix)/iexp(Aix).

Fractional Set Cover

একটি সেট-কভার উদাহরণ ঠিক করুন। আসুন একটিA উপাদান / সেট ঘটনা ম্যাট্রিক্স বোঝান। সুতরাং, একটি গুলি = 1Aes=1 যদি গুলিes , অন্য 0, এবং একটি এক্সAex ততটাই যে ভগ্ন কভার হয় এক্সx কভার উপাদান e

এলপি ন্যূনতম { | এক্স | : একটি এক্স 1 ; x 0 }min{|x|:Ax1;x0} । প্রদত্ত ε ( 0 , 1 )ε(0,1) আলগোরিদিম হয়


  1. Initialize all xs=0xs=0. Let N=log(n)/εN=log(n)/ε.
  2. Repeat until mineAexNmineAexN:

    2.1. Choose ss maximizing the partial derivative of Lmin(Ax)(Ax) w.r.t. xsxs.
    (Explicitly, choose ss maximizing esexp(sexs)esexp(sexs).)

    2.2. Increase xsxs by εε.

  3. Return x/mineAexx/mineAex.


The algorithm returns a (1+O(ε))(1+O(ε)) approximate solution in O(|x|log(n)/ε2)O(|x|log(n)/ε2) iterations, where nn is the number of elements and xx is the optimal fractional set cover (trivially |x|n|x|n). (A similar algorithm appears in the paper Chandra mentioned. Vertex Cover is of course a special case.)

(Remark: Note that the iteration bound does not depend on the number of sets, just the number of elements. Thus, the algorithm can be used with an implicitly defined set system, as long as, given weights on the elements, one can efficiently find a set of maximum (or near-maximum) total weight. This kind of oracle is the same as the separation oracle required to apply the ellipsoid algorithm to the dual problem. For packing problems such as set packing, you need an oracle that, given weights on the elements, returns a set minimizing the total weight. For problems such as multi-commodity flow, you might, for example, need to find a path minimizing the sum of some given edge weights.)

Here's a sketch of the proof of the performance guarantee. In each iteration, the partial derivative w.r.t. the chosen ss is at least 1/|x|1/|x|, where xx is the optimal fractional set cover.

(To see why, recall that the gradient of Lmin(Ax)(Ax) with respect to xx is (g(Ax))TA(g(Ax))TA. If we were to choose a set ss at random from the distribution x/|x|x/|x|, the expected value of the partial derivative with respect to xsxs would thus be (g(Ax))TAx/|x|(g(Ax))TAx/|x|. Since Ax1Ax1, this is at least |g(Ax)|/|x||g(Ax)|/|x|. Since |g(Ax)|=1|g(Ax)|=1, this is at least 1/|x|1/|x|. Thus, there must exist some ss giving partial derivative at least 1/|x|1/|x|. Since the algorithm chooses xsxs in each iteration to maximize the partial derivative, it achieves a partial derivative of at least 1/|x|1/|x|.)

Then, the step size εε is chosen just small enough so that no coordinate of AxAx increases by more than εε. Thus, because of the smoothness of Lmin, increasing xsxs to xs+εxs+ε increases Lmin(Ax)Lmin(Ax) by at least (1O(ε))ε/|x|(1O(ε))ε/|x|.

In this way, the algorithm maintains the invariant Lmin(Ax)(1O(ε))|x|/|x|lnn.

Lmin(Ax)(1O(ε))|x|/|x|lnn.
(Note that Lmin(¯0)(0¯¯¯) equals lnnlnn.)

At termination, in the invariant, the lnnlnn term is O(ε)O(ε) times the left-hand side, so by calculation one gets mineAex(1O(ε))|x|/|x|mineAex(1O(ε))|x|/|x|. After the normalization in the last line of the algorithm, this implies |x|(1+O(ε))|x||x|(1+O(ε))|x|.

FWIW, the inequalities involved in proving the invariant are essentially the same as those involved in proving the Chernoff bound. (In fact, this algorithm can be derived by applying the method of conditional probabilities to a randomized-rounding scheme that repeatedly samples sets from the distribution x/|x|x/|x| (with replacement), increasing xsxs for each sampled set ss. This derandomization of that gives the algorithm: the underlying invariant is just that the pessimistic estimator stays below 1. The exponential penalties in the pessimistic estimator come from the using the Chernoff bound in the analysis of the rounding scheme. This basic idea is explained further in the paper Chandra mentioned.)

Fractional Weighted Set Cover (and general fractional Covering)

To handle problems such as Weighted Set Cover efficiently, we modify the algorithm to use non-uniform increments (an idea due to Garg and Konemann).

The LP is min{cx:(e)sexs1}min{cx:(e)sexs1}, where ee ranges over the elements, ss ranges over the sets, and all variables are non-negative. To present the algorithm, first rewrite the problem as a general covering problem. Let Aes=1/csAes=1/cs for eses and Aes=0Aes=0 otherwise. Then (with a change of variables, scaling each xsxs by cscs), the LP is min{|x|:Ax1;x0}min{|x|:Ax1;x0}, which we can view as a general covering LP. Here is the algorithm:


  1. Initialize all xs=0xs=0. Let N=log(n)/εN=log(n)/ε.

  2. Repeat until all covering constraints have been deleted:

    2.1. Choose ss maximizing the partial derivative of Lmin(Ax)(Ax) w.r.t. xsxs.
    (Explicitly, choose ss maximizing esexp(sexs)/csesexp(sexs)/cs.)

    2.2. Increase xsxs by δδ, where δδ is chosen maximally such that, for every remaining covering constraint ee, the increase in AexAex is at most εε.

    2.3 Delete all covering constraints ee such that AexNAexN.

  3. Return x/mineAexx/mineAex.


The algorithm returns a (1+O(ε))(1+O(ε))-approximate solution in O(nlog(n)/ε2)O(nlog(n)/ε2) iterations, where nn is the number of covering constraints. (Each iteration increases some remaining AexAex by εε; this can happen only N/εN/ε times to a constraint before it is deleted.) The proof of correctness is via essentially the same invariant as for Set Cover.

Weighted Vertex Cover is a special case.

Maximum Fractional Bipartite Matching

Given a graph G=(U,W,E)G=(U,W,E), the natural LP for the problem is max{|x|:v.evxe1}max{|x|:v.evxe1}.

In matrix representation, this is a packing LP max{|x|:Ax1;x0}max{|x|:Ax1;x0} with 0-1 coefficients (Ave=1Ave=1 if veve). Such problems do not require non-uniform increments, so a simple algorithm analogous to the unweighted Set Cover algorithm (but for packing) will do:


  1. Initialize all xe=0xe=0. Let N=log(n)/εN=log(n)/ε.
  2. While Ax<NAx<N:

    2.1. Choose ee minimizing the partial derivative of Lmax(Ax)(Ax) w.r.t. xexe.
    (Explicitly, choose ee to minimize veexp(evxe)veexp(evxe).)

    2.2. Increase xexe by εε.

  3. Return x/maxvAvxx/maxvAvx.


The algorithm returns a (1O(ε))(1O(ε))-approximate solution in O(nlog(n)/ε2)O(nlog(n)/ε2) iterations. (This is because each iteration increases |x||x| by εε, and finally, before normalization, |x|=O(Nn)|x|=O(Nn).)

Just for fun, here is a curious alternative algorithm for Perfect Bipartite Matching. Recall that G=(U,W,E)G=(U,W,E). Let n=|U|=|W|n=|U|=|W|.


  1. Initialize all xe=0xe=0. Let N=4ln(n)/εN=4ln(n)/ε.
  2. Repeat nNnN times:

    2.1. Choose uu uniformly at random from UU.
    2.2. Choose ww such that (u,w)E(u,w)E minimizing ewxeewxe.
    2.3. Increase xuwxuw by εε.

  3. Return x/Nx/N.


If GG has a perfect matching, the algorithm returns an xx such that |x|=n|x|=n, and, with high probability, for all vertices uUuU, 1O(ε)euxe1+O(ε)1O(ε)euxe1+O(ε), and for all vertices wWwW, ewxe1+O(ε)ewxe1+O(ε). If you are interested in the details of the proof, please ask...

Mixed Packing and Covering

You may have asked about bipartite matching hoping for an example of a mixed packing and covering problem, that is, one of the form x? Pxp;Cxc;x0.

x? Pxp;Cxc;x0.
Here's one algorithm for such problems. First, normalize so that p=¯1p=1¯¯¯ and c=¯1c=1¯¯¯.

Let mm be the number of constraints (rows in PP plus rows in CC).


  1. Initialize all xj=0xj=0. Let N=2ln(m)/εN=2ln(m)/ε.
  2. While Px<NPx<N:

    2.1. Choose jj so that the partial derivative of Lmax(Px)(Px) with respect to xjxj is at most the partial derivative of Lmin(Cx)(Cx) with respect to xjxj. (Explicitly, choose jj such that iPijexp(Pix)iexp(Pix)iCijexp(Cix)iexp(Cix).)

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

    2.2. Increase xjxj by δδ, where δδ is chosen maximally such that no constraint PixPix or remaining constraint CixCix increases by more than εε.

    2.3. Delete all covering constraints ii such that CixNCixN.

  3. Return x/maxiPixx/maxiPix.


Assuming the given problem is feasible, the algorithm returns an xx such that Px1Px1 and Cx1O(ε)Cx1O(ε). The number of iterations is O(mln(m)/ε2)O(mln(m)/ε2), because each iteration increases some constraint by εε, and this can happen for each constraint at most NN times.

The proof of correctness is via the invariant Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).

Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).
The invariant implies maxPx2ln(m)+(1+O(ε))minCx.
maxPx2ln(m)+(1+O(ε))minCx.
At termination the left-hand side is Ω(log(m)/ε)Ω(log(m)/ε), proving the performance guarantee.

In Step 2.1, the desired jj must exist as long as the original problem is feasible. (This is because, for any feasible xx, and any xx, if we were to choose a random jj from the distribution x/|x|x/|x|, the expected value of the partial derivative of Lmax(Px)(Px) with respect to xjxj would be at most 1/|x|1/|x| (see the previous proof sketch for Set Cover). Likewise, the expected value of the partial derivative of Lmin(Cx)(Cx) with respect to xjxj would be at least 1/|x|1/|x|. Thus, there is an jj such that the partial derivative of Lmax(Px)(Px) with respect to xjxj is at most the partial derivative of Lmin(Cx)(Cx).)

Then the invariant is maintained in each iteration because, by the choice of xjxj and δδ, and the smoothness of Lmin and Lmax, increasing xjxj to xj+δxj+δ increases Lmax(Px)(Px) by at most 1+O(ε)1+O(ε) times the increase in Lmin(Cx)(Cx).

Learning (following experts / boosting)

One reference for understanding this connection is Adaptive game playing using multiplicative weights, by Freund and Schapire. Here is a quick summary to give the technical idea.

Consider the following repeated game. In each round tt:

  1. You choose a probability distribution ptpt on [n][n] (the nn so-called experts).
  2. Knowing ptpt, the adversary then chooses a payoff vector at[0,1]nat[0,1]n.
  3. You receive payoff ptatptat for the round.

The game stops after some number of rounds. Your goal is to minimize your regret in comparison to any single expert (i.e., pure strategy) ii. That is, your goal is to minimize (maxitati)tptat(maxitati)tptat.

Fix any ε>0ε>0. Let vector ytyt denote εstasεstas, that is, εε times the vector sum of the payoff vectors up to time tt. Recall that G(y)G(y) is the gradient of Lmax(y)(y).

Here's the basic strategy we will analyze: On round t, choose pt to be G(yt1).

By inspection, this gives you payoff atG(yt1) in round t.

Because of the smoothness property of F, Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).

That is, in each round, Lmax(yt) can't increase by more than ε(1+O(ε)) times your payoff. Since Lmax(¯0)=lnn, this maintains the invariant that Lmax(yt) is at most your total payoff times ε(1+O(ε), plus ln(n). On the other hand, your regret in comparison to the best expert i is maxitati, i.e., ε1maxiyti, which is in turn at most ε1Lmax(yt).

Thus, your regret is at most ε1ln(n), plus O(ε) times your total payoff.

Remark: I think, as Freund and Schapire point out, a "boosting" algorithm (in learning theory) is also implicit in this analysis. See their paper for more details.

Minimizing total payoff

You can derive a similar strategy for the setting where the goal is to minimize, rather than maximize, the total payoff. Your regret, which you still want to minimize, is tptatminiati. In that case, the corresponding strategy is to choose pt to be the gradient of Lmin(yt). With this strategy your regret is again at most ε1lnn plus O(ε) times your total payoff.

Connection to Lagrangian-relaxation algorithms

To see the connection to Lagrangian-relaxation algorithms, fix a Set-Cover instance. Consider the latter type of game (with the goal of minimizing payoff), where the experts correspond to the elements e of your set system. In each round, choose the probability distribution pt to be the gradient of Lmin(yt) as above, and have the adversary choose the payoff vector at as a function of pt as follows: choose the set st maximizing espte, then let ate=1 if est, and ate=0 otherwise.

Given the correct stopping condition (discussed below), this process gives you exactly the Set-Cover algorithm discussed at the start.

The performance guarantee of the algorithm follows from the regret bound as follows. Let Xs be the number of times the adversary chose set s during the play. Let x be the optimal fractional set cover. Let T=|Xs| be the number of rounds played. The regret bound implies tatptε1ln(m)+minetate.

Using the definition of at, the tth payoff (the tth term in the sum on the left) equals estpte. The adversary chose st to minimize this payoff. If the adversary had instead chosen st randomly from the distribution x/|x|, the expectation of the payoff would have been sxs|x|espte = 1|x|eptesexs  1|x|epte = 1|x|.

(Above we use that sexs1 for all e, and |pt|=1.) Since each payoff is at least 1/|x|, the regret bound implies T|x|ε1ln(m)+minetate.
By the definition of X, we have |X|=T (each round chooses one set), and tate=e[est]=seXs, giving |X||x|ε1ln(m)+mineseXs.
We make the process stop when mineseXs=Ω(ε2lnm), so then (rearranging terms) |X|mineseXs  (1+O(ε)|x|.
That is, normalizing X gives a fractional set cover of size at most (1+O(ε)) times optimum.

Remark: In a sense, this learning theory interpretation generalizes the algorithmic interpretation. However, some of the algorithmic techniques necessary for efficiency (such as non-uniform increments and dropping satisfied covering constraints) don't seem to carry over into the learning theory setting naturally. Likewise, algorithms for mixed packing and covering LPs (e.g. these) don't seem to have natural analogues in the learning-theory setting.


8
That is quite the answer !!
Suresh Venkat

1
Thanks. Probably overdid it. Am interested in feedback: how to present these ideas accessibly, what else to include...
Neal Young
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.