Skip to main content
QUICK REVIEW

[論文レビュー] Small-space encoding LCE data structure with constant-time queries

Yuka Tanimura, Takaaki Nishimoto|arXiv (Cornell University)|Feb 24, 2017
Algorithms and Data Compression被引用数 5
ひとこと要約

本稿では、Lempel-Ziv 77分解のサイズ z および √n 以下のトレードオフパラメータ τ を用いて、O(zτ² + n/τ) 単位の記憶領域を用い、O(1) クエリ時間で動作する、Longest Common Extension (LCE) 問題のための新規な符号化データ構造を提示する。この構造は記憶領域効率が良く、事前処理後は元の文字列へのアクセスを必要とせず、特に繰り返しが多い文字列や小規模なアルファベットの場合に、既知の時間-記憶領域トレードオフの下界を上回る。

ABSTRACT

The \emph{longest common extension} (\emph{LCE}) problem is to preprocess a given string $w$ of length $n$ so that the length of the longest common prefix between suffixes of $w$ that start at any two given positions is answered quickly. In this paper, we present a data structure of $O(z τ^2 + \frac{n}τ)$ words of space which answers LCE queries in $O(1)$ time and can be built in $O(n \log σ)$ time, where $1 \leq τ\leq \sqrt{n}$ is a parameter, $z$ is the size of the Lempel-Ziv 77 factorization of $w$ and $σ$ is the alphabet size. This is an \emph{encoding} data structure, i.e., it does not access the input string $w$ when answering queries and thus $w$ can be deleted after preprocessing. On top of this main result, we obtain further results using (variants of) our LCE data structure, which include the following: - For highly repetitive strings where the $zτ^2$ term is dominated by $\frac{n}τ$, we obtain a \emph{constant-time and sub-linear space} LCE query data structure. - Even when the input string is not well compressible via Lempel-Ziv 77 factorization, we still can obtain a \emph{constant-time and sub-linear space} LCE data structure for suitable $τ$ and for $σ\leq 2^{o(\log n)}$. - The time-space trade-off lower bounds for the LCE problem by Bille et al. [J. Discrete Algorithms, 25:42-50, 2014] and by Kosolobov [CoRR, abs/1611.02891, 2016] can be "surpassed" in some cases with our LCE data structure.

研究の動機と目的

  • サブラインアー記憶領域を用いながら定数時間クエリをサポートする記憶領域効率の良い LCE データ構造の設計。
  • 事前処理後、元の文字列を保存する必要をなくすために、符号化データ構造を構築することによる、元の文字列の保存を回避すること。
  • 特に繰り返しが多い文字列や小規模なアルファベットといった特定の状況において、LCE 問題の既知の時間-記憶領域トレードオフの下界を覆すこと。
  • Lempel-Ziv 77 因数分解で圧縮可能な文字列において、最適な記憶領域-時間トレードオフを達成すること。
  • Lempel-Ziv 因数分解をサブラインアー作業記憶領域で計算可能かどうかの検討。

提案手法

  • 接尾辞が長さ t まで切り詰められた t-トリuncated サフィックス木を用い、構造を Lempel-Ziv 77 因数分解で圧縮することで構築する。
  • 元の文字列を格納しない新しい符号化技術を採用し、圧縮表現と補助データ構造に依存する。
  • LCP 配列上の範囲最小値クエリ (RMQ) とサフィックス配列の圧縮表現を組み合わせることで、O(1) 時間で LCE クエリを回答する。
  • 空間計算量が O(zτ² + n/τ) 単位の単位に抑えられるように、パラメータ τ を用いて空間と時間のバランスを取る。
  • 小規模なアルファベット (σ ≤ 2^o(log n)) の場合、長さ log n の部分文字列に対して、定数時間のビット並列演算を、パックされたメモリワードを用いて行う。
  • 2段階のクエリメカニズムを採用:短い LCE (≤ log n ビット) はビット並列演算で、長い LCE は切り詰めたサフィックス木上の圧縮 RMQ 構造で処理する。

実験結果

リサーチクエスチョン

  • RQ1元の文字列へのアクセスなしに、サブラインアー記憶領域を用いながら定数時間 LCE データ構造を構築可能か?
  • RQ2繰り返しが多い文字列において、実際の応用で LCE 問題の既知の時間-記憶領域下界を上回ることが可能か?
  • RQ3Lempel-Ziv 因数分解サイズ z が小さい文字列に対して、O(n/τ) 記憶領域で O(1) クエリ時間を達成することは可能か?
  • RQ4アルファベットサイズ σ が、LCE データ構造における時間-記憶領域トレードオフの既存の下界の有効性に影響を与えるか?
  • RQ5Lempel-Ziv 77 因数分解を O(n log σ) 時間でサブラインアー作業記憶領域で計算可能か?

主な発見

  • 提案されたデータ構造は、O(zτ² + n/τ) 単位の記憶領域を用い、O(1) 時間で LCE クエリをサポートし、構築時間は O(n log σ)、作業記憶領域は O(zτ² + n/τ) である。
  • zτ² が n/τ に支配される繰り返しが多い文字列では、記憶領域がサブラインアーとなり、O(n/τ) 単位の記憶領域で O(1) クエリ時間となる。
  • σ ≤ 2^o(log n) の場合、T(n)S(n) = o(n log n) を達成し、Bille ら (2014) の下界をこの種の文字列で上回る。
  • σ ≤ 2^o(√log n) の場合、時間と記憶領域の積が o(n log n) となり、この範囲で Kosolobov の下界を上回る。
  • このデータ構造は符号化構造である:事前処理後、元の文字列 w を削除可能であり、クエリは w へのアクセスを必要としない。
  • 小規模なアルファベットの場合、パックされたワード上のビット並列演算により、長さ log n の部分文字列に対して定数時間 LCE クエリが可能となり、効率的なクエリ合成が実現できる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。