Advertisement

Fast parallel generation of random permutations

  • Torben Hagerup
Parallel Algorithms (Session 10)
Part of the Lecture Notes in Computer Science book series (LNCS, volume 510)

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(n2) 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(n1+ε) space, for arbitrary fixed ε>0.

Keywords

Active Element Random Permutation Negligible Probability EREW Pram Crew Pram 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Albers, S., and Hagerup, T. (1991), Improved Parallel Integer Sorting without Concurrent Writing, manuscript.Google Scholar
  2. 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.Google Scholar
  3. Berkman, O., and Vishkin, U. (1989), Recursive *-Tree Parallel Data-Structure, in Proc. 30th Annual Symposium on Foundations of Computer Science, pp. 196–202.Google Scholar
  4. 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.Google Scholar
  5. Bilardi, G., and Nicolau, A. (1989), Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines, SIAM J. Comput.18, pp. 216–228.Google Scholar
  6. 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.Google Scholar
  7. Eppstein, D., and Galil, Z. (1988), Parallel Algorithmic Techniques for Combinatorial Computation, Ann. Rev. Comput. Sci.3, pp. 233–283.Google Scholar
  8. Grolmusz, V., and Ragde, P. (1987), Incomparability in Parallel Computation, in Proc. 28th Annual Symposium on Foundations of Computer Science, pp. 89–98.Google Scholar
  9. Hagerup, T., and Rüb, C. (1989), Optimal Merging and Sorting on the EREW PRAM, Inform. Proc. Lett.33, pp. 181–185.Google Scholar
  10. Hagerup, T., and Rüb, C. (1990), A Guided Tour of Chernoff Bounds, Inform. Proc. Lett.33, pp. 305–308.Google Scholar
  11. Karp, R. M. (1988), The Probabilistic Analysis of Combinatorial Algorithms, class notes, Univ. California, Berkeley.Google Scholar
  12. Kruskal, C. P. (1983), Searching, Merging, and Sorting in Parallel Computation, IEEE Trans. Comput.32, pp. 942–946.Google Scholar
  13. Kruskal, C. P., Rudolph, L., and Snir, M. (1990), Efficient Parallel Algorithms for Graph Problems, Algorithmica5, pp. 43–64.Google Scholar
  14. 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.Google Scholar
  15. 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.Google Scholar
  16. 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.Google Scholar
  17. Rajasekaran, S., and Reif, J. H. (1989), Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms, SIAM J. Comput.18, pp. 594–607.Google Scholar
  18. 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.Google Scholar
  19. Reif, J. H. (1985), An Optimal Parallel Algorithm for Integer Sorting, in Proc. 26th Annual Symposium on Foundations of Computer Science, pp. 496–504.Google Scholar
  20. Sedgewick, R. (1977), Permutation Generation Methods, Comp. Surv.9, pp. 137–164.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Torben Hagerup
    • 1
  1. 1.Max-Planck-Institut für InformatikSaarbrückenGermany

Personalised recommendations