Abstract
Blocking flows were introduced by Dinic (Soviet Math Doklady 11: 1277–1280, 1970) to speed up the computation of maximum network flows. They have been used in algorithms for problems such as maximum cardinality matching of bipartite graphs Hopcroft and Karp (SIAM J Comput 2(4), 225–231, 1973) and general graphs Micali and Vazirani (in: Proceedings of the 21st Annual Symposium on Foundations of Computer Science, 17–27, 1980), maximum weight matching of general graphs Gabow and Tarjan (J ACM 38(4), 815–853, 1991), and many others. The blocking algorithm of Gabow and Tarjan (1991) for matching is based on depth-first search. We extend the depth-first search approach to find f-factors of general multigraphs. Here f is an arbitrary integral-valued function on vertices, an f-matching is a subgraph where every vertex x has degree \(\le f(x)\), an f-factor has equality in every degree bound. A set of blocking trails for an f-matching M is a maximal collection \(\mathcal{A}\) of edge-disjoint augmenting trails such that \(M\bigoplus _{A\in {\mathcal{A}}} A \) is a valid f-matching. Blocking trails are needed in efficient algorithms for maximum cardinality f-matching Huang and Pettie (Algorithmica 84(7): 1952–1992, 2022), maximum weight f-factors/matchings by scaling Duan et al. (In: Proceedings of the 47th International Colloquium on Automata, Languages, and Programming (ICALP 2020), Vol. 168 of LIPIcs, 41:1-41:17, 2020; Gabow (A weight-scaling algorithm for f-factors of multigraphs.arXiv:2010.01102, 2020), and approximate maximum weight f-factors and f-edge covers Huang and Pettie (2022). Since these algorithms find many sets of blocking trails, the time to find blocking trails is a dominant factor in the running time. Our blocking trail algorithm runs in linear time O(m). In independent work and using a different approach, Huang and Pettie (2022) present a blocking trails algorithm using time \(O(m\alpha (m,n))\). As examples of the time bounds for the above applications, an approximate maximum weight f-factor is found in time \(O(m\,\alpha (m,n))\) using Huang and Pettie (2022), and our algorithm eliminates the factor \(\alpha (m,n)\). Similarly a maximum weight f-factor is found in time \(O(\sqrt{\Phi \log \Phi }\, m\,\alpha (m,n)\, \log (\Phi W))\,\) using Huang and Pettie (2022) , (\(\Phi =\sum _{v\in V} f(v)\), W the maximum edge weight) and our algorithm eliminates the \(\alpha (m,n)\) factor, making the time within a factor \(\sqrt{\log {\Phi }}\) of the bound for bipartite multigraphs. The technical difficulty for this work stems from the fact that a fixed vertex can occur many times in a given search. This does not occur in ordinary matching or in algorithms for maximum cardinality or maximum weight f-matching. These multiple occurrences can create a new variant of blossom, the “skew blossom”. Also they can make blossoms become “incomplete”, i.e., partially processed yet still relevant in future searches.
















Similar content being viewed by others
Notes
An f-matching is not to be confused with a b-matching [19]. This paper never discusses b-matchings since they are a special case of f-matchings.
The base edge of B is not included in E(B).
References
Chen, L., Kyng, R., Liu, Y., Peng, R., Gutenberg, M. P., Sachdeva, S.: Maximum flow and minimum-cost flow in almost-linear time. arXiv:2203.00671 (2022)
Dinic, E.A.: Algorithm for solution of a problem of maximum flow in a network with power estimation. Soviet Math. Doklady 11, 1277–1280 (1970). (In Russian.)
Duan, R., He, H., Zhang, T.: A scaling algorithm for weighted f-factors in general graphs. In: Proceedings of the 47th International Colloquium on Automata, Languages, and Programming (ICALP 2020), Vol. 168 of LIPIcs, 41:1-41:17 (2020)
Edmonds, J.: Paths, trees, and flowers. Canad. J. Math. 17, 449–467 (1965)
Even, S., Tarjan, R.E.: Network flow and testing graph connectivity. SIAM J. Comput. 4, 507–518 (1975)
Gabow, H.N.: The weighted matching approach to maximum cardinality matching. Fund. Inform. 154(1–4), 109–130 (2017)
Gabow, H. N.: A weight-scaling algorithm for \(f\)-factors of multigraphs. arXiv:2010.01102 (2020)
Gabow, H.N.: A data structure for nearest common ancestors with linking. ACM Trans. Algorithms 13(4), 28 (2017)
Gabow, H.N.: Data structures for weighted matching and extensions to \(b\)-matching and \(f\)-factors. ACM Trans. Algorithms 14(3), 80 (2018)
Gabow, H.N., Tarjan, R.E.: A linear-time algorithm for a special case of disjoint set union. J. Comput. Syst. Sci. 30(2), 209–221 (1985)
Gabow, H.N., Tarjan, R.E.: Faster scaling algorithms for network problems. SIAM J. Comput. 18(5), 1013–1036 (1989)
Gabow, H.N., Tarjan, R.E.: Faster scaling algorithms for general graph matching problems. J. ACM 38(4), 815–853 (1991)
Hopcroft, J., Karp, R.: An \(n^{5 / 2}\) algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2(4), 225–231 (1973)
Huang, D., Pettie, S.: Approximate generalized matching: \(f\)-matchings and \(f\)-edge covers. Algorithmica 84(7), 1952–1992 (2022)
Karzanov, A.V.: On finding maximum flows in network with special structure and some applications. Matematicheskie Voprosy Upravleniya Proizvodstvom 5, 81–94 (1973). (In Russian.)
Lawler, E.L.: Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York (1976)
Lovász, L., Plummer, M.D.: Matching Theory, North-Holland Mathematic Studies 121. North-Holland, New York (1986)
Micali, S., Vazirani, V. V.: An \(O(\sqrt{|V|} \cdot |E|)\) algorithm for finding maximum matching in general graphs. In: Proceedings of the 21st Annual Symposium on Foundations of Computer Science, 17–27 (1980)
Schrijver, A.: Combinatorial Optimization: Polyhedra and Efficiency. Springer, New York (2003)
Vazirani, V. V.: A proof of the MV matching algorithm. arXiv:2012.03582v1 (2020)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Gabow, H.N. Blocking Trails for f-factors of Multigraphs. Algorithmica 85, 3168–3213 (2023). https://doi.org/10.1007/s00453-023-01126-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-023-01126-y