Papers › Compressed Multiple Pattern Matching

Compressed Multiple Pattern Matching

3 Nov 2018arXiv:1811.01248links table onlyarchive 2025-07-28

Dmitry Kosolobov, Nikita Sivukhin

The archive published only this paper's code-link row. Authors, date and abstract are from arXiv's metadata (CC0), read from the Kaggle arXiv metadata snapshot of 2026-09-12 where its title matched the archive's; the title is the archive's.

Given d strings over the alphabet {0,1,…,σ-1}, the classical Aho--Corasick data structure allows us to find all occ occurrences of the strings in any text T in O(|T| + occ) time using O(mlogm) bits of space, where m is the number of edges in the trie containing the strings. Fix any constant ε∈(0, 2). We describe a compressed solution for the problem that, provided σ≤m^δ for a constant δ< 1, works in O(|T| 1/ε log1/ε + occ) time, which is O(|T| + occ) since ε is constant, and occupies mHₖ + 1.443 m + εm + O(dlogm/d) bits of space, for all 0 ≤k ≤max{0,αlog_σ m - 2} simultaneously, where α∈(0,1) is an arbitrary constant and Hₖ is the $k$th-order empirical entropy of the trie. Hence, we reduce the $3.443m$ term in the space bounds of previously best succinct solutions to (1.443 + ε)m, thus solving an open problem posed by Belazzougui. Further, we notice that L = logσ(m+1)m - O(log(σm)) is a worst-case space lower bound for any solution of the problem and, for d = o(m) and constant ε, our approach allows to achieve L + εm bits of space, which gives an evidence that, for d = o(m), the space of our data structure is theoretically optimal up to the εm additive term and it is hardly possible to eliminate the term $1.443m$. In addition, we refine the space analysis of previous works by proposing a more appropriate definition for Hₖ. We also simplify the construction for practice adapting the fixed block compression boosting technique, then implement our data structure, and conduct a number of experiments showing that it is comparable to the state of the art in terms of time and is superior in space.

PaperPDFCode

Code

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections