This Article 
 Bibliographic References 
 Add to: 
Parallel Algorithms for the Longest Common Subsequence Problem
August 1994 (vol. 5 no. 8)
pp. 835-848

A subsequence of a given string is any string obtained by deleting none or some symbolsfrom the given string. A longest common subsequence (LCS) of two strings is a commonsubsequence of both that is as long as any other common subsequences. The problem isto find the LCS of two given strings. The bound on the complexity of this problem underthe decision tree model is known to be mn if the number of distinct symbols that canappear in strings is infinite, where m and n are the lengths of the two strings,respectively, and m/spl les/n. In this paper, we propose two parallel algorithms far thisproblem on the CREW-PRAM model. One takes O(log/sup 2/m + log n) time with mn/log m processors, which is faster than all the existing algorithms on the same model. The other takes O(log/sup 2/m log log m) time with mn/(log/sup 2/m log log m) processors when log/sup 2/m log log m < log n, or otherwise O(log n) time with mn/log n processors, which is optimal in the sense that the time/spl times/processors bound matches the complexity bound of the problem. Both algorithms exploit nice properties of the LCS problem that are discovered in this paper.

[1] A. Aho, D. Hirschberg, and J. Ullman, "Bounds on the complexity of the longest common subsequence problem,"J. Assoc. Comput. Mach., vol. 23, no. 1, pp. 1-12, Jan. 1976.
[2] A. Aggarwal and J. Park, "Notes on searching in multidimensional monotone arrays,"Proc. 29th Ann. IEEE Symp. Foundations of Comput. Sci., 1988, pp. 497-512.
[3] A. Apostolico, M. Atallah, L. Larmore, and S. Mcfaddin, "Efficient parallel algorithms for string editing and related problems,"SIAM J. Computing, vol. 19, pp. 968-988, Oct. 1990.
[4] R. P. Brent, "The parallel evalution of general arithmetic expressions,"J. ACM, vol. 21, pp. 201-206, 1974.
[5] V. Chavatal, D. Klarner, and D. Knuth, "Selected combinatorial research problem," Tech. Rep. STAN-CS-72-292, Stanford Univ., p. 26, 1972.
[6] R. Cole, "Parallel merge sort,"Proc. 27th Ann. IEEE Symp. on Foundations of Comput. Sci., 1986, pp. 511-516.
[7] A. Gibbons and W. Rytter,Efficient Parallel Algorithms. Cambridge, England: Cambridge University Press, 1988.
[8] W. Hsu and M. Du, "New algorithms for the LCS problem,"J. Comput. Syst. Sci., vol. 29, pp. 133-152, 1984.
[9] D. S. Hirschberg, "Algorithms for the longest common subsequence problem,"J. ACM, vol. 24, no. 4, pp. 664-675, Oct. 1977.
[10] H. Lin and M. Lu, "Solving the longest common subsequence problem on the CREW-PRAM machine," Tech. Rep. TAMU-ECE-93-09, Dept. of Elec. Eng., Texas A&M Univ., College Station, TX, 1993.
[11] M. Lu, "A parallel algorithm for longest-common-subsequence computing,"Proc. Int. Conf. Computing and Inform., 1990, pp. 372-377.
[12] T. Mathies, "A fast parallel algorithm to determine edit distance," Tech. Rep. CMU-CS-88-130, Dept. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, 1988.
[13] J. Modelevsky, "Computer applications in applied genetic engineering,"Advances in Applied Microbiology, vol. 30, pp. 169-195, 1984.

Index Terms:
Index Termsparallel algorithms; computational complexity; directed graphs; parallel algorithms; longest common subsequence problem; string subsequences; symbol deletion; complexity bound; decision tree model; CREW-PRAM model; concurrent-read exclusive-write parallel random-access machine; grid directed graph; maximum-cost path; totally monotone array
M. Lu, H. Lin, "Parallel Algorithms for the Longest Common Subsequence Problem," IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 8, pp. 835-848, Aug. 1994, doi:10.1109/71.298210
Usage of this product signifies your acceptance of the Terms of Use.