[論文レビュー] Practical and Effective Re-Pair Compression
本稿では、作業領域を (1.5+ε)n 単語まで削減しながら線形時間計算量を維持する、実用的でメモリ効率の良い Re-Pair 圧縮の実装を提示する。さらに、近似的に最適な圧縮性を達成する新規な文法符号化戦略を導入し、平均して情報理論的最小値よりわずか 2.8% 多くのビットを使用する。これは 7-Zip よりも半数のテストケースで優れている。
Re-Pair is an efficient grammar compressor that operates by recursively replacing high-frequency character pairs with new grammar symbols. The most space-efficient linear-time algorithm computing Re-Pair uses $(1+ε)n+\sqrt n$ words on top of the re-writable text (of length $n$ and stored in $n$ words), for any constant $ε>0$; in practice however, this solution uses complex sub-procedures preventing it from being practical. In this paper, we present an implementation of the above-mentioned result making use of more practical solutions; our tool further improves the working space to $(1.5+ε)n$ words (text included), for some small constant $ε$. As a second contribution, we focus on compact representations of the output grammar. The lower bound for storing a grammar with $d$ rules is $\log(d!)+2d\approx d\log d+0.557 d$ bits, and the most efficient encoding algorithm in the literature uses at most $d\log d + 2d$ bits and runs in $\mathcal O(d^{1.5})$ time. We describe a linear-time heuristic maximizing the compressibility of the output Re-Pair grammar. On real datasets, our grammar encoding uses---on average---only $2.8\%$ more bits than the information-theoretic minimum. In half of the tested cases, our compressor improves the output size of 7-Zip with maximum compression rate turned on.
研究の動機と目的
- 現在の最先端技術を下回る作業領域で、線形時間計算量を損なわずに実用的な Re-Pair 圧縮アルゴリズムを設計すること。
- Re-Pair の置換処理における構造的性質を活用し、出力文法の圧縮性を向上させること。
- d log d + 0.557d ビットの情報理論的下界に非常に近い文法表現を達成すること。
- 現実のデータセットにおける圧縮比、作業領域、実行時間のトレードオフを評価すること。
- 繰り返し的で構造的なデータにおいて、文法圧縮が 7-Zip のような汎用圧縮器を上回ることを示すこと。
提案手法
- Re-Pair の再帰的ペア置換処理中に周囲の頻度を効率的に管理する、新規で実用的な整数クラスタリング手順を採用する。
- 高頻度の隣接ペアを追跡する動的構造を維持することで、均等化コスト制御により線形時間処理を実現する。
- 置換時の異なるペア頻度数 M を活用する新規な文法符号化技術を導入し、表現を d(log d + log M + 1) + M log(d/M) + o(d log d) ビットに削減する。
- Re-Pair 処理における規則作成順序と頻度分布の性質を活用して、O(d) 時間で符号化を計算する。
- 入力テキストを含め作業領域を (1.5+ε)n 単語まで削減する、空間最適化されたデータ構造を実装に使用する。
- 均等化された構造的再構築を含め、空間制限を維持しながら線形時間性能を保証する。
実験結果
リサーチクエスチョン
- RQ1Re-Pair 圧縮を実用的かつメモリ効率の良いものにできるか。作業領域を (1.5+ε)n 単語まで削減し、線形時間計算量を維持できるか。
- RQ2置換処理中のペア頻度分布の性質を活用することで、Re-Pair の出力文法の圧縮性を最大化できるか。
- RQ3実際の応用において、文法表現が情報理論的下界 d log d + 0.557d ビットにどれほど近づけるか。
- RQ4提案された文法符号化は、繰り返し的データに対して 7-Zip よりも優れた性能を発揮するか。
- RQ5置換時における異なるペア頻度数 M と最終的な文法表現の圧縮性の関係は何か。
主な発見
- 提案された Re-Pair 実装は、作業領域を (1.5+ε)n 単語までにまで削減し、現在の最先端技術を2倍にまで改善した。
- 文法符号化は平均して情報理論的最小値よりわずか 2.8% 多くのビットを使用し、データセット間での分散が極めて小さい。
- テストデータの半数で、最大圧縮性能において 7-Zip を上回った。特に 'english'、'boost'、'fib41' のような繰り返しの多いファイルで顕著だった。
- 置換時における異なるペア頻度数 M は通常、d より1〜3桁小さいことが確認され、新規符号化設計の妥当性が裏付けられた。
- 解処理速度は競争力があり、bzip2 よりも速く、NAV や 7-Zip と同等だったが、極めて繰り返しの多いファイルでは1桁遅くなった。
- 圧縮率は、圧縮性が低いファイルで最も効果的であり、文法表現が相対的により良い圧縮を達成した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。