+ All Categories
Home > Documents > [Lecture Notes in Computer Science] Automata, Languages and Programming Volume 4051 || Weighted...

[Lecture Notes in Computer Science] Automata, Languages and Programming Volume 4051 || Weighted...

Date post: 05-Dec-2016
Category:
Upload: ingo
View: 212 times
Download: 0 times
Share this document with a friend
12
Weighted Bipartite Matching in Matrix Multiplication Time [Extended Abstract] Piotr Sankowski Institute of Informatics, Warsaw University, Banacha 2, 02-097, Warsaw, Poland [email protected] Abstract. In this paper we consider the problem of finding maximum weighted matchings in bipartite graphs with nonnegative integer weights. The presented algorithm for this problem work in ˜ O(Wn ω ) 1 time, where ω is the matrix multiplication exponent, and W is the highest edge weight in the graph. As a consequence of this result we obtain ˜ O(Wn ω ) time algorithms for computing: minimum weight bipartite vertex cover, single source shortest paths and minimum weight vertex disjoint s-t paths. 1 Introduction The weighted matching problem is one of the fundamental problems in com- binatorial optimization. The first algorithm for this problem in the bipartite case was proposed in the fifties of the last century by Kuhn [14]. His result has been improved several times since then, the known results are summarized in the Table 1. The bold font indicates an asymptotically best bound in the ta- bles. In particular the presented here algorithm is faster than the algorithm of Gabow and Tarjan [8] and the algorithm of Edmonds and Karp [5] in the case of dense graphs with small integer weights. Note, that in this summary there are no algorithms that use matrix multiplication. However, in the papers studying the parallel complexity of the problem [13],[18], such algorithms are implicitly constructed. These results lead to O(Wn ω+2 ) sequential time algorithms. In this paper we improve the complexity by factor of n 2 . The improvement in the expo- nent by 1 is achieved with use of the very recent results of Storjohann [24], who had shown faster algorithms for computing polynomial matrix determinants. His results are summarized in Section 1.1. Further improvement is achieved by a novel reduction technique, that allows us to reduce the weighted version of the problem to unweighted one. The four steps of the reduction are schemat- ically presented on Figure 1. As a step of the reduction we also compute the bipartite weighted cover of the graph. The unweighted problem is then solved with use of the O(n ω ) time algorithms developed two years ago by Mucha and Research supported by KBN grant 1P03A01830. 1 ˜ O denotes the so-called “soft O” notation, i.e. f (n) = ˜ O(g(n)) iff f (n) = O(g(n) log k n) for some constant k. M. Bugliesi et al. (Eds.): ICALP 2006, Part I, LNCS 4051, pp. 274–285, 2006. c Springer-Verlag Berlin Heidelberg 2006
Transcript

Weighted Bipartite Matching in Matrix

Multiplication Time�

[Extended Abstract]

Piotr Sankowski

Institute of Informatics, Warsaw University,Banacha 2, 02-097, Warsaw, Poland

[email protected]

Abstract. In this paper we consider the problem of finding maximumweighted matchings in bipartite graphs with nonnegative integer weights.The presented algorithm for this problem work in O(Wnω)1 time, whereω is the matrix multiplication exponent, and W is the highest edge weightin the graph. As a consequence of this result we obtain O(Wnω) timealgorithms for computing: minimum weight bipartite vertex cover, singlesource shortest paths and minimum weight vertex disjoint s-t paths.

1 Introduction

