Faster algorithms for computing longest common increasing subsequences

We present algorithms for finding a longest common increasing subsequence of two or more input sequences. For two sequences of lengths n and m, where m>=n, we present an algorithm with an output-dependent expected running time of O((m+n@?)loglog@s+Sort) and O(m) space, where @? is the length of an LCIS, @s is the size of the alphabet, and Sort is the time to sort each input sequence. For k>=3 length-n sequences we present an algorithm which improves the previous best bound by more than a factor k for many inputs. In both cases, our algorithms are conceptually quite simple but rely on existing sophisticated data structures. Finally, we introduce the problem of longest common weakly-increasing (or non-decreasing) subsequences (LCWIS), for which we present an O(min{m+nlogn,mloglogm})-time algorithm for the 3-letter alphabet case. For the extensively studied longest common subsequence problem, comparable speedups have not been achieved for small alphabets.

[1]  P. Diaconis,et al.  Longest increasing subsequences: from patience sorting to the Baik-Deift-Johansson theorem , 1999 .

[2]  Edward M. McCreight,et al.  Priority Search Trees , 1985, SIAM J. Comput..

[3]  Thomas G. Szymanski,et al.  A fast algorithm for computing longest common subsequences , 1977, CACM.

[4]  Luca Aceto,et al.  Bisimilarity is not finitely based over BPA with interrupt , 2005, Theor. Comput. Sci..

[5]  Kun-Mao Chao,et al.  A fast algorithm for computing a longest common increasing subsequence , 2005, Inf. Process. Lett..

[6]  Olivier Danvy,et al.  On obtaining the Boyer-Moore string-matching algorithm by partial evaluation , 2006, Inf. Process. Lett..

[7]  Daniel S. Hirschberg,et al.  A linear space algorithm for computing maximal common subsequences , 1975, Commun. ACM.

[8]  Karl Krukow,et al.  An Operational Semantics for Trust Policies , 2005 .

[9]  Robert E. Tarjan,et al.  Scaling and related techniques for geometry problems , 1984, STOC '84.

[10]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[11]  Dan E. Willard Log-Logarithmic Worst-Case Range Queries are Possible in Space Theta(N) , 1983, Inf. Process. Lett..

[12]  Kristian Støvring,et al.  Extending the Extensional Lambda Calculus with Surjective Pairing is Conservative , 2005, Log. Methods Comput. Sci..

[13]  Mike Paterson,et al.  A Faster Algorithm Computing String Edit Distances , 1980, J. Comput. Syst. Sci..

[14]  L. Bergroth,et al.  A survey of longest common subsequence algorithms , 2000, Proceedings Seventh International Symposium on String Processing and Information Retrieval. SPIRE 2000.

[15]  Christian Kirkegaard,et al.  Type Checking with XML Schema in XACT , 2005, PLAN-X.

[16]  Jirí Srba,et al.  On Counting the Number of Consistent Genotype Assignments for Pedigrees , 2005, FSTTCS.

[17]  Sergey Bereg,et al.  Enumerating longest increasing subsequences and patience sorting , 2000, Inf. Process. Lett..

[18]  Michael J. Fischer,et al.  The String-to-String Correction Problem , 1974, JACM.

[19]  Yoshifumi Sakai A linear space algorithm for computing a longest common increasing subsequence , 2006, Inf. Process. Lett..

[20]  Deshi Ye,et al.  Efficient algorithms for finding a longest common increasing subsequence , 2005, J. Comb. Optim..

[21]  Gerth Stølting Brodal,et al.  Faster Algorithms for Computing Longest Common Increasing Subsequences , 2006, CPM.

[22]  Michael L. Fredman,et al.  On computing the length of longest increasing subsequences , 1975, Discret. Math..