Luca, kể từ khi một năm trôi qua, có lẽ bạn đã nghiên cứu câu trả lời của riêng mình. Tôi đang trả lời một số câu hỏi của bạn ở đây chỉ để ghi lại. Tôi xem xét một số thuật toán thư giãn Lagrangian cho các vấn đề bạn đề cập và phác thảo kết nối với việc học (đặc biệt, theo lời khuyên của chuyên gia). Tôi không bình luận ở đây về các thuật toán SDP.
Lưu ý rằng các thuật toán cụ thể mà bạn đề cập không chạy trong thời gian gần như tuyến tính. (Có một thuật toán gần tuyến tính thời gian cho
rõ ràng đóng gói nhất định hoặc bao gồm các vấn đề. Xem
Đập Simplex cho Fractional Bao bì và Che tuyến tính Chương Trình .) Các thuật toán bạn có trong tâm trí thường có các biến thể đó chạy trong một số gần như tuyến tính của sự lặp lại , nhưng mỗi lặp thường yêu cầu ít nhất là thời gian tuyến tính là tốt. Tôi thảo luận về một số thuật toán dưới đây.
Một số chức năng hữu ích
Trước khi bắt đầu, đây là một số chức năng mà chúng tôi sẽ sử dụng trong các bản phác thảo bằng chứng. (Nếu bạn quan tâm đến các thuật toán, nhưng không phải là chi tiết bằng chứng, bạn có thể bỏ qua phía trước.) Đối với bất kỳ vectơ y nàoy , hãy xác định Lmax ( y )Lmax(y) là ln ∑ i exp ( y i )ln∑iexp(yi) . Chức năng này là một trên ràng buộc về max i y imaxiyi :
max i y i ≤ Lmax ( y ) ≤ max i y i + ln m . maxiyi ≤ Lmax(y) ≤ maxiyi+lnm.
Tương tự, xác địnhLmin ( y )Lmin(y) là - Lmax ( - y )−Lmax(−y) , giới hạn dưới của min i y iminiyi .
Để thuận tiện cho những gì tiếp theo, chúng tôi sử dụng g ( y )g(y) để biểu thị độ dốc ∇ Lmin ( y )∇Lmin(y) của Lmin. Chúng tôi sử dụng G ( y )G(y) để biểu thị độ dốc ∇ Lmax ( y )∇Lmax(y) của Lmax.
Một cách rõ ràng, g i ( y )gi(y) là exp ( - y i ) / Σ i ' exp ( - y i ' )exp(−yi)/∑i′exp(−yi′)
trong khi G i ( y )Gi(y) là exp ( y i ) / Σ i ' exp ( y i ' )exp(yi)/∑i′exp(yi′) .
Lmin và Lmax là mịn theo nghĩa sau: đối với bất kỳ vectơ d ∈ [ 0 , ε ] nd∈[0,ε]n và y ∈ R ny∈Rn ,
Lmin ( y + d ) ≥ Lmin ( y ) + ( 1 - O ( ε ) ) d ⋅ g ( y )Lmin(y+d) ≥ Lmin(y) + (1−O(ε))d⋅g(y)
và
Lmax ( y + d ) ≤ Lmax ( y ) + ( 1 + O ( ε ) ) d ⋅ G ( y ) .Lmax(y+d) ≤ Lmax(y) + (1+O(ε))d⋅G(y).
Lưu ý rằng cả hai độ dốc đều có 1 chỉ tiêu bằng 1:
| G ( y ) | = | g ( y ) | = 1|G(y)|=|g(y)|=1 . (Xuyên suốt chúng tôi sử dụng | z ||z| để biểu thị định mức 1).
Cũng lưu ý rằng, đối với một ma trận AA , gradient của hàm x ↦ Lmin ( Một x )x↦Lmin(Ax) với đối với xx
là (theo quy tắc dây chuyền) ( g ( A x ) ) T Một(g(Ax))TA . Nói rõ hơn, đạo hàm riêng của hàm đối với x jxj
là ∑ i A i j exp ( - A i x ) / ∑ i exp ( - A i x )∑iAijexp(−Aix)/∑iexp(−Aix). Tương tự, đạo hàm riêng của Lmax ( A x )(Ax)
đối với x jxj là ∑ i A i j exp ( A i x ) / ∑ i exp ( A i x )∑iAijexp(Aix)/∑iexp(Aix) .
Bìa đặt phân số
Sửa một trường hợp Set-Cover. Đặt AA là ma trận tỷ lệ phần tử / tập hợp. Do đó, A e s = 1Aes=1 nếu e ∈ se∈s , khác 0 và A e xAex là phạm vi bao trùm phân số xx bao gồm phần tử ee .
LP là tối thiểu { | x | : Một x ≥ 1 ; x ≥ 0 }min{|x|:Ax≥1;x≥0} . Với ε ∈ ( 0 , 1 )ε∈(0,1) , thuật toán là
- Khởi tạo tất cả x s = 0xs=0 . Hãy để N = log ( n ) / εN=log(n)/ε .
Lặp lại cho đến khi min e A e x ≥ NmineAex≥N :
2.1. Chọn ss tối đa hóa đạo hàm riêng của Lmin ( A x )(Ax) wrt x sxs .
(Rõ ràng, chọn ss tối đa hóa Σ e ∈ s exp ( - Σ s ' ∋ e x s ' )∑e∈sexp(−∑s′∋exs′) ).
2.2. Tăng x sxs bằng εε .
Trả về x / phút e A e xx/mineAex .
Trở về thuật toán một ( 1 + O ( ε ) )(1+O(ε)) giải pháp gần đúng trong O ( | x * | log ( n ) / ε 2 )O(|x∗|log(n)/ε2) lặp đi lặp lại, nơi nn là số nguyên tố và x *x∗ là tối ưu phân đoạn bộ bìa (trivially | x ∗ | ≤ n|x∗|≤n ). (Một thuật toán tương tự xuất hiện trong bài báo Chandra đã đề cập . Vertex Cover tất nhiên là một trường hợp đặc biệt.)
( Lưu ý: Lưu ý rằng giới hạn lặp không phụ thuộc vào số lượng tập hợp, chỉ số lượng phần tử. Do đó, thuật toán có thể được sử dụng với một hệ thống tập xác định ngầm, miễn là có trọng số cho các phần tử, người ta có thể sử dụng một cách hiệu quả tìm một tập hợp tổng trọng lượng tối đa (hoặc gần tối đa). Loại tiên tri này giống như lời tiên tri tách cần thiết để áp dụng thuật toán ellipsoid cho bài toán kép . Đối với các vấn đề về đóng gói, như đóng gói, bạn cần một lời tiên tri đó, trọng số đã cho trên các phần tử, trả về một tập hợp tối thiểu hóa tổng trọng số. Đối với các vấn đề như dòng chảy đa hàng hóa, ví dụ, bạn có thể cần tìm một đường dẫn giảm thiểu tổng trọng số của một số trọng số cạnh đã cho.)
Đây là một bản phác thảo bằng chứng về đảm bảo hiệu suất. Trong mỗi lần lặp, đạo hàm riêng một phần, số ss được chọn
ít nhất là 1 / | x ∗ | 1/|x∗|, Nơi x *x∗ là phân đoạn bộ bìa tối ưu.
(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 s′s′ at random from the distribution x∗/|x∗|x∗/|x∗|,
the expected value of the partial derivative with respect to xs′xs′
would thus be (g(Ax))TAx∗/|x∗|(g(Ax))TAx∗/|x∗|.
Since Ax∗≥1Ax∗≥1, 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
(1−O(ε))ε/|x∗|(1−O(ε))ε/|x∗|.
In this way, the algorithm maintains the invariant
Lmin(Ax)≥(1−O(ε))|x|/|x∗|−lnn.Lmin(Ax)≥(1−O(ε))|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≥(1−O(ε))|x|/|x∗|mineAex≥(1−O(ε))|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{c⋅x:(∀e)∑s∋exs≥1}min{c⋅x:(∀e)∑s∋exs≥1},
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 e∈se∈s and Aes=0Aes=0 otherwise.
Then (with a change of variables, scaling each xsxs by cscs),
the LP is min{|x|:Ax≥1;x≥0}min{|x|:Ax≥1;x≥0},
which we can view as a general covering LP.
Here is the algorithm:
Initialize all xs=0xs=0. Let N=log(n)/εN=log(n)/ε.
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 ∑e∈sexp(−∑s′∋exs′)/cs∑e∈sexp(−∑s′∋exs′)/cs.)
2.2. Increase xsxs by δδ, where δδ is chosen maximally such that, for every remaining covering constraint ee, the increase in Ae⋅xAe⋅x is at most εε.
2.3 Delete all covering constraints ee such that Ae⋅x≥NAe⋅x≥N.
Return x/mineAe⋅xx/mineAe⋅x.
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.∑e∋vxe≤1}max{|x|:∀v.∑e∋vxe≤1}.
In matrix representation, this is a packing LP max{|x|:Ax≤1;x≥0}max{|x|:Ax≤1;x≥0}
with 0-1 coefficients (Ave=1Ave=1 if v∈ev∈e).
Such problems do not require non-uniform increments, so a simple algorithm analogous to the unweighted Set Cover algorithm (but for packing) will do:
- Initialize all xe=0xe=0. Let N=log(n)/εN=log(n)/ε.
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 ∑v∈eexp(∑e′∋vxe′)∑v∈eexp(∑e′∋vxe′).)
2.2. Increase xexe by εε.
Return x/maxvAvxx/maxvAvx.
The algorithm returns a (1−O(ε))(1−O(ε))-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|.
- Initialize all xe=0xe=0. Let N=4ln(n)/εN=4ln(n)/ε.
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 ∑e∋wxe∑e∋wxe.
2.3. Increase xuwxuw by εε.
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 u∈Uu∈U, 1−O(ε)≤∑e∋uxe≤1+O(ε)1−O(ε)≤∑e∋uxe≤1+O(ε),
and for all vertices w∈Ww∈W, ∑e∋wxe≤1+O(ε)∑e∋wxe≤1+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? Px≤p;Cx≥c;x≥0.∃x? Px≤p;Cx≥c;x≥0.
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).
- Initialize all xj=0xj=0. Let N=2ln(m)/εN=2ln(m)/ε.
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 Cix≥NCix≥N.
Return x/maxiPixx/maxiPix.
Assuming the given problem is feasible, the algorithm
returns an xx such that Px≤1Px≤1
and Cx≥1−O(ε)Cx≥1−O(ε).
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
maxPx≤2ln(m)+(1+O(ε))minCx.maxPx≤2ln(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 x∗x∗, and any xx,
if we were to choose a random j′j′ from the distribution x∗/|x∗|x∗/|x∗|,
the expected value of the partial derivative of Lmax(Px)(Px) with respect to xj′xj′
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 xj′xj′
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 xj′xj′
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:
- You choose a probability distribution ptpt on [n][n] (the nn so-called experts).
- Knowing ptpt, the adversary then chooses a payoff vector at∈[0,1]nat∈[0,1]n.
- You receive payoff pt⋅atpt⋅at 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 (maxi∑tati)−∑tpt⋅at(maxi∑tati)−∑tpt⋅at.
Fix any ε>0ε>0.
Let vector ytyt denote ε∑s≤tasε∑s≤tas, 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 tt, choose ptpt to be G(yt−1)G(yt−1).
By inspection, this gives you payoff at⋅G(yt−1)at⋅G(yt−1) in round tt.
Because of the smoothness property of FF,
Lmax(yt)≤Lmax(yt−1)+(1+O(ε))εat⋅G(yt−1).Lmax(yt)≤Lmax(yt−1)+(1+O(ε))εat⋅G(yt−1).
That is, in each round, Lmax(yt)Lmax(yt) can't increase by more than ε(1+O(ε))ε(1+O(ε)) times your payoff.
Since Lmax(¯0)=lnnLmax(0¯¯¯)=lnn,
this maintains the invariant that Lmax(yt)Lmax(yt)
is at most your total payoff times ε(1+O(ε)ε(1+O(ε),
plus ln(n)ln(n).
On the other hand, your regret in comparison to the best expert ii
is maxi∑tatimaxi∑tati, i.e., ε−1maxiytiε−1maxiyti,
which is in turn at most ε−1Lmax(yt)ε−1Lmax(yt).
Thus, your regret is at most ε−1ln(n)ε−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 ∑tpt⋅at−miniati.
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 ∑e∈spte,
then let ate=1 if e∈st, 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
∑tat⋅pt≤ε−1ln(m)+mine∑tate.
Using the definition of at, the tth payoff
(the tth term in the sum on the left)
equals ∑e∈stpte.
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
∑sx∗s|x∗|∑e∈spte = 1|x∗|∑epte∑s∋ex∗s ≥ 1|x∗|∑epte = 1|x∗|.
(Above we use that ∑s∋ex∗s≥1 for all e, and |pt|=1.)
Since each payoff is at least 1/|x∗|, the regret bound implies
T|x∗|≤ε−1ln(m)+mine∑tate.
By the definition of X,
we have |X|=T (each round chooses one set),
and ∑tate=∑e[e∈st]=∑s∋eXs,
giving
|X||x∗|≤ε−1ln(m)+mine∑s∋eXs.
We make the process stop when mine∑s∋eXs=Ω(ε−2lnm),
so then (rearranging terms)
|X|mine∑s∋eXs ≤ (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.