Provable Submodular Minimization using Wolfe's Algorithm

Deeparnab Chakrabarty, Prateek Jain, Pravesh Kothari

Introduction

However, from a practical stand point, none of the provably polynomial time algorithms exhibit good performance on instances of SFM encountered in practice (see §4). This, along with the widespread applicability of SFM in machine learning, has inspired a large body of work on practically fast procedures (see for a survey). But most of these procedures focus either on special submodular functions such as decomposable functions or on constrained SFM problems .

Fujishige-Wolfe’s Algorithm for SFM: For any submodular function ff, the base polytope Bf{\mathcal{B}}_{f} of ff is defined as follows:

This approach towards SFM was revitalized in 2006 when Fujishige and Isotani announced encouraging computational results regarding the minimum norm point algorithm. In particular, this algorithm significantly out-performed all known provably polynomial time algorithms. Theoretically, however, little is known regarding the convergence of Wolfe’s procedure except for the finite, but exponential, running time Wolfe himself proved. Nor is the situation any better for its application on the base polytope. Given the practical success, we believe this is an important, and intriguing, theoretical challenge.

In this work, we make some progress towards analyzing the Fujishige-Wolfe method for SFM and, in fact, Wolfe’s algorithm in general. In particular, we prove the following two results:

We prove (in Theorem 4) that for any polytope B{\mathcal{B}}, Wolfe’s algorithm converges to an ε\varepsilon-approximate solution, in O(1/ε)O(1/\varepsilon) steps. More precisely, in O(nQ2/ε)O(nQ^{2}/\varepsilon) iterations, Wolfe’s algorithm returns a point ∥x∥22≤∥x∗∥22+ε\|x\|_{2}^{2}\leq\|x_{*}\|_{2}^{2}+\varepsilon, where Q=max⁡p∈B∥p∥2Q=\max_{p\in{\mathcal{B}}}\|p\|_{2}.

We prove (in Theorem 5) a robust version of a theorem by Fujishige relating min-norm points on the base polytope to SFM. In particular, we prove that an approximate min-norm point solution provides an approximate solution to SFM as well. More precisely, if xx satisfies ∥x∥22≤zTx+ε2\|x\|_{2}^{2}\leq z^{T}x+\varepsilon^{2} for all z∈Bfz\in{\mathcal{B}}_{f}, then, f(Sx)≤min⁡Sf(S)+2nεf(S_{x})\leq\min_{S}f(S)+2n\varepsilon, where SxS_{x} can be constructed efficiently using xx.

Together, these two results gives us our main result which is a pseudopolynomial bound on the running time of the Fujishige-Wolfe algorithm for submodular function minimization.

Our analysis suggests that the Fujishige-Wolfe’s algorithm is dependent on FF and has worse dependence on nn than the Iwata-Orlin algorithm. To verify this, we conducted empirical study on several standard SFM problems. However, for the considered benchmark functions, running time of Fujishige-Wolfe’s algorithm seemed to be independent of FF and exhibited better dependence on nn than the Iwata-Orlin algorithm. This is described in §4.

Preliminaries: Submodular Functions and Wolfe’s Algorithm

The connection between the SFM problem and the base polytope was first established in the following minimax theorem of Edmonds .

Given any submodular function ff with f(∅)=0f(\emptyset)=0, we have

The following theorem of Fujishige shows the connection between finding the minimum norm point in the base polytope Bf\mathcal{B}_{f} of a submodular function ff and the problem of SFM on input ff. This forms the basis of the Fujishige-Wolfe algorithm. In §3.2, we prove a robust version of this theorem.

2 Wolfe’s Algorithm for Minimum Norm Point of a polytope.

When ε=0\varepsilon=0, the algorithm on termination (if it terminates) returns the minimum norm point in B{\mathcal{B}} since ∣∣x∣∣2≤x⊤x∗≤∣∣x∣∣⋅∣∣x∗∣∣||x||^{2}\leq x^{\top}x_{*}\leq||x||\cdot||x_{*}||. For completeness, we sketch Wolfe’s argument in of finite termination. Note that ∣S∣≤n|S|\leq n always; otherwise the affine minimizer is which either terminates the program or starts a minor cycle which decrements ∣S∣|S|. Thus, the number of minor cycles in a major cycle ≤n\leq n, and it suffices to bound the number of major cycles. Each major cycle is associated with a set SS whose affine minimizer, which is the current xx, lies in the convex hull of SS. Wolfe calls such sets corrals. Next, we show that ∣∣x∣∣||x|| strictly decreases across iterations (major or minor cycle) of the algorithm, which proves that no corral repeats, thus bounding the number of major cycles by the number of corrals. The latter is at most (Nn)N\choose n, where NN is the number of vertices of B{\mathcal{B}}.

