An optimal parallel algorithm for generating combinations (Q582077)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | An optimal parallel algorithm for generating combinations |
scientific article |
Statements
An optimal parallel algorithm for generating combinations (English)
0 references
1989
0 references
We present a parallel algorithm for generating in lexicographically ascending order the C(m,n) combinations of m objects chosen from 1..n, where \(1\leq m<n\) and C(m,n) is the total number of combinations. (Henceforth, we write C(m,n) as Cmn.) We call these combinations m- combinations. The algorithm is designed to run on a linear array of m processors, where each processor communicates only with its (left and right) neighbors, each has constant size memory, and each is responsible for producing one element of each combination. A combination takes constant time to produce from the preceding one, so the algorithm requires time 0(Cmn). This improves over previous algorithms in three respects: it runs on a weaker model, it is cost optimal (assuming the time to output the combinations is counted), and it requires the calculation of no integer greater than n.
0 references
concurrency
0 references
design of algorithms
0 references
parallel algorithms
0 references
generating combinations
0 references