English

A Weight-scaling Algorithm for $f$-factors of Multigraphs

Data Structures and Algorithms 2020-10-05 v1

Abstract

We discuss combinatorial algorithms for finding a maximum weight ff-factor on an arbitrary multigraph, for given integral weights of magnitude at most WW. For simple bipartite graphs the best-known time bound is O(n2/3mlognW)O(n^{2/3}\, m\, \log nW) (\cite{GT89}; nn and mm are respectively the number of vertices and edges). A recent algorithm of Duan and He et al. \cite{DHZ} for ff-factors of simple graphs comes within logarithmic factors of this bound, O~(n2/3mlogW)\widetilde{O} (n^{2/3}\, m\, \log W). The best-known bound for bipartite multigraphs is O(ΦmlogΦW)O(\sqrt {\Phi}\, m\, \log \Phi W) (Φm\Phi\le m is the size of the ff-factor, Φ=vVf(v)/2\Phi=\sum_{v\in V}f(v)/2). This bound is more general than the restriction to simple graphs, and is even superior on "small" simple graphs, i.e., Φ=o(n4/3)\Phi=o(n^{4/3}). We present an algorithm that comes within a logΦ\sqrt {\log \Phi} factor of this bound, i.e., O(ΦlogΦmlogΦW)O(\sqrt {\Phi \log \Phi}\,m \,\log \Phi W). The algorithm is a direct generalization of the algorithm of Gabow and Tarjan \cite{GT} for the special case of ordinary matching (f1f\equiv 1). We present our algorithm first for ordinary matching, as the analysis is a simplified version of \cite{GT}. Furthermore the algorithm and analysis both get incorporated without modification into the multigraph algorithm. To extend these ideas to ff-factors, the first step is "expanding" edges (i.e., replacing an edge by a length 3 alternating path). \cite{DHZ} uses a one-time expansion of the entire graph. Our algorithm keeps the graph small by only expanding selected edges, and "compressing" them back to their original source when no longer needed. Several other ideas are needed, including a relaxation of the notion of "blossom" to e-blossom ("expanded blossom").

Keywords

Cite

@article{arxiv.2010.01102,
  title  = {A Weight-scaling Algorithm for $f$-factors of Multigraphs},
  author = {Harold Gabow},
  journal= {arXiv preprint arXiv:2010.01102},
  year   = {2020}
}
R2 v1 2026-06-23T18:58:48.061Z