Consider iteration jj which starts with xjx_{j} and ends with xj+1x_{j+1}. Let SjS_{j} be the set SS at the beginning of iteration jj. If the iteration is a major cycle, then xj+1x_{j+1} is the affine minimizer of Sj∪{qj}S_{j}\cup\{q_{j}\} where qj=LO(xj)q_{j}=\text{LO}(x_{j}). Since xj⊤qj<∣∣xj∣∣2x_{j}^{\top}q_{j}<||x_{j}||^{2} (the algorithm doesn’t terminate in iteration jj) and xj+1⊤qj=∣∣xj+1∣∣2x_{j+1}^{\top}q_{j}=||x_{j+1}||^{2} (affine minimizer property), we get xj≠xj+1x_{j}\neq x_{j+1}, and so ∣∣xj+1∣∣<∣∣xj∣∣||x_{j+1}||<||x_{j}|| (since the affine minimizer is unique). If the iteration is a minor cycle, then xj+1=θxj+(1−θ)yjx_{j+1}=\theta x_{j}+(1-\theta)y_{j}, where yjy_{j} is the affine minimizer of SjS_{j} and θ<1\theta<1. Since ∣∣yj∣∣<∣∣xj∣∣||y_{j}||<||x_{j}|| (yj≠xjy_{j}\neq x_{j} since yj∉conv(Sj)y_{j}\notin{\tt conv}(S_{j})), we get ∣∣xj+1∣∣<∣∣xj∣∣||x_{j+1}||<||x_{j}||.

Analysis

Our refined analysis of Wolfe’s algorithm is encapsulated in the following theorem.

Let B{\mathcal{B}} be an arbitrary polytope such that the maximum Euclidean norm of any vertex of B{\mathcal{B}} is at most QQ. After O(nQ2/ε2)O(nQ^{2}/\varepsilon^{2}) iterations, Wolfe’s algorithm returns a point x∈Bx\in{\mathcal{B}} which satisfies ∣∣x∣∣2≤x⊤q+ε2||x||^{2}\leq x^{\top}q+\varepsilon^{2}, for all points q∈Bq\in{\mathcal{B}}. In particular, this implies ∣∣x∣∣2≤∣∣x∗∣∣2+2ε2||x||^{2}\leq||x_{*}||^{2}+2\varepsilon^{2}.

The above theorem shows that Wolfe’s algorithm converges to the minimum norm point at an 1/t1/t-rate. We stress that the above is for any polytope. To apply this to SFM, we prove the following robust version of Fujishige’s theorem connecting the minimum norm point in the base polytope and the set minimizing the submodular function value.

Fix a submodular function ff with base polytope Bf\mathcal{B}_{f}. Let x∈Bfx\in{\mathcal{B}}_{f} be such that ∣∣x∣∣2≤x⊤q+ε2||x||^{2}\leq x^{\top}q+\varepsilon^{2} for all q∈Bfq\in{\mathcal{B}}_{f}. Renumber indices such that x1≤⋯≤xnx_{1}\leq\cdots\leq x_{n}. Let S={1,2,…,k},S=\{1,2,\dots,k\},where kk is smallest index satisfying (C1) xk+1≥0x_{k+1}\geq 0 and (C2) xk+1−xk≥ε/nx_{k+1}-x_{k}\geq\varepsilon/n. Then, f(S)≤f(T)+2nεf(S)\leq f(T)+2n\varepsilon for any subset T⊆ST\subseteq S. In particular, if ε=14n\varepsilon=\frac{1}{4n} and ff is integer-valued, then SS is a minimizer.

Theorem 4 and Theorem 5 implies our main theorem. See 1

We prove Theorem 4 and Theorem 5 in §3.1 and §3.2, respectively.

