We present an on-line linear time and space algorithm to check if an integer array is the border array of at least one string built on a bounded or unbounded size alphabet . First of all, we show a bijection between the border array of a string and the skeleton of the DFA recognizing , called a string matching automaton (SMA). Different strings can have the same border array but the originality of the presented method is that the correspondence between a border array and a skeleton of SMA is independent from the underlying strings. This enables to design algorithms for validating and generating border arrays that outperform existing ones. The validating algorithm lowers the delay (maximal number of comparisons on one element of the array) from to compared to existing algorithms. We then give results on the numbers of distinct border arrays depending on the alphabet size. We also present an algorithm that checks if a given directed unlabeled graph is the skeleton of a SMA on an alphabet of size in linear time. Along the process the algorithm can build one string for which is the SMA skeleton.
Mots-clés : combinatorics on words, period, border, string matching, string matching automata
@article{ITA_2009__43_2_281_0, author = {Duval, Jean-Pierre and Lecroq, Thierry and Lefebvre, Arnaud}, title = {Efficient validation and construction of border arrays and validation of string matching automata}, journal = {RAIRO - Theoretical Informatics and Applications - Informatique Th\'eorique et Applications}, pages = {281--297}, publisher = {EDP-Sciences}, volume = {43}, number = {2}, year = {2009}, doi = {10.1051/ita:2008030}, mrnumber = {2512260}, zbl = {1166.68033}, language = {en}, url = {http://www.numdam.org/articles/10.1051/ita:2008030/} }
TY - JOUR AU - Duval, Jean-Pierre AU - Lecroq, Thierry AU - Lefebvre, Arnaud TI - Efficient validation and construction of border arrays and validation of string matching automata JO - RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications PY - 2009 SP - 281 EP - 297 VL - 43 IS - 2 PB - EDP-Sciences UR - http://www.numdam.org/articles/10.1051/ita:2008030/ DO - 10.1051/ita:2008030 LA - en ID - ITA_2009__43_2_281_0 ER -
%0 Journal Article %A Duval, Jean-Pierre %A Lecroq, Thierry %A Lefebvre, Arnaud %T Efficient validation and construction of border arrays and validation of string matching automata %J RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications %D 2009 %P 281-297 %V 43 %N 2 %I EDP-Sciences %U http://www.numdam.org/articles/10.1051/ita:2008030/ %R 10.1051/ita:2008030 %G en %F ITA_2009__43_2_281_0
Duval, Jean-Pierre; Lecroq, Thierry; Lefebvre, Arnaud. Efficient validation and construction of border arrays and validation of string matching automata. RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications, Tome 43 (2009) no. 2, pp. 281-297. doi : 10.1051/ita:2008030. http://www.numdam.org/articles/10.1051/ita:2008030/
[1] The design and analysis of computer algorithms. Addison-Wesley (1974). | MR | Zbl
, and ,[2] Algorithms on Strings. Cambridge University Press (2007). | MR | Zbl
, and ,[3] Border array on bounded alphabet. J. Autom. Lang. Comb. 10 (2005) 51-60. | MR | Zbl
, and ,[4] Verifying a border array in linear time. J. Combin. Math. Combin. Comput. 42 (2002) 223-236. | MR | Zbl
, , , , , and ,[5] Analyse exacte et en moyenne d'algorithmes de recherche d'un motif dans un texte. Ph.D. thesis. Université Paris 7, France (1993).
,[6] Fast pattern matching in strings. SIAM J. Comput. 6 (1977) 323-350. | MR | Zbl
, and ,[7] Counting distinct strings. Algorithmica 23 (1999) 1-13. | MR | Zbl
, and ,[8] A linear pattern-matching algorithm. Technical Report 40, University of California, Berkeley (1970).
and ,[9] Abacaba-dabacaba. http://www.ac.wwu.edu/~mnaylor/abacaba/abacaba.html.
,[10] String matching algorithms and automata, in Proceedings of the First South American Workshop on String Processing, edited by R. Baeza-Yates and N. Ziviani, Belo Horizonte, Brazil (1993) 151-157 | MR
,[11] Computing Pattern in Strings. Addison Wesley Pearson (2003).
,Cité par Sources :