The weighted matching problem is one of the fundamental problems in com-binatorial optimization. The first algorithm for this problem in the bipartitecase was proposed in the fifties of the last century by Kuhn [14]. His result hasbeen improved several times since then, the known results are summarized inthe Table 1. The bold font indicates an asymptotically best bound in the ta-bles. In particular the presented here algorithm is faster than the algorithm ofGabow and Tarjan [8] and the algorithm of Edmonds and Karp [5] in the case ofdense graphs with small integer weights. Note, that in this summary there areno algorithms that use matrix multiplication. However, in the papers studyingthe parallel complexity of the problem [13],[18], such algorithms are implicitlyconstructed. These results lead to O(Wnω+2) sequential time algorithms. In thispaper we improve the complexity by factor of n2. The improvement in the expo-nent by 1 is achieved with use of the very recent results of Storjohann [24], whohad shown faster algorithms for computing polynomial matrix determinants.His results are summarized in Section 1.1. Further improvement is achieved bya novel reduction technique, that allows us to reduce the weighted version ofthe problem to unweighted one. The four steps of the reduction are schemat-ically presented on Figure 1. As a step of the reduction we also compute thebipartite weighted cover of the graph. The unweighted problem is then solvedwith use of the O(nω) time algorithms developed two years ago by Mucha and� Research supported by KBN grant 1P03A01830.1 O denotes the so-called “soft O” notation, i.e. f(n) = O(g(n)) iff f(n) =

O(g(n) logk n) for some constant k.

M. Bugliesi et al. (Eds.): ICALP 2006, Part I, LNCS 4051, pp. 274–285, 2006.c© Springer-Verlag Berlin Heidelberg 2006

Weighted Bipartite Matching in Matrix Multiplication Time 275

Table 1. The complexity results for the bipartite weighted matching

Complexity Author

O(n4) Khun (1955) [14] and Munkers (1957) [19]

O(n2m) Iri (1960) [10]

O(n3) Dinic and Kronrod (1969) [4]

O(nm) Edmonds and Karp (1970) [5]

O(n34 m log W ) Gabow (1983) [7]

O(√

nm log(nW )) Gabow and Tarjan (1989) [8]

O(√

nmW ) Kao, Lam, Sung and Ting (1999) [12]

O(nωW ) this paper

Sankowski [17]. Storjohann’s result can also be used to compute the maximumweight of a perfect matching in general graphs. However, the problem of findingsuch matching remains unsolved.

Fig. 1. The scheme of the reduction from weighted to unweighted matchings

The weighted matching problem is not only interesting by itself, but alsoit can be used to solve many other problems in combinatorial optimization.In particular, the presented algorithm for finding maximum weighted perfectmatchings can be used to find minimum weighted perfect matching, as well as,maximum and minimum weighted matchings. Moreover, the minimum weightedperfect matching algorithm can be used for computing the minimum weight ofk vertex disjoint s-t paths, whereas the minimum weighted vertex cover can beused to solve the single source shortest paths (SSSP) problem with negative edgeweights. The complexity of the algorithms for computing the minimum weightof k vertex disjoint s-t paths, follow exactly the results in Table 1. The authoris not aware of any special algorithms for this problem. The complexity resultsfor the SSSP problem with negative edge weights are summarized in Table 2.

276 P. Sankowski

Table 2. The complexity results for the SSSP problem with negative weights. The

bold font indicates an asymptotically best bound in the table.

Complexity Author

O(n4) Shimbel (1955) [23]

O(n2mW ) Ford (1956) [11]

O(nm) Bellman (1958) [1], Moore (1959) [16]

O(n34 m log W ) Gabow (1983) [7]

O(√

nm log(nW )) Gabow and Tarjan (1989) [8]

O(√

nm log(W )) Goldberg (1993) [9]

O(nωW ) Yuster and Zwick (2005) [25], Sankowski (2005) [21],this paper

The rest of the paper is organized as follows. In the remainder of this introduc-tory section, we summarize the results in linear algebra algorithms, we show therandomization technique used later in this paper and we recall the result from [17].In Section 2 we present our reduction technique in the case of bipartite graphs.This section is divided into four parts, each containing one reduction step. Thefirst step of the reduction, i.e., the construction of the equality subgraph from theminimum vertex cover, is based on Egervarys theorem. The reduction from mini-mum vertex cover to shortest paths was given by Iri [10]. The third step is the re-duction from shortest paths to matchings’ weights in appropriately defined graph.The matchings’ weights can be latter computer with use of the matrix polynomialalgorithms. In Section 3 we review the applications of the algorithm to: other kindsof the weighted matching problems, SSSP problem and minimum weight vertexdisjoint s-t path problem. Finally, Section 4.1 concludes the paper.