The stumbling block in the analysis of Wolfe’s algorithm is the interspersing of major and minor cycles which oscillates the size of SS preventing it from being a good measure of progress. Instead, in our analysis, we use the norm of xx as the measure of progress. Already we have seen that ∣∣x∣∣||x|| strictly decreases. It would be nice to quantify how much the decrease is, say, across one major cycle. This, at present, is out of our reach even for major cycles which contain two or more minor cycles in them. However, we can prove significant drop in norm in major cycles which have at most one minor cycle in them. We call such major cycles good. The next easy, but very useful, observation is the following: one cannot have too many bad major cycles without having too many good major cycles.

In any consecutive 3n+13n+1 iterations, there exists at least one good major cycle.

Consider a run of rr iterations where all major cycles are bad, and therefore contain ≥2\geq 2 minor cycles. Say there are kk major cycles and r−kr-k minor cycles, and so r−k≥2kr-k\geq 2k implying r≥3kr\geq 3k. Let SIS_{I} be the set SS at the start of these iterations and SFS_{F} be the set at the end. We have ∣SF∣≤∣SI∣+k−(r−k)≤∣SI∣+2k−r≤n−r3|S_{F}|\leq|S_{I}|+k-(r-k)\leq|S_{I}|+2k-r\leq n-\frac{r}{3}. Therefore, r≤3nr\leq 3n, since ∣SF∣≥0|S_{F}|\geq 0.∎

Before proceeding, we introduce some notation.

Given a point x∈Bx\in{\mathcal{B}}, let us denote err(x):=∣∣x∣∣2−∣∣x∗∣∣2{\tt err}(x):=||x||^{2}-||x_{*}||^{2}. Given a point xx and qq, let Δ(x,q):=∣∣x∣∣2−x⊤q\Delta(x,q):=||x||^{2}-x^{\top}q and let Δ(x):=max⁡q∈BΔ(x,q)=∣∣x∣∣2−min⁡q∈Bx⊤q\Delta(x):=\max_{q\in{\mathcal{B}}}\Delta(x,q)=||x||^{2}-\min_{q\in{\mathcal{B}}}x^{\top}q. Observe that Δ(x)≥err(x)/2\Delta(x)\geq{\tt err}(x)/2 since Δ(x)≥∣∣x∣∣2−x⊤x∗≥(∣∣x∣∣2−∣∣x∗∣∣2)/2\Delta(x)\geq||x||^{2}-x^{\top}x_{*}\geq(||x||^{2}-||x_{*}||^{2})/2.

We now use tt to index all good major cycles. Let xtx_{t} be the point xx at the beginning of the tt-th good major cycle. The next theorem shows that the norm significantly drops across good major cycles.

For tt iterating over good major cycles, err(xt)−err(xt+1)≥Δ2(xt)/8Q2{\tt err}(x_{t})-{\tt err}(x_{t+1})\geq\Delta^{2}(x_{t})/8Q^{2}.

We now complete the proof of Theorem 4 using Theorem 6.

Using Theorem 6, we get that err(xt)−err(xt+1)≥err(xt)2/32Q2{\tt err}(x_{t})-{\tt err}(x_{t+1})\geq{\tt err}(x_{t})^{2}/32Q^{2} since Δ(x)≥err(x)/2\Delta(x)\geq{\tt err}(x)/2 for all xx. We claim that in t∗≤64Q2/ε2t^{*}\leq 64Q^{2}/\varepsilon^{2} good major cycles, we reach xtx_{t} with err(xt∗)≤ε2{\tt err}(x_{t^{*}})\leq\varepsilon^{2}. To see this rewrite as follows:

