Universal Reconstruction of a String

Many properties of a string can be viewed as sets of dependencies between substrings of the string expressed in terms of substring equality. We design a linear-time algorithm which finds a solution to an arbitrary system of such constraints: a generic string satisfying a system of substring equations. This provides a general tool for reconstructing a string from different kinds of repetitions or symmetries present in the string, in particular, from runs or from maximal palindromes. The recursive structure of our algorithm in some aspects resembles the suffix array construction by Karkkainen and Sanders (J. ACM, 2006).

[1]  Ayumi Shinohara,et al.  Inferring Strings from Runs , 2010, Stringology.

[2]  Hideo Bannai,et al.  Counting and Verifying Maximal Palindromes , 2010, SPIRE.

[3]  Eric Rivals,et al.  Reverse engineering of compact suffix trees and links: A novel algorithm , 2014, J. Discrete Algorithms.

[4]  Maxime Crochemore,et al.  Cover Array String Reconstruction , 2010, CPM.

[5]  Shu Wang,et al.  Indeterminate strings, prefix arrays & undirected graphs , 2014, Theor. Comput. Sci..

[6]  Hideo Bannai,et al.  Inferring Strings from Lyndon Factorization , 2014, MFCS.

[7]  Wojciech Rytter,et al.  Jewels of stringology , 2002 .

[8]  Arnaud Lefebvre,et al.  Border Array on Bounded Alphabet , 2002, Stringology.

[9]  Gregory Kucherov,et al.  Finding maximal repetitions in a word in linear time , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[10]  Artur Jez,et al.  Validating the Knuth-Morris-Pratt Failure Function, Fast and Online , 2010, CSR.

[11]  Michael L. Fredman,et al.  Trans-Dichotomous Algorithms for Minimum Spanning Trees and Shortest Paths , 1994, J. Comput. Syst. Sci..

[12]  Tatiana Starikovskaya,et al.  A Sux Tree Or Not A Sux Tree , 2014 .

[13]  Hjalte Wedel Vildhøj,et al.  A suffix tree or not a suffix tree? , 2014, J. Discrete Algorithms.

[14]  Francine Blanchet-Sadri,et al.  New Bounds and Extended Relations Between Prefix Arrays, Border Arrays, Undirected Graphs, and Indeterminate Strings , 2016, Theory of Computing Systems.

[15]  W. F. Smyth,et al.  Verifying a border array in linear time , 1999 .

[16]  Mikhail Posypkin,et al.  Searching of gapped repeats and subrepetitions in a word , 2017, J. Discrete Algorithms.

[17]  Maxime Crochemore,et al.  Reverse Engineering Prefix Tables , 2009, STACS.

[18]  Wojciech Rytter,et al.  Jewels of stringology : text algorithms , 2002 .

[19]  Wojciech Rytter,et al.  Internal Pattern Matching Queries in a Text and Applications , 2013, SODA.

[20]  Peter Sanders,et al.  Linear work suffix array construction , 2006, JACM.

[21]  Mohammad Sohel Rahman,et al.  Inferring an indeterminate string from a prefix graph , 2015, J. Discrete Algorithms.

[22]  Kazuya Tsuruta,et al.  The "Runs" Theorem , 2014, SIAM J. Comput..

[23]  Hideo Bannai,et al.  Inferring strings from suffix trees and links on a binary alphabet , 2011, Discret. Appl. Math..

[24]  Maxime Crochemore,et al.  Algorithms on strings , 2007 .

[25]  Mohammad Sohel Rahman,et al.  Linear Time Inference of Strings from Cover Arrays Using a Binary Alphabet - (Extended Abstract) , 2012, WALCOM.

[26]  Ayumi Shinohara,et al.  Inferring Strings from Graphs and Arrays , 2003, MFCS.

[27]  Guang Yang,et al.  Reversing Longest Previous Factor Tables is Hard , 2011, WADS.

[28]  Hideo Bannai,et al.  Verifying and enumerating parameterized border arrays , 2011, Theor. Comput. Sci..

[29]  Arnaud Lefebvre,et al.  Efficient validation and construction of border arrays and validation of string matching automata , 2009, RAIRO Theor. Informatics Appl..

[30]  Arnold L. Rosenberg,et al.  Rapid identification of repeated patterns in strings, trees and arrays , 1972, STOC.