研究実績の概要 |
本研究課題の目的は,文字列組み合わせ論と高度データ技術により,効率的な文字列データ処理技術を開発することにある.ここでは特に,順序同型照合と呼ばれる,文字の相対的な順序に注目したパターン照合問題を取り扱った.例えば,X = (35, 40, 23, 40, 40, 28, 30) と Y = (7, 9, 2, 9, 9, 5, 6) について,それぞれの要素の辞書式順序列を R(X),R(Y) と書くことにすると,R(X) = R(Y) = (4, 5, 1, 5, 5, 2, 3) であるので,X と Y は順序同型合致するという. 長さ n のテキスト文字列 S と長さ m のパターン文字列 P が与えられたとき,P と順序同型合致する S の部分文字列をすべて求める問題は,O(n + m) 時間,O(m) 作業領域で解けることが知られている. 本研究では,より一般的な問題として,サイズ N のテキスト木 T と長さ m のパターン文字列 P が与えられたとき,P と順序同型合致する T 中のパスをすべて求める問題を考え,これを O(N + m) 時間,O(m) 作業領域で解くアルゴリズムを与えた.順序同型ボーダ配列に基づく KMP 型オートマトンと呼ばれるデータ構造を用いることにより,この成果を実現した.また,より一般的な問題として,テキストが DAG (非巡回グラフ) で与えれる場合を考える.これについて,P と順序同型合致するパスの存在判定問題が NP 完全であることを示した.
|