1.1 Linear Algebra Algorithms

We denote by ω the exponent of a square matrix multiplication. The best boundon ω ≤ 2.376 is due to Coppersmith and Winograd [2]. The interaction of thematrix multiplication and linear algebra is well understood. The best knownalgorithms for many problems in linear algebra work in matrix multiplicationtime, i.e., the determinant of an n × n matrix A, or the solution to the linearsystem of equations, can be computed in O(nω) arithmetic operations. Veryrecently Storjohann [24] has shown that for polynomial matrices these problemscan be solved with the same exponent.

Theorem 1 (Storjohann ’03). Let A ∈ K[x]n×n be a polynomial matrix ofdegree d and b ∈ K[x]n×1 be a polynomial vector of the same degree, then

– determinant det(A),– rational system solution A−1b,

can be computed in O(nωd) operations in K, with high probability.

Weighted Bipartite Matching in Matrix Multiplication Time 277

For our purposes it would be convenient if one could compute the inverse matrixA−1 in the above time bounds. This is impossible because the rational functionsin the inverse can have degrees as high as nd, so just the output size is Ω(n3d),and no algorithm can work faster. Thus the approach similar to the one in papers[20],[17], where the inverse matrix is used to find edges belonging to a perfectmatching, will not lead to O(Wnω) time algorithm.

1.2 Zippel-Schwartz Lemma

In this paper we will reduce a weighted perfect matching problem to testing ifsome set of polynomials is non-zero. In the simpler case of perfect matchings, inorder test if a graph has a perfect matchings we have to test if if appropriatelydefined adjacency matrix is non-singular [15]. We can verify that the matrix isnon-singular by computing its determinant, which is a polynomial of the entriesof the matrix. However, this determinant may have exponentially many terms,so it cannot be computed symbolically in polynomial time. The following lemmadue to Zippel [26] and Schwartz [22] can be used to overcome this obstacle.

Lemma 2. If p(x1, . . . , xm) is a non-zero polynomial of degree d with coeffi-cients in a field and S is a subset of the field, then the probability that p evaluatesto 0 on a random element (s1, s2, . . . , sm) ∈ Sm is at most d/|S|. We call suchevent a false zero.

Corollary 3. If a polynomial of degree n is evaluated on random values moduloprime number p of length (1 + c) log n, then the probability of false zero is atmost 1

nc , for any c > 0.

In the standard RAM model we assume the word size to be O(log n). Thusthe finite field arithmetic modulo p, except division, can be implemented inconstant time. The divisions can be realized in O(log n) time. Nevertheless inour algorithms divisions are not time dominating operations. These assumptionsare used to establish the time bounds for our algorithms.

1.3 Unweighted Matchings

As stated in the introduction we show here the reduction from the weightedmatching problem to the unweighted one. Next the unweighted perfect match-ing problem is solved in O(nω) randomized time as stated in the following the-orem [17].

Theorem 4 (Mucha and Sankowski ’04). A perfect matching in a graphcan be computed in O(nω) time, with high probability.

For the simplicity in the remainder of this paper we assume that in the consideredgraphs there is always a perfect matching. When necessary this assumption canbe checked with use of this theorem.

278 P. Sankowski

2 Weighted Matchings in Bipartite Graphs

A weighted bipartite n-vertex graph G is a tuple G = (U, V, E, w). The vertexsets are given by U = {u1, . . . , un} and V = {v1, . . . , vn}. E ⊆ U × V denotesthe edge set, and the function w : E → Z+ ascribes weights to the edges. Wedenote by W the maximum weight in w.

