skip to main content
research-article
Public Access

Data Structures for Weighted Matching and Extensions to b-matching and f-factors

Published: 22 June 2018 Publication History

Abstract

This article shows the weighted matching problem on general graphs can be solved in time O(n(m + n log n)) for n and m the number of vertices and edges, respectively. This was previously known only for bipartite graphs. The crux is a data structure for blossom creation. It uses a dynamic nearest-common-ancestor algorithm to simplify blossom steps, so they involve only back edges rather than arbitrary nontree edges.
The rest of the article presents direct extensions of Edmonds’ blossom algorithm to weighted b-matching and f-factors. Again, the time bound is the one previously known for bipartite graphs: for b-matching the time is O(min {b(V),n log n}(m + n log n)), and for f-factors the time is O(min { f(V), m log n}(m + n log n)), where b(V) and f(V) both denote the sum of all degree constraints. Several immediate applications of the f-factor algorithm are given: The generalized shortest path structure of Reference [19], i.e., the analog of the shortest-paths tree for conservative undirected graphs, is shown to be a version of the blossom structure for f-factors. This structure is found in time O(|N|(m+n log n)) for N, the set of negative edges (0 < |N| < n). A shortest T-join is found in time O(n(m + n log n)) or O(|T|(m + n log n)) when all costs are nonnegative. These bounds are all slight improvements of previously known ones, and are simply achieved by proper initialization of the f-factor algorithm.

References

