Concurrent Computations pp 117-138 | Cite as

# Fast Parallel Algorithms for Reducible Flow Graphs

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

### References

- [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 - [AhHoUI]A. V. Aho, J. E. Hoperoft, J. D. Ullman, The
*Design and Analysis*of Computer*Algorithms*, Addison Wesley, 1974.Google Scholar - [AhUl]A. V. Aho, J. D. Ullman,
*Principles of Compiler Design*, Addison Wesley, 1977.Google Scholar - [AjKoSz]M. Ajtai, J. Komlos, E. Szemeredi, “Sorting in clog n parallel steps,”
*Combinatorica*, vol. 3, 1983, pp. 1–19.CrossRefGoogle Scholar - [Al]F. E. Allen, “Program optimization,”
*Annual Rev. Automatic Prog*., vol. 5, Pergamon Press, 1969.Google Scholar - [At]M. Attalah, private communication, 1985.Google Scholar
- [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 - [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 - [Co]S. A. Cook, “Towards a complexity theory for synchronous parallel computation,”
*Enseign*. Math.,*vol*. 27,*1981*,pp. 99–124.Google Scholar - [Co2]S. A. Cook, “A taxonomy of problems with fast parallel algorithms,”
*Inform. Control*, vol. 64, 1985, pp. 2–22.CrossRefGoogle Scholar - [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 - [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 - [Ev]S. Even,
*Graph Algorithms*, Computer Science Press, Potomac, MD, 1979.Google Scholar - [Fl]R. W. Floyd, “Assigning meanings to programs,”
*Proc. Symp. Appl. Math*., 19, pp. 19–32, 1967.Google Scholar - [FoFu]L. R. Ford, Jr., D. R. Fulkerson,
*Flows in Networks*, Princeton Univ. Press, Princeton, NJ, 1962.Google Scholar - [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 - [GhBh]R. K. Ghosh, G. P. Bhattacharya, “Parallel search algorithm for directed acyclic graphs,” BIT, 1982.Google Scholar
- [GoShSt]L. Goldschlager, R. Staples, J. Staples, “Maximum flow problem is log space complete for P,” TCS, 1982, pp. 105–111.Google Scholar
- [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 - [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 - [HeUI]M. S Hecht, J. D. Ullman, “Characterization of reducible flow graphs,”
*JACM*, 21. 3, 1974, pp. 167–175.Google Scholar - [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 - [HoUI]J. E. Hoperoft, J. D. Ullman,
*Introduction*to Automata*Theory*,*Languages*,*and Computation*,Addison Wesley, 1979.Google Scholar - [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 - 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 - [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 - [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 - [Ku]L. Kucera, “Parallel computation and conflicts in memory access,”
*Inform. Processing*Lett., 1982, pp. 93–96.Google Scholar - [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 - [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 - [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 - [MiRe]G. L. Miller,
*J*. H. Reif, “Parallel tree contraction and its application,”*FOCS*, 1985.Google Scholar - [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 - [PaSt]C. H. Papadimitriou, K. Steiglitz, Combinatorial Optimization:
*Algorithms and Complexity*, Prentice-Hall, Englewood Cliffs, NJ, 1982.Google Scholar - [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 - [Ral]V. Ramachandran, “Finding a minimum feedback arc set in reducible graphs,”
*Journal of Algorithms*,to appear.Google Scholar - [Ra2]V. Ramachandran, “The complexity of minimum cut and maximum flow problems in an acyclic network,”
*Networks*, 1987, pp. 387–392.Google Scholar - [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 - [ShVi]Y. Shiloach, U. Vishkin, “An O(log n) parallel connectivity algorithm,”
*J. Algorithms*, vol. 3, 1982, pp. 57–63.CrossRefGoogle Scholar - [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 - [Tal]R. E. Tarjan, “Testing flow graph reducibility,”
*JCSS*, 9: 3, 1974, pp. 355–365.Google Scholar - [Ta2]R. E. Tarjan, Data
*Structures and Network Algorithms*, SIAM, Philadelphia, PA, 1983.Google Scholar - [TaVi]R. E. Tarjan, U. Vishkin, “Finding biconnected components and computing tree functions in logarithmic parallel time,”
*FOCS*, 1984, pp. 12–22.Google Scholar - [Vi]U. Vishkin, “Implementations of simultaneous memory address access in models that forbid it,”
*J. Algorithms*, vol. 4, 1983, pp. 45–50.CrossRefGoogle Scholar - [Vi2]U. Vishkin, “Randomized speed-ups in parallel computation,”
*Proc. 16th ACM Ann. Symp. on Theory of Computing*, 1984, pp. 230–239.Google Scholar