Parallel Algorithmic Techniques for Combinatorial Computation

We have described a number of algorithmic tools that have been found useful in the construction of parallel algorithms; among these are prefix computation, ranking, Euler tours, ear decomposition, and matrix calculations. We have also described some of the applications of these tools, and listed many other applications. These algorithms seem likely to be useful not only in their own right, but also as examples of ways to break up other problems into parts suitable for parallel solution.

[1]  Vijay V. Vazirani,et al.  Matching is as easy as matrix inversion , 1987, STOC.

[2]  Ludek Kucera,et al.  Parallel Computation and Conflicts in Memory Access , 1982, Inf. Process. Lett..

[3]  Yung H. Tsin An Optimal Parallel Processor Bound in Strong Orientation of an Undirected Graph , 1985, Inf. Process. Lett..

[4]  Richard Cole,et al.  Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms , 1986, STOC '86.

[5]  Eli Upfal,et al.  Parallel hashing: an efficient implementation of shared memory , 1988, JACM.

[6]  Uzi Vishkin,et al.  On Efficient Parallel Strong Orientation , 1985, Inf. Process. Lett..

[7]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[8]  Marc Snir,et al.  A Direct Approach to the Parallel Evaluation of Rational Expressions with a Small Number of Processors , 1977, IEEE Transactions on Computers.

[9]  László Lovász,et al.  Computing ears and branchings in parallel , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[10]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

[11]  Victor Y. Pan,et al.  Improved processor bounds for algebraic and combinatorial problems in RNC , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[12]  Stuart J. Berkowitz,et al.  On Computing the Determinant in Small Parallel Time Using a Small Number of Processors , 1984, Inf. Process. Lett..

[13]  Andrew V. Goldberg,et al.  Parallel Symmetry-Breaking in Sparse Graphs , 1988, SIAM J. Discret. Math..

[14]  Silvio Micali,et al.  An O(v|v| c |E|) algoithm for finding maximum matching in general graphs , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[15]  Mark K. Goldberg,et al.  A New Parallel Algorithm for the Maximal Independent Set Problem , 1989, SIAM J. Comput..

[16]  Krzysztof Diks,et al.  Efficient Simulations Between Concurrent-Read Concurrent-Write PRAM Models , 1988, MFCS.

[17]  Nimrod Megiddo,et al.  Applying parallel computation algorithms in the design of serial algorithms , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[18]  Alfred V. Aho,et al.  Principles of Compiler Design , 1977 .

[19]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

[20]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[21]  Yuri Petrovich Ofman,et al.  On the Algorithmic Complexity of Discrete Functions , 1962 .

[22]  Richard Cole,et al.  Approximate and exact parallel scheduling with applications to list, tree and graph problems , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[23]  Robert E. Tarjan,et al.  Finding Biconnected Components and Computing Tree Functions in Logarithmic Parallel Time (Extended Summary) , 1984, FOCS.

[24]  Andrew V. Goldberg,et al.  Parallel symmetry-breaking in sparse graphs , 1987, STOC.

[25]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[26]  Mikhail J. Atallah,et al.  Finding Euler Tours in Parallel , 2011, J. Comput. Syst. Sci..

[27]  Daniel S. Hirschberg Parallel algorithms for the transitive closure and the connected component problems , 1976, STOC '76.

[28]  L. Csanky,et al.  Fast parallel matrix inversion algorithms , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[29]  Michael Luby A Simple Parallel Algorithm for the Maximal Independent Set Problem , 1986, SIAM J. Comput..

[30]  Uzi Vishkin,et al.  Randomized speed-ups in parallel computation , 2015, STOC '84.

[31]  James Christopher Wyllie,et al.  The Complexity of Parallel Computations , 1979 .

[32]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[33]  Eli Upfal,et al.  Constructing a perfect matching is in random NC , 1985, STOC '85.

[34]  Sartaj Sahni,et al.  Data broadcasting in SIMD computers , 1981, IEEE Transactions on Computers.

[35]  Krzysztof Diks,et al.  New Simulations between CRCW PRAMs , 1989, FCT.

[36]  Uzi Vishkin,et al.  Parallel Ear Decomposition Search (EDS) and st-Numbering in Graphs , 1986, Theor. Comput. Sci..

[37]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[38]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[39]  Robert E. Tarjan,et al.  Computing an st -Numbering , 1976, Theor. Comput. Sci..

[40]  Zvi Galil Optimal Parallel Algorithms for String Matching , 1985, Inf. Control..

[41]  Uzi Vishkin,et al.  Efficient Parallel Triconnectivity in Logarithmic Time , 1988, AWOC.

[42]  Alon Itai,et al.  A Fast and Simple Randomized Parallel Algorithm for Maximal Matching , 1986, Inf. Process. Lett..

[43]  Rüdiger Reischuk,et al.  A fast probabilistic parallel sorting algorithm , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[44]  Zvi Galil Sequential and parallel algorithms for finding maximum matchings in graphs , 1986 .

[45]  John H. Reif,et al.  An optimal parallel algorithm for integer sorting , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[46]  Alok Aggarwal,et al.  A random NC algorithm for depth first search , 1987, Comb..

[47]  Faith Ellen,et al.  Relations between concurrent-write models of parallel computation , 1984, PODC '84.

[48]  Gary L. Miller,et al.  Parallel tree contraction and its application , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[49]  Amos Israeli,et al.  An Improved Parallel Algorithm for Maximal Matching , 1986, Inf. Process. Lett..

[50]  Uzi Vishkin,et al.  A Parallel-Design Distributed-Implementation (PDDI) General-Purpose Computer , 2011, Theor. Comput. Sci..

[51]  Richard Cole,et al.  Optimal Parallel Algorithms for Expression Tree Evaluation and List Ranking , 1988, AWOC.

[52]  H. Whitney Non-Separable and Planar Graphs. , 1931, Proceedings of the National Academy of Sciences of the United States of America.

[53]  Philip N. Klein,et al.  An efficient parallel algorithm for planarity , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[54]  Arkady Kanevsky,et al.  Improved algorithms for graph four-connectivity , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[55]  Franco P. Preparata,et al.  An Improved Parallel Processor Bound in Fast Matrix Inversion , 1978, Inf. Process. Lett..

[56]  Baruch Awerbuch,et al.  Finding euler circuits in logarithmic parallel time , 1984, STOC '84.

[57]  Larry Rudolph,et al.  The power of parallel prefix , 1985, IEEE Transactions on Computers.

[58]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[59]  Gary L. Miller,et al.  A Simple Randomized Parallel Algorithm for List-Ranking , 1990, Inf. Process. Lett..

[60]  Eli Upfal,et al.  Are search and decision programs computationally equivalent? , 1985, STOC '85.

[61]  Richard Cole,et al.  Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking , 2018, Inf. Control..

[62]  Richard Anderson A parallel algorithm for the maximal path problem , 1985, STOC '85.

[63]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[64]  S. Teng,et al.  Optimal Tree Contraction in the EREW Model , 1988 .

[65]  Xin He,et al.  Parallel Recognitions and Decomposition of Two Terminal Series Parallel Graphs , 1987, Inf. Comput..

[66]  Uzi Vishkin,et al.  On Finding Lowest Common Ancestors: Simplification and Parallelization , 1988, AWOC.