Suffixient Arrays: a New Efficient Suffix Array Compression Technique

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Cenzato, Davide, Depuydt, Lore, Gagie, Travis, Kim, Sung-Hwan, Manzini, Giovanni, Olivares, Francisco, Prezza, Nicola
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908272712220672
author Cenzato, Davide
Depuydt, Lore
Gagie, Travis
Kim, Sung-Hwan
Manzini, Giovanni
Olivares, Francisco
Prezza, Nicola
author_facet Cenzato, Davide
Depuydt, Lore
Gagie, Travis
Kim, Sung-Hwan
Manzini, Giovanni
Olivares, Francisco
Prezza, Nicola
contents The Suffix Array is a classic text index enabling on-line pattern matching queries via simple binary search. The main drawback of the Suffix Array is that it takes linear space in the text's length, even if the text itself is extremely compressible. Several works in the literature showed that the Suffix Array can be compressed, but they all rely on complex succinct data structures which in practice tend to exhibit poor cache locality and thus significantly slow down queries. In this paper, we propose a new simple and very efficient solution to this problem by presenting the \emph{Suffixient Array}: a tiny subset of the Suffix Array \emph{sufficient} to locate on-line one pattern occurrence (in general, all its Maximal Exact Matches) via binary search, provided that random access to the text is available. We prove that: (i) the Suffixient Array length $χ$ is a strong repetitiveness measure, (ii) unlike most existing repetition-aware indexes such as the $r$-index, our new index is efficient in the I/O model, and (iii) Suffixient Arrays can be computed in linear time and compressed working space. We show experimentally that, when using well-established compressed random access data structures on repetitive collections, the Suffixient Array $\SuA$ is \emph{simultaneously} (i) faster and orders of magnitude smaller than the Suffix Array $\SA$ and (ii) smaller and \emph{one to two orders of magnitude faster} than the $r$-index. With an average pattern matching query time as low as 3.5 ns per character, our new index gets very close to the ultimate lower bound: the RAM throughput of our workstation (1.18 ns per character).
format Preprint
id arxiv_https___arxiv_org_abs_2407_18753
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Suffixient Arrays: a New Efficient Suffix Array Compression Technique
Cenzato, Davide
Depuydt, Lore
Gagie, Travis
Kim, Sung-Hwan
Manzini, Giovanni
Olivares, Francisco
Prezza, Nicola
Data Structures and Algorithms
The Suffix Array is a classic text index enabling on-line pattern matching queries via simple binary search. The main drawback of the Suffix Array is that it takes linear space in the text's length, even if the text itself is extremely compressible. Several works in the literature showed that the Suffix Array can be compressed, but they all rely on complex succinct data structures which in practice tend to exhibit poor cache locality and thus significantly slow down queries. In this paper, we propose a new simple and very efficient solution to this problem by presenting the \emph{Suffixient Array}: a tiny subset of the Suffix Array \emph{sufficient} to locate on-line one pattern occurrence (in general, all its Maximal Exact Matches) via binary search, provided that random access to the text is available. We prove that: (i) the Suffixient Array length $χ$ is a strong repetitiveness measure, (ii) unlike most existing repetition-aware indexes such as the $r$-index, our new index is efficient in the I/O model, and (iii) Suffixient Arrays can be computed in linear time and compressed working space. We show experimentally that, when using well-established compressed random access data structures on repetitive collections, the Suffixient Array $\SuA$ is \emph{simultaneously} (i) faster and orders of magnitude smaller than the Suffix Array $\SA$ and (ii) smaller and \emph{one to two orders of magnitude faster} than the $r$-index. With an average pattern matching query time as low as 3.5 ns per character, our new index gets very close to the ultimate lower bound: the RAM throughput of our workstation (1.18 ns per character).
title Suffixient Arrays: a New Efficient Suffix Array Compression Technique
topic Data Structures and Algorithms
url https://arxiv.org/abs/2407.18753