Fast Parallel Algorithms for Reducible Flow Graphs

  • Vijaya Ramachandran

Abstract

We give parallel NC algorithms for recognizing reducible flow graphs (rfg’s), and for finding dominators, minimum feedback vertex sets, and a depth first search numbering in an rfg. We show that finding a minimum feedback vertex set in vertex-weighted rfg’s or finding a minimum feedback arc set in arc-weighted rfg’s is P-complete. We present RNC algorithms for finding a minimum feedback arc set in an unweighted rfg, and for finding a minimum weight feedback set when arc or vertex weights are in unary; and we show that these problems are in NC if and only if the maximum matching problem is in NC.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AgAn]
    A. Aggarwal, R. Anderson, “A random NC algorithm for depth first search,” Proc. 19th Ann. ACM Symp. on Theory of Computing, New York, NY, May 1987, pp. 325–334.Google Scholar
  2. [AhHoUI]
    A. V. Aho, J. E. Hoperoft, J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.Google Scholar
  3. [AhUl]
    A. V. Aho, J. D. Ullman, Principles of Compiler Design, Addison Wesley, 1977.Google Scholar
  4. [AjKoSz]
    M. Ajtai, J. Komlos, E. Szemeredi, “Sorting in clog n parallel steps,” Combinatorica, vol. 3, 1983, pp. 1–19.CrossRefGoogle Scholar
  5. [Al]
    F. E. Allen, “Program optimization,” Annual Rev. Automatic Prog., vol. 5, Pergamon Press, 1969.Google Scholar
  6. [At]
    M. Attalah, private communication, 1985.Google Scholar
  7. [ChLaCh]
    F. Y. Chin, J. Lam. I. Chen, “Efficient parallel algorithms for some graph problems,” Comm. ACM, vol. 25, 1982, p. 659–665.CrossRefGoogle Scholar
  8. [Col]
    R. Cole, “Parallel merge sort,” Proc. 27th Ann. IEEE Symp. on Foundations of Comp. Sci., Toronto, Canada, October 1986, pp. 511–516.Google Scholar
  9. [Co]
    S. A. Cook, “Towards a complexity theory for synchronous parallel computation,” Enseign. Math., vol. 27, 1981,pp. 99–124.Google Scholar
  10. [Co2]
    S. A. Cook, “A taxonomy of problems with fast parallel algorithms,” Inform. Control, vol. 64, 1985, pp. 2–22.CrossRefGoogle Scholar
  11. [CoWi]
    D. Coppersmith, S. Winograd, “Matrix multiplication via arithmetic progressions,” 19th Ann. ACM Symp. on Theory of Computing, New York, NY, May 1987, pp. 1–6.Google Scholar
  12. [DoLiRe]
    D. Dobkin, R. Lipton, S. Reiss, “Linear Programming is log space hard for P,” Inform. Proc. Lett., vol. 8, 1979, pp. 96–97.CrossRefGoogle Scholar
  13. [Ev]
    S. Even, Graph Algorithms, Computer Science Press, Potomac, MD, 1979.Google Scholar
  14. [Fl]
    R. W. Floyd, “Assigning meanings to programs,” Proc. Symp. Appl. Math., 19, pp. 19–32, 1967.Google Scholar
  15. [FoFu]
    L. R. Ford, Jr., D. R. Fulkerson, Flows in Networks, Princeton Univ. Press, Princeton, NJ, 1962.Google Scholar
  16. [GaTa]
    H. Gabow, R. E. Tarjan, “A linear-time algorithm for a special case of disjoint set union,” Proc. 15th Ann. ACM Symp. on Theory of Computing, 1983, pp. 246–251.Google Scholar
  17. [GhBh]
    R. K. Ghosh, G. P. Bhattacharya, “Parallel search algorithm for directed acyclic graphs,” BIT, 1982.Google Scholar
  18. [GoShSt]
    L. Goldschlager, R. Staples, J. Staples, “Maximum flow problem is log space complete for P,” TCS, 1982, pp. 105–111.Google Scholar
  19. [GoTa]
    A. Goldberg, R. E. Tarjan, “A new approach to the maximum flow problem,” Proc. 18th Ann. ACM Symp. on Theory of Computing, Berkeley, CA, May 1986.Google Scholar
  20. [Ha]
    D. Harel, “A linear algorithm for finding dominators in flow graphs and related problems,” 17th Ann. Symp. on Theory of Computing, Providence, RI, May 6–8, 1985, pp. 185–194.Google Scholar
  21. [HeUI]
    M. S Hecht, J. D. Ullman, “Characterization of reducible flow graphs,” JACM, 21. 3, 1974, pp. 167–175.Google Scholar
  22. [HiChSa]
    D. S. Hirschberg, A. K. Chandra, D. V. Sarwate, “Computing connected components on parallel computers,” Comm. ACM, vol. 22, no. 8, 1979, pp. 461–464.CrossRefGoogle Scholar
  23. [HoUI]
    J. E. Hoperoft, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation,Addison Wesley, 1979.Google Scholar
  24. [KanRa]
    A. Kanevsky, V. Ramachandran, “Improved algorithms for graph four connectivity,” Proc. 28th Ann. IEEE Symp. on Foundations of Comp. Sci., Los Angeles, CA, October 1987.Google Scholar
  25. KarRa] R. M. Karp, V. Ramachandran, “Parallel Algorithms,” in Handbook of Theoretical Computer Science, J. Van Leeuwan, ed., North Holland, 1988, to appear.Google Scholar
  26. [KaUpWi]
    R. M. Karp, E. Upfal, A. Wigderson, “Constructing a perfect matching is in Random NC,” Proc. 17th ACM Ann. Symp. on Theory of Computing, 1985, pp. 22–32.Google Scholar
  27. [K1Re]
    P. Klein, J. H. Reif, “An efficient parallel algorithm for planarity,” Proc. 27th Ann. IEEE Symp. on Foundations of Computer Science, Toronto, Canada, 1986, pp. 465–477.Google Scholar
  28. [Ku]
    L. Kucera, “Parallel computation and conflicts in memory access,” Inform. Processing Lett., 1982, pp. 93–96.Google Scholar
  29. [La]
    R. E. Ladner, “The circuit value problem is log space complete for P,” SIGACT News, vol. 7, no. 1, pp. 18–20.Google Scholar
  30. [MaScVi]
    Y. Maon, B. Schieber, U. Vishkin, “Parallel ear decomposition search (EDS) and st -numbering in graphs,” Proc. Aegean Workshop on Computing, Loutraki, Greece, 1986, Springer Verlag.Google Scholar
  31. [MiRa]
    G. L. Miller, V. Ramachandran, “A new graph triconnectivity algorithm and its parallelization,” Proc. 19th Ann. ACM Symp. on Theory of Computing, New York, NY, May 1987.Google Scholar
  32. [MiRe]
    G. L. Miller, J. H. Reif, “Parallel tree contraction and its application,” FOCS, 1985.Google Scholar
  33. [MuVaVa]
    K. Mulmuley, U. Vazirani, V. Vazirani, “Matching is as easy as matrix inversion,” Proc. 19th Ann. ACM Symp. on Theory of Computing, May 1987.Google Scholar
  34. [PaSt]
    C. H. Papadimitriou, K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Prentice-Hall, Englewood Cliffs, NJ, 1982.Google Scholar
  35. [PaGoRa]
    S. R. Pawagi, P. S. Gopalakrishnan, I. V. Ramakrishnan, “Computing dominators in parallel,” Inform. Proc. Lett., vol. 24, 1987, pp. 217–221.CrossRefGoogle Scholar
  36. [Ral]
    V. Ramachandran, “Finding a minimum feedback arc set in reducible graphs,” Journal of Algorithms,to appear.Google Scholar
  37. [Ra2]
    V. Ramachandran, “The complexity of minimum cut and maximum flow problems in an acyclic network,” Networks, 1987, pp. 387–392.Google Scholar
  38. [Sh]
    A. Shamir, “A linear time algorithm for finding minimum cutsets in reducible graphs,” SIAM J. Computing, 8: 4, 1979, pp. 645–655.CrossRefGoogle Scholar
  39. [ShVi]
    Y. Shiloach, U. Vishkin, “An O(log n) parallel connectivity algorithm,” J. Algorithms, vol. 3, 1982, pp. 57–63.CrossRefGoogle Scholar
  40. [St]
    V. Strassen, “The asymptotic spectrum of tensors and the exponent of matrix multiplication,” Proc. 27th Ann. Symp. on Foundations of Comp. Sci., 1986, pp. 49–54.Google Scholar
  41. [Tal]
    R. E. Tarjan, “Testing flow graph reducibility,” JCSS, 9: 3, 1974, pp. 355–365.Google Scholar
  42. [Ta2]
    R. E. Tarjan, Data Structures and Network Algorithms, SIAM, Philadelphia, PA, 1983.Google Scholar
  43. [TaVi]
    R. E. Tarjan, U. Vishkin, “Finding biconnected components and computing tree functions in logarithmic parallel time,” FOCS, 1984, pp. 12–22.Google Scholar
  44. [Vi]
    U. Vishkin, “Implementations of simultaneous memory address access in models that forbid it,” J. Algorithms, vol. 4, 1983, pp. 45–50.CrossRefGoogle Scholar
  45. [Vi2]
    U. Vishkin, “Randomized speed-ups in parallel computation,” Proc. 16th ACM Ann. Symp. on Theory of Computing, 1984, pp. 230–239.Google Scholar

Copyright information

© Plenum Press, New York 1988

Authors and Affiliations

  • Vijaya Ramachandran
    • 1
  1. 1.University of IllinoisUrbanaUSA

Personalised recommendations