In the maximum weighted bipartite perfect matching problem we seek a per-fect matching M in a weighted bipartite graph G to maximize the total weightw(M) =

∑e∈M w(e).

A weighted cover is a choice of labels y(v1), . . . , y(vn), y(u1), . . . , y(un) suchthat y(v) + y(u) ≥ w(vu) for all v ∈ V and u ∈ U . The minimum weightedcover problem is that of finding a cover of minimum weight. The following theo-rem states that the vertex cover problem and the maximum weighted matchingproblem are dual.

Theorem 5 (Egervary ’31). Let G = (U, V, E, w) be a weighted bipartitegraph. The maximum weight of a perfect matching of G is equal to weight ofthe minimum weighted cover of G.

In order to find weighted perfect matchings we explore this duality. In the nexttwo subsections we will show how to solve one of these problems when we alreadyhave the solution to the other.

2.1 From Equality Subgraph to Vertex Cover

The following lemma is one of the ingredients of the Hungarian method. Theequality subgraph Gp for a weighted graph G and its vertex cover p is definedas Gp = (U, V, E′), where E′ = {uv : uv ∈ E and p(u) + p(v) = w(uv)}. Thefollowing lemma is a direct consequence of Egervarys Theorem.

Lemma 6. Consider a weighted bipartite graph G =(U, V, E, w) and a minimum vertex cover p of G. The matchingM is a perfect matching in Gp iff it is a maximum weightedperfect matching in G.

Thus if we show how to find a minimum weighted bipartite vertex cover p inO(Wnω) time, then we will be able to find the equality subgraph Gp. Nextwe find the maximum weighted bipartite matching in G by finding the perfectmatching in Gp with use of Theorem 4. Similar observation to Lemma 6, butphrased with use of allowed edges, was formulated in [6].

2.2 From Vertex Cover to Shortest Paths

The following technique was given by Iri [10]. Let M be a maximum weightedperfect matching in a weighted bipartite graph G = (U, V, E, w). Construct adirected graph D = (U ∪ V ∪ {r}, A, wd), and

– for all edges uv ∈ E, with u ∈ U and v ∈ V , add a directed edge (u, v) to A,with weight wd((u, v)) := −w(uv),

Weighted Bipartite Matching in Matrix Multiplication Time 279

– for all edges uv ∈ M , with u ∈ U and v ∈ V , add a directed edge (v, u) toA, with weight wd((v, u)) := w(uv),

– add zero weight edges (r, v) for each v ∈ V .

Let distG(u, v) be the distance from vertex u to vertex v in the graph G.

Lemma 7 (Iri ’60). Set y(u) := distD(r, u) for u ∈ U andy(v) := − distD(r, v) for v ∈ V , then y is a minimum weightedvertex cover in G.

2.3 From Shortest Paths to Matching Weights

In this section we show how to compute the distances in D by computingjust some matching weights in G. Consider a weighted bipartite graph G =(U, V, E, w). Add a new vertex s = un+1 to U and a new vertex t = vn+1 toV . Connect s with all vertices from V with zero weight edges, and connect thevertex t with a vertex u in U . Let us denote by G(u) the resulting graph and byM(u) the maximum weighted perfect matching in this graph. Note that G(u)has a perfect matching because G has a perfect matching. By G(∗) we denotethe graph where the vertex t is connected with all vertices in U .

Lemma 8. Let G = (U, V, E, w) be a weighted bipartite graphand let M be the maximum weighted perfect matching M in G,then distD(r, u) = w(M) − w(M(u)), for all u ∈ U .

Proof. Consider the matchings M(u) and M . Direct all edges in M from V to Uand all edges in M(u) from U to V . In this way we obtain a directed path p froms to t and a set C of even length alternating cycles (see Figure 2). The path p

