Issue No. 08 - August (1994 vol. 5)

ISSN: 1045-9219

pp: 835-848

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.298210

ABSTRACT

<p>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.</p>

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

CITATION

M. Lu, H. Lin, "Parallel Algorithms for the Longest Common Subsequence Problem",

*IEEE Transactions on Parallel & Distributed Systems*, vol. 5, no. , pp. 835-848, August 1994, doi:10.1109/71.298210