The Longest Common Subsequence (LCS) problem is a well-known and studied problem in computer science and bioinformatics. It consists in finding the longest subsequence that is common to two or more given sequences. In this article, we address the problem of finding all LCS for the Sequential Substring ConstrainedLCS (SSCLCS) problem, called the Multiple SSCLCS problem. To solve this problem, we first propose a dominant point-based sequential algorithm, designed on a new Leveled Direct Acyclic Graph (DAG) that gives the correct evaluation order of subproblems to avoid redundancy due to overlap. Depending on whether the constraints may overlap or not, it requires O ( S |Sigma| K + 1 + r + n |Sigma|) and O ( S |Sigma| K + 1 + n |Sigma|) time with O(Max_level+n|Sigma|) space. S is the number of partial SSCLCS in a node, K is the number of DAG levels, n is the length of sequences, r is the total length of constraints, Max_level is the number of nodes in the largest level of the DAG, and |Sigma| is the length of the alphabet. Then, we derive a coarse-grained multicomputer parallel solution requiring O ( S | Sigma| K +1 + r + n |Sigma | ) and O ( S | Sigma|K+1+n |Sigma | pp ) execution time, O(Max_level + n |Sigma |) memory space and O ( K ) communication rounds. p is the number of processors. Experimental results showed that the parallel algorithm is, respectively, 14.43x and 19.19x faster than the sequential algorithm on 32 and 64 processors.
更多
查看译文
关键词
Constrained longest common subsequence,dominant point,coarse- grained multicomputer,multi-level directed acyclic graph