We present the first deterministic 1+ε approximation algorithm for finding a large matching in a bipartite graph in the semi-streaming model which requires only O((1/ε)5) passes over the input stream. In this model, the input graph G=(V,E) is given as a stream of its edges in some arbitrary order, and storage of the algorithm is bounded by O(npolylog n) bits, where $n = \lvert {V}\rvert $. The only previously known arbitrarily good approximation for general graphs is achieved by the randomized algorithm of McGregor (Proceedings of the International Workshop on Approximation Algorithms for Combinatorial Optimization Problems and Randomization and Computation, Berkeley, CA, USA, pp. 170–181, 2005), which uses Ω((1/ε)1/ε) passes. We show that even for bipartite graphs, McGregor’s algorithm needs Ω(1/ε)Ω(1/ε) passes, thus it is necessarily exponential in the approximation parameter. The design as well as the analysis of our algorithm require the introduction of some new techniques. A novelty of our algorithm is a new deterministic assignment of matching edges to augmenting paths which is responsible for the complexity reduction, and gets rid of randomization.We repeatedly grow an initial matching using augmenting paths up to a length of 2k+1 for k=⌈2/ε⌉. We terminate when the number of augmenting paths found in one iteration falls below a certain threshold also depending on k, that guarantees a 1+ε approximation. The main challenge is to find those augmenting paths without requiring an excessive number of passes. In each iteration, using multiple passes, we grow a set of alternating paths in parallel, considering each edge as a possible extension as it comes along in the stream. Backtracking is used on paths that fail to grow any further. Crucial are the so-called position limits: when a matching edge is the ith matching edge in a path and it is then removed by backtracking, it will only be inserted into a path again at a position strictly lesser than i. This rule strikes a balance between terminating quickly on the one hand and giving the procedure enough freedom on the other hand.
[1]
Anand Srivastav,et al.
Bipartite Graph Matchings in the Semi-streaming Model
,
2009,
ESA.
[2]
Michael R. Fellows,et al.
The Computer Journal Special Issue on Parameterized Complexity: Foreword by the Guest Editors
,
2008,
Comput. J..
[3]
Richard M. Karp,et al.
A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs
,
1971,
SWAT.
[4]
Richard M. Karp,et al.
A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs
,
1971,
SWAT.
[5]
Lasse Kliemann,et al.
Matching in Bipartite Graph Streams in a Small Number of Passes
,
2011,
SEA.
[6]
Piotr Sankowski,et al.
Maximum matchings via Gaussian elimination
,
2004,
45th Annual IEEE Symposium on Foundations of Computer Science.
[7]
Sudipto Guha,et al.
Linear programming in the semi-streaming model with application to the maximum matching problem
,
2011,
Inf. Comput..
[8]
Andrew McGregor,et al.
Finding Graph Matchings in Data Streams
,
2005,
APPROX-RANDOM.
[9]
S. Muthukrishnan,et al.
Data streams: algorithms and applications
,
2005,
SODA '03.
[10]
Joan Feigenbaum,et al.
On graph problems in a semi-streaming model
,
2005,
Theor. Comput. Sci..
[11]
C Berge,et al.
TWO THEOREMS IN GRAPH THEORY.
,
1957,
Proceedings of the National Academy of Sciences of the United States of America.
[12]
Joan Feigenbaum,et al.
On graph problems in a semi-streaming model
,
2005,
Theor. Comput. Sci..