Title :
Parallel algorithms for the longest common subsequence problem
Author :
Lu, Mi ; Lin, Hua
Author_Institution :
Dept. of Electr. Eng., Texas A&M Univ., College Station, TX, USA
fDate :
8/1/1994 12:00:00 AM
Abstract :
A subsequence of a given string is any string obtained by deleting none or some symbols from the given string. A longest common subsequence (LCS) of two strings is a common subsequence of both that is as long as any other common subsequences. The problem is to find the LCS of two given strings. The bound on the complexity of this problem under the decision tree model is known to be mn if the number of distinct symbols that can appear in strings is infinite, where m and n are the lengths of the two strings, respectively, and m⩽n. In this paper, we propose two parallel algorithms far this problem on the CREW-PRAM model. One takes O(log2 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(log2 m log log m) time with mn/(log2 m log log m) processors when log2 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×processors bound matches the complexity bound of the problem. Both algorithms exploit nice properties of the LCS problem that are discovered in this paper
Keywords :
computational complexity; directed graphs; parallel algorithms; CREW-PRAM model; complexity bound; concurrent-read exclusive-write parallel random-access machine; decision tree model; grid directed graph; longest common subsequence problem; maximum-cost path; parallel algorithms; string subsequences; symbol deletion; totally monotone array; Algorithm design and analysis; Data compression; Decision trees; Error correction; Genetic engineering; Parallel algorithms; Parallel processing; Pattern recognition; Phase change random access memory; Read-write memory;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on