Advertisement

Matching in Bipartite Graph Streams in a Small Number of Passes

  • Lasse Kliemann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6630)

Abstract

We consider the maximum-cardinality matching problem in bipartite graphs. The input graph G = (V,E) is not available for random access, but only as a stream, and random-access memory is limited to storing Θ(n) edges at a time, n = |V|. The number of passes over the input stream required to achieve the desired approximation is an important measure. It was shown by Eggert et al. (2009, 2011) that a \(1 + 1 {\diagup} k\) approximation can be computed in O(k 5) passes, independently of the input size. In this work, we present a new algorithm with the same approximation guarantee of \(1 + 1 {\diagup} k\), but show experimentally that it requires two orders of magnitude fewer passes. The proven bound on the number of passes is O(kn). This bound depends on the input size, and so in principle is inferior to O(k 5). But we emphasize that in experiments, we do not find any correlation between theoretical bounds and actual performance: for all algorithms the number of passes observed in experiments is far below the corresponding theoretical bound. The most interesting insight comes from an experimental comparison of the previous and the new algorithm: e.g., for k = 9, the new one never needed more than 94 passes, even for instances with up to 2×106 vertices, whereas the previous one went up to more than 32000 passes. Our main new technique is aimed at making the most out of each pass: we maintain a complex structure, using trees, for building augmenting paths.

Keywords

bipartite graph matching massive graphs semi-streaming algorithms approximation schemes 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cherkassky, B.V., Goldberg, A.V., Martin, P.: Augment or push: A computational study of bipartite matching and unit-capacity flow algorithms. ACM Journal of Experimental Algorithms 3 (1998), http://www.jea.acm.org/1998/CherkasskyAugment/
  2. 2.
    Eggert, S., Kliemann, L., Munstermann, P., Srivastav, A.: Bipartite matching in the semi-streaming model. Tech. Rep. 1101, Institut für Informatik, Christian-Albrechts-Universität zu Kiel, document ID: 519a88bb-5f5a-409d-8293-13cd80a66b36 (2011), http://www.informatik.uni-kiel.de/~lki/tr_1101.pdf
  3. 3.
    Eggert, S., Kliemann, L., Srivastav, A.: Bipartite graph matchings in the semi-streaming model. In: Fiat, A., Sanders, P. (eds.) ESA 2009. LNCS, vol. 5757, pp. 492–503. Springer, Heidelberg (2009), http://dx.doi.org/10.1007/978-3-642-04128-0_44, available also at http://www.informatik.uni-kiel.de/~discopt/person/asr/publication/streaming_esa_09.pdf, Presented also at the MADALGO Workshop on Massive Data Algorithmics, Århus, Denmark (June 2009)CrossRefGoogle Scholar
  4. 4.
    Feigenbaum, J., Kannan, S., McGregor, A., Suri, S., Zhang, J.: On graph problems in a semi-streaming model. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 531–543. Springer, Heidelberg (2004), http://dx.doi.org/10.1007/b99859 CrossRefGoogle Scholar
  5. 5.
    Hopcroft, J.E., Karp, R.M.: An n 5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing 2(4), 225–231 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Langguth, J., Manne, F., Sanders, P.: Heuristic initialization for bipartite matching problems. ACM Journal of Experimental Algorithmics 15, 1.3:1.1–1.3:1.22 (2010), http://doi.acm.org/10.1145/1712655.1712656
  7. 7.
    McGregor, A.: Finding graph matchings in data streams. In: Chekuri, C., Jansen, K., Rolim, J.D.P., Trevisan, L. (eds.) APPROX 2005 and RANDOM 2005. LNCS, vol. 3624, pp. 170–181. Springer, Heidelberg (2005), http://dx.doi.org/10.1007/11538462_15 Google Scholar
  8. 8.
    Muthukrishnan, S.M.: Data streams: Algorithms and applications. Foundations and Trends in Theoretical Computer Science 1(2), 67 pages (2005), http://algo.research.googlepages.com/eight.ps MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Setubal, J.C.: Sequential and parallel experimental results with bipartite matching algorithms. Tech. Rep. IC-96-09, Institute of Computing, University of Campinas, Brazil (1996), http://www.dcc.unicamp.br/ic-tr-ftp/1996/96-09.ps.gz

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Lasse Kliemann
    • 1
  1. 1.Institut für InformatikChristian-Albrechts-Universität zu KielKielGermany

Personalised recommendations