Are search and decision programs computationally equivalent?

From the point of view of sequential polynomial time computation, the answer to the question in the title is 'yes'. The process of self-reducibility is a linear time Turing (oracle) reduction from a given combinatorial search problem to an appropriately defined decision problem. However, from the point of view of fast parallel computation, the answer is not so clear. Many of the sequential algorithms that were 'marked off' as being “inherently sequential” embed within them the self-reducibility process. Can this inherently sequential process be parallelized? To study this problem, we define an abstract setting (namely that of an independence system) in which one, universal search problem captures all combinatorial search problems. We consider several natural decision and function oracles to which this search problem may be reduced. On the positive side, we give efficient probabilistic parallel reductions to these oracles. These reductions constitute a scheme for parallelizing search problems in case the oracles for these problems are themselves efficiently computable in parallel. We give examples of problems that did not yield to parallelism before, but can be parallelized using this scheme. On the negative side, we prove lower bounds on any determininistic parallel reductions to the same oracles. If p processors are used, the sequential (linear) running time cannot be enhanced by more than a factor of &Ogr;(log p) and hence for any polynomial number of processors the problem remains inherently sequential. This proves that randomization can be exponentially more powerful than determinism in our model, and suggests that NC ≠ Random NC. Finally, we state some intriguing conjectures and suggest new directions of research in complexity theory that arise from this work.

[1]  Zvi Galil,et al.  Optimal parallel algorithms for string matching , 1984, STOC '84.

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

[3]  D. Hausmann,et al.  Algorithmic versus axiomatic definitions of matroids , 1981 .

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

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

[6]  F. Hwang Three Versions of a Group Testing Game , 1984 .

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

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

[9]  Larry J. Stockmeyer,et al.  The complexity of approximate counting , 1983, STOC.

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

[11]  Walter J. Savitch,et al.  Relationships Between Nondeterministic and Deterministic Tape Complexities , 1970, J. Comput. Syst. Sci..

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

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

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

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

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