Sparse LCS Common Substring Alignment

The "Common Substring Alignment" problem is defined as follows. The input consists of a set of strings S1, S2 . . . Sc, with a common substring appearing at least once in each of them, and a target string T. The goal is to compute similarity of all strings Si with T, without computing the part of the common substring over and over again.

In this paper we consider the Common Substring Alignment problem for the LCS (Longest Common Subsequence) similarity metric. Our algorithm gains its efficiency by exploiting the sparsity inherent to the LCS problem. Let Y be the common substring, n be the size of the compared sequences, Ly be the length of the LCS of T and Y, denoted |LCS[T, Y]|, and L be max {|LCS[T, Si]|}. Our algorithm consists of an O(nLy) time encoding stage that is executed once per common substring, and an O (L) time alignment state that is executed once for each appearance of the common substring in each source string. The additional running time depends only on the length of the parts of the strings that are not in any common substring.

By: Gad M. Landau, Baruch Schieber, Michal Ziv-Ukelson

Published in: Information Processing Letters, volume 88, (no 6), pages 259-70 in 2003

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to reports@us.ibm.com .