Three heuristics for δ-matching: δ-BM algorithms

We consider a version of pattern matching useful in processing large musical data: δ-matching, which consists in finding matches which are 6-approximate in the sense of the distance measured as maximum difference between symbols. The alphabet is an interval of integers, and the distance between two symbols a, b is measured as |a - b|. We present δ-matching algorithms fast on the average providing that the pattern is non-flatand the alphabet interval is large. The pattern is flat if its structure does not vary substantially. We also consider (δ, γ)-matching, where γ is a bound on the total number of errors. The algorithms, named δ-BM1, δ-BM2 and δ-BM3 can be thought as members of the generalized Boyer-Moore family of algorithms. The algorithms are fast on average. This is the first paper on the subject, previously only occurrence heuristics have been considered. Our heuristics are much stronger and refer to larger parts of texts (not only to single positions). We use δ-versions of suffix tries and subword graphs. Surprisingly, in the context of 6-matching subword graphs appear to be superior compared with compacted suffix trees.