Skip to content

๐Ÿš€ The first learned approach to the Range Minimum Query (RMQ) problem, providing robust theoretical guarantees and novel space-time trade-offs.

Notifications You must be signed in to change notification settings

FilippoLari/FL-RMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

44 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

This repository implements the Fully-Learned Range Minimum Query (FL-RMQ), a novel data structure for range minimum queries based on a connection between this classical problem and the geometry of a properly defined set of points in the Cartesian plane. Building on this insight, FL-RMQ introduces a unique approach that learns and exploits the distribution of such points using error-bounded linear approximations.

Building the project

Clone the repository.

git clone --recursive https://github.com/FilippoLari/FL-RMQ
cd FL-RMQ

Build the libsais and bit_vector libraries separately, e.g.

cd libs/libsais
cmake .
make -j8

Then build the FL-RMQ library.

mkdir build
cd build
cmake ..
make -j8

Reproducing our results

You can find our benchmarking suite and instructions on how to reproduce our results at the following link: RMQ-Experiments

Credits

If you use this project in a scientific article, please cite the following paper:

@inproceedings{FerraginaL25,
    author = {Paolo Ferragina and Filippo Lari},
    title = {{FL-RMQ}: A Learned Approach to Range Minimum Queries},
    booktitle = {Proc. 36th Annual Symposium on Combinatorial Pattern Matching},
    year = {2025}
}

About

๐Ÿš€ The first learned approach to the Range Minimum Query (RMQ) problem, providing robust theoretical guarantees and novel space-time trade-offs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published