Compact Approximation of Lattice Functions with Applications to Large-Alphabet Text Search
Paolo Boldi, Sebastiano Vigna
Abstract
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/).
Create a lesson
Related papers
State Evolution and Universality of Iterated Linear Programs for the Binary Perceptron
Jianan Zhang, Shuangping Li
Metric TSP in Sublinear Time: Breaking Two Approximation
Amir Azarmehr, Soheil Behnezhad
Testing Implies Distance Estimation with Polynomial Loss
Gaia Carenini, Cameron Seth
Online Metric Matching with Unknown i.i.d. Arrivals
Tsubasa Harada
Incremental Open Addressing Has No Time-Space Tradeoff
Martín Farach-Colton, Andrew Krapivin, William Kuszmaul
A Constant-Factor Approximation for Capacitated Facility Location with Outliers
Rajni Dabas