🤖 AI Summary
This paper addresses the maximum weight matching (MWM) problem on weighted bipartite graphs, proposing an efficient and generalizable enhancement of the Hungarian algorithm. Unlike conventional approaches, it imposes no assumptions of graph completeness or balanced vertex partitions, and avoids artificial vertex augmentation or padding. It is the first to integrate a nonlinear covering strategy into the Hungarian framework, extending its applicability to arbitrary sparse bipartite graphs. A novel weight-discretization coefficient $X$ governs label-update granularity; combined with weight-sensitive labeling and dynamic adjacency-edge scanning, this yields an improved time complexity of $O(LE + LR cdot min(L, X))$, where $L$ and $R$ denote left- and right-partition sizes, and $E$ is the number of edges. Empirical evaluation demonstrates substantial speedups over classical algorithms on sparse instances. An open-source implementation is publicly available on GitHub.
📝 Abstract
Given a weighted bipartite graph $G = (L, R, E, w)$, the maximum weight matching (MWM) problem aims to find a matching $M subseteq E$ that maximizes the total weight $sum_{e in M} w(e)$. The widely used Hungarian algorithm efficiently solves the maximum weight perfect matching (MWPM) subproblem for complete bipartite graphs with $|L| = |R|$ and $|E| = |L||R|$, achieving a time complexity of $O(V^3)$, where $V = L cup R$. This work demonstrates that the existed non-line-covering variant of the Hungarian algorithm can be directly applied to complete bipartite graphs without vertex expansion, reducing the time complexity from $O(LR^2)$ to $O(L^2R)$ when $|L|<|R|$. Additionally, the variant is extended in this paper to solve the MWM problem for general bipartite graphs. The time complexity of the proposed algorithm is $O(LE + LRmin(L, X))$, where $X$ is the weight dispersion coefficient. Specifically, if the maximum weight is $N$ and the weights are represented with a precision of $p$, then $X$ is defined as $frac{N}{p}$. Experimental results highlight significant runtime improvements, especially for sparse graphs, when compared to traditional methods. The detailed implementation of the proposed algorithm is publicly available at https://github.com/ShawxingKwok/Kwok-algorithm.