Now let e0:=err(x0)e_{0}:={\tt err}(x_{0}). Define t0,t1,…t_{0},t_{1},\ldots such that for all k≥1k\geq 1 we have err(xt)>e0/2k{\tt err}(x_{t})>e_{0}/2^{k} for t∈[tk−1,tk)t\in[t_{k-1},t_{k}). That is, tkt_{k} is the first time tt at which err(xt)≤e0/2k{\tt err}(x_{t})\leq e_{0}/2^{k}. Note that for t∈[tk−1,tk)t\in[t_{k-1},t_{k}), we have err(xt+1)≤err(xt)(1−e032Q22k){\tt err}(x_{t+1})\leq{\tt err}(x_{t})\left(1-\frac{e_{0}}{32Q^{2}2^{k}}\right). This implies in 32Q22k/e032Q^{2}2^{k}/e_{0} time units after tk−1t_{k-1}, we will have err(xt)≤err(xtk−1)/2{\tt err}(x_{t})\leq{\tt err}(x_{t_{k-1}})/2; we have used the fact that (1−δ)1/δ<1/2(1-\delta)^{1/\delta}<1/2 when δ<1/32\delta<1/32. That is, tk≤tk−1+32Q22k/e0t_{k}\leq t_{k-1}+32Q^{2}2^{k}/e_{0}. We are interested in t∗=tKt^{*}=t_{K} where 2K=e0/ε22^{K}=e_{0}/\varepsilon^{2}. We get t∗≤32Q2e0(1+2+⋯+2K)≤64Q22K/e0=64Q2/ε2t^{*}\leq\frac{32Q^{2}}{e_{0}}\left(1+2+\cdots+2^{K}\right)\leq 64Q^{2}2^{K}/e_{0}=64Q^{2}/\varepsilon^{2}.

Next, we claim that in t∗∗<t∗+t′t^{**}<t^{*}+t^{\prime} good major cycles, where t′=8Q2/ε2t^{\prime}=8Q^{2}/\varepsilon^{2}, we obtain an xt∗∗x_{t^{**}} with Δ(xt∗∗)≤ε2\Delta(x_{t^{**}})\leq\varepsilon^{2}. This is because, if not, then, using Theorem 6, in each of the good major cycles t∗+1,t∗+2,…t∗+t′t^{*}+1,t^{*}+2,\ldots t^{*}+t^{\prime}, err(x){\tt err}(x) falls additively by >ε4/8Q2>\varepsilon^{4}/8Q^{2} and thus err(xt∗+t′)<err(xt∗)−ε2≤0{\tt err}(x_{t^{*}+t^{\prime}})<{\tt err}(x_{t^{*}})-\varepsilon^{2}\leq 0, which is a contradiction. Therefore, in O(Q2/ε2)O(Q^{2}/\varepsilon^{2}) good major cycles, the algorithm obtains an x=xt∗∗x=x_{t^{**}} with Δ(x)≤ε2\Delta(x)\leq\varepsilon^{2}, proving Theorem 4. ∎

The rest of this subsection is dedicated to proving Theorem 6.

We start off with a simple geometric lemma.

where QQ is an upper bound on ∣∣x∣∣,∣∣q∣∣||x||,||q||.

Since yy is the minimum norm point in aff(S){\tt aff}(S), we have x⊤y=q⊤y=∣∣y∣∣2x^{\top}y=q^{\top}y=||y||^{2}. In particular, ∣∣x−y∣∣2=∣∣x∣∣2−∣∣y∣∣2||x-y||^{2}=||x||^{2}-||y||^{2}. Therefore,

where the first inequality is Cauchy-Schwartz and the second is triangle inequality. Lemma now follows by taking square of the above expression and by observing that ∥y−x∥2=∥x∥2−∥y∥2\|y-x\|^{2}=\|x\|^{2}-\|y\|^{2}. ∎

The above lemma takes case of major cycles with no minor cycles in them.

Let tt be the index of a good major cycle with no minor cycles. Then err(xt)−err(xt+1)≥Δ2(xt)/4Q2{\tt err}(x_{t})-{\tt err}(x_{t+1})\geq\Delta^{2}(x_{t})/4Q^{2}.

Let StS_{t} be the set SS at start of the ttth good major cycle, and let qtq_{t} be the point minimizing xt⊤qx_{t}^{\top}q. Let S=St∪qtS=S_{t}\cup q_{t} and let yy be the minimum norm point in aff(S){\tt aff}(S). Since there are no minor cycles, y∈conv(S)y\in{\tt conv}(S). Abuse notation and let xt+1=yx_{t+1}=y be the iterate at the call of the next major cycle (and not the next good major cycle). Since the norm monotonically decreases, it suffices to prove the lemma statement for this xt+1x_{t+1}. Now apply Lemma 2 with x=xtx=x_{t} and q=qtq=q_{t} and S=St∪qtS=S_{t}\cup q_{t}. We have that err(xt)−err(xt+1)=∣∣xt∣∣2−∣∣y∣∣2≥Δ(xt,qt)2/4Q2=Δ(xt)2/4Q2{\tt err}(x_{t})-{\tt err}(x_{t+1})=||x_{t}||^{2}-||y||^{2}\geq\Delta(x_{t},q_{t})^{2}/4Q^{2}=\Delta(x_{t})^{2}/4Q^{2}. ∎