[1]
A. V. Aho, J. E. Hopcroft, and J. D. Ullman. 1974. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA.
[2]
R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. 1993. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Saddle River, NJ.
[3]
R. P. Anstee. 1987. A polynomial algorithm for -matchings: An alternative approach. Inform. Process. Lett. 24 (1987), 153--157.
[4]
M. O. Ball and U. Derigs. 1983. An analysis of alternative strategies for implementing matching algorithms. Networks 13, 4 (1983), 517--549.
[5]
R. Cole and R. Hariharan. 2005. Dynamic LCA queries on trees. SIAM J. Comput. 34, 4 (2005), 894--923.
[6]
W. J. Cook, W. H. Cunningham, W. R. Pulleyblank, and A. Schrijver. 1998. Combinatorial Optimization. Wiley and Sons, New York.
[7]
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. 2001. Introduction to Algorithms (2nd ed.). McGraw--Hill, New York.
[8]
W. H. Cunningham and A. B. Marsh. 1978. A primal algorithm for optimum matching. Math. Programming Study 8 (1978), 50--72.
[9]
J. Edmonds. 1965. Maximum matching and a polyhedron with 0,1-vertices. J. Res. Nat. Bur. Standards 69B (1965), 125--130.
[10]
M. L. Fredman and R. E. Tarjan. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34, 3 (1987), 596--615.
[11]
H. N. Gabow. 1973. Implementations of Algorithms for Maximum Matching on Nonbipartite Graphs. Ph.D. Dissertation. Comp. Sci. Dept., Stanford Univ., Stanford, CA.
[12]
H. N. Gabow. 1976. An efficient implementation of Edmonds' algorithm for maximum matching on graphs. J. ACM 23, 2 (1976), 221--234.
[13]
H. N. Gabow. 1983. An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems. In Proceedings of the 15th Annual ACM Symposium on Theory of Computation. ACM Press, New York, NY, 448--456.
[14]
H. N. Gabow. 1985. A scaling algorithm for weighted matching on general graphs. In Proceedings of the 26th Annual Symposium on Foundations of Computer Science. IEEE Computer Society, 90--100.
[15]
H. N. Gabow. 1990. Data structures for weighted matching and nearest common ancestors with linking. In Proceedings of the 1st Annual ACM-SIAM Symp. on Disc. Algorithms. SIAM, Philadelphia, PA, 434--443.
[16]
H. N. Gabow. 2017. A data structure for nearest common ancestors with linking. ACM Trans. Algorithms 13, 4 (2017), 28 pages. Article 45.
[17]
H. N. Gabow, Z. Galil, and T. H. Spencer. 1989. Efficient implementation of graph algorithms using contraction. J. ACM 36, 3 (1989), 540--572.
[18]
H. N. Gabow, Z. Galil, T. H. Spencer, and R. E. Tarjan. 1986. Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica 6, 2 (1986), 109--122.
[19]
H. N. Gabow and P. Sankowski. 2013. Algebraic algorithms for b-matching, shortest undirected paths, and f-factors. In Proceedings of the 54th Annual Symposium on Foundations of Computer Science. IEEE Computer Society, Long Beach, CA, 137--146. Revised version, 2016: Algorithms for weighted matching generalizations I: Bipartite graphs, b-matching, and unweighted f-factors; Algorithms for weighted matching generalizations II: f-factors and the special case of shortest paths.
[20]
H. N. Gabow and R. E. Tarjan. 1985. A linear--time algorithm for a special case of disjoint set union. J. Comp. and System Sci. 30, 2 (1985), 209--221.
[21]
H. N. Gabow and R. E. Tarjan. 1991. Faster scaling algorithms for general graph matching problems. J. ACM 38, 4 (1991), 815--853.
[22]
Z. Galil, S. Micali, and H. N. Gabow. 1986. An O(EV log V) algorithm for finding a maximal weighted matching in general graphs. SIAM J. Comput. 15, 1 (1986), 120--130.
[23]
A. M. H. Gerards. 1995. Matching. In Network Models, M. O. Ball, T. L. Magnanti, C. L. Monma, and G. L. Nemhauser (Eds.). Elsevier, Amsterdam, 135--224.
[24]
D. Harel and R. E. Tarjan. 1984. Fast algorithms for finding nearest common ancestors. SIAM J. Comput. 13, 2 (1984), 338--355.
[25]
H. W. Kuhn. 1955. The Hungarian method for the assignment problem. Naval Res. Logist. Quart. 2 (1955), 83--97.
[26]
H. W. Kuhn. 1956. Variants of the Hungarian method for assignment problems. Naval Res. Logist. Quart. 3 (1956), 253--258.
[27]
E. L. Lawler. 1976. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York.
[28]
L. Lovász and M. D. Plummer. 1986. Matching Theory. North-Holland, New York.
[29]
J. B. Orlin. 1993. A faster strongly polynomial minimum cost flow algorithm. Op. Res. 41 (1993), 338--350.
[30]
C. H. Papadimitriou and K. Steiglitz. 1982. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., Englewood Cliffs, NJ.
[31]
S. Pettie. 2005. Sensitivity analysis of minimum spanning trees in sub-inverse-Ackermann time. In Proceedings of the 16th International Symposium on Algorithms and Computation (LNCS 3827), X. Deng and D. Du (Eds.). Springer-Verlag, Berlin, 964--973.
[32]
W. R. Pulleyblank. 1973. Faces of Matching Polyhedra. Ph.D. Dissertation. Department of Combinatorics and Optimization, Univ. of Waterloo.
[33]
W. R. Pulleyblank. 2012. Edmonds, matching and the birth of polyhedral combinatorics. Documenta Mathematica (2012), 181--197.
[34]
A. Schrijver. 2003. Combinatorial Optimization: Polyhedra and Efficiency. Springer, New York.
[35]
R. E. Tarjan. 1979. Applications of path compression on balanced trees. J. ACM 26, 4 (1979), 690--715.
[36]
R. E. Tarjan. 1983. Data Structures and Network Algorithms. SIAM, Philadelphia, PA.
[37]
M. Thorup. 1999. Undirected single-source shortest paths with positive integer weights in linear time. J. ACM 46, 3 (1999), 362--394.
[38]
G. M. Weber. 1981. Sensitivity analysis of optimal matchings. Networks 11 (1981), 41--56.

Cited By

View all

Index Terms

  1. Data Structures for Weighted Matching and Extensions to b-matching and f-factors

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Algorithms
      ACM Transactions on Algorithms  Volume 14, Issue 3
      Special Issue on SODA’16 and Regular Papers
      July 2018
      393 pages
      ISSN:1549-6325
      EISSN:1549-6333
      DOI:10.1145/3233176
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 22 June 2018
      Accepted: 01 January 2018
      Revised: 01 January 2018
      Received: 01 August 2016
      Published in TALG Volume 14, Issue 3

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. b-matching
      2. f-factor
      3. Matching
      4. T-join
      5. blossom
      6. conservative graph
      7. degree-constrained subgraph
      8. shortest-paths tree

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Funding Sources

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)215
      • Downloads (Last 6 weeks)9
      Reflects downloads up to 26 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format.

      HTML Format

      Login options

      Full Access

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media