Skip to main content
QUICK REVIEW

[論文レビュー] Construction of Sparse Suffix Trees and LCE Indexes in Optimal Time and Space

Dmitry Kosolobov, Nikita Sivukhin|arXiv (Cornell University)|May 8, 2021
Algorithms and Data Compression参考文献 33被引用数 3
ひとこと要約

本稿では、長さnの文字列に対して、O(n/b)時間およびO(b)空間でサイズO(b)のτ-分割集合を決定的アルゴリズムで構築する手法を提示している。これにより、スパースサフィックス木およびLCEインデックスの両方において、最適なO(b)空間とO(n/b)クエリ時間の実現が可能になる。本手法は、部分文字列のビット表現に基づく圧縮トリーや事前計算されたルックアップテーブルを活用し、線形時間で構築可能であり、漸近的に最適な空間使用量を達成する。

ABSTRACT

The notions of synchronizing and partitioning sets are recently introduced variants of locally consistent parsings with great potential in problem-solving. In this paper we propose a deterministic algorithm that constructs for a given readonly string of length $n$ over the alphabet $\{0,1,\ldots,n^{\mathcal{O}(1)}\}$ a variant of $τ$-partitioning set with size $\mathcal{O}(b)$ and $τ= \frac{n}{b}$ using $\mathcal{O}(b)$ space and $\mathcal{O}(\frac{1}εn)$ time provided $b \ge n^ε$, for $ε> 0$. As a corollary, for $b \ge n^ε$ and constant $ε> 0$, we obtain linear construction algorithms with $\mathcal{O}(b)$ space on top of the string for two major small-space indexes: a sparse suffix tree, which is a compacted trie built on $b$ chosen suffixes of the string, and a longest common extension (LCE) index, which occupies $\mathcal{O}(b)$ space and allows us to compute the longest common prefix for any pair of substrings in $\mathcal{O}(n/b)$ time. For both, the $\mathcal{O}(b)$ construction storage is asymptotically optimal since the tree itself takes $\mathcal{O}(b)$ space and any LCE index with $\mathcal{O}(n/b)$ query time must occupy at least $\mathcal{O}(b)$ space by a known trade-off (at least for $b \ge Ω(n / \log n)$). In case of arbitrary $b \ge Ω(\log^2 n)$, we present construction algorithms for the partitioning set, sparse suffix tree, and LCE index with $\mathcal{O}(n\log_b n)$ running time and $\mathcal{O}(b)$ space, thus also improving the state of the art.

研究の動機と目的

  • O(n/b)時間およびO(b)空間でスパースサフィックス木およびLCEインデックスを最適時間・最適空間で構築する決定的アルゴリズムの開発。
  • 読み取り専用の文字列に加えてO(b)の追加空間でのみこれらのインデックスを構築する課題に対処すること。
  • O(n log n / b)時間以上を要する過去の決定的構築手法の改善。
  • 両データ構造に対して最適なO(b)空間とO(n/b)クエリ時間を達成し、既知の下界と一致させること。
  • 局所的に一貫したパーサーの適用範囲を、決定的かつ小空間の文字列インデックスに拡張すること。

提案手法

  • τ = n/b を用いたτ-分割集合を用いることで、O(b)空間で効率的なインデックス化を可能にする。
  • 部分文字列のビット表現に基づく圧縮トリーデータ構造を構築し、高速なLCEクエリをサポートする。
  • 融合木(fusion trees)とビット操作を用いて、k個の部分文字列に対してO(k)時間で圧縮トリーデータ構造を構築する。
  • 部分文字列、ビット配列、圧縮トリーデータ構造のすべての可能なビットチャンクを事前計算したルックアップテーブルDを用意し、O(1)時間で文字の計算を可能にする。
  • ビットシフト演算を用いて、サイズτのスライディングウインドウ内でのS′内の位置を示す動的ビット配列を維持する。
  • 事前計算されたテーブルFを用いて、各位置でO(1)時間で配列Miを初期化し、効率的な範囲カウントを実現する。

実験結果

リサーチクエスチョン

  • RQ1任意のb ≥ n^ϵに対して、決定的アルゴリズムがO(n/b)時間およびO(b)空間でスパースサフィックス木を構築可能か?
  • RQ2O(b)空間および決定的構築のみで、LCEインデックスに対してO(n/b)クエリ時間を達成することは可能か?
  • RQ3局所的に一貫したパーサーを用いて、最適な小空間文字列インデックスを設計するにはどうすればよいか?
  • RQ4サイズO(b)の分割集合を構築するための最小限の空間的・時間的オーバーヘッドは何か?
  • RQ5完全な部分文字列を格納せずに、ビットレベルの表現と圧縮トリーデータ構造を用いてLCE計算を高速化できるか?

主な発見

  • 任意のb ≥ n^ϵ(ϵ > 0)に対して、本アルゴリズムはO(n/b)時間およびO(b)空間でサイズO(b)のτ-分割集合を構築する。
  • スパースサフィックス木およびLCEインデックスは、任意のb ≥ Ω(log² n)に対してO(n log b n)時間およびO(b)空間で構築可能であり、従来の決定的境界を改善する。
  • O(n/b)の構築時間は、b ≥ n^ϵのとき最適であり、クエリ時間の下界と一致する。
  • O(b)の空間使用量は、既知の時間-空間トレードオフに基づき、両データ構造に対して漸近的に最適である。
  • 事前計算されたルックアップテーブルとビットレベルの圧縮トリーデータ構造の活用により、1位置あたりO(1)の処理が可能となり、全処理時間は線形に保証される。
  • 確率的要素に依存せず、決定的かつ小空間インデックス分野におけるギャップを埋めることに成功した。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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