1 research outputs found
Compact Approximation of Lattice Functions with Applications to Large-Alphabet Text Search
We propose a very simple randomised data structure that stores an
approximation from above of a lattice-valued function. Computing the function
value requires a constant number of steps, and the error probability can be
balanced with space usage, much like in Bloom filters. The structure is
particularly well suited for functions that are bottom on most of their domain.
We then show how to use our methods to store in a compact way the bad-character
shift function for variants of the Boyer-Moore text search algorithms. As a
result, we obtain practical implementations of these algorithms that can be
used with large alphabets, such as Unicode collation elements, with a small
setup time. The ideas described in this paper have been implemented as free
software under the GNU General Public License within the MG4J project
(http://mg4j.dsi.unimi.it/)