研究概要 |
最適複合文字列パターン発見について、本年度の主な成果は以下の2点である.1)最適な部分文字列の複合パターンの探索において,組み合わせる文字列がお互いに部分文字列の関係にあると,意味をなさない場合がある.このような無駄な組み合わせの候補を効率よく検出して除去するために,接尾辞木上の任意の節点の組の対応する文字列が部分文字列の関係にあるかどうかを判定する必要がある.本研究ではこの問題が接尾辞木グラフ上の到達可能性問題に帰着できることを示し,長さNの文字列に対して平均で0(NlogN)時間の前処理を行うことで,任意の節点の組が部分文字列の関係にあるかどうかを0((logN)時間で判定できるアルゴリズムを考案した(通常は0(N).また,厳密な証明はできなかったものの,計算機実験から,前処理時間の最悪計算量に関しては0(N√<N>)であることを示唆する結果が得られた.2)最長共通部分文字列長,最長共通部分列長,窓付き最長共通部分列長など,パターンとテキストとの間の局所類似性指標に基づいた新しい文字列パターンクラスの系列を考案した。このパターンクラスは従来の単一のパターンクラスを拡張したものとなっており,複数のパターンの局所的な類似性を複合したパターンと解釈することができる.窓付き最長共通部分列長の計算は通常,長さがそれぞれmとn(m>n)の文字列と窓幅dに対して動的計画法を用いて0(mnd)時間で計算できるが,本研究では0(md)時間で計算するアルゴリズムを提案した.このパターンクラスに対して最適なパターンを発見する問題はNP困難であったが,前述の局所類似性を効率よく計算するアルゴリズムとパターン候補の枝刈りを組み合わせることで,ある程度実用的な時間で計算できることを示した.
|