Dynamic 2D Dictionary Matching in Small Space

The dictionary matching problem preprocesses a set of patterns and finds all occurrences of each of the patterns in a text when it is provided. We focus on the dynamic setting, in which patterns can be inserted to and removed from the dictionary, without reprocessing the entire dictionary. This article presents the first algorithm that performs \emph{dynamic} dictionary matching on two-dimensional data within small space. The time complexity of our algorithm is almost linear. The only slowdown is incurred by querying the compressed self-index that replaces the dictionary. The dictionary is updated in time proportional to the size of the pattern that is being inserted to or removed from the dictionary. Our algorithm is suitable for rectangular patterns that are of uniform size in one dimension.

[1]  Wing-Kai Hon,et al.  Faster compressed dictionary matching , 2013, Theor. Comput. Sci..

[2]  Raffaele Giancarlo,et al.  Dynamic Dictionary Matching , 1994, J. Comput. Syst. Sci..

[3]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[4]  Amihood Amir,et al.  Adaptive dictionary matching , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[5]  Raffaele Giancarlo A Generalization of the Suffix Tree to Square Matrices, with Applications , 1995, SIAM J. Comput..

[6]  M G W H Van De Rijdt,et al.  Two-dimensional Pattern Matching , 2005 .

[7]  Robert E. Tarjan,et al.  Scaling and related techniques for geometry problems , 1984, STOC '84.

[8]  Wing-Kai Hon,et al.  Succinct Index for Dynamic Dictionary Matching , 2009, ISAAC.

[9]  Tak Wah Lam,et al.  Two-Dimensional Dynamic Dictionary Matching , 1996, ISAAC.

[10]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[11]  M. Lothaire Applied Combinatorics on Words (Encyclopedia of Mathematics and its Applications) , 2005 .

[12]  Dina Sokol,et al.  Succinct 2D Dictionary Matching , 2012, Algorithmica.

[13]  Richard Cole,et al.  Dynamic LCA queries on trees , 1999, SODA '99.

[14]  Wing-Kai Hon,et al.  Faster Compressed Dictionary Matching , 2010, SPIRE.

[15]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[16]  Gonzalo Navarro,et al.  Fully compressed suffix trees , 2008, TALG.

[17]  Kunihiko Sadakane,et al.  Compressed Suffix Trees with Full Functionality , 2007, Theory of Computing Systems.

[18]  Dina Sokol,et al.  Succinct 2D Dictionary Matching with No Slowdown , 2011, WADS.

[19]  Tak Wah Lam,et al.  Dynamic Suffix Tree and Two-Dimensional Texts Management , 1997, Inf. Process. Lett..

[20]  Dina Sokol,et al.  2D Lyndon Words and Applications , 2015, Algorithmica.

[21]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

[22]  Theodore P. Baker A Technique for Extending Rapid Exact-Match String Matching to Arrays of More Than One Dimension , 1978, SIAM J. Comput..

[23]  W. Marsden I and J , 2012 .

[24]  Alejandro A. Schäffer,et al.  Multiple Matching of Rectangular Patterns , 1995, Inf. Comput..

[25]  Uzi Vishkin,et al.  Efficient approximate and dynamic matching of patterns using a labeling paradigm , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[26]  Alejandro A. Schäffer,et al.  Dynamic Dictionary Matching with Failure Functions , 1994, Theor. Comput. Sci..

[27]  Alejandro A. Schäffer,et al.  Improved dynamic dictionary matching , 1995, SODA '93.

[28]  Wing-Kai Hon,et al.  Compressed indexes for dynamic text collections , 2007, TALG.