Skip to main content
QUICK REVIEW

[論文レビュー] On-the-Fly Array Initialization in Less Space

Torben Hagerup, Frank Kammer|arXiv (Cornell University)|Apr 20, 2016
Algorithms and Data Compression参考文献 57被引用数 19
ひとこと要約

この論文は、n + O(n(t/w)^t + log n)ビットを用いて、挿入、削除、属するかの判定、選択操作をO(t)時間でサポートする、空間効率の良い選択辞書データ構造を提案する。w = Θ(log n)のとき、定数時間の操作が可能となる。最小冗長性を達成し、線形時間のグラフアルゴリズムを、サブ線形の作業メモリで実行可能にし、スパニングフォレストや最短経路木の構築が可能となる。

ABSTRACT

The choice dictionary is introduced as a data structure that can be initialized with a parameter $n\in\mathbb{N}=\{1,2,\ldots\}$ and subsequently maintains an initially empty subset $S$ of $\{1,\ldots,n\}$ under insertion, deletion, membership queries and an operation choice that returns an arbitrary element of $S$. The choice dictionary appears to be fundamental in space-efficient computing. We show that there is a choice dictionary that can be initialized with $n$ and an additional parameter $t\in\mathbb{N}$ and subsequently occupies $n+O(n(t/w)^t+\log n)$ bits of memory and executes each of the four operations insert, delete, contains (i.e., a membership query) and choice in $O(t)$ time on a word RAM with a word length of $w=Ω(\log n)$ bits. In particular, with $w=Θ(\log n)$, we can support insert, delete, contains and choice in constant time using $n+O(n/(\log n)^t)$ bits for arbitrary fixed $t$. We extend our results to maintaining several pairwise disjoint subsets of $\{1,\ldots,n\}$. We study additional space-efficient data structures for subsets $S$ of $\{1,\ldots,n\}$, including one that supports only insertion and an operation extract-choice that returns and deletes an arbitrary element of $S$. All our main data structures can be initialized in constant time and support efficient iteration over the set $S$, and we can allow changes to $S$ while an iteration over $S$ is in progress. We use these abilities crucially in designing the most space-efficient algorithms known for solving a number of graph and other combinatorial problems in linear time. In particular, given an undirected graph $G$ with $n$ vertices and $m$ edges, we can output a spanning forest of $G$ in $O(n+m)$ time with at most $(1+ε)n$ bits of working memory for arbitrary fixed $ε>0$.

研究の動機と目的

  • 挿入、削除、属するかの判定、選択操作を、最小限の空間オーバーヘッドでサポートする動的データ構造の設計。
  • w = Θ(log n)のワードラムにおいて、n + o(n)ビットのメモリのみを用いて定数時間の操作を達成すること。
  • p-ランク、p-セレクト、反復処理といった追加操作を、空間効率を維持したままサポートするようにデータ構造を拡張すること。
  • スパニングフォレストや最短経路木の構築といった、基本的なグラフ問題に対する空間効率の良いアルゴリズムを実現すること。
  • 時間的・空間的制約下でのシステム的選択辞書の冗長性に対するタイトな境界を確立すること。

提案手法

  • ビットベクトル表現を用い、3色方式を導入することで、効率的な挿入、削除、選択操作を可能にするシステム的選択辞書を提案する。
  • w = Ω(log n)ビットのワードラムモデルを用い、操作をtサイズのチャンクにグループ化することで、各操作をO(t)時間で実行する。
  • ハイブリッド表現を採用:|W| ≥ n/w の大規模な集合にはビットベクトルを、|W| < n/w の小規模な集合には色なし選択辞書を用い、動的に切り替える。
  • 選択操作の柔軟性(Sの任意の要素を返すことができる)を活用し、決定的選択を必要としない空間最適化アルゴリズムを設計する。
  • 選択辞書をグラフアルゴリズムの構築モジュールとして用い、動的更新中でさえも集合の反復処理を可能にする。
  • 情報理論的冗長性解析を用いて空間の上限を証明し、O(t)時間制約下で最小冗長性がΘ(n/(tw))であることを示す。

実験結果

リサーチクエスチョン

  • RQ1wビットワードラム上でO(t)時間の操作をサポートする動的選択辞書が達成可能な最小冗長性は何か?
  • RQ2選択操作を活用することで、スパニングフォレストや最短経路木の構築といったグラフ問題に対する空間効率の良いアルゴリズムを設計できるか?
  • RQ3挿入・削除が行われる動的変化する集合に対しても、定数時間の操作を維持したまま、反復処理を堅牢にサポートする方法は何か?
  • RQ4時間計算量O(t)と空間使用量n + o(n)の間には、どのようなトレードオフがあるか?
  • RQ5p-ランクやp-セレクトといった追加操作を、低冗長性を維持したままO(t)時間性能でサポートできるか?

主な発見

  • 選択辞書は、n + O(n(t/w)^t + log n)ビットで実装可能であり、wビットワードラム上で挿入、削除、contains、選択操作をO(t)時間でサポートする。
  • w = Θ(log n)のとき、すべての4つの操作をO(1)時間で実行可能であり、n + O(n/(log n)^t)ビットで実現できる(任意の固定tに対して)。
  • O(t)時間操作を備えたシステム的選択辞書の最小冗長性は、tw = O(n/log n)のときΘ(n/(tw))である。
  • 冗長性O(n log log n / log n)のとき、Sの要素を一様にランダムにO(1)時間で選択可能である。
  • データ構造は、挿入・削除の最中でさえも、Sに対する堅牢で並行安全な反復処理をサポートする。
  • 選択辞書により、グラフ問題の線形時間アルゴリズムが可能となる:スパニングフォレストは(1 + ε)nビット以内でO(n + m)時間、最短経路木はn log₂3 + O(n/(log n)^t)ビットでO(n + m)時間で構築可能である。

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

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

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

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