A 2/3-Approximation Algorithm for Vertex-weighted Matching in Bipartite Graphs
We consider the maximum vertex-weighted matching problem (MVM), in which non-negative weights are assigned to the vertices of a graph, the weight of a matching is the sum of the weights of the matched vertices, and we are required to compute a matching of maximum (vertex) weight. Although the MVM problem can be solved as a maximum edge-weighted matching problem (MEM), we show that it has more efficient exact and approximation algorithms than those available for the MEM. First, we describe an exact algorithm for MVM with O(|V| |E|) time complexity. Then we show that a 2/3-approximation algorithm for MVM on bipartite graphs can be obtained by restricting the length of augmenting paths in the exact algorithm to at most three. The algorithm has time complexity O(|E| + |V| |V|). We have implemented the 2/3-approximation algorithm and compare it with an exact MEM algorithm, the exact MVM algorithm that we have designed, 2/3- and 1/2-approximation algorithms for MVM, and a scaling-based primal-dual (1-ϵ)-approximation algorithm for MEM. On a test set of nineteen problems with several millions of vertices, we show that the 2/3-approximation MVM algorithm is about 60 times faster than the exact MEM algorithm, 5 times faster than the exact MVM algorithm, and 10-15 times faster than the scaling-based 2/3- or 5/6-approximation algorithms (geometric means). It obtains more than 99.5% of the weight and cardinality of an MVM, whereas the scaling-based approximation algorithms yield lower weights and cardinalities. The maximum time taken by the exact MEM algorithm on a graph in the test set is 15 hours, while it is 22 minutes for the exact MVM algorithm, and less than 5 seconds for the 2/3-approximation algorithm.
READ FULL TEXT