研究課題
特徴文字列問題は、与えられた2つの文字列の一方のある区間で他方に類似した区間が存在しない最も短いものを求める問題であり、分子生物学におけるPCRのプライマー設計などの応用がある。この問題を解くアルゴリズムとして、これまでに2つの文字列の長さおよび文字列の区間同士が類似していると扱われるために許される相違度の最大値の積に比例する計算時間のものが知られている。本研究では、2つの文字列の長さとその一方の対数の2乗の積に比例する計算時間でこの問題を解くアルゴリズムを提案した。このアルゴリズムは、許される相違度を大きく設定する必要のある状況において従来のアルゴリズムよりも高速に動作する。また、このアルゴリズムはオンライン的に動作するように設計されているため、一方の文字列についてはあらかじめすべてが与えられる必要はない。一方、最長共通部分文字列問題は、与えられた2つの文字列の任意の位置から記号を削除することで得られる最大の長さをもつ共通の文字列を求める問題であり、計算機科学や分子生物学において非常に多くの応用をもつ。本研究では、一方の文字列にのみ前処理をすることで、他方がオンライン的に与えられる状況のもとで高速にこの問題を解くことのできるアルゴリズムを提案した。このアルゴリズムは、与えられる文字列に用いられる記号の種類が定数個であるという条件のもとで、支配的一致の個数と前処理を施す文字列の長さの和に比例する計算領域を用いて、支配的一致の個数とオンライン的に与えられるもう一方の文字列の長さの和に比例する計算時間で問題を解くことのできるアルゴリズムとして提案された初めてのものである。ただし、支配的一致の個数は2つの文字列によって定まる値である。
2: おおむね順調に進展している
最長共通部分文字列問題を解くアルゴリズムとして、一方の文字列のみに前処理を施し、他方はオンライン的に与えられる状況のもとで動作し、これまでに知られていない計算時間と計算領域の組み合わせで計算を完了するものを設計できたため。
一方の文字列に短時間の前処理を施すことで、後に任意に与えられるもう一方の文字列との比較の実行時間を劇的に改善することは難しいと思われる。しかし、後に与えられる文字列に関してあらかじめ何らかの情報が得られているならば、たとえ正確にその文字列が何であるかを知ることのできない状況であっても、前処理によって実行時間を改善できる可能性がある。そこで今後は、任意の2つの文字列の比較を行った後に、各文字列と似た文字列同士の比較をする状況のもとで、最初の比較をする際にどのようなデータを残すことで、後の比較に要する実行時間を短縮できるのか検討を進める予定である。
すべて 2012 2011
すべて 雑誌論文 (3件) (うち査読あり 3件) 学会発表 (2件)
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
巻: E95-A ページ: 354-361
10.1587/transfun.E95.A.354
Discrete Applied Mathematics
巻: 159 ページ: 2175-2183
10.1016/j.dam.2011.06.022
Lecture Notes in Computer Science
巻: 7074 ページ: 663-672