Now we have to argue about major cycles with exactly one minor cycle. The next observation is a useful structural result.

Consider any (not necessarily good) major cycle. Let xt,St,qtx_{t},S_{t},q_{t} be the parameters at the beginning of this cycle, and let xt+1,St+1,qt+1x_{t+1},S_{t+1},q_{t+1} be the parameters at the beginning of the next major cycle. Then, qt∈St+1q_{t}\in S_{t+1}.

Clearly St+1⊆St∪qtS_{t+1}\subseteq S_{t}\cup q_{t} since qtq_{t} is added and then maybe minor cycles remove some points from SS. Suppose qt∉St+1q_{t}\notin S_{t+1}. Well, then St+1⊆StS_{t+1}\subseteq S_{t}. But xt+1x_{t+1} is the affine minimizer of St+1S_{t+1} and xtx_{t} is the affine minimizer of StS_{t}. Since StS_{t} is the larger set, we get ∣∣xt∣∣≤∣∣xt+1∣∣||x_{t}||\leq||x_{t+1}||. This contradicts the strict decrease in the norm. ∎

Suppose the ttth good major cycle has exactly one minor cycle. Then, err(xt)−err(xt+1)≥Δ(xt)2/8Q2{\tt err}(x_{t})-{\tt err}(x_{t+1})\geq\Delta(x_{t})^{2}/8Q^{2}.

Let xt,St,qtx_{t},S_{t},q_{t} be the parameters at the beginning of the ttth good major cycle. Let yy be the affine minimizer of St∪qtS_{t}\cup q_{t}. Since there is one minor cycle, y∉conv(St∪qt)y\notin{\tt conv}(S_{t}\cup q_{t}). Let z=θxt+(1−θ)yz=\theta x_{t}+(1-\theta)y be the intermediate xx, that is, point in the line segment [xt,y][x_{t},y] which lies in conv(St∪qt){\tt conv}(S_{t}\cup q_{t}). Let S′S^{\prime} be the set after the single minor cycle is run. Since there is just one minor cycle, we get xt+1x_{t+1} (abusing notation once again since the next major cycle maynot be good) is the affine minimizer of S′S^{\prime}.

Let A≜∣∣xt∣∣2−∣∣y∣∣2A\triangleq||x_{t}||^{2}-||y||^{2}. From Lemma 2, and using qtq_{t} is the minimizer of xt⊤qx_{t}^{\top}q over all qq, we have:

Recall, z=θxt+(1−θ)yz=\theta x_{t}+(1-\theta)y for some θ∈\theta\in. Since yy is the min-norm point of aff(St∪qt){\tt aff}(S_{t}\cup q_{t}), and xt∈Stx_{t}\in S_{t}, we get ∣∣z∣∣2=θ2∣∣xt∣∣2+(1−θ2)∣∣y∣∣2||z||^{2}=\theta^{2}||x_{t}||^{2}+(1-\theta^{2})||y||^{2}. this yields:

Further, recall that S′S^{\prime} is the set after the only minor cycle in the ttht^{th} iteration is run and thus, from Lemma 4, qt∈S′q_{t}\in S^{\prime}. z∈conv(S′)z\in{\tt conv}(S^{\prime}) by definition. And since there is only one minor cycle, xt+1x_{t+1} is the affine minimizer of S′S^{\prime}. We can apply Lemma 2 with z,qtz,q_{t} and xt+1x_{t+1}, to get

Now we lower bound Δ2(z,qt)\Delta^{2}(z,q_{t}). By definition of zz, we have:

where the last equality follows since y⊤qt=∣∣y∣∣2y^{\top}q_{t}=||y||^{2} (since qt∈St∪qtq_{t}\in S_{t}\cup q_{t} and yy is affine minimizer of St∪qtS_{t}\cup q_{t}). This gives

