Skip to main content

Engineering a Bipartite Matching Algorithm in the Semi-Streaming Model

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9220))

Abstract

We describe the Algorithm Engineering process for designing a pass-efficient semi-streaming algorithm for the bipartite maximum matching problem, using the augmenting paths technique. This algorithm was first published by the author at SEA 2011. This text not only discusses the algorithm, but also describes how Algorithm Engineering helped to invent and refine it.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    This can also be achieved by orienting the edges

    $$\begin{aligned} {\varvec{E}} :=\left\{ (a,b) \in A \times B; \{a,b\} \in E \setminus M\right\} \cup \left\{ (b,a) \in B \times A; \{a,b\} \in M \right\} \end{aligned}$$

    and then using normal BFS in this directed bipartite graph \((A,B,{\varvec{E}})\).

  2. 2.

    By \({\text {poly}}x\) we denote a polynomial in x, another way to write \(\mathcal {O}\left( {\text {poly}}x\right) \) is \(x^{\mathcal {O}\left( 1\right) }\).

  3. 3.

    The “semi” attribute was chosen since the term “streaming model” is generally associated with logarithmic space. The semi-streaming model is considered “between” logarithmic and quadratic space, the latter being equivalent to the RAM model since a graph can be stored in \(\mathcal {O}\left( n^2\right) \) bits of space.

  4. 4.

    The statement (i) can also be formulated as the algorithm with threshold 0 being a \((\lambda _1,\lambda _2,0)\) DAP approximation algorithm.

  5. 5.

    Recall that so far we have always used \(\lambda _1=\lambda _2\). A distinction between the two parameters will be made shortly.

