An Easy Automata Based Algorithm for Testing Coding Properties of Infinite Sets of (DNA) Words

  • Michelangelo Cianciulli
  • Rocco Zaccagnino
  • Rosalba Zizza
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7505)


Recently a new interest towards the design of efficient algorithms for testing whether a language X is a code, has arisen from (wet) DNA Computing. Indeed, in this context, the final computation is a concatenation of DNA strands (words) that must satisfy some restrictions (DNA properties) to prevent them from interacting in undesirable ways. Efficient algorithms (and implementations) have been designed when X is a finite set. In this paper we provide an algorithm (and a Java implementation) for testing whether an infinite but regular set of words is a code that avoids some unwanted cross hybridizations. The algorithm runs in O(n 2), where n is the sum of the numbers of states and transitions in a finite state automaton recognizing X.


DNA codeword design problem DNA Computing Codes Finite State Automata 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Béal, M.P., Perrin, D.: Codes, unambiguous automata and sofic systems. Theor. Comput. Sci. 356(1-2), 6–13 (2006)zbMATHCrossRefGoogle Scholar
  2. 2.
    Berstel, J., Perrin, D., Reutenauer, C.: Codes and Automata, Encyclopedia od Mathematics and its Applications, vol. 129. Cambridge University Press (2009)Google Scholar
  3. 3.
    Colcombet, T.: Forms of determinism for automata. In: STACS 2012. pp. 1–23 (2012) (invited talk)Google Scholar
  4. 4.
    D’Auria, L., Zizza, R.: A note on the McCloskey’s algorithm for deciding whether a regular language is a code. In: ICTCS 2010, Camerino, Italy (2010)Google Scholar
  5. 5.
    Head, T., Weber, A.: Deciding code related properties by means of finite transducers. In: Capocelli, R., De Santis, A., Vaccaro, U. (eds.) Sequences II, pp. 260–272. Springer (1993)Google Scholar
  6. 6.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (2001)zbMATHGoogle Scholar
  7. 7.
    Hussini, S., Kari, L., Konstantinidis, S.: Coding properties of DNA languages. Theor. Comput. Sci. 290(3), 1557–1579 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Jonoska, N., Mahalingam, K.: Languages of DNA Based Code Words. In: Chen, J., Reif, J.H. (eds.) DNA 9. LNCS, vol. 2943, pp. 61–73. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Kephart, D.E., LeFevre, J.: CODEGEN: The generation and testing of DNA code words. In: IEEE Congress on Evolutionary Computation (2004)Google Scholar
  10. 10.
    McCloskey, R.: An O(n 2) time algorithm for deciding whether a regular language is a code. Journal of Computing and Information 2(10), 79–89 (1996), updated version downloaded MathSciNetGoogle Scholar
  11. 11.
    Oprocha, P.: Fast solutions for DNA code words test. Schedae Informaticae 15 (2006)Google Scholar
  12. 12.
    Păun, G., Rozenberg, G., Salomaa, A.: DNA Computing, new computing paradigms. Springer (1996)Google Scholar
  13. 13.
    Sardinas, A.A., Patterson, G.W.: A necessary and sufficient condition for the unique decomposition of coded messages. IRE Convention Record (Pt. 8), 104–108 (1953)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Michelangelo Cianciulli
    • 1
  • Rocco Zaccagnino
    • 1
  • Rosalba Zizza
    • 1
  1. 1.Dipartimento di InformaticaUniversità di SalernoFiscianoItaly

Personalised recommendations