Fig. 2. Graph G(u) with the matching M and M(u). The sum M ∪M(u) gives a path

from s to t.

280 P. Sankowski

corresponds to the path in graph D from r to u. And the cycles in C correspondto cycles in D. All these cycles have a zero weight because M and M(u) aremaximum. Thus the weight of p is exactly w(M)−w(M(u)) and dist(r, u) ≤ yu.

Now note that from each path p from r to u in D we can construct a perfectmatching M ′(u) in G(u). We simply take M ′(u) = p ⊕ M . Thus w(M ′(u)) +w(M) = w(p), and so dist(r, u) ≥ yu. �Note that if the minimum vertex cover is computed correctly for U then for Vit can be determined by the following equation,

y(v) := maxi∈U

{w(vi) − y(i)} for v ∈ V. (1)

Thus we can restrict ourselves to computing the vertex cover only for vertices inU , as in Lemma 8.

2.4 From Matching Weights to Matrix Polynomials

In this subsection we show how to compute the weights of the matchings M(u)with use of the matrix polynomials. We start by showing a way of computingthe weight of a maximum weighted perfect matching.

For a weighted bipartite graph G = (U, V, E, w), define a n×n matrix B(G, x)by

B(G, x)i,j =

{zi,jx

w(vivj) if vivj ∈ E,

0 otherwise,

where zi,j are distinct variables corresponding to edges in G.

Lemma 9 (Karp, Upfal and Wigderson ’86). The degree of x indet(B(G, x)) is the weight of the maximum weighted perfect matching in G.

The following is a direct consequence of Theorem 1, Corollary 3 and the abovelemma.

Corollary 10. The weight of the maximum weighted bipartite perfect matchingcan be computed in O(Wnω) time, with high probability.

The above corollary gives the way of computing the weight of the maximumweighted perfect matching w(M), but we also need to compute the weightsw(M(u)), for all u ∈ U .

For a given matrix A, we denote by Ai,j the matrix A with elements in i-throw and j-th column set to zero except that Ai,j = 1. From the definition of theadjoint we have that adj(A)i,j = det(Aj,i) and A−1 det(A) = adj(A).

Lemma 11. Given a weighted bipartite graph G =(U, V, E, w), compute z = det(B(G(∗), x))B(G(∗), x)−1en+1,then degx(zi) = w(M(ui)).

Weighted Bipartite Matching in Matrix Multiplication Time 281

Proof. We have

zi = det(B(G(∗), x))(B(G(∗), x)−1en+1

)

i=

(adj(B(G(∗), x))en+1

)

i=

= adj(B(G(∗), x))n+1,i = det(B(G(∗), x)i,n+1) = det(B(G(ui), x)),

and now from Lemma 9 we obtain that

degx(zi) = degx

(det(B(G(ui), x))

)= w(M(ui)). �

As a a consequence of Theorem 1, Corollary 3 and the above corollary, we ob-tain that the values w(M(u)) can be computed in O(Wnω) time. Joining thisobservation with Lemma 8, Lemma 7 and Lemma 6 we obtain

Theorem 12. Given a weighted bipartite graph G = (U, V, E, w), a minimumweighted vertex cover of G and a maximum weighted perfect matching in G, canbe computed in O(Wnω) time, with high probability.

3 Applications of the Matching Algorithm

3.1 Maximum and Minimum Matchings

In the minimum weighted bipartite perfect matching problem we seek a perfectmatching M in a weighted bipartite graph G to minimize the total weight w(M).The instance of the minimization problem can be turned into the maximizationproblem by defining a new weight function w′ : E → Z+ as

w′(e) = −w(e) + W.

By taking the negative weights we turn the minimization problem into the maxi-mization problem and by adding W we guarantee that edge weights are positive.This does not change the solution because the weight of all perfect matchings isincreased by nW .

In the maximum weighted bipartite matching problem we want to constructa matching M (not necessary perfect) in a weighted bipartite graph G, thatmaximizes the total weight w(M). In order to obtain the instance of the perfectmatching problem we simply have to add zero weight edges between all not con-nected vertices in G. The maximum weighted perfect matching in the resultinggraph corresponds to the maximum weighted matching in G.

Theorem 13. Given a weighted bipartite graph G =(U, V, E, w), a minimum weighted perfect matching, as well as,minimum and maximum meighted matching in G, can be com-puted in O(Wnω) time, with high probability.

282 P. Sankowski

3.2 Single Source Shortest Paths

A weighted directed graph G is a tuple G = (V, E, w), where the vertex set isgiven by V = {v1, . . . , vn}, E ⊆ V × V denotes the edge set, and the functionw : E → Z ascribes the lengths to the edges. We denote by W is the maximumabsolute value of the edge length. In the single source shortest paths problemwant to compute the distances from a given vertex v to all other vertices.

The following reduction was given by Gabow [7]. Define a bipartite graphG′ = (U ′, V ′, E′, w′) in the following way:

U ′ = {u′1, . . . , u

′n},

V ′ = {v′1, . . . , v′n},E′ = {u′

iv′j : (vi, vj) ∈ E} ∪ {u′

iv′i : 1 ≤ i ≤ n},

w′(u′iv

′j) =

{−w((vi, vj)) if (vi, vj) ∈ E,

0 otherwise.

A perfect matching in G′ corresponds to a set of cycles in the graph G. If amaximum weight of a perfect matching in G′ is greater than zero, there is anegative weight cycle in G. Therefore, we can detect if G has a negative lengthcycle in O(Wnω) time. If this is not the case, we compute a minimum vertexcover y′ of G′. There is always a zero weight matching in G′, so the weight of y′

is zero. Note also that y′(u′i) = −y′(v′i), because the edges u′

iv′i are tight. Thus

we have for an edge (vi, vj)

y′(u′i) + y′(v′j) ≥ w′(u′

iv′j)

y′(u′i) − y′(u′

j) ≥ −w((vi, vj))w((vi, vj)) ≥ y′(u′

j) − y′(u′i).

We see that p : V → Z, defined as p(vi) := y′(u′i), is a good potential function

in G. Hence we can use it to map the edge weights to positive values conservingthe shortest paths (for details see [3]). With the use of the nonnegative weightswe can compute the shortest paths with Dijkstra algorithm.

Theorem 14. Given a weighted directed graph G = (V, E, w)and a vertex v ∈ V , a negative cycle in G can be detected, orthe distances from v can be computed, in O(Wnω) time, withhigh probability.

3.3 Minimum Weight Disjoint Paths

Let G = (V, E, w) be a weighted directed graph with two distinguished verticess, t ∈ V . In the minimum weight vertex disjoint s-t paths problem we want tofind the minimum weight of k vertex disjoint paths in G from s to t. The verticess and t can be common for the paths. For given G and k, let us define a bipartitegraph Gk = (Uk, V k, Ek, wk), in the following way

Weighted Bipartite Matching in Matrix Multiplication Time 283

Uk = {uk1 , . . . , u

kn} ∪ {sk

1 , . . . , skk},

V k = {vk1 , . . . , vk

n} ∪ {tk1 , . . . , tkk},Ek := {uk

i vkj : (vi, vj) ∈ E, vi �= s, vj �= t} ∪

∪ {uki vk

i : 1 ≤ i ≤ n} ∪∪ {sk

i vkj : (s, vj) ∈ E, 1 ≤ i ≤ k} ∪

∪ {ukj tki : (vj , t) ∈ E, 1 ≤ i ≤ k}.

wk(uki vk

j ) =

{w((vi, vj)) if (vi, vj) ∈ E,

0 otherwise.

Consider a graph G′ obtained from G by adding an edge (t, s). Similarly asabove, a perfect matching in Gk corresponds to a set C of cycles in G′. Thesecycles are, in general, vertex disjoint, but the vertices s and t may be common.The vertices sk

i and tki cannot be matched in Gk with themselves. Hence C mustcontain the edge (t, s) exactly k times, because there are k copies of s and t. Byremoving the edge (t, s) from C we obtain k vertex disjoint paths from s to t.The minimum weight of the s-t paths corresponds to the minimum weight of theperfect matching in Gk. Moreover Gk contains a perfect matching if and only ifG contains at least k vertex disjoint s-t paths.

Theorem 15. Given a weighted directed graph G = (V, E, w),a minimum weight of k vertex disjoint s-t paths can be com-puted in O(Wnω) time, with high probability.

4 Conclusions and Open Problems

4.1 Weighted Matchings in General Graphs

Storjohann’s theorem can be applied in the general case as well. Let us definefor a weighted graph G = (V, E, w) a matrix

A(G, x)i,j =

⎧⎪⎪⎨

⎪⎪⎩

zi,jxw(ij) if (i, j) ∈ E and i < j,

−zj,ixw(ij) if (i, j) ∈ E and i > j,

0 otherwise.

The following is the generalization of Lemma 9 to general graphs.

Lemma 16 (Karp, Upfal and Widgerson ’86). The degree of x indet(A(G, x)) is twice the weight of the maximum weighted perfect matching in G.

Similarly as in the bipartite case we obtain the following corollary.

Corollary 17. The weight of the maximum weighted perfect matching can becomputed in O(Wnω) time, with high probability.

284 P. Sankowski

4.2 Conclusions

We have shown that the algebraic approach to finding perfect matching canbe used in the case of weighted bipartite graphs as well. We have presentedan algorithm solving this problem in O(Wnω) time. For small edge weightsthis improves over previous fastest algorithms for this problem that work inO(n2.5 log(nW )) time [8] and in O(nm) time [5]. We have also shown how tocompute the maximum weight of a matching in general graphs in O(Wnω) time.Nevertheless, the finding of this matching remains an open problem. Similar ideascannot be used for the general case because the approach of Lemma 6 does notwork there. It is impossible to construct a subgraph of a graph that will containall the maximum weight perfect matchings and no other perfect matchings. Thefollowing counterexample was given by Eppstein [6]: let G = K6 with edgeweights two on two disjoint triangles and unit edge weights on the remainingedges. Each weight one edge is in unique maximum weight matching, so noedges can be removed from G. Thus in general case one have to use a differentapproach. The algorithm presented here uses the fact, that a dual problem ispretty simple and it can be deduced from the adjoint matrix. In the general casewe have to compute so called Edmonds sets, i.e. blossoms. The problem hereis that they are not defined unambiguously, so it seems improbable that theycould be obtained in a simple way from the adjoint of A(G, x). This is a similarsituation as in the case of the NC algorithms for the perfect matchings in planargraphs, where the algorithm for the general case is not known. It seems also thatwe are facing here exactly the same problem, i.e., how to compute Edmonds setsin polylogarithmic time. However, the most intriguing open problem is whetherthe dependence of the complexity on W in our algorithm can be reduced. Suchreduction would imply also a faster algorithm for the SSSP problem.

References

1. R. Bellman. On a Routing Problem. Quarterly of Applied Mathematics, 16(1):87–90, 1958.

2. D. Coppersmith and S. Winograd. Matrix multiplication via arithmetic progres-sions. In Proceedings of the nineteenth annual ACM conference on Theory of com-puting, pages 1–6. ACM Press, 1987.

3. T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MITPress, Cambridge Mass., 1990.

4. E.A. Dinic and M. A. Kronrod. An Algorithm for the Solution of the AssignmentProblem. Soviet Math. Dokl., 10:1324–1326, 1969.

5. J. Edmonds and R.M. Karp. Theoretical Improvements in Algorithmic Efficiencyfor Network Flow Problems. J. ACM, 19(2):248–264, 1972.

6. David Eppstein. Representing all Minimum Spanning Trees with Applications toCounting and Generation. Technical Report ICS-TR-95-50, 1995.

7. H.N. Gabow. Scaling Algorithms for Network Problems. J. Comput. Syst. Sci.,31(2):148–168, 1985.

8. H.N. Gabow and R.E. Tarjan. Faster Scaling Algorithms for Network Problems.SIAM J. Comput., 18(5):1013–1036, 1989.

Weighted Bipartite Matching in Matrix Multiplication Time 285

9. Andrew V. Goldberg. Scaling algorithms for the shortest paths problem. In SODA’93: Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algo-rithms, pages 222–231. Society for Industrial and Applied Mathematics, 1993.

10. M. Iri. A new method for solving transportation-network problems. Journal of theOperations Research Society of Japan, 3:27–87, 1960.

11. L.R. Ford Jr. Network Flow Theory. Paper P-923, The RAND Corperation, SantaMoncia, California, August 1956.

12. M.-Y. Kao, T. W. Lam, W.-K. Sung, and H.-F. Ting. A decomposition theorem formaximum weight bipartite matchings with applications to evolutionary trees. InProceedings of the 7th Annual European Symposium on Algorithms, pages 438–449,1999.

13. R. M. Karp, E. Upfal, and A. Wigderson. Constructing a perfect matching is inrandom nc. Combinatorica, 6(1):35–48, 1986.

14. H.W Kuhn. The Hungarian Method for the Assignment Problem. Naval ResearchLogistics Quarterly, 2:83–97, 1955.

15. L. Lovasz. On determinants, matchings and random algorithms. In L. Budach,editor, Fundamentals of Computation Theory, pages 565–574. Akademie-Verlag,1979.

16. E. F. Moore. The Shortest Path Through a Maze. In Proceedings of the Interna-tional Symposium on the Theory of Switching, pages 285–292. Harvard UniversityPress, 1959.

17. Marcin Mucha and Piotr Sankowski. Maximum matchings via gaussian elimination.In Proceedings of the 45th annual IEEE Symposium on Foundations of ComputerScience, pages 248–255, 2004.

18. K. Mulmuley, U.V. Vazirani, and V.V. Vazirani. Matching is as easy as matrixinversion. In STOC ’87: Proceedings of the nineteenth annual ACM conference onTheory of computing, pages 345–354. ACM Press, 1987.

19. J. Munkres. Algorithms for the Assignment and Transportation Problems. Journalof SIAM, 5(1):32–38, 1957.

20. M. O. Rabin and V. V. Vazirani. Maximum matchings in general graphs throughrandomization. Journal of Algorithms, 10:557–567, 1989.

21. P. Sankowski. Shortes paths in matrix multiplication time. In Proceedings ofthe 13th Annual European Symposium on Algorithms, LNCS 3669, pages 770–778,2005.

22. J. Schwartz. Fast probabilistic algorithms for verification of polynomial identities.Journal of the ACM, 27:701–717, 1980.

23. A. Shimbel. Structure in Communication Nets. In In Proceedings of the Symposiumon Information Networks, pages 199–203. Polytechnic Press of the PolytechnicInstitute of Brooklyn, Brooklyn, 1955.

24. Arne Storjohann. High-order lifting and integrality certification. J. Symb. Comput.,36(3-4):613–648, 2003.

25. R. Yuster and U. Zwick. Answering distance queries in directed graphs usingfast matrix multiplication. In In Proceedings of the 46th Annual Symposium onFoundations of Computer Science, pages 90–100. IEEE, 2005.

26. R. Zippel. Probabilistic algorithms for sparse polynomials. In International Sym-posium on Symbolic and Algebraic Computation, volume 72 of Lecture Notes inComputer Science, pages 216–226, Berlin, 1979. Springer-Verlag.


Recommended