Skip to main content
QUICK REVIEW

[論文レビュー] Small Uncolored and Colored Choice Dictionaries

Torben Hagerup|arXiv (Cornell University)|Sep 20, 2018
Algorithms and Data Compression参考文献 8被引用数 5
ひとこと要約

本稿では、初期化を含むすべての操作を定数時間でサポートし、$n+1$ ビットのメモリのみを用いる新しいアトミック選択辞書を提案する。これは $w=o(n)$ のとき最適である。さらに、$c$ 色のための色付き選択辞書を導入し、$c$ が2のべき乗のとき $n\log_2 c + 1$ ビットを用い、効率的な空間効率の良い幅優先探索(BFS)を可能にする。その時間計算量は $O(n\log n + m\log\log n)$、メモリ使用量は $n\log_2 3 + O((\log n)^2)$ ビットである。

ABSTRACT

A choice dictionary can be initialized with a parameter $n\in\mathbb{N}$ and subsequently maintains an initially empty subset $S$ of $\{1,\ldots,n\}$ under insertion, deletion, membership queries and an operation $ extit{choice}$ that returns an arbitrary element of $S$. The choice dictionary is fundamental in space-efficient computing and has numerous applications. The best previous choice dictionary can be initialized with $n$ and $t\in\mathbb{N}$ and subsequently executes all operations in $O(t)$ time and occupies $n+O(n({t/w})^t+\log n)$ bits on a word RAM with a word length of $w=Ω(\log n)$ bits. We describe a new choice dictionary that executes all operations in constant time and, in addition to the space needed to store the integer $n$, occupies only $n+1$ bits, which is shown to be optimal if $w=o(n)$. A generalization of the choice dictionary called a colored choice dictionary is initialized with $c\in\mathbb{N}$ in addition to $n$ and subsequently maintains a semipartition $(S_0,\ldots,S_{c-1})$ of $\{1,\ldots,n\}$ under the operations $ extit{setcolor}(j,\ell)$, which moves $\ell$ from its current subset to $S_j$, $ extit{color}(\ell)$, which returns the unique $j\in\{0,\ldots,c-1\}$ with $\ell\in S_j$, and $ extit{choice}(j)$, which returns an arbitrary element of $S_j$. We describe new colored choice dictionaries that, if initialized with constant $c$, execute $ extit{setcolor}$, $ extit{color}$ and $ extit{choice}$ in constant time and occupy $n\log_2\!c+1$ bits plus the space needed to store $n$ if $c$ is a power of 2, and at most $n\log_2\!c+n^ε$ bits in general, for arbitrary fixed $ε>0$. We also study the possibility of iterating over the set $S$ or over $S_j$ for given $j\in\{0,\ldots,c-1\}$ and an application of this to breadth-first search.

研究の動機と目的

  • 初期化を含むすべての操作を定数時間でサポートし、最小限のメモリ使用量で動作する選択辞書の設計。
  • $c$ 個の互いに素な部分集合を保持し、色固有の操作をサポートするように選択辞書を一般化すること。
  • 新しいデータ構造を、$n$ 頂点と $m$ 辺を持つグラフにおける空間効率の良い幅優先探索(BFS)に応用すること。
  • BFSのための空間境界を改善しつつ、近似的に線形時間計算量を維持すること。
  • ワードRAMモデル($w = \Omega(\log n)$)下でのメモリ使用量の最適性を証明すること。

提案手法

  • サイズ $n$ のビットベクトルと、空でない状態を追跡する1つの追加ビットを用いた選択辞書を設計し、定数時間での選択および操作を実現する。
  • 各色に対して2つの選択辞書を備えた2段構造を用い、セットカラー操作中の効率的な反復処理と動的更新を可能にする。
  • ワードRAMモデルの定数時間演算(ビット操作や整数演算など)を活用し、アトミック操作を実装する。
  • BFSへの応用において、灰色の頂点を3色選択辞書に保持し、探索中に隣接頂点の列挙を効率的に行えるようにする。
  • 反復処理中にコンテナを「ゆるい表現」で保持し、$O(\log \log n)$ 時間で標準形式に変換することで、高速な列挙を可能にする。
  • 2つの辞書が反復中に役割を交代させることで、効率性と正しさを維持する二重構造技術を導入する。

実験結果

リサーチクエスチョン

  • RQ1初期化を含むすべての操作を定数時間でサポートし、$n+1$ ビットのメモリのみを用いる選択辞書を設計可能か?
  • RQ2ワード長 $w$ が $w=o(n)$ を満たすとき、選択辞書の最適なメモリ使用量は何か?
  • RQ3選択辞書を $c$ 色をサポートするように一般化可能か?また、$n\log_2 c$ 比例する効率的な操作とメモリ使用量を実現できるか?
  • RQ4色付き選択辞書を用いることで、BFSのようなグラフアルゴリズムにおける空間効率をどのように向上できるか?
  • RQ5新しい色付き選択辞書を用いたBFSにおいて、時間計算量とメモリ使用量のトレードオフは何か?

主な発見

  • 提案された選択辞書は、$w=o(n)$ のとき最適である $n+1$ ビットのメモリのみを用い、初期化を含むすべての操作を定数時間でサポートする。
  • 色数 $c$ に対して、$c$ が2のべき乗のとき $n\log_2 c + 1$ ビットを用い、一般には任意の固定された $\epsilon > 0$ に対して $n\log_2 c + n^\epsilon$ ビット以内に収まる。
  • 新規データ構造により、$O(n\log n + m\log\log n)$ 時間で実行され、$n\log_2 3 + O((\log n)^2)$ ビットのメモリ使用量で動作するBFSアルゴリズムが実現できる。
  • 代替のBFSバージョンは、$O(n\log n + mt)$ 時間で実行され、任意の固定された $t \in \mathbb{N}$ に対して $n\log_2 3 + O(n^{1/t} + (\log n)^2)$ ビットのメモリを使用する。
  • BFSにおける灰色頂点の反復処理の時間計算量は、実装のバリエーションに応じて $O(\log \log n)$ または $O(t)$ である。
  • 結果として、従来のBFSのメモリ使用量 $n\log_2 3 + O(n/(\log n)^t)$ を、$t$ を固定した場合に $O((\log n)^2)$ ビットにまで削減し、空間効率を向上させた。

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

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

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

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