Efficient Algorithms for Listing k Disjoint st-Paths in Graphs

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10807)


Given a connected graph G of m edges and n vertices, we consider the basic problem of listing all the choices of k vertex-disjoint st-paths, for any two input vertices st of G and a positive integer k. Our algorithm takes O(m) time per solution, using O(m) space and requiring \(O(F_k(G))\) setup time, where \(F_k(G) = O(m \min \{k, n^{2/3} \log n, \sqrt{m} \log n\} )\) is the cost of running a max-flow algorithm on G to compute a flow of size k. The proposed techniques are simple and apply to other related listing problems discussed in the paper.


  1. 1.
    Birmelé, E., Crescenzi, P., Ferreira, R., Grossi, R., Lacroix, V., Marino, A., Pisanti, N., Sacomoto, G., Sagot, M.-F.: Efficient bubble enumeration in directed graphs. In: Calderón-Benavides, L., González-Caro, C., Chávez, E., Ziviani, N. (eds.) SPIRE 2012. LNCS, vol. 7608, pp. 118–129. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-34109-0_13 CrossRefGoogle Scholar
  2. 2.
    Birmelé, E., Ferreira, R.A., Grossi, R., Marino, A., Pisanti, N., Rizzi, R., Sacomoto, G.: Optimal listing of cycles and st-paths in undirected graphs. In: Proceedings of the SODA, pp. 1884–1896 (2013)Google Scholar
  3. 3.
    Eilam-Tzoreff, T.: The disjoint shortest paths problem. Discrete Appl. Math. 85(2), 113–138 (1998)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Eppstein, D.: \(k\)-best enumeration. In: Kao, M.Y. (ed.) Encyclopedia of Algorithms, pp. 1003–1006. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-642-27848-8 CrossRefGoogle Scholar
  5. 5.
    Fortune, S., Hopcroft, J., Wyllie, J.: The directed subgraph homeomorphism problem. Theor. Comput. Sci. 10(2), 111–121 (1980)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Goldberg, A.V., Rao, S.: Beyond the flow decomposition barrier. J. ACM (JACM) 45(5), 783–797 (1998)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput. 4(1), 77–84 (1975)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Johnson, D.B.: Efficient algorithms for shortest paths in sparse networks. J. ACM 24(1), 1–13 (1977)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Karp, R.M.: On the computational complexity of combinatorial problems. Networks 5(1), 45–68 (1975)CrossRefMATHGoogle Scholar
  10. 10.
    Kawarabayashi, K., Kobayashi, Y., Reed, B.: The disjoint paths problem in quadratic time. J. Comb. Theory Ser. B 102(2), 424–435 (2012)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Li, C.-L., McCormick, S.T., Simchi-Levi, D.: The complexity of finding two disjoint paths with min-max objective function. Discrete Appl. Math. 26(1), 105–115 (1990)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Menger, K.: Zur allgemeinen kurventheorie. Fundam. Math. 10(1), 96–115 (1927)CrossRefMATHGoogle Scholar
  13. 13.
    Read, R.C., Tarjan, R.E.: Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks 5(3), 237–252 (1975)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Rizzi, R., Sacomoto, G., Sagot, M.-F.: Efficiently listing bounded length st-paths. In: Jan, K., Miller, M., Froncek, D. (eds.) IWOCA 2014. LNCS, vol. 8986, pp. 318–329. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-19315-1_28 CrossRefGoogle Scholar
  15. 15.
    Sacomoto, G., Lacroix, V., Sagot, M.-F.: A polynomial delay algorithm for the enumeration of bubbles with length constraints in directed graphs and its application to the detection of alternative splicing in RNA-seq data. In: Darling, A., Stoye, J. (eds.) WABI 2013. LNCS, vol. 8126, pp. 99–111. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40453-5_9 CrossRefGoogle Scholar
  16. 16.
    Schrijver, A.: Combinatorial optimization: polyhedra and efficiency. Springer Science & Business Media, Heidelberg (2003)MATHGoogle Scholar
  17. 17.
    Tarjan, R.: Enumeration of the elementary circuits of a directed graph. SIAM J. Comput. 2(3), 211–216 (1973)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Tiernan, J.C.: An efficient search algorithm to find the elementary circuits of a graph. Commun. ACM 13, 722–726 (1970)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Università di PisaPisaItaly

Personalised recommendations