BSP/CGM Algorithms for Maximum Subsequence and Maximum Subarray

  • C. E. R. Alves
  • E. N. Cáceres
  • S. W. Song
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3241)

Abstract

The maximum subsequence problem finds the contiguous subsequence of n real numbers with the highest sum. This problem appears in the analysis of DNA or protein sequences. It can be solved sequentially in O(n) time. In the 2-D version, given an n × n array A, the maximum subarray of A is the contiguous subarray that has the maximum sum. The sequential algorithm for the maximum subarray problem takes O(n 3) time. We present efficient BSP/CGM parallel algorithms that require a constant number of communication rounds for both problems. In the first algorithm, the sequence stored on each processor is reduced to only five numbers, so that the resulting values can be concentrated on a single processor which runs an adaptation of the sequential algorithm to obtain the result. The parallel algorithm requires O(n/p) computing time. In the second algorithm, the input array is partitioned equally among the processors and we first reduce each subarray to a sequence, and then apply the first algorithm to solve it. The parallel algorithm takes O(n 3/p) computing time. The good performance of the parallel algorithms is confirmed by experimental results run on a 64-node Beowulf parallel computer.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alves, C.E.R., Cáceres, E.N., Song, S.W.: Computing maximum subsequence in parallel. In: Proceedings II Brazilian Workshop on Bioinformatics - WOB 2003, December 2003, pp. 80–87 (2003)Google Scholar
  2. 2.
    Bates, J.L., Constable, R.L.: Proofs as programs. ACM Transactions on Programming Languages and Systems 7(1), 113–136 (1985)MATHCrossRefGoogle Scholar
  3. 3.
    Bentley, J.: Programming Pearls. Addison-Wesley, Reading (1986)Google Scholar
  4. 4.
    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
  5. 5.
    Karlin, S., Brendel, V.: Chance and significance in protein and dna sequence analysis. Science 257, 39–49 (1992)CrossRefGoogle Scholar
  6. 6.
    Perumalla, K., Deo, N.: Parallel algorithms for maximum subsequence and maximum subarray. Parallel Processing Letters 5(3), 367–373 (1995)CrossRefGoogle Scholar
  7. 7.
    Qiu, K., Akl, S.G.: Parallel maximum sum algorithms on interconnection networks. Technical report, Queen’s Unversity, Department of Computer and Information Science, No. 99-431 (1999)Google Scholar
  8. 8.
    Ruzzo, W.L., Tompa, M.: A linear time algorithm for finding all maximal scoring subsequences. In: Proceedings of the Seventh International Conference on Intelligent Systems for Molecular Biology, August 1999, pp. 234–241. AAAI Press, Menlo Park (1999)Google Scholar
  9. 9.
    Smith, D.R.: Applications of a strategy for designing divide-and-conquer algorithms. Sci. Comput. Programs 8, 213–229 (1987)MATHCrossRefGoogle Scholar
  10. 10.
    Snustad, D.P., Simmons, M.J.: Principles of Genetics. John Wiley and Sons, Chichester (2000)Google Scholar
  11. 11.
    Valiant, L.: A bridging model for parallel computation. Communication of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
  12. 12.
    Wen, Z.: Fast parallel algorithm for the maximum sum problem. Parallel Computing 21, 461–466 (1995)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • C. E. R. Alves
    • 1
  • E. N. Cáceres
    • 2
  • S. W. Song
    • 3
  1. 1.Universidade São Judas TadeuSão PauloBrazil
  2. 2.Universidade Federal de Mato Grosso do SulCampo GrandeBrazil
  3. 3.Universidade de São PauloSão PauloBrazil

Personalised recommendations