STACS 1986: STACS 86 pp 73-86

# Input sensitive, optimal parallel randomized algorithms for addition and identification

• Paul G. Spirakis
Contributed Papers

DOI: 10.1007/3-540-16078-7_66

Part of the Lecture Notes in Computer Science book series (LNCS, volume 210)
Cite this paper as:
Spirakis P.G. (1986) Input sensitive, optimal parallel randomized algorithms for addition and identification. In: Monien B., Vidal-Naquet G. (eds) STACS 86. STACS 1986. Lecture Notes in Computer Science, vol 210. Springer, Berlin, Heidelberg

## Abstract

Although many sophisticated parallel algorithms now exist, it is not at all clear if any of them is sensitive to properties of the input which can be determined only at run-time. For example, in the case of parallel addition in shared memory models, we intuitively understand that we should not add those inputs whose value is zero. A technique which exploits this idea, may beat the general lower bound for addition if the count of nonzero operants is much smaller than the numbers to be added. In this paper, we device such algorithms for two fundamental problems of parallel computation. Our model of computation is the CRCW PRAM. We first provide a randomized algorithm for parallel addition which never errs and computes the result in 0 (logm) expected parallel time, where m is the count of nonzero entries among the n numbersto be added. This algorithm uses 0 (m) shared space. We then use this result to solve the following problem of processor identification : n processors are given, each keeping either a 0 or an 1. We want each processor at the end, to know which are the processors with the 1's. Our solution is randomized and sensitive to the number 10 of the 1's. It takes 0 (min { m, n logm/logn}) expected parallel time and only 0 (m) shared memory, capable of holding only 0(n) size numbers. Combinatorial techniques of Erdos and Renyi were helpful to a part of this second result.

All our techniques enjoy the following properties : (1) They never produce an erroneous answer (2) if T is the actual parallel time and E (T) its expected value, then Prob {T>k.E (T)}⩽n−C where k is arbitrary and c>1 is linear on k and can be specified by the algorithm implementer. (3) m is initially unknown to our algorithms. They produce an accurate estimate of it.