Skip to main content
QUICK REVIEW

[論文レビュー] An Optimal Choice Dictionary

Hagerup, Torben|arXiv (Cornell University)|Nov 2, 2017
Algorithms and Data Compression参考文献 6被引用数 4
ひとこと要約

本稿では、w = o(n) のとき最適な n + 1 ビットの空間のみを用い、選択(choice)を含むすべての操作を定数時間でサポートする外部サイズの原子的選択辞書を提示する。これは、ビットベクトル表現と非ゼロセグメントを追跡するための新規データ構造を組み合わせることで達成され、空間を最小限に抑えつつ O(1) の操作を維持するバリアベースのリンク方式を用いたコンパクトな配列を活用している。

ABSTRACT

A c-color choice dictionary of size n in N is a fundamental data structure in the development of space-efficient algorithms that stores the colors of n elements and that supports operations to get and change the color of an element as well as an operation choice that returns an arbitrary element of that color. For an integer f>0 and a constant c=2^f, we present a word-RAM algorithm for a c-color choice dictionary of size n that supports all operations above in constant time and uses only nf+1 bits, which is optimal if all operations have to run in o(n/w) time where w is the word size. In addition, we extend our choice dictionary by an operation union without using more space.

研究の動機と目的

  • すべての基本的操作を定数時間でサポートする、空間効率的な選択辞書の設計。
  • w = o(n) のとき、理論的下界である n + 1 ビットにまで空間使用量を最小限に抑えること。
  • パrameter t に対して O(n(t/w)^t) の追加空間を要する従来の選択辞書よりも、簡素化および改善すること。
  • 追加状態を最小限に抑えつつ、クライアント集合 S に対する定数時間の反復処理を可能にすること。

提案手法

  • クライアント集合 S を n ビットのビットベクトルとして表現し、グローバル状態用に追加の 1 ビットを設ける。
  • ビットベクトルを 2^b ビットのセグメントに分割し、サイズ N の配列 A の各要素 ai でそれぞれを整数として表現する。
  • 非ゼロセグメントを追跡するバリアベースのリンクリストを用い、最初の非ゼロセグメントを指すポインタ k を維持する。
  • 配列エントリの未使用ビットを補助状態(例:k の位置)の格納に再利用することで、空間を 2bN + 1 ビットにまで削減するコンパクト表現を採用する。
  • ビット操作およびワード-RAM 演算(例:popcount、シフト)を用いて、O(1) 時間で最初のセットビットを特定する。
  • 自己完結的動作を可能にするために、ユニバースサイズ n をデータ構造に埋め込むために自己区切り符号化(例:Elias ガンマ符号化)を適用する。

実験結果

リサーチクエスチョン

  • RQ1w = o(n) のとき、n + 1 ビットの空間のみを用い、すべての操作を定数時間でサポートできる選択辞書を構築できるか?
  • RQ2w = o(n) のとき、選択辞書に対して空間最適性を達成することは可能か?
  • RQ3ビットベクトルを超える最小限の追加空間で、選択操作を O(1) 時間でサポートできるか?
  • RQ4追加状態ビットを O(log n) に抑えつつ、クライアント集合 S に対する定数時間の反復処理をサポートできるか?
  • RQ5自己完結的な選択辞書を実現するために必要な最小限の空間オーバーヘッドは何か?

主な発見

  • 提案された選択辞書は、クiescent 状態において n + 1 ビットの空間のみを用い、w = o(n) のときこれが最適であることが証明されている。
  • 挿入、削除、包含判定、選択のすべての操作が O(1) 時間で実行可能であり、データ構造が原子的である。
  • クライアント集合 S に対する定数時間の反復処理が、⌈log₂(n+1)⌉ 個の追加状態ビットのみで可能である。
  • 配列エントリの未使用ビットを再利用することで、最初の非ゼロセグメントの位置などの補助状態を格納し、n + 1 ビットの空間制限を達成している。
  • Elias ガンマ符号化を用いてユニバースサイズ n を埋め込むことで、自己完結的バージョンを構築でき、合計空間は n + 2⌈log₂(n+1)⌉ ビットとなる。
  • 従来の解決策がパrameter t に対して O(n(t/w)^t) の追加空間を要するのに対し、本手法はより単純かつ効率的である。

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

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

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

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