A BSP/CGM Algorithm for Finding All Maximal Contiguous Subsequences of a Sequence of Numbers
Given a sequence A of real numbers, we wish to find a list of all non-overlapping contiguous subsequences of A that are maximal. A maximal subsequence M of A has the property that no proper subsequence of M has a greater sum of values. Furthermore, M may not be contained properly within any subsequence of A with this property. This problem can be solved sequentially in linear time. We present a BSP/CGM algorithm that uses p processors and takes O (|A|/p) time and O (|A|/p) space per processor. The algorithm uses a constant number of communication rounds of size at most O (|A|/p). Thus the algorithm achieves linear speed-up and is highly scalable.
KeywordsParallel Algorithm Constant Number Communication Round Maximal Subsequence EREW Pram
Unable to display preview. Download preview PDF.
- 1.Bentley, J.: Programming Pearls. Addison-Wesley, Reading (1986)Google Scholar
- 2.Ruzzo, W.L., Tompa, M.: A linear time algorithm for finding all maximal scoring subsequences. In: Proceedings of the 7th International Conference on Intelligent Systems for Molecular Biology, pp. 234–241. AAAI Press, Menlo Park (1999)Google Scholar
- 9.Dehne, F., Fabri, A., Rau-Chaplin, A.: Scalable parallel geometric algorithms for coarse grained multicomputers. In: Proc. ACM 9th Annual Computational Geometry, pp. 298–307 (1993)Google Scholar
- 10.Alves, C.E.R., Cáceres, E.N., Song, S.W.: A BSP/CGM algorithm for finding all maximal contiguous subsequences of a sequence of numbers. Technical report, Universidade de São Paulo (2005)Google Scholar