Skip to main content

Fast Parallel Algorithms for Reducible Flow Graphs

  • Chapter
Concurrent Computations

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.

Funded by National Foundation Grant ECS 8404866, the Semiconductor Research Corporation Grant 86-12-109 and the Joint Services Electronics Program Grant N00014-84-C-0149.

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

Access this chapter

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. A. V. Aho, J. E. Hoperoft, J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.

    Google Scholar 

  3. A. V. Aho, J. D. Ullman, Principles of Compiler Design, Addison Wesley, 1977.

    Google Scholar 

  4. M. Ajtai, J. Komlos, E. Szemeredi, “Sorting in clog n parallel steps,” Combinatorica, vol. 3, 1983, pp. 1–19.

    Article  Google Scholar 

  5. F. E. Allen, “Program optimization,” Annual Rev. Automatic Prog., vol. 5, Pergamon Press, 1969.

    Google Scholar 

  6. M. Attalah, private communication, 1985.

    Google Scholar 

  7. F. Y. Chin, J. Lam. I. Chen, “Efficient parallel algorithms for some graph problems,” Comm. ACM, vol. 25, 1982, p. 659–665.

    Article  Google Scholar 

  8. 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. S. A. Cook, “Towards a complexity theory for synchronous parallel computation,” Enseign. Math., vol. 27, 1981,pp. 99–124.

    Google Scholar 

  10. S. A. Cook, “A taxonomy of problems with fast parallel algorithms,” Inform. Control, vol. 64, 1985, pp. 2–22.

    Article  Google Scholar 

  11. 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. D. Dobkin, R. Lipton, S. Reiss, “Linear Programming is log space hard for P,” Inform. Proc. Lett., vol. 8, 1979, pp. 96–97.

    Article  Google Scholar 

  13. S. Even, Graph Algorithms, Computer Science Press, Potomac, MD, 1979.

    Google Scholar 

  14. R. W. Floyd, “Assigning meanings to programs,” Proc. Symp. Appl. Math., 19, pp. 19–32, 1967.

    Google Scholar 

  15. L. R. Ford, Jr., D. R. Fulkerson, Flows in Networks, Princeton Univ. Press, Princeton, NJ, 1962.

    Google Scholar 

  16. 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. R. K. Ghosh, G. P. Bhattacharya, “Parallel search algorithm for directed acyclic graphs,” BIT, 1982.

    Google Scholar 

  18. L. Goldschlager, R. Staples, J. Staples, “Maximum flow problem is log space complete for P,” TCS, 1982, pp. 105–111.

    Google Scholar 

  19. 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. 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. M. S Hecht, J. D. Ullman, “Characterization of reducible flow graphs,” JACM, 21. 3, 1974, pp. 167–175.

    Google Scholar 

  22. 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.

    Article  Google Scholar 

  23. J. E. Hoperoft, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation,Addison Wesley, 1979.

    Google Scholar 

  24. 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. 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. 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. L. Kucera, “Parallel computation and conflicts in memory access,” Inform. Processing Lett., 1982, pp. 93–96.

    Google Scholar 

  29. 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. 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. 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. G. L. Miller, J. H. Reif, “Parallel tree contraction and its application,” FOCS, 1985.

    Google Scholar 

  33. 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. C. H. Papadimitriou, K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Prentice-Hall, Englewood Cliffs, NJ, 1982.

    Google Scholar 

  35. S. R. Pawagi, P. S. Gopalakrishnan, I. V. Ramakrishnan, “Computing dominators in parallel,” Inform. Proc. Lett., vol. 24, 1987, pp. 217–221.

    Article  Google Scholar 

  36. V. Ramachandran, “Finding a minimum feedback arc set in reducible graphs,” Journal of Algorithms,to appear.

    Google Scholar 

  37. V. Ramachandran, “The complexity of minimum cut and maximum flow problems in an acyclic network,” Networks, 1987, pp. 387–392.

    Google Scholar 

  38. A. Shamir, “A linear time algorithm for finding minimum cutsets in reducible graphs,” SIAM J. Computing, 8: 4, 1979, pp. 645–655.

    Article  Google Scholar 

  39. Y. Shiloach, U. Vishkin, “An O(log n) parallel connectivity algorithm,” J. Algorithms, vol. 3, 1982, pp. 57–63.

    Article  Google Scholar 

  40. 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. R. E. Tarjan, “Testing flow graph reducibility,” JCSS, 9: 3, 1974, pp. 355–365.

    Google Scholar 

  42. R. E. Tarjan, Data Structures and Network Algorithms, SIAM, Philadelphia, PA, 1983.

    Google Scholar 

  43. R. E. Tarjan, U. Vishkin, “Finding biconnected components and computing tree functions in logarithmic parallel time,” FOCS, 1984, pp. 12–22.

    Google Scholar 

  44. U. Vishkin, “Implementations of simultaneous memory address access in models that forbid it,” J. Algorithms, vol. 4, 1983, pp. 45–50.

    Article  Google Scholar 

  45. U. Vishkin, “Randomized speed-ups in parallel computation,” Proc. 16th ACM Ann. Symp. on Theory of Computing, 1984, pp. 230–239.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Plenum Press, New York

About this chapter

Cite this chapter

Ramachandran, V. (1988). Fast Parallel Algorithms for Reducible Flow Graphs. In: Tewksbury, S.K., Dickinson, B.W., Schwartz, S.C. (eds) Concurrent Computations. Springer, Boston, MA. https://doi.org/10.1007/978-1-4684-5511-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4684-5511-3_8

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4684-5513-7

  • Online ISBN: 978-1-4684-5511-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics