Research Abstract |
本研究は,非明示的に表現されたオブジェクトに対するアルゴリズムの開発とその計算量の解析を行うことを目的し,また同時に,効率のよいアルゴリズムの開発に適した非明示的な表現法を文字列やグラフなどの離散構造を対象として研究を展開している. まず,最長共通部分列を漸増的に計算する問題を扱った.文字列AとBに共通して現れる部分列の中で,長さが最長のものを最長共通部分列とよび,その長さをLCS(A,B)と表す.LCS(A,B)は,動的計画法を用いて0(nm)時間で求まることが知られている.ここにnとmはそれぞれAとBの長さを表す.我々は,LCS(A,B)が既に求まっているときに,AやBの前または後に文字cが追加された文字列に対して,LCS(cA,B),LCS(A,cB),LCS(Ac,B),LCS(A,Bc)を効率よく求めるアルゴリズムを示した. 次に,文字列とそれに関連付けられた数値属性値との対の集合から最適パターンを発見する問題を扱った.パターンの良さとして,個々の文字列におけるパターンの生起回数とその文字列に関連付けられた数値属性値との間の相関を用いた.我々は,接尾辞木を活用して,最適部分文字列パターンを0(Nn)時間と0(N^2)時間で求める2つのアルゴリズムを開発した.ここにnは文字列の個数であり,Nは文字列長の総和である. さらに,二つのラベル付木PとTが与えられたとき,TにおけるPのすべての生起を見つける木パターン照合問題を扱った.柔軟な照合を行うために,我々は水平方向のVLDCを導入した.このVLDCは順序木において連続した兄弟を根にもつ部分木の系列にマッチする.この問題を0(mn)時間・0(mh)領域で解くアルゴリズムを提案した.ここにmとnはそれぞれPとTの長さであり,hはTの高さである.
|