On optimally partitioning a text to improve its compression
Paolo Ferragina, Igor Nitto, Rossano Venturini

TL;DR
This paper presents an efficient algorithm for partitioning strings to improve compression, guaranteeing near-optimal results within a factor of (1+ε) of the best possible, addressing a longstanding open problem.
Contribution
It introduces the first algorithm with provable approximation guarantees for optimal string partitioning in compression, running in near-linear time.
Findings
Algorithm guarantees (1+ε)-approximate optimal partitioning.
Runs in O(n log_{1+ε} n) time, near-linear complexity.
Provides a practical solution to a previously open problem.
Abstract
In this paper we investigate the problem of partitioning an input string T in such a way that compressing individually its parts via a base-compressor C gets a compressed output that is shorter than applying C over the entire T at once. This problem was introduced in the context of table compression, and then further elaborated and extended to strings and trees. Unfortunately, the literature offers poor solutions: namely, we know either a cubic-time algorithm for computing the optimal partition based on dynamic programming, or few heuristics that do not guarantee any bounds on the efficacy of their computed partition, or algorithms that are efficient but work in some specific scenarios (such as the Burrows-Wheeler Transform) and achieve compression performance that might be worse than the optimal-partitioning by a factor. Therefore, computing efficiently the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Advanced Scientific Research Methods · graph theory and CDMA systems
