Improved Two-Way Bit-parallel Search

New bit-parallel algorithms for exact and approximate string matching are introduced. TSO is a two-way Shift-Or algorithm, TSA is a two-way Shift-And algorithm, and TSAdd is a two-way Shift-Add algorithm. Tuned Shift-Add is a minimalist improvement to the original Shift-Add algorithm. TSO and TSA are for exact string matching, while TSAdd and tuned Shift-Add are for approximate string matching with k mismatches. TSO and TSA are shown to be linear in the worst case and sublinear in the average case. Practical experiments show that the new algorithms are competitive with earlier algorithms.

[1]  Jorma Tarhio,et al.  Improving practical exact string matching , 2010, Inf. Process. Lett..

[2]  Z Galil,et al.  Improved string matching with k mismatches , 1986, SIGA.

[3]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[4]  Jorma Tarhio,et al.  String matching with lookahead , 2014, Discret. Appl. Math..

[5]  Moshe Lewenstein,et al.  Faster algorithms for string matching with k mismatches , 2000, SODA '00.

[6]  Jorma Tarhio,et al.  Bit-Parallel Search Algorithms for Long Patterns , 2010, SEA.

[7]  Gonzalo Navarro,et al.  Flexible Pattern Matching in Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences , 2002 .

[8]  Gonzalo Navarro,et al.  A guided tour to approximate string matching , 2001, CSUR.

[9]  Binxing Fang,et al.  Linear Nondeterministic Dawg String Matching Algorithm , 2004, SPIRE.

[10]  Henry S. Warren,et al.  Hacker's Delight , 2002 .

[11]  Udi Manber,et al.  Fast text searching: allowing errors , 1992, CACM.

[12]  Jorma Tarhio,et al.  Alternative Algorithms for Bit-Parallel String Matching , 2003, SPIRE.

[13]  Gonzalo Navarro,et al.  Average-optimal single and multiple approximate string matching , 2004, JEAL.

[14]  Szymon Grabowski,et al.  Practical and Optimal String Matching , 2005, SPIRE.

[15]  Binxing Fang,et al.  The wide window string matching algorithm , 2005, Theor. Comput. Sci..

[16]  Gaston H. Gonnet,et al.  A new approach to text searching , 1989, SIGIR '89.

[17]  Gonzalo Navarro,et al.  Fast and flexible string matching by combining bit-parallelism and suffix automata , 2000, JEAL.

[18]  Karl R. Abrahamson Generalized String Matching , 1987, SIAM J. Comput..

[19]  Domenico Cantone,et al.  Bit-(Parallelism)2: Getting to the Next Level of Parallelism , 2010, FUN.

[20]  Andrew Hume,et al.  Fast string searching , 1991, USENIX Summer.