研究実績の概要 |
文字列データから有用な知識を効率的に獲得する動的アルゴリズムの考案を目的として研究を行った. まず,文字列が編集された際に,編集後の文字列中の最長回文を求める問題に取り組んだ.編集前の文字列に対して O(n) 時間・領域の前処理を行うことで,クエリ入力として1文字編集(置換,挿入,削除)操作が与えられた際に,編集後の文字列中の最長回文を O(min{log σ, loglog n}) クエリ時間で求めるアルゴリズムを考案した.ここで σ はアルファベットサイズである.さらにこの問題の一般化として,クエリ入力が部分文字列編集操作であるような問題設定についても考え,O(n) 時間・領域の前処理で O(L + loglog n) クエリ時間で解くアルゴリズムを提案した.ここで L は編集後の部分文字列の長さである.この成果は国際学術雑誌 Theoretical Computer Science に採択されている.さらに,クエリ入力が部分文字列編集操作である問題に対して,より詳細な文字列組合せ的性質と文字列データ構造と組み合わせて用いることでその手法を改善し,前処理の時間領域はそのままに O(L + min{log σ, loglog n}) クエリ時間で解くアルゴリズムを提案した.この結果は国際学術雑誌への投稿準備中である. また,テキスト中に等間隔に出現しているパターンの出現を効率的に検出する問題について,動的な処理を行うための基盤/準備として、まずは静的な場合の効率的な処理に取り組んだ.出現数の数え上げおよび出現位置の列挙をそれぞれ効率的に行うアルゴリズムを考案した.この成果は国際会議 31st Annual Symposium on Combinatorial Pattern Matching に採択され,口頭発表している.
|