References

  1. Ahn, K.J., Guha, S.: Linear programming in the semi-streaming model with application to the maximum matching problem. Inf. Comput. 222, 59–79 (2013). Conference version at ICALP 2011

    Article  MathSciNet  MATH  Google Scholar 

  2. Alon, N., Matias, Y., Szegedy, M.: The space complexity of approximating the frequency moments. J. Comput. Syst. Sci. 58, 137–147 (1999). Conference version at STOC 1996

    Article  MathSciNet  MATH  Google Scholar 

  3. Alt, H., Blum, N., Mehlhorn, K., Paul, M.: Computing a maximum cardinality matching in a bipartite graph in time \(O(n^{1.5}\sqrt{m/\log n})\). Inf. Process. Lett. 37, 237–240 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  4. Assadi, S., Khanna, S., Li, Y., Yaroslavtsev, G.: Tight bounds for linear sketches of approximate matchings (2015). http://arxiv.org/abs/1505.01467

  5. Berge, C.: Two theorems in graph theory. Proc. Natl. Acad. Sci. United States Am. 43(9), 842–844 (1957). http://www.pnas.org/content/43/9/842.short

    Article  MathSciNet  MATH  Google Scholar 

  6. Bury, M., Schwiegelshohn, C.: Sublinear estimation of weighted matchings in dynamic data streams. In: Bansal, N., Finocchi, I. (eds.) ESA 2015. LNCS, vol. 9294, pp. 263–274. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48350-3_23

    Chapter  Google Scholar 

  7. Cherkassky, B.V., Goldberg, A.V., Martin, P.: Augment or push: a computational study of bipartite matching and unit-capacity flow algorithms. ACM J. Exp. Algorithms 3, Article No. 8 (1998). http://www.jea.acm.org/1998/CherkasskyAugment/

    Google Scholar 

  8. Chitnis, R., Cormode, G., Esfandiari, H., Hajiaghayi, M.T., Monemizadeh, M.: Brief announcement: new streaming algorithms for parameterized maximal matching and beyond. In: Proceedings of the 27th ACM Symposium on Parallel Algorithms and Architectures, Portland, Oregon, USA, June 2015 (SPAA 2015) (2015)

    Google Scholar 

  9. Chitnis, R., Cormode, G., Hajiaghayi, M.T., Monemizadeh, M.: Parameterized streaming: maximal matching and vertex cover. In: Proceedings of the 26th Annual ACM-SIAM Symposium on Discrete Algorithms, San Diego, California, USA, January 2015 (SODA 2015) (2015)

    Google Scholar 

  10. Crouch, M., Stubbs, D.M.: Improved streaming algorithms for weighted matching, via unweighted matching. In: Proceedings of the International Workshop on Approximation Algorithms for Combinatorial Optimization Problems and Randomization and Computation, Barcelona, Spain, September 2014 (APPROX RANDOM 2014) (2014)

    Google Scholar 

  11. Eggert, S., Kliemann, L., Munstermann, P., Srivastav, A.: Bipartite matching in the semi-streaming model. Algorithmica 63, 490–508 (2012). Conference version at ESA 2009

    Article  MathSciNet  MATH  Google Scholar 

  12. Esfandiari, H., Hajiaghayi, M.T., Liaghat, V., Monemizadeh, M., Onak, K.: Streaming algorithms for estimating the matching size in planar graphs and beyond. In: Proceedings of the 26th Annual ACM-SIAM Symposium on Discrete Algorithms, San Diego, California, USA, January 2015 (SODA 2015) (2015)

    Google Scholar 

  13. Feigenbaum, J., Kannan, S., McGregor, A., Suri, S., Zhang, J.: On graph problems in a semi-streaming model. Theoret. Comput. Sci. 348, 207–217 (2005). Conference version at ICALP 2004

    Article  MathSciNet  MATH  Google Scholar 

  14. Feigenbaum, J., Kannan, S., McGregor, A., Suri, S., Zhang, J.: Graph distances in the data-stream model. SIAM J. Comput. 38, 1709–1727 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  15. Flajolet, P., Martin, G.N.: Probabilistic counting algorithms for data base applications. J. Comput. Syst. Sci. 31(2), 182–209 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  16. Guruswami, V., Onak, K.: Superlinear lower bounds for multipass graph processing. In: Electronic Colloquium on Computational Complexity (2013)

    Google Scholar 

  17. Henzinger, M.R., Raghavan, P., Rajagopalan, S.: Computing on data streams. External Memory Algorithms. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 50, pp. 107–118 (2000)

    Google Scholar 

  18. 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)

    Article  MathSciNet  MATH  Google Scholar 

  19. Kalyansundaram, B., Schnitger, G.: The probabilistic communication complexity of set intersection. SIAM J. Discrete Math. 5, 545–557 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  20. Kapralov, M., Khanna, S., Sudan, M.: Approximating matching size from random streams. In: Proceedings of the 25th Annual ACM-SIAM Symposium on Discrete Algorithms, Portland, Oregon, USA, January 2014 (SODA 2014) (2014)

    Google Scholar 

  21. Kliemann, L.: Matching in bipartite graph streams in a small number of passes. In: Pardalos, P.M., Rebennack, S. (eds.) SEA 2011. LNCS, vol. 6630, pp. 254–266. Springer, Heidelberg (2011). doi:10.1007/978-3-642-20662-7_22

    Chapter  Google Scholar 

  22. Konrad, C.: Maximum matching in turnstile streams. In: Bansal, N., Finocchi, I. (eds.) ESA 2015. LNCS, vol. 9294, pp. 840–852. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48350-3_70

    Chapter  Google Scholar 

  23. Konrad, C., Magniez, F., Mathieu, C.: Maximum matching in semi-streaming with few passes. In: Gupta, A., Jansen, K., Rolim, J., Servedio, R. (eds.) APPROX/RANDOM -2012. LNCS, vol. 7408, pp. 231–242. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32512-0_20

    Chapter  Google Scholar 

  24. Kozen, D.C.: The Design and Analysis of Algorithms. Springer, Heidelberg (1992)

    Book  MATH  Google Scholar 

  25. Langguth, J., Manne, F., Sanders, P.: Heuristic initialization for bipartite matching problems. ACM J. Exp. Algorithmics 15, 1.3:1.1–1.3:1.22 (2010). http://doi.acm.org/10.1145/1712655.1712656

    MathSciNet  MATH  Google Scholar 

  26. McGregor, A.: Finding graph matchings in data streams. In: Chekuri, C., Jansen, K., Rolim, J.D.P., Trevisan, L. (eds.) APPROX/RANDOM -2005. LNCS, vol. 3624, pp. 170–181. Springer, Heidelberg (2005). doi:10.1007/11538462_15

    Chapter  Google Scholar 

  27. Mucha, M., Sankowski, P.: Maximum matchings via Gaussian elimination. In: Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science, Rome, Italy, (FOCS 2004), pp. 248–255 (2004). http://doi.ieeecomputersociety.org/10.1109/FOCS.2004.40, http://www.mimuw.edu.pl/ mucha/pub/mucha_sankowski_focs04.pdf

  28. Munro, J.I., Paterson, M.: Selection and sorting with limited storage. Theoret. Comput. Sci. 12, 315–323 (1980). Conference version at FOCS 1978

    Article  MathSciNet  MATH  Google Scholar 

  29. Muthukrishnan, M.: Data streams: algorithms and applications. Found. Trends Theoret. Comput. Sci. 1(2), 1–67 (2005). http://algo.research.googlepages.com/eight.ps

    Article  MathSciNet  MATH  Google Scholar 

  30. Setubal, J.C.: Sequential and parallel experimental results with bipartite matching algorithms. Technical report IC-96-09, Institute of Computing, University of Campinas, Brazil (1996). http://www.dcc.unicamp.br/ic-tr-ftp/1996/96-09.ps.gz

  31. Zelke, M.: Algorithms for streaming graphs. Ph.D. thesis, Mathematisch-Naturwissenschaftliche Fakultät II, Humboldt-Universität zu Berlin (2009). http://www.tks.informatik.uni-frankfurt.de/getpdf?id=561

Download references

Acknowledgments

I thank Peter Munstermann for helpful discussions. Financial support through DFG Priority Program “Algorithm Engineering” (Grants Sr7/12-2, Sr7/12-3, and KL 2078/1-1) is also gratefully acknowledged.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lasse Kliemann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this chapter

Cite this chapter

Kliemann, L. (2016). Engineering a Bipartite Matching Algorithm in the Semi-Streaming Model. In: Kliemann, L., Sanders, P. (eds) Algorithm Engineering. Lecture Notes in Computer Science(), vol 9220. Springer, Cham. https://doi.org/10.1007/978-3-319-49487-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-49487-6_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-49486-9

  • Online ISBN: 978-3-319-49487-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics