In this paper we solve the open problem of designing a costoptimal parallel algorithm for generating permutations of M elements out of the set {0, 1, . . . , N -1}, in lexicographic order. Our algorithm runs on the simplest model of parallel computation, i.e., a linear array of size M, where each pr
An Optimal Systolic Algorithm for Generating Permutations in Lexicographic Order
✍ Scribed by S.G. Akl; H. Meijer; I. Stojmenovic
- Publisher
- Elsevier Science
- Year
- 1994
- Tongue
- English
- Weight
- 693 KB
- Volume
- 20
- Category
- Article
- ISSN
- 0743-7315
No coin nor oath required. For personal study only.
✦ Synopsis
A systolic algorithm is described for generating all permutations of (n) elements in lexicographic order. The algorithm is designed to be executed on a linear array of (n) processors, each having constant size memory, and each being responsible for producing one element of a given permutation. There is a constant delay per permutation, leading to an (O(n !)) time solution. This is an improvement over the best previously known techniques in two respects: the algorithm runs on the (arguably) weakest model of parallel computation, and is cost optimal (assuming the time to output the permutations is counted). The algorithm is extended to run adaptively, i.e., when the number of available processors is other than n. 1994 Academic Press, Inc.
📜 SIMILAR VOLUMES