Dynamic Matchings in Convex Bipartite Graphs

We consider the problem of maintaining a maximum matching in a convex bipartite graph G = (V,E) under a set of update operations which includes insertions and deletions of vertices and edges. It is not hard to show that it is impossible to maintain an explicit representation of a maximum matching in sub-linear time per operation, even in the amortized sense. Despite this difficulty, we develop a data structure which maintains the set of vertices that participate in a maximum matching in O(log2 |V|) amortized time per update and reports the status of a vertex (matched or unmatched) in constant worst-case time. Our structure can report the mate of a matched vertex in the maximum matching in worst-case O(min{k log2 |V |+log |V|, |V| log |V|}) time, where k is the number of update operations since the last query for the same pair of vertices was made. In addition, we give an O(√|V| log2 |V|)-time amortized bound for this pair query.

[1]  Sartaj Sahni,et al.  A parallel matching algorithm for convex bipartite graphs and applications to scheduling , 1984, J. Parallel Distributed Comput..

[2]  Franco P. Preparata,et al.  Efficient algorithms for finding maximum matchings in convex bipartite graphs and related problems , 1981, Acta Informatica.

[3]  Willem Jan van Hoeve,et al.  The alldifferent Constraint: A Survey , 2001, ArXiv.

[4]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[5]  Julian Scott Yeomans,et al.  A linear time algorithm for maximum matchings in convex, bipartite graphs☆ , 1996 .

[6]  C Berge,et al.  TWO THEOREMS IN GRAPH THEORY. , 1957, Proceedings of the National Academy of Sciences of the United States of America.

[7]  Piotr Sankowski,et al.  Maximum matchings via Gaussian elimination , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[8]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[9]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[10]  Maria Grazia Scutella,et al.  A modification of Lipski-Preparata's algorithm for the maximum matching problem on bipartite convex graphs , 1988 .

[11]  Chak-Kuen Wong,et al.  Upper Bounds for the Total Path Length of Binary Trees , 1973, JACM.

[12]  Edward M. Reingold,et al.  Binary search trees of bounded balance , 1972, SIAM J. Comput..

[13]  F. Glover Maximum matching in a convex bipartite graph , 1967 .

[14]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[15]  Piotr Sankowski,et al.  Dynamic Transitive Closure via Dynamic Matrix Inverse , 2004 .

[16]  Piotr Sankowski,et al.  Faster dynamic matchings and vertex connectivity , 2007, SODA '07.

[17]  Robert E. Tarjan,et al.  A linear-time algorithm for a special case of disjoint set union , 1983, J. Comput. Syst. Sci..

[18]  Piotr Sankowski,et al.  Dynamic transitive closure via dynamic matrix inverse: extended abstract , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[19]  Nicholas J. A. Harvey Algebraic Structures and Algorithms for Matching and Matroid Problems , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[20]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[21]  ZVI GALIL,et al.  Efficient algorithms for finding maximum matching in graphs , 1986, CSUR.

[22]  Silvio Micali,et al.  An O(v|v| c |E|) algoithm for finding maximum matching in general graphs , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[23]  Giorgio Gallo An O(n log n) algorithm for the convex bipartite matching problem , 1984 .