Approximate On-line Palindrome Recognition, and Applications

  • Amihood Amir
  • Benny Porat
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8486)


Palindrome recognition is a classic problem in computer science. It is an example of a language that can not be recognized by a deterministic finite automaton and is often brought as an example of a problem whose decision by a single-tape Turing machine requires quadratic time.

In this paper we re-visit the palindrome recognition problem. We define a novel fingerprint that allows recognizing palindromes on-line in linear time with high probability. We then use group testing techniques to show that the fingerprint can be adapted to recognizing approximate palindromes on-line, i.e. it can recognize that a string is a palindrome with no more than k mismatches, where k is given.

Finally, we show that this fingerprint can be used as a tool for solving other problems on-line. In particular we consider approximate pattern matching by non-overlapping reversals. This is the problem where two strings S and T are given and the question is whether applying a sequence of non-overlapping reversals to S results in string T.


Pattern Match Defective Item Reversal Operation Information Processing Letter Deterministic Finite Automaton 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amir, A., Aumann, Y., Benson, G., Levy, A., Lipsky, O., Porat, E., Skiena, S., Vishne, U.: Pattern matching with address errors: rearrangement distances. J. Comp. Syst. Sci. 75(6), 359–370 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Amir, A., Aumann, Y., Landau, G., Lewenstein, M., Lewenstein, N.: Pattern matching with swaps. Journal of Algorithms 37, 247–266 (2000) (Preliminary version appeared at FOCS 1997)Google Scholar
  3. 3.
    Amir, A., Cole, R., Hariharan, R., Lewenstein, M., Porat, E.: Overlap matching. Information and Computation 181, 57–74 (2003)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Amir, A., Landau, G.M., Lewenstein, M., Lewenstein, N.: Efficient special cases of pattern matching with swaps. Information Processing Letters 68(3), 125–132 (1998)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Amir, A., Levy, A.: String rearrangement metrics: A survey. In: Elomaa, T., Mannila, H., Orponen, P. (eds.) Ukkonen Festschrift. LNCS, vol. 6060, pp. 1–33. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Amir, A., Porat, B.: Pattern matching with non overlapping reversals - approximation and on-line algorithms. In: Cai, L., Cheng, S.-W., Lam, T.-W. (eds.) ISAAC 2013. LNCS, vol. 8283, pp. 55–65. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Bafna, V., Pevzner, P.A.: Sorting by transpositions. SIAM J. on Discrete Mathematics 11, 221–240 (1998)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Berman, P., Hannenhalli, S.: Fast sorting by reversal. In: Hirschberg, D.S., Meyers, G. (eds.) CPM 1996. LNCS, vol. 1075, pp. 168–185. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  9. 9.
    Berman, P., Hannenhalli, S., Karpinski, M.: 1.375-approximation algorithm for sorting by reversals. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 200–210. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Carpara, A.: Sorting by reversals is difficult. In: Proc. 1st Annual International Conference on Research in Computational Biology (RECOMB), pp. 75–83. ACM Press (1997)Google Scholar
  11. 11.
    Christie, D.A.: Sorting by block-interchanges. Information Processing Letters 60, 165–169 (1996)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Christie, D.A.: A 3/2-approximation algorithm for sorting by reversals. In: Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 244–252 (1998)Google Scholar
  13. 13.
    Cole, R., Hariharan, R.: Randomized swap matching in o(m logm log|σ|) time, Tech. Report TR1999-789, New York University, Courant Institute (September 1999)Google Scholar
  14. 14.
    Dorfman, R.: The detection of defective members of large populations. The Annals of Mathematical Statistics 14(4), 436–440 (1943)CrossRefGoogle Scholar
  15. 15.
    Du, D.-Z., Hwang, F.K.: Combinatorial group testing and its applications, 2nd edn. Series on Applied Mathematics, vol. 12. World Scientific (2000)Google Scholar
  16. 16.
    Galil, Z.: On converting on-line algorithms into real-time and on real-time algorithms for string matching and palindrome recognition. SIGACT News, 26–30 (1975)Google Scholar
  17. 17.
    Kaplan, H., Shamir, R., Tarjan, R.E.: A faster and simpler algorithm for sorting signed permutations by reversals. SIAM J. Comp. 29(3), 880–892 (1999)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Karp, R.M., Rabin, M.O.: Efficient randomized pattern-matching algorithms. IBM Journal of Res. and Dev., 249–260 (1987)Google Scholar
  19. 19.
    Manacher, G.: A new linear-time “on-line” algorithm for finding the smallest initial palindrome of a string. Journal of the ACM 22(3), 346–351 (1975)CrossRefzbMATHGoogle Scholar
  20. 20.
    Muthukrishnan, S.: New results and open problems related to non-standard stringology. In: Galil, Z., Ukkonen, E. (eds.) CPM 1995. LNCS, vol. 937, pp. 298–317. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  21. 21.
    Porat, B., Porat, E.: Exact and approximate pattern matching in the streaming model. In: Proc. 50th IEEE Symposium on the Foundation of Computer Science (FOCS), pp. 315–323 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Amihood Amir
    • 1
    • 2
  • Benny Porat
    • 1
  1. 1.Department of Computer ScienceBar-Ilan UniversityRamat-GanIsrael
  2. 2.Department of Computer ScienceJohns Hopkins UniversityBaltimoreUSA

Personalised recommendations