A new approach to text searching
Communications of the ACM
Fast and flexible string matching by combining bit-parallelism and suffix automata
Journal of Experimental Algorithmics (JEA)
Approximate string matching with gaps
Nordic Journal of Computing
Transposition invariant string matching
Journal of Algorithms
Efficient bit-parallel algorithms for (δ, α)-matching
WEA'06 Proceedings of the 5th international conference on Experimental Algorithms
An efficient algorithm for δ-approximate matching with α-bounded gaps in musical sequences
WEA'05 Proceedings of the 4th international conference on Experimental and Efficient Algorithms
Nested Counters in Bit-Parallel String Matching
LATA '09 Proceedings of the 3rd International Conference on Language and Automata Theory and Applications
Filtering methods for content-based retrieval on indexed symbolic music databases
Information Retrieval
Regular expression matching with multi-strings and intervals
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
String matching with variable length gaps
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
String matching with variable length gaps
Theoretical Computer Science
Hi-index | 0.00 |
We develop efficient dynamic programming algorithms for pattern matching with general gaps and character classes. We consider patterns of the form p 0 g(a 0,b 0)p 1 g(a 1,b 1)驴p m驴1, where p i 驴 Σ, Σ is some finite alphabet, and g(a i ,b i ) denotes a gap of length a i 驴b i between symbols p i and p i+1. The text symbol t j matches p i iff t j 驴 p i . Moreover, we require that if p i matches t j , then p i+1 should match one of the text symbols $$ t_{j+a_i+1} \ldots t_{j+b_i+1}.$$ Either or both of a i and b i can be negative. We also consider transposition invariant matching, i.e., the matching condition becomes t j 驴 p i + 驴, for some constant 驴 determined by the algorithms. We give algorithms that have efficient average and worst case running times. The algorithms have important applications in music information retrieval and computational biology. We give experimental results showing that the algorithms work well in practice.