Simon J. Puglisi

dblp:p/SimonJPuglisi · DBLP profile ↗
← Back
43ranked-venue papers in the field
5as first author
7since 2021 · last 2025
0000-0001-7668-7636ORCID · verified

Domains — venue-derived; a paper can count in several

Information Retrieval & Web Search · 21 (2 first)Big Data, Cloud & Distributed Data Systems · 14 (3 first)Database Systems & Data Management · 6Data Mining & Knowledge Discovery · 1Other / Interdisciplinary · 1
YearPublicationVenuePosition
2025 Massively Parallel Computation of Matching Statistics
Anastasia C. Diseth, Keijo Heljanko, Simon J. Puglisi
SPIRE3
2023 Longest Common Prefix Arrays for Succinct k-Spectra
Jarno Alanko, Elena Biagi 0002, Simon J. Puglisi
SPIRE3
2022 On Dynamic Bitvector Implementations
abstract
Bitvectors that support rank and select queries are the workhorses of succinct data structures, implementations of which are now widespread, for example, in bioinformatics software. To date, however, most bitvector implementations are static, thus forcing more complex data structures built from them to be static too. In this paper we explore dynamic bitvectors, which, in addition to rank and select queries, also support update operations, specifically: insert, remove, and modify. We first provide several practical optimizations to the recent B-tree based bitvectors of Prezza (Proc. SEA 2017), including the use of buffers at leaves to speed update operations at the cost of a small overhead to query times. We then consider a common use case of succinct data structures, where queries and updates come in separate batches, and examine the efficacy of query support data structures that are fast to construct and speed rank and select queries, but become out of date when update operations are made. Finally, we explore several methods for leaf compression.
Saska Dönges, Simon J. Puglisi, Rajeev Raman
DCC2
2022 Maximal Closed Substrings
Golnaz Badkobeh, Alessandro De Luca 0002, Gabriele Fici, Simon J. Puglisi
SPIRE4
2022 Computing All-vs-All MEMs in Run-Length-Encoded Collections of HiFi Reads
Diego Díaz-Domínguez, Simon J. Puglisi, Leena Salmela
SPIRE2
2021 On Elias-Fano for Rank Queries in FM-Indexes
abstract
We describe methods to support fast rank queries on the Burrows-Wheeler transform (BWT) string$S$of an input string$T$on alphabet$\Sigma$, in order to support pattern counting queries. Our starting point is an approach previously adopted by several authors, which is to represent$S$as$\vert \Sigma\vert$bitvectors, where the bitvector for symbol$c$has a 1 at position$c$if and only if$S[i]=c$, with the bitvec-tors stored in Elias-Fano (EF) encodings, to enable binary rank queries. We first show that the clustering of symbols induced by the BWT makes standard implementations of EF unattractive. We then engineer several improvements to EF that go some way to alleviating this problem, and go on to describe two new EF-inspired bitvectors that have superior practical performance.
Danyang Ma, Simon J. Puglisi, Rajeev Raman, Bella Zhukova
DCC2
2021 Smaller RLZ-Compressed Suffix Arrays
abstract
Recently it was shown (Puglisi and Zhukova, Proc. SPIRE, 2020) that the suffix array (SA) data structure can be effectively compressed with relative Lempel-Ziv (RLZ) dictionary compression in such a way that arbitrary subar-rays can be rapidly decompressed, thus facilitating compressed indexing. In this paper we describe optimizations to RLZ-compressed SAs, including generation of more effective dictionaries and compact encodings of index components, both of which reduce index size without adversely affecting subarray access speeds relative to other compressed indexes. Our experimental analysis also elucidates the relationship between subarray size and per element access time.
Simon J. Puglisi, Bella Zhukova
DCC1
2020 Relative Lempel-Ziv Compression of Suffix Arrays
Simon J. Puglisi, Bella Zhukova
SPIRE1
2019 On Lempel-Ziv Decompression in Small Space
abstract
Lempel-Ziv (LZ77) parsing is a powerful tool for data compression that has been the subject of intense research in the past 40 years and is now used in popular and widely-used compression software and as part of larger software systems. In this paper we study algorithms to efficiently decompress strings from the LZ parsing that use working memory proportional to the size, z, of the parsing itself, not that of the output string, n, as is the usual case. The only work we are aware of on this problem is recent and due to Bille~et~al. who describe an algorithm using O(n log^δσ time and O(z log^1 - δσ) space for any 0 ≤ δ ≤ 1. We provide the first implementation and experimental analysis of Bille~et~al.'s approach. Our results show that this approach, when implemented as described, is extremely slow in practice compared to the naive decompression algorithm, and uses lots of space. To remedy this we introduce several novel optimizations that drastically improve performance and lead to relevant space-time tradeoffs in practice on all datasets we tested.
Simon J. Puglisi, Massimiliano Rossi 0001
DCC1
2019 Succinct BWT-Based Sequence Prediction
Rafael Ktistakis, Philippe Fournier-Viger, Simon J. Puglisi, Rajeev Raman
DEXA (2)3
2018 Run Compressed Rank/Select for Large Alphabets
abstract
Given a string of length n that is composed of r runs of letters from the alphabet {0,1,...,σ-1} such that 2 ≤ σ ≤ r, we describe a data structure that, provided r ≤ n/logω(1)n, stores the string in r\log nσ/r + o(r log nσ/r) bits and supports select and access queries in O(log log(n/r)/loglogn) time and rank queries in O(log log(nσ/r)/log\logn) time. We show that r log n(σ-1)/r - O(log n/r) bits are necessary for any such data structure and, thus, our solution is succinct. We also describe a data structure that uses (1 + ε)r log nσ/r + O(r) bits, where ε > 0 is an arbitrary constant, with the same query times but without the restriction r ≤ n / logω(1)n. By simple reductions to the colored predecessor problem, we show that the query times are optimal in the important case r ≥ 2logδ n, for an arbitrary constant δ > 0. We implement our solution and compare it with the state of the art, showing that the closest competitors consume 31-46% more space.
José Fuentes-Sepúlveda, Juha Kärkkäinen, Dmitry Kosolobov, Simon J. Puglisi
DCC4
2018 Algorithms for anti-powers in strings
abstract
A string S[1,n] is a power (or tandem repeat) of order k and period n/k if it can be decomposed into k consecutive equal-length blocks of letters. Powers and periods are fundamental to string processing, and algorithms for their efficient computation have wide application and are heavily studied. Recently, Fici et al. (Proc. ICALP 2016) defined an anti-power of order k to be a string composed of k pairwise-distinct blocks of the same length (n/k, called anti-period). Anti-powers are a natural converse to powers, and are objects of combinatorial interest in their own right. In this paper we initiate the algorithmic study of anti-powers. Given a string S, we describe an optimal algorithm for locating all substrings of S that are anti-powers of a specified order. The optimality of the algorithm follows form a combinatorial lemma that provides a lower bound on the number of distinct anti-powers of a given order: we prove that a string of length n can contain Θ(n2/k) distinct anti-powers of order k.
Golnaz Badkobeh, Gabriele Fici, Simon J. Puglisi
Inf. Process. Lett.3
2017 Scalable Similarity Search for Molecular Descriptors
Yasuo Tabei, Simon J. Puglisi
SISAP2
2017 On Two LZ78-style Grammars: Compression Bounds and Compressed-Space Computation
Golnaz Badkobeh, Travis Gagie, Shunsuke Inenaga, Tomasz Kociumaka, Dmitry Kosolobov, Simon J. Puglisi
SPIRE6
2017 On Suffix Tree Breadth
Golnaz Badkobeh, Juha Kärkkäinen, Simon J. Puglisi, Bella Zhukova
SPIRE3
2017 Document retrieval on repetitive string collections
abstract
Most of the fastest-growing string collections today are repetitive, that is, most of the constituent documents are similar to many others. As these collections keep growing, a key approach to handling them is to exploit their repetitiveness, which can reduce their space usage by orders of magnitude. We study the problem of indexing repetitive string collections in order to perform efficient document retrieval operations on them. Document retrieval problems are routinely solved by search engines on large natural language collections, but the techniques are less developed on generic string collections. The case of repetitive string collections is even less understood, and there are very few existing solutions. We develop two novel ideas, interleaved LCPs and precomputed document lists, that yield highly compressed indexes solving the problem of document listing (find all the documents where a string appears), top-k document retrieval (find the k documents where a string appears most often), and document counting (count the number of documents where a string appears). We also show that a classical data structure supporting the latter query becomes highly compressible on repetitive data. Finally, we show how the tools we developed can be combined to solve ranked conjunctive and disjunctive multi-term queries under the simple $${\textsf{tf}}{\textsf{-}}{\textsf{idf}}$$ model of relevance. We thoroughly evaluate the resulting techniques in various real-life repetitiveness scenarios, and recommend the best choices for each case.
Travis Gagie, Aleksi Hartikainen, Kalle Karhu, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
Inf. Retr. J.6
2016 Faster, Minuter
abstract
The FM index (Ferragina & Manzini, J. ACM, 2005) is a widely-used compresseddata structure that stores a string T in a compressed form that also supports fast pattern matching queries. Fixed-block boosting is a relatively straightforward technique that achieves optimal index size in theory, but to date it is unclear how best to translate the method into practice. In this paper we describe several new techniques for implementing fixed-block boosting efficiently. The new indexes are consistently fast and small relative to the state-of-the-art, and thus make a good "off-the-shelf" choice for most applications.
Simon Gog, Juha Kärkkäinen, Dominik Kempa, Matthias Petri, Simon J. Puglisi
DCC5
2016 Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
abstract
With massive high-dimensional data now commonplace in research and industry, there is a strong and growing demand for more scalable computational techniques for data analysis and knowledge discovery. Key to turning these data into knowledge is the ability to learn statistical models with high interpretability. Current methods for learning statistical models either produce models that are not interpretable or have prohibitive computational costs when applied to massive data. In this paper we address this need by presenting a scalable algorithm for partial least squares regression (PLS), which we call compression-based PLS (cPLS), to learn predictive linear models with a high interpretability from massive high-dimensional data. We propose a novel grammar-compressed representation of data matrices that supports fast row and column access while the data matrix is in a compressed form. The original data matrix is grammar-compressed and then the linear model in PLS is learned on the compressed data matrix, which results in a significant reduction in working space, greatly improving scalability. We experimentally test cPLS on its ability to learn linear models for classification, regression and feature extraction with various massive high-dimensional data, and show that cPLS performs superiorly in terms of prediction accuracy, computational efficiency, and interpretability.
Yasuo Tabei, Hiroto Saigo, Yoshihiro Yamanishi, Simon J. Puglisi
KDD4
2016 Longest Common Abelian Factors and Large Alphabets
Golnaz Badkobeh, Travis Gagie, Szymon Grabowski, Yuto Nakashima 0001, Simon J. Puglisi, Shiho Sugimoto
SPIRE5
2016 RLZAP: Relative Lempel-Ziv with Adaptive Pointers
Anthony J. Cox, Andrea Farruggia, Travis Gagie, Simon J. Puglisi, Jouni Sirén
SPIRE4
2016 Analyzing Relative Lempel-Ziv Reference Construction
Travis Gagie, Simon J. Puglisi, Daniel Valenzuela 0001
SPIRE2
2015 Queries on LZ-Bounded Encodings
abstract
We describe a data structure that stores a strings in space similar to that of its Lempel-Ziv encoding and efficiently supports access, rank and select queries. These queries are fundamental for implementing succinct and compressed data structures, such as compressed trees and graphs. We show that our data structure can be built in a scalable manner and is both small and fast in practice compared to other data structures supporting such queries.
Djamal Belazzougui, Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Alberto Ordóñez Pereira, Simon J. Puglisi, Yasuo Tabei
DCC6
2015 Variable-Order de Bruijn Graphs
abstract
The de Bruijn graph GK of a set of strings Sis a key data structure in genome assembly that represents overlaps between all the K-length substrings of S. Construction and navigation of the graph is a space and time bottleneck in practice and the main hurdle for assembling large genomes. This problem is compounded because state-of-the-art assemblers do not build the de Bruijn graph for a single order (value of K) but for multiple values of K: they builddde Bruijn graphs, each with a specific order, i.e., GK1, GK2, GKd. Al-though, this paradigm increases the quality of the assembly produce but it greatly increases runtime, because of the need to construct graphs instead of one. In this paper, we show how to augment a succinct de Bruijn graph representation by Bowe et al. (Proc. WABI, 2012) to support new operations that let us change order on the fly, effectively representing all de Bruijn graphs of order up to some maximum Kin a single data structure. Our experiments show our variable-order de Bruijn graph only modestly increases space usage, construction time, and navigation time compared to a single order graph.
Christina Boucher 0001, Alexander Bowe, Travis Gagie, Simon J. Puglisi, Kunihiko Sadakane
DCC4
2015 Document Counting in Compressed Space
abstract
We address the problem of counting the number of strings in a collection where a given pattern appears, which has applications in information retrieval and data mining. Existing solutions are in a theoretical stage. In this pa-per we implement these solutions and explore compressed variants, aiming to reduce data structure size. Our main result is to uncover some unexpected compressibility properties of the fastest known data structure for the problem. By taking advantage of these properties, we can reduce the size of the structure by a factor of 5-400, depending on the dataset.
Travis Gagie, Aleksi Hartikainen, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén
DCC5
2014 Relative Lempel-Ziv with Constant-Time Random Access
abstract
Relative Lempel-Ziv [1] (RLZ) is a variant of LZ77 that can compress collections of similar genomes well, while still allowing fast random access to them. We implemented RLZ using compressed bit vectors to support constant-time random access at the cost of sublinear extra space. We compared our implementation of RLZ to Deorowicz and Grabowski's GDC [11] scheme and achieved comparable compression and much smaller access times for short substrings.
Travis Gagie, Simon J. Puglisi
DCC2
2014 Lempel-Ziv Parsing in External Memory
abstract
In the 35 years since its discovery, the Lempel-Ziv factorization (or LZ77 parsing) has become a fundamental method for data compression and string processing. In many applications, computation of the factorization is a time-space bottleneck. However, and despite the increasing need to apply LZ77 to massive data sets (for both storage and indexing), no algorithm to date scales to inputs that exceed the size of RAM. In this paper we describe the first algorithms for computing the LZ77 parsing efficiently using external memory.
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi
DCC3
2014 Hybrid Compression of Bitvectors for the FM-Index
abstract
Compressed bit vectors supporting rank and select operations are the workhorse of compressed data structures. We propose a hybrid scheme for implementing compressed bit vectors, which divides the bit vector into blocks and then chooses the encoding of each block separately from a number of different encoding methods. Hybrid encoding is particularly suitable for bit vectors that have lots of local and regional variation, such as those present in the FM-index, a popular compressed data structure for pattern matching. We propose a specific hybrid combination of three simple encoding methods for FM-index bit vectors achieving superior space-time tradeoffs in experiments.
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi
DCC3
2014 Relative Lempel-Ziv with Constant-Time Random Access
Héctor Ferrada, Travis Gagie, Simon Gog, Simon J. Puglisi
SPIRE4
2012 Slashing the Time for BWT Inversion
abstract
Inverting the Burrows-Wheeler transform (BWT) is a bottleneck in BWT-based decompressors. The state-of-the-art inversion algorithm runs in linear time but is slow in practice due to CPU-cache misses. For more than a decade these cache misses have been thought to be inherent to BWT inversion. We show how to reduce the number of cache misses by a factor of nearly two, and simultaneously the cost of cache misses by another factor of two, obtaining a consistent speed up by a factor of 2.3-4. We can do even better if the data is highly repetitive. We describe an algorithm that achieves an asymptotic reduction in cache misses in theory and is the fastest algorithm in practice for such data.
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi
DCC3
2012 Practical Efficient String Mining
abstract
In recent years, several algorithms for mining frequent and emerging substring patterns from databases of string data (such as proteins and natural language texts) have been discovered, all of which traverse an enhanced suffix array data structure. All of these algorithms lie at either extreme of the efficiency spectrum; they are either fast and use enormous amounts of space, or they are compact and orders of magnitude slower. In this paper, we present an algorithm that achieves the best of both these extremes, having runtime comparable to the fastest published algorithms while using less space than the most space efficient ones. This excellent practical performance is underpinned by theoretical guarantees. Our main mechanism for keeping memory usage low is to build the enhanced suffix array incrementally, in blocks. Once built, a block is traversed to output patterns with required support before its space is reclaimed to be used for the next block.
Jasbir Dhaliwal, Simon J. Puglisi, Andrew Turpin
IEEE Trans. Knowl. Data Eng.2
2011 Sample selection for dictionary-based corpus compression
abstract
Compression of large text corpora has the potential to drastically reduce both storage requirements and per-document access costs. Adaptive methods used for general-purpose compression are ineffective for this application, and historically the most successful methods have been based on word-based dictionaries, which allow use of global properties of the text. However, these are dependent on the text complying with assumptions about content and lead to dictionaries of unpredictable size. In recent work we have described an LZ-like approach in which sampled blocks of a corpus are used as a dictionary against which the complete corpus is compressed, giving compression twice as effective than that of zlib. Here we explore how pre-processing can be used to eliminate redundancy in our sampled dictionary. Our experiments show that dictionary size can be reduced by 50% or more (less than 0.1% of the collection size) with no significant effect on compression or access speed.
Christopher Hoobin, Simon J. Puglisi, Justin Zobel
SIGIR2
2011 Fixed Block Compression Boosting in FM-Indexes
Juha Kärkkäinen, Simon J. Puglisi
SPIRE2
2011 Reference Sequence Construction for Relative Compression of Genomes
Shanika Kuruppu, Simon J. Puglisi, Justin Zobel
SPIRE2
2011 Relative Lempel-Ziv Factorization for Efficient Storage and Retrieval of Web Collections
abstract
Compression techniques that support fast random access are a core component of any information system. Current state-of-the-art methods group documents into fixed-sized blocks and compress each block with a general-purpose adaptive algorithm such as gzip. Random access to a specific document then requires decompression of a block. The choice of block size is critical: it trades between compression effectiveness and document retrieval times. In this paper we present a scalable compression method for large document collections that allows fast random access. We build a representative sample of the collection and use it as a dictionary in a LZ77-like encoding of the rest of the collection, relative to the dictionary. We demonstrate on large collections, that using a dictionary as small as 0.1% of the collection size, our algorithm is dramatically faster than previous methods, and in general gives much better compression.
Christopher Hoobin, Simon J. Puglisi, Justin Zobel
Proc. VLDB Endow.2
2010 Colored Range Queries and Document Retrieval
Travis Gagie, Gonzalo Navarro 0001, Simon J. Puglisi
SPIRE3
2010 Relative Lempel-Ziv Compression of Genomes for Large-Scale Storage and Retrieval
Shanika Kuruppu, Simon J. Puglisi, Justin Zobel
SPIRE2
2010 Dual-Sorted Inverted Lists
Gonzalo Navarro 0001, Simon J. Puglisi
SPIRE2
2009 Reducing Space Requirements for Disk Resident Suffix Arrays
Alistair Moffat, Simon J. Puglisi, Ranjan Sinha
DASFAA2
2009 Document Compaction for Efficient Query Biased Snippet Generation
Yohannes Tsegay, Simon J. Puglisi, Andrew Turpin, Justin Zobel
ECIR2
2009 Range Quantile Queries: Another Virtue of Wavelet Trees
Travis Gagie, Simon J. Puglisi, Andrew Turpin
SPIRE2
2008 Improving suffix array locality for fast pattern matching on disk
abstract
The suffix tree (or equivalently, the enhanced suffix array) provides efficient solutions to many problems involving pattern matching and pattern discovery in large strings, such as those arising in computational biology. Here we address the problem of arranging a suffix array on disk so that querying is fast in practice. We show that the combination of a small trie and a suffix array-like blocked data structure allows queries to be answered as much as three times faster than the best alternative disk-based suffix array arrangement. Construction of our data structure requires only modest processing time on top of that required to build the suffix tree, and requires negligible extra memory.
Ranjan Sinha, Simon J. Puglisi, Alistair Moffat, Andrew Turpin
SIGMOD Conference2
2006 Inverted Files Versus Suffix Arrays for Locating Patterns in Primary Memory
Simon J. Puglisi, William F. Smyth, Andrew Turpin
SPIRE1
2005 The Performance of Linear Time Suffix Sorting Algorithms
abstract
We have illustrated that the superior asymptotic complexity of linear time suffix sorting algorithms does not readily translate into faster suffix sorting, compared to implementations of supralinear algorithms. We have also resolved the ambiguity surrounding the practicality of the Algorithm KA: it is slower than supralinear approaches on real data. We described several optimizations to the O(n) KS algorithm that significantly improve performance for real world inputs, but still fall short of some supralinear approaches. It is worth noting that most of the optimizations we describe could also be applied to Algorithm KB, which may then outperform the well tuned suffix sorter of Manzini and Ferragina (2004).
Simon J. Puglisi, William F. Smyth, Andrew Turpin
DCC1