We propose a new LZ78-style grammar compression algorithm, named LZ-ABT, which is a simple online algorithm to create, given a string of length N over an alphabet of size σ, an α-balanced grammar in O(N log N log σ) time and O(n) space in addition to the input string, where n is the grammar size to output. LZ-ABT can avoid the lower-bound of Ω(N~(5/4)) time of the naive algorithms for LZMW and LZD, other LZ78-style compression algorithms, which was observed in [Badkobeh et al. SPIRE 2017, pp. 51-67]. We also show that the algorithm can be executed in compressed space, i.e., without storing the whole input string explicitly in memory: in O(N log2 N log σ) time and O(n) space, or O(N log N log σ) time and O(nlog* N) space. We implement LZ-ABT running in O(N log N log σ) time and O(N) space and empirically show that its performance is competitive to LZD. This is the first practical implementation of a-balanced grammar compression to the best of our knowledge.
展开▼
机译:我们提出了一个新的LZ78式语法压缩算法,名为LZ-ABT,这是一个简单的在线算法,用于在大小Σ的字母表中创建一个长度n,在o(n log n log中的α平衡语法Σ)时间和O(n)空间除了输入字符串之外,其中n是输出的语法大小。 LZ-ABT可以避免LZMW和LZD的Naive算法的Ω(n〜(5/4))时间,其他LZ78式压缩算法,在[Badkobeh等人。尖顶2017,第51-67页。我们还表明,该算法可以在压缩空间中执行,即,在内存中明确地存储整个输入字符串:在O(n log2 n logσ)时间和o(n)空间,或o(n log n logσ )时间和o(nlog * n)空间。我们在O(n log n logσ)时间和o(n)空间中实现LZ-ABT,并经验表明其性能与LZD具有竞争力。这是我们最佳知识的均衡语法压缩的第一次实际实施。
展开▼