2008 Fiscal Year Annual Research Report
Project/Area Number |
19680001
|
Research Institution | Kyushu University |
Principal Investigator |
定兼 邦彦 Kyushu University, システム情報科学研究院, 准教授 (20323090)
|
Keywords | 接尾辞配列 / 簡潔データ構造 / 文字列検索 / 順序木 |
Research Abstract |
括弧列(balanced parentheses sequences, BP)は順序木の表現法であり, 近年多くの研究がある. 任意のn節点の木は2n+ o (n) ビットで表現でき, 木の上での様々な操作がword-RAMモデル上で定数時間で行える。それらは漸近的性能は良いが, データ構造が複雑であり, 実用的な実装はない. 本研究では, 非常に簡単な括弧列のデータ構造を提案した. これは簡単なだけでなく, 既存のものよりも理論的にも実際的にも優れている. 必要な領域は2n+O(n/log n)ビットであり, 低次項を改善しており, また, 知られている全ての操作を定数時間で行える. その簡単さから, 実装も易しい. また, 必要な領域は備えている操作によって異なり, 2.30n〜3.30nビットである. 最もサイズの小さいものでも最近共通祖先や深さ指定祖先を計算でき, 最も大きいものは次数やi番目の子を高速に求められる. これは既存の親と兄弟のみを求められる3.73nビットを用いる実装と比較して大きな改善である. また, 文字列中の最長反復部分文字列を見つけるオンラインアルゴリズムを開発した. このアルゴリズムはデータ圧縮パタン解析, データマイニングに利用できる. 長さn, アルファベットサイズσの文字列に対し, このアルゴリズムはO(n log σ) ビットの領域を用いてO(n log3 n)時間で動作する. このアルゴリズムを実装し, 他手法と比較したところ, 半分の作業領域で動作し, 実行時間は他手法に引けを取らないことがわかった.
|