Abstract
In this paper we will present a parallel algorithm to generate the permutations of at mostk out ofn objects. The architecture consists of a linear processor array and a selector. When one single processor array is available, a parallel algorithm to generate permutations is presented which achieves the best possible speedup for any givenk. Also, this algorithm can easily be modified to generate combinations. When multiple processor arrays are available, a parallel scheme is proposed to speed up the generation by fully utilizing these processor arrays. The degree of parallelism is related to the number of available processor arrays.
Similar content being viewed by others
References
G. H. Chen, Maw-Sheng Chern and R. C. T. Lee,Systolic algorithms for computational geometry, in Proc. National Comput. Symp., Kaohsiung, Taiwan, (1985), 1647–1656.
P. Gupta and G. P. Bhattacharjee,Parallel generation of permutations, The Computer J., 26, 2(1983), 97–105.
M. Mor and A. S. Fraenkel,Permutation generation on vector processors, The Computer J., 25, 4(1982), 423–428.
S. Sahni,Approximate algorithms for the 0/1-knapsack problem, J. ACM, 22, 1(1975), 115–124.
I. Semba,An efficient algorithm for generating all K-subsets (1 ≦ k ≦ m ≦ n) of the set {1, 2, ..., n} in lexicographic order, J. Algorithms, 5, 2 (1984), 281–283.
C. Y. Tang, M. W. Du and R. C. T. Lee,Parallel generation of combinations, in Proc. Int'l Comput. Symp., Taipei, Taiwan, (1984), 1006–1010.
S. Zaks,A new algorithm for generation of permutations, BIT, 24, 2(1984), 196–204.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Chen, G.H., Chern, MS. Parallel generation of permutations and combinations. BIT 26, 277–283 (1986). https://doi.org/10.1007/BF01933707
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01933707