Universal reconstruction of a string

Abstract 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 et al. (2006) [23] . This is a full version of a paper presented at WADS 2015 [18] .

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

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

[3]  Shunsuke Inenaga,et al.  Tighter Bounds and Optimal Algorithms for All Maximal α-gapped Repeats and Palindromes , 2017, Theory of Computing Systems.

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

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

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

[7]  Hideo Bannai,et al.  Recovering, Counting and Enumerating Strings from Forward and Backward Suffix Arrays , 2018, SPIRE.

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

[9]  Mohammad Sohel Rahman,et al.  Inferring Strings from Cover Arrays , 2013, Discret. Math. Algorithms Appl..

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

[11]  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.

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

[13]  Hideo Bannai,et al.  Inferring strings from Lyndon factorization , 2017, Theor. Comput. Sci..

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

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

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

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

[18]  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).

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

[20]  Wojciech Rytter,et al.  Universal Reconstruction of a String , 2015, WADS.

[21]  Hideo Bannai,et al.  Inferring Strings from Full Abelian Periods , 2015, ISAAC.

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

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

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

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

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

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

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

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

[30]  Dany Breslauer,et al.  An On-Line String Superprimitivity Test , 1992, Inf. Process. Lett..

[31]  Yin Li,et al.  Computing the Cover Array in Linear Time , 2001, Algorithmica.

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