We need to show that the RHS is at least Δ(xt)2/8Q2\Delta(x_{t})^{2}/8Q^{2}. Intuitively, if θ\theta is small (close to ), the first term implies this using (3), and if θ\theta is large (close to 11), then the second term implies this. The following paragraph formalizes this intuition for any θ\theta.

Now, if (1−θ2)A>Δ(xt)2/8Q2(1-\theta^{2})A>\Delta(x_{t})^{2}/8Q^{2}, we are done. Therefore, we assume (1−θ2)A≤Δ(xt)2/8Q2(1-\theta^{2})A\leq\Delta(x_{t})^{2}/8Q^{2}. In this case, using the fact that Δ(xt)≤∣∣xt∣∣2+∣∣xt∣∣∣∣qt∣∣≤2Q2\Delta(x_{t})\leq||x_{t}||^{2}+||x_{t}||||q_{t}||\leq 2Q^{2}, we get that

Substituting in (7), and using (3), we get

Lemma 3 and Lemma 5 complete the proof of Theorem 6.

2 A Robust version of Fujishige’s Theorem

In this section we prove Theorem 5 which we restate below. See 5

Before proving the theorem, note that setting ε=0\varepsilon=0 gives Fujishige’s theorem Theorem 3.

We claim that the following inequality holds. Below, [i]:={1,…,i}[i]:=\{1,\ldots,i\}.

We prove this shortly. Let SS and kk be as defined in the theorem statement. Note that ∑i∈S:xi≥0xi≤nε\sum_{i\in S:x_{i}\geq 0}x_{i}\leq n\varepsilon, since (C2) doesn’t hold for any index i<ki<k with xi≥0x_{i}\geq 0. Furthermore, since xk+1−xk≥ε/nx_{k+1}-x_{k}\geq\varepsilon/n, we get using (9), f(S)−x(S)≤nεf(S)-x(S)\leq n\varepsilon. Therefore, f(S)≤∑i∈S:xi<0xi+2nεf(S)\leq\sum_{i\in S:x_{i}<0}x_{i}+2n\varepsilon which implies the theorem due to Theorem 2.

Now we prove (9). Let z∈Bfz\in{\mathcal{B}}_{f} be the point which minimizes z⊤xz^{\top}x. By the Greedy algorithm described in Section 2.1, we know that zi=f([i])−f([i−1])z_{i}=f([i])-f([i-1]). Next, we write xx in a different basis as follows: x=∑i=1n−1(xi−xi+1)1[i]+xn1[n]x=\sum_{i=1}^{n-1}(x_{i}-x_{i+1}){\mathbf{1}}_{[i]}+x_{n}{\mathbf{1}}_{[n]}. Here 1[i]{\mathbf{1}}_{[i]} is used as the shorthand for the vector which has 11’s in the first ii coordinates and s everywhere else. Taking dot product with (x−z)(x-z), we get

Since zi=f([i])−f([i−1])z_{i}=f([i])-f([i-1]), we get x⊤1[i]−z⊤1[i]x^{\top}{\mathbf{1}}_{[i]}-z^{\top}{\mathbf{1}}_{[i]} is x([i])−f([i])x([i])-f([i]). Therefore the RHS of (10) is the LHS of (9). The LHS of (10), by the assumption of the theorem, is at most ε2\varepsilon^{2} implying (9). ∎

Discussion and Conclusions

Note that our anlaysis of the Fujishige-Wolfe algorithm is weaker than the best known method in terms of time complexity (IO method by ) on two counts: a) dependence on nn, b) dependence on FF. In contrast, we found this algorithm significantly outperforming the IO algorithm empirically – we show two plots here. In Figure 1 (a), we run both on Erdos-Renyi graphs with p=0.8p=0.8 and randomly chosen s,ts,t nodes. In Figure 1 (b), we run both on the Iwata group functions with 33 groups. Perhaps more interestingly, in Figure 1 (c), we ran the Fujishige-Wolfe algorithm on the simple path graph where s,ts,t were the end points, and changed the capacities on the edges of the graph which changed the parameter FF. As can be seen, the number of iterations of the algorithm remains constant even for exponentially increasing FF.

References