高次元直交領域探索のための簡潔データ構造を開発した.d 次元空間に n 点があるとき,これらの点を d n log n + o(n log n) ビットで表現し,直交領域探索を O((n^{(d-2)/d}+occ) log n/log log n) 時間で行うことができる (occ は問い合わせ領域に含まれる点の数).既存手法ではデータ構造のサイズが我々のものよりも数倍のメモリを必要とするため,格納する点の数が多い場合には実用的ではない.我々の手法は限界に近いサイズまで圧縮できている. 我々は上述のデータ構造のサイズをさらに削減した新しい手法も提案した.データ構造のサイズは (d-1) n log n + o(n log n) ビットであり,これは情報理論的下限と一致する.つまり,データは限界まで圧縮されていることになる.なお,この手法では問い合わせ時間に対しては良い最悪時間計算量を与えることはできていないが,実験的には既存手法よりも高速になることを示している.特に,問い合わせ時間領域が d 次元空間のうちで少ない数の次元に対して制限されているときに,提案手法は高速となる.これは実用的には重要な性質である.例えば関係データベースの検索を行う場合には,特定の属性に関する条件のみを与えて検索する場合が多いが,このような場合には提案手法は高速となる. また,地理情報システムへの応用として,道路の座標データをコンパクトに表現するデータ構造を与えた.座標データは緯度,経度の値の列として表現できるが,これらを圧縮したまま高速に検索できる.通常は座標値をデータベースに格納するが,検索のために索引を追加するためサイズが大きくなってしまう.また,データベースへの問い合わせは索引を用いてもあまり高速ではない.提案手法では圧縮したまま高速検索を行うことができる.データは 1/10 に圧縮できる.
|