A Decomposition Theorem for Maximum Weight Bipartite Matchings with Applications to Evolutionary Trees

Let G be a bipartite graph with positive integer weights on the edges and without isolated nodes. Let n and W be the node count and the total weight of G. We present a new decomposition theorem for maximum weight bipartite matchings and use it to design an O(?nW)-time algorithm for computing a maximum weight matching of G. This algorithm bridges a long-standing gap between the best known time complexity of computing a maximum weight matching and that of computing a maximum cardinality matching. Given G and a maximum weight matching of G, we can further compute the weight of a maximum weight matching of G - {u} for all nodes u in O(W) time. As immediate applications of these algorithms, the best known time complexity of computing a maximum agreement subtree of two l-leaf rooted or unrooted evolutionary trees is reduced from O(l1.5 log l) to O(l1.5).

[1]  Hing-Fung Ting,et al.  Computing unrooted maximum subtrees in sub-quartic time , 1996 .

[2]  J. A. Bondy,et al.  Graph Theory with Applications , 1978 .

[3]  Tandy J. Warnow,et al.  Kaikoura Tree Theorems: Computing the Maximum Agreement Subtree , 1993, Inf. Process. Lett..

[4]  Mikkel Thorup,et al.  Fast comparison of evolutionary trees , 1994, SODA '94.

[5]  Ming-Yang Kao,et al.  General techniques for comparing unrooted evolutionary trees , 1997, STOC '97.

[6]  David Fernández-Baca,et al.  A polynomial-time algorithm for the perfect phylogeny problem when the number of character states is fixed , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[7]  A. D. Gordon,et al.  Obtaining common pruned trees , 1985 .

[8]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[9]  Rajeev Motwani,et al.  Clique partitions, graph compression and speeding-up algorithms , 1991, STOC '91.

[10]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[11]  H. Kuhn The Hungarian method for the assignment problem , 1955 .

[12]  Robert E. Tarjan,et al.  Faster Scaling Algorithms for Network Problems , 1989, SIAM J. Comput..

[13]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[14]  Michael R. Fellows,et al.  Two Strikes Against Perfect Phylogeny , 1992, ICALP.

[15]  Ming-Yang Kao,et al.  All-Cavity Maximum Matchings , 1997, ISAAC.

[16]  ZVI GALIL,et al.  Efficient algorithms for finding maximum matching in graphs , 1986, CSUR.

[17]  Mikkel Thorup,et al.  An O(n log n) algorithm for the maximum agreement subtree problem for binary trees , 1996, SODA '96.

[18]  Ming-Yang Kao,et al.  Cavity Matchings, Label Compressions, and Unrooted Evolutionary Trees , 2000, SIAM J. Comput..

[19]  Tak Wah Lam,et al.  Computing the Unrooted Maximum Agreement Subtree in Sub-quadratic Time , 1996, Nord. J. Comput..

[20]  Harold N. Gabow Scaling Algorithms for Network Problems , 1985, J. Comput. Syst. Sci..

[21]  Mikkel Thorup,et al.  Computing the Agreement of Trees with Bounded Degrees , 1995, ESA.

[22]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[23]  Rajeev Motwani,et al.  Clique Partitions, Graph Compression and Speeding-Up Algorithms , 1995, J. Comput. Syst. Sci..

[24]  Mikkel Thorup,et al.  Sparse Dynamic Programming for Evolutionary-Tree Comparison , 1997, SIAM J. Comput..

[25]  Moon-Jung Chung,et al.  O(n^(2.55)) Time Algorithms for the Subgraph Homeomorphism Problem on Trees , 1987, J. Algorithms.

[26]  Ming-Yang Kao,et al.  A Decomposition Theorem for Maximum Weight Bipartite Matchings , 2000, SIAM J. Comput..

[27]  Ming-Yang Kao Tree Contractions and Evolutionary Trees , 1998, SIAM J. Comput..

[28]  Dan Gusfield,et al.  Efficient algorithms for inferring evolutionary trees , 1991, Networks.