Rpair: Rescaling RePair with Rsync

06/03/2019
by   Travis Gagie, et al.
0

Data compression is a powerful tool for managing massive but repetitive datasets, especially schemes such as grammar-based compression that support computation over the data without decompressing it. In the best case such a scheme takes a dataset so big that it must be stored on disk and shrinks it enough that it can be stored and processed in internal memory. Even then, however, the scheme is essentially useless unless it can be built on the original dataset reasonably quickly while keeping the dataset on disk. In this paper we show how we can preprocess such datasets with context-triggered piecewise hashing such that afterwards we can apply RePair and other grammar-based compressors more easily. We first give our algorithm, then show how a variant of it can be used to approximate the LZ77 parse, then leverage that to prove theoretical bounds on compression, and finally give experimental evidence that our approach is competitive in practice.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/29/2019

Practical Repetition-Aware Grammar Compression

The goal of grammar compression is to construct a small sized context fr...
research
11/12/2018

MR-RePair: Grammar Compression based on Maximal Repeats

We analyze the grammar generation algorithm of the RePair compression al...
research
11/05/2018

RePair in Compressed Space and Time

Given a string T of length N, the goal of grammar compression is to cons...
research
02/17/2022

RePair Grammars are the Smallest Grammars for Fibonacci Words

Grammar-based compression is a loss-less data compression scheme that re...
research
11/25/2020

Grammar Compression By Induced Suffix Sorting

A grammar compression algorithm, called GCIS, is introduced in this work...
research
08/17/2022

Input Repair via Synthesis and Lightweight Error Feedback

Often times, input data may ostensibly conform to a given input format, ...

Please sign up or login with your details

Forgot password? Click here to reset