Abstract
We study the problem of generating random permutations, i.e., of drawing random elements from the uniform distribution over the set of all permutations of a finite set. Our results are the following, where space bounds of O(n) are omitted.
(A) Random permutations of {1,...,n} can be computed on a CRCW PRAM either in constant expected time using O(nlog(k) n) processors and O(nlog(k) n) space, where k ε ℕ is arbitrary but fixed, or optimally in O(log*n) expected time using O(n/log*n) processors;
(B) Disregarding a small failure probability, the computation of random permutations reduces to integer sorting. In particular, random permutations of {1,...,n} can be computed on an EREW PRAM either in O(log n) expected time using n processors, or in O((log n)5/3(log log n)1/3) expected time using O(n/log n) processors;
(C) Random permutations of {1,..., n} can be computed either on an EREW PRAM in O(log n) time using n processors and O(n 2) space, on an EREW PRAM in O((log n)2) time using O(n/log n) processors, on a CREW PRAM in O(log n log log n) time using O(n/log log n) processors,or on a CREW PRAM in O(log n log log log n) time using O(n/log log log n) processors and O(n 1+ε) space, for arbitrary fixed ε>0.
Supported in part by the Deutsche Forschungsgemeinschaft, SFB 124, TP B2, VLSI Entwurfsmethoden und Parallelität, and in part by the ESPRIT II Basic Research Actions Program of the EC under contract No. 3075 (project ALCOM).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Albers, S., and Hagerup, T. (1991), Improved Parallel Integer Sorting without Concurrent Writing, manuscript.
Anderson, R. J. (1990), Parallel Algorithms for Generating Random Permutations on a Shared Memory Machine, in Proc. 2nd Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 95–102.
Berkman, O., and Vishkin, U. (1989), Recursive *-Tree Parallel Data-Structure, in Proc. 30th Annual Symposium on Foundations of Computer Science, pp. 196–202.
Berkman, O., JáJá, J., Krishnamurthy, S., Thurimella, R., and Vishkin, U. (1990), Some Triply-Logarithmic Parallel Algorithms, in Proc. 31st Annual Symposium on Foundations of Computer Science, pp. 871–881.
Bilardi, G., and Nicolau, A. (1989), Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines, SIAM J. Comput.18, pp. 216–228.
Chlebus, B. S., Diks, K., Hagerup, T., and Radzik, T. (1989), New Simulations between CRCW PRAMs, in Proc. 7th International Conference on Fundamentals of Computation Theory, Springer Lecture Notes in Computer Science, Vol. 380, pp. 95–104.
Eppstein, D., and Galil, Z. (1988), Parallel Algorithmic Techniques for Combinatorial Computation, Ann. Rev. Comput. Sci.3, pp. 233–283.
Grolmusz, V., and Ragde, P. (1987), Incomparability in Parallel Computation, in Proc. 28th Annual Symposium on Foundations of Computer Science, pp. 89–98.
Hagerup, T., and Rüb, C. (1989), Optimal Merging and Sorting on the EREW PRAM, Inform. Proc. Lett.33, pp. 181–185.
Hagerup, T., and Rüb, C. (1990), A Guided Tour of Chernoff Bounds, Inform. Proc. Lett.33, pp. 305–308.
Karp, R. M. (1988), The Probabilistic Analysis of Combinatorial Algorithms, class notes, Univ. California, Berkeley.
Kruskal, C. P. (1983), Searching, Merging, and Sorting in Parallel Computation, IEEE Trans. Comput.32, pp. 942–946.
Kruskal, C. P., Rudolph, L., and Snir, M. (1990), Efficient Parallel Algorithms for Graph Problems, Algorithmica5, pp. 43–64.
Matias, Y., and Vishkin, U. (1991), Converting High Probability into Nearly-Constant Time — with Applications to Parallel Hashing, preliminary version. Also in Proc. 23rd Annual ACM Symposium on Theory of Computing, to appear.
Miller, G. L., and Reif, J. H. (1985), Parallel Tree Contraction and Its Application, in Proc. 26th Annual Symposium on Foundations of Computer Science, pp. 478–489.
Ragde, P. (1990), The Parallel Simplicity of Compaction and Chaining, in Proc. 17th International Colloquium on Automata, Languages and Programming, Springer Lecture Notes in Computer Science, Vol. 443, pp. 744–751.
Rajasekaran, S., and Reif, J. H. (1989), Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms, SIAM J. Comput.18, pp. 594–607.
Raman, R. (1990), The Power of Collision: Randomized Parallel Algorithms for Chaining and Integer Sorting, in Proc. 10th Conference on Foundations of Software Technology and Theoretical Computer Science, Springer Lecture Notes in Computer Science, Vol. 472, pp. 161–175.
Reif, J. H. (1985), An Optimal Parallel Algorithm for Integer Sorting, in Proc. 26th Annual Symposium on Foundations of Computer Science, pp. 496–504.
Sedgewick, R. (1977), Permutation Generation Methods, Comp. Surv.9, pp. 137–164.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hagerup, T. (1991). Fast parallel generation of random permutations. In: Albert, J.L., Monien, B., Artalejo, M.R. (eds) Automata, Languages and Programming. ICALP 1991. Lecture Notes in Computer Science, vol 510. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54233-7_151
Download citation
DOI: https://doi.org/10.1007/3-540-54233-7_151
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54233-9
Online ISBN: 978-3-540-47516-3
eBook Packages: Springer Book Archive