Issue No. 02 - February (1991 vol. 40)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.73593
<p>A parallel algorithm for solving the knapsack problem on a single-instruction, multiple-data machine with shared memory is presented. The shared memory allows concurrent reading while concurrent writing is forbidden. The knapsack problem is of size n, which the algorithm solves in time T=O(n*(2/sup n/2/)/sup epsilon /) when P=O((2/sup n/2/)/sup (1- epsilon )/), 0>or= epsilon >or=1, processors are available. It is shown that the algorithm needs S=O(2/sup n/2/) memory space in a shared memory. If H (for hardware) is the number of processors plus the number of memory cells used by a parallel algorithm, the parallel algorithm takes a linear time proportional to (n/2) to find a solution when P=O(2/sup n/2/), leading a tradeoff T*H=O(2/sup n/2/).</p>
SIMD machine; parallel time/hardware tradeoff; knapsack problem; parallel algorithm; shared memory; concurrent reading; concurrent writing; linear time; computational complexity; parallel algorithms.
A.G. Ferreira, "A Parallel Time/Hardware Tradeoff T.H=O(2/sup n/2/) for the Knapsack Problem", IEEE Transactions on Computers, vol. 40, no. , pp. 221-225, February 1991, doi:10.1109/12.73593