Efficient linear systolic array for the knapsack problem
A processor-efficient systolic algorithm for the dynamic programming approach to the knapsack problem is presented in this paper. The algorithm is implemented on a linear systolic array where the number of the cells q, the cell memory storage α and the input/output requirements are design parameters. These are independent of the problem size given by the number of the objects m and the knapsack capacity c. The time complexity of the algorithm is Θ(mc/q + m) and both the time speedup and the processor efficiency are asymptotically optimal.
A new procedure for the backtracking phase of the algorithm with a time complexity Θ(m) is also proposed. It is an improvement on the usual strategies used for backtracking which have a time complexity Θ(m + c).
Unable to display preview. Download preview PDF.
- 1.R. Garfinkel and G. Nemhauser, Integer Programming. John Wiley and Sons, 1972.Google Scholar
- 2.T. C. Hu, Combinatorial Algorithms. Addison-Wesley Publishing Company, 1982.Google Scholar
- 3.S. Martello and P. Toth, Knapsack Problems: Algorithms and Computer Implementation. John Wiley and Sons, 1990.Google Scholar
- 4.M. Garey and D. Johnson, Computers and Intractability: a Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.Google Scholar
- 5.R. Bellman, Dynamic Programming. Princeton University Press, Princeton, NJ, 1957.Google Scholar
- 6.G. Chen, M. Chern, and J. Jang, “Pipeline architectures for dynamic programming algorithms,” Parallel Computing, vol. 13, pp. 111–117, 1990.Google Scholar
- 7.G. Li and B. Wa, “Systolic processing for dynamic programming problems,” in Proc. International Conference on Parallel Processing, pp. 434–441, 1985.Google Scholar
- 8.R. J. Lipton and D. Lopresti, “Delta transformation to symplify VLSI processor arrays for serial dynamic programming,” in Proc. International Conference on Parallel Processing, pp. 917–920, 1986.Google Scholar
- 9.R. Andonov, V. Aleksandrov, and A. Benaini, “A linear systolic array for the knapsack problem,” Tech. Rep., Center of Computer Science and Technology, Acad. G. Bonchev st., bl. 25a, Sofia 1113, Bulgaria, 1991.Google Scholar
- 10.P. Quinton and Y. Robert, Algorithmes et architectures systoliques. Masson, 1989. English translation by Prentice Hall, Systolic Algorithms and Architectures, Sept. 1991.Google Scholar
- 11.H. T. Kung, “Why systolic architectures,” Computer, vol. 15, pp. 37–46, 1982.Google Scholar
- 12.S. Teng, “Adaptive parallel algorithm for integral knapsack problems,” J. of Parallel and Distributed Computing, vol. 8, pp. 400–406, 1990.Google Scholar
- 13.R. Andonov and F. Gruau, “A 2D modular toroidal systolic array for the knapsack problem,” in ASAP'91,(Barcelona, Spain), September 1991.Google Scholar