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]  H. Whitney Non-Separable and Planar Graphs. , 1931, Proceedings of the National Academy of Sciences of the United States of America.

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

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

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

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

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

[7]  Shmuel Winograd,et al.  On the Parallel Evaluation of Certain Arithmetic Expressions , 1975, JACM.

[8]  L. Csanky,et al.  Fast Parallel Matrix Inversion Algorithms , 1976, SIAM J. Comput..

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

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

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

[12]  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.

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

[14]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

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

[16]  M. Fischer,et al.  Parallel Prefix Computation , 1980, J. ACM.

[17]  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).

[18]  Uzi Vishkin,et al.  Finding the maximum, merging and sorting in a parallel computation model , 1981, CONPAR.

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

[20]  Walter L. Ruzzo On Uniform Circuit Complexity , 1981, J. Comput. Syst. Sci..

[21]  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).

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

[23]  Ludek Kucera,et al.  Parallel Computation and Conflicts in Memory Access , 1982, Information Processing Letters.

[24]  Uzi Vishkin,et al.  Implementation of Simultaneous Memory Address Access in Models That Forbid It , 1983, J. Algorithms.

[25]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

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

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

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

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

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

[31]  Joachim von zur Gathen,et al.  Parallel algorithms for algebraic problems , 1983, SIAM J. Comput..

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

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

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

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

[36]  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).

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

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

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

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

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

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

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

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

[45]  Justin R. Smith Parallel Algorithms for Depth-First Searches I. Planar Graphs , 1986, SIAM J. Comput..

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

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

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

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

[50]  Hillel Gazit,et al.  An optimal randomized parallel algorithm for finding connected components in a graph , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

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

[52]  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).

[53]  László Lovász,et al.  A physical interpretation of graph connectivity, and its algorithmic applications , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

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

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

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

[57]  Mark K. Goldberg,et al.  A new parallel algorithm for the maximal independent set problem , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[58]  Abhiram G. Ranade,et al.  How to emulate shared memory (Preliminary Version) , 1987, FOCS.

[59]  V. Vazirani,et al.  Matching is as easy as matrix inversion , 1987, Symposium on the Theory of Computing.

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

[61]  Arkady Kanevsky,et al.  Improved Algorithms for Graph Four-Connectivity , 1987, FOCS.

[62]  Gary L. Miller,et al.  A new graphy triconnectivity algorithm and its parallelization , 1987, STOC.

[63]  Richard Anderson A parallel algorithm for the maximal path problem , 1987, Comb..

[64]  Prabhakar Ragde,et al.  Incomparability in parallel computation , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

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

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

[67]  Gary L. Miller,et al.  Deterministic Parallel List Ranking , 1988, AWOC.

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

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

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

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

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

[73]  Faith Ellen,et al.  Relations Between Concurrent-Write Models of Parallel Computation , 1988, SIAM J. Comput..

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

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

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

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