A Taxonomy of Problems with Fast Parallel Algorithms

The class NC consists of problems solvable very fast (in time polynomial in log n ) in parallel with a feasible (polynomial) number of processors. Many natural problems in NC are known; in this paper an attempt is made to identify important subclasses of NC and give interesting examples in each subclass. The notion of NC 1 -reducibility is introduced and used throughout (problem R is NC 1 -reducible to problem S if R can be solved with uniform log-depth circuits using oracles for S ). Problems complete with respect to this reducibility are given for many of the subclasses of NC . A general technique, the “parallel greedy algorithm,” is identified and used to show that finding a minimum spanning forest of a graph is reducible to the graph accessibility problem and hence is in NC 2 (solvable by uniform Boolean circuits of depth O (log 2 n ) and polynomial size). The class LOGCFL is given a new characterization in terms of circuit families. The class DET of problems reducible to integer determinants is defined and many examples given. A new problem complete for deterministic polynomial time is given, namely, finding the lexicographically first maximal clique in a graph. This paper is a revised version of S. A. Cook, (1983, in “Proceedings 1983 Intl. Found. Comut. Sci. Conf.,” Lecture Notes in Computer Science Vol. 158, pp. 78–93, Springer-Verlag, Berlin/New York).

[1]  Stephen A. Cook,et al.  The parallel complexity of the abelian permutation group membership problem , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[2]  John H. Reif,et al.  Symmetric Complementation , 1984, JACM.

[3]  Leonard M. Adleman,et al.  Two theorems on random polynomial time , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[4]  Leslie G. Valiant,et al.  Completeness classes in algebra , 1979, STOC.

[5]  J. Hopcroft,et al.  Fast parallel matrix and GCD computations , 1982, FOCS 1982.

[6]  Walter L. Ruzzo,et al.  Tree-size bounded alternation(Extended Abstract) , 1979, J. Comput. Syst. Sci..

[7]  John E. Savage,et al.  The Complexity of Computing , 1976 .

[8]  Stephen A. Cook,et al.  The Classifikation of Problems which have Fast Parallel Algorithms , 1983, FCT.

[9]  John H. Reif,et al.  Logarithmic depth circuits for algebraic functions , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[10]  Michael Sipser,et al.  Parity, circuits, and the polynomial-time hierarchy , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[11]  Leslie G. Valiant,et al.  Fast Parallel Computation of Polynomials Using Few Processors , 1983, SIAM J. Comput..

[12]  Joachim von zur Gathen Parallel algorithms for algebraic problems , 1983, STOC '83.

[13]  Allan Borodin,et al.  On Relating Time and Space to Size and Depth , 1977, SIAM J. Comput..

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

[15]  Neil D. Jones,et al.  Complete problems for deterministic polynomial time , 1974, Symposium on the Theory of Computing.

[16]  David E. Muller,et al.  Bounds to Complexities of Networks for Sorting and for Switching , 1975, JACM.

[17]  Allan Borodin,et al.  Parallel Computation for Well-Endowed Rings and Space-Bounded Probabilistic Machines , 1984, Inf. Control..

[18]  John Staples,et al.  The Maximum Flow Problem is Log Space Complete for P , 1982, Theor. Comput. Sci..

[19]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

[21]  Leslie G. Valiant,et al.  A complexity theory based on Boolean algebra , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[22]  Christopher B. Wilson Relativized circuit complexity , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[23]  Joseph JáJá,et al.  Parallel Algorithms in Graph Theory: Planarity Testing , 1982, SIAM J. Comput..

[24]  Nicholas Pippenger,et al.  On Simultaneous Resource Bounds (Preliminary Version) , 1979, FOCS 1979.

[25]  Stephen A. Cook,et al.  Hardware complexity and parallel computation , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[26]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[27]  R. Ladner The circuit value problem is log space complete for P , 1975, SIGA.

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

[29]  Jacob T. Schwartz,et al.  Fast Probabilistic Algorithms for Verification of Polynomial Identities , 1980, J. ACM.

[30]  Richard J. Lipton,et al.  Linear Programming is Log-Space Hard for P , 1979, Inf. Process. Lett..

[31]  Uzi Vishkin,et al.  Simulation of Parallel Random Access Machines by Circuits , 1984, SIAM J. Comput..

[32]  G. Lev,et al.  Size bounds and parallel algorithms for networks , 1980 .

[33]  Leslie Michael Goldschlager,et al.  Synchronous parallel computation. , 1978 .

[34]  L. Goldschlager The monotone and planar circuit value problems are log space complete for P , 1977, SIGA.

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

[36]  Jacob T. Schwartz Probabilistic algorithms for verification of polynomial identities (invited) , 1979, EUROSAM.

[37]  Richard M. Karp,et al.  A fast parallel algorithm for the maximal independent set problem , 1984, STOC '84.

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

[39]  Oscar H. Ibarra,et al.  A Note on the Parallel Complexity of Computing the Rank of Order n Matrices , 1980, Inf. Process. Lett..

[40]  Ivan Hal Sudborough,et al.  On the Tape Complexity of Deterministic Context-Free Languages , 1978, JACM.

[41]  Sheila A. Greibach,et al.  The Hardest Context-Free Language , 1973, SIAM J. Comput..

[42]  Sartaj Sahni,et al.  Parallel Matrix and Graph Algorithms , 1981, SIAM J. Comput..

[43]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[44]  Larry J. Stockmeyer,et al.  A Characterization of the Power of Vector Machines , 1976, J. Comput. Syst. Sci..

[45]  Nancy A. Lynch,et al.  Log Space Recognition and Translation of Parenthesis Languages , 1977, JACM.

[46]  Uzi Vishkin,et al.  A complexity theory for unbounded fan-in parallelism , 1982, FOCS 1982.

[47]  Claude E. Shannon,et al.  The synthesis of two-terminal switching circuits , 1949, Bell Syst. Tech. J..

[48]  Stephen A. Cook,et al.  Log Depth Circuits for Division and Related Problems , 1984, SIAM J. Comput..

[49]  John Gill,et al.  Computational Complexity of Probabilistic Turing Machines , 1977, SIAM J. Comput..