, Volume 63, Issue 1–2, pp 490–508 | Cite as

Bipartite Matching in the Semi-streaming Model

  • Sebastian Eggert
  • Lasse KliemannEmail author
  • Peter Munstermann
  • Anand Srivastav


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.


Bipartite graph matching Streaming algorithms Approximation schemes Approximation algorithms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ahn, K.J., Guha, S.: Linear programming in the semi-streaming model with application to the maximum matching problem (2011). A short version appeared at ICALP 2011, pp. 526–538. Available from:
  2. 2.
    Berge, C.: Two theorems in graph theory. Proc. Natl. Acad. Sci. USA 43(9), 842–844 (1957). Available from: MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Comput. J. 51(1,3), (2008). Special issue on parameterized complexity. Available from:
  4. 4.
    Eggert, S., Kliemann, L., Srivastav, A.: Bipartite graph matchings in the semi-streaming model. In: Proceedings of the 17th Annual European Symposium on Algorithms (ESA 2009), Copenhagen, Denmark, September 2009, pp. 492–503 (2009). Presented also at the MADALGO Workshop on Massive Data Algorithmics, June 2009, Århus, Denmark. doi: 10.1007/978-3-642-04128-0_44 Google Scholar
  5. 5.
    Feigenbaum, J., Kannan, S., McGregor, A., Suri, S., Zhang, J.: On graph problems in a semi-streaming model. In: Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP 2004), Turku, Finland, July 2004, pp. 531–543 (2004). doi: 10.1007/978-3-540-27836-8_46 CrossRefGoogle Scholar
  6. 6.
    Hopcroft, J.E., Karp, R.M.: An n 5/2 algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2(4), 225–231 (1973). doi: 10.1137/0202019 MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Kliemann, L.: Matching in bipartite graph streams in a small number of passes (extended abstract). In: Proceedings of the 10th International Symposium on Experimental and Efficient Algorithms (SEA 2011), Kolimpari, Chania, Crete, Greece, May 2011, pp. 254–266 (2011). Document ID: dda51148-ac5b-4655-9c4f-e01f26511235. doi: 10.1007/978-3-642-20662-7_22 Google Scholar
  8. 8.
    McGregor, A.: Finding graph matchings in data streams. In: Proceedings of the International Workshop on Approximation Algorithms for Combinatorial Optimization Problems and Randomization and Computation (APPROX RANDOM 2005), Berkeley, CA, USA, August 2005, pp. 170–181 (2005). doi: 10.1007/11538462_15 Google Scholar
  9. 9.
    Mucha, M., Sankowski, P.: Maximum matchings via Gaussian elimination. In: Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science, Rome, Italy, October 2004 (FOCS 2004), pp. 248–255 (2004). Available from: Available from: Google Scholar
  10. 10.
    Muthukrishnan, S.M.: Data streams: algorithms and applications. Found. Trends Theor. Comput. Sci. 1(2), 67 (2005). Available from: MathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Sebastian Eggert
    • 1
  • Lasse Kliemann
    • 1
    Email author
  • Peter Munstermann
    • 1
  • Anand Srivastav
    • 1
  1. 1.Department of Computer ScienceChristian-Albrechts-Universität zu KielKielGermany

Personalised recommendations