Faster algorithms for semi-matching problems

  • Authors:
  • Jittat Fakcharoenphol;Bundit Laekhanukit;Danupon Nanongkai

  • Affiliations:
  • Kasetsart University, Bangkok, Thailand;University of Waterloo, Waterloo, ON, Canada;Georgia Institute of Technology, Atlanta, GA

  • Venue:
  • ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem of finding semi-matching in bipartite graphs which is also extensively studied under various names in the scheduling literature. We give faster algorithms for both weighted and unweighted case. For the weighted case, we give an O(nmlog n)-time algorithm, where n is the number of vertices and m is the number of edges, by exploiting the geometric structure of the problem. This improves the classical O(n3) algorithms by Horn [Operations Research 1973] and Bruno, Coffman and Sethi [Communications of the ACM 1974]. For the unweighted case, the bound could be improved even further.We give a simple divide-and-conquer algorithm which runs in O(√nmlog n) time, improving two previous O(nm)-time algorithms by Abraham [MSc thesis, University of Glasgow 2003] and Harvey, Ladner, Lov´sz and Tamir [WADS 2003 and Journal of Algorithms 2006]. We also extend this algorithm to solve the Balance Edge Cover problem in O(√nmlog n) time, improving the previous O(nm)-time algorithm by Harada, Ono, Sadakane and Yamashita [ISAAC 2008].