Compact Approximation of Lattice Functions with Applications to Large-Alphabet Text Search
<|reference_start|>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/).<|reference_end|>
@article{boldi2003compact,
    title={Compact Approximation of Lattice Functions with Applications to
  Large-Alphabet Text Search},
    author={Paolo Boldi and Sebastiano Vigna},
    journal={arXiv preprint arXiv:cs/0306046},
    year={2003},
    number={292-03},
    archivePrefix={arXiv},
    eprint={cs/0306046},
    primaryClass={cs.DS}
}