CPM 2006: Combinatorial Pattern Matching pp 330-341

Faster Algorithms for Computing Longest Common Increasing Subsequences

• Gerth Stølting Brodal
• Kanela Kaligosi
• Irit Katriel
• Martin Kutz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4009)

Abstract

We present algorithms for finding a longest common increasing subsequence of two or more input sequences. For two sequences of lengths m and n, where mn, we present an algorithm with an output-dependent expected running time of $$O((m+n\ell) \log\log \sigma + {\ensuremath{\mathit{Sort}}})$$ and O(m) space, where ℓ is the length of an LCIS, σ is the size of the alphabet, and $${\ensuremath{\mathit{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(m+nlogn)-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.

Keywords

Input Sequence Longe Common Subsequence Longe Common Subsequence Close Split Longe Common Subsequence Problem
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

1. 1.
Aldous, D., Diaconis, P.: Longest increasing subsequences: From patience sorting to the Baik-Deift-Johansson theorem. Bull. AMS 36(4), 413–432 (1999)
2. 2.
Bergroth, L., Hakonen, H., Raita, T.: A survey of longest common subsequence algorithms. In: SPIRE 2000, pp. 39–48. IEEE Computer Society, Los Alamitos (2000)Google Scholar
3. 3.
Bespamyatnikh, S., Segal, M.: Enumerating longest increasing subsequences and patience sorting. Inf. Process. Lett. 76(1-2), 7–11 (2000)
4. 4.
Chan, W.-T., Zhang, Y., Fung, S.P.Y., Ye, D., Zhu, H.: Efficient Algorithms for Finding a Longest Common Increasing Subsequence. In: Deng, X., Du, D.-Z. (eds.) ISAAC 2005. LNCS, vol. 3827, pp. 665–674. Springer, Heidelberg (2005)
5. 5.
Fredman, M.L.: On computing the length of longest increasing subsequences. Discrete Mathematics 11(1), 29–35 (1975)
6. 6.
Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: STOC 1984, pp. 135–143. ACM Press, New York (1984)
7. 7.
Hirschberg, D.S.: A linear space algorithm for computing maximal common subsequences. Commun. ACM 18(6), 341–343 (1975)
8. 8.
Hunt, J.W., Szymanski, T.G.: A fast algorithm for computing longest common subsequences. Commun. ACM 20(5), 350–353 (1977)
9. 9.
Masek, W.J., Paterson, M.S.: A faster algorithm computing string edit distances. J. Comput. System Sci. 20, 18–31 (1980)
10. 10.
McCreight, E.M.: Priority search trees. SIAM Journal on Computing 14(2), 257–276 (1985)
11. 11.
van Emde Boas, P., Kaas, R., Zijlstra, E.: Design and implementation of an efficient priority queue. Mathematical Systems Theory 10, 99–127 (1977)
12. 12.
Wagner, R.A., Fischer, M.J.: The string-to-string correction problem. J. ACM 21(1), 168–173 (1974)
13. 13.
Willard, D.E.: Log-logarithmic worst-case range queries are possible in space Theta(N). Inf. Process. Lett. 17(2), 81–84 (1983)
14. 14.
Yang, I.-H., Huang, C.-P., Chao, K.-M.: A fast algorithm for computing a longest common increasing subsequence. Inf. Process. Lett. 93/5, 249–253 (2005)

Authors and Affiliations

• Gerth Stølting Brodal
• 1
• Kanela Kaligosi
• 2
• Irit Katriel
• 1
• Martin Kutz
• 2
1. 1.BRICSUniversity of AarhusÅrhusDenmark
2. 2.Max-Plank-Institut für InformatikSaarbrückenGermany