Core Concepts
二つの文字列の最長共通部分列を効率的に計算するためのアルゴリズムを提案する。
Abstract
この記事は、Cartesian-tree matching modelにおける最長共通部分列(CT-LCS)の計算方法に焦点を当てています。CTマッチングモデルは、数値シーケンスの類似性を捉える自然なモデルであり、サブシーケンスパターンマッチングが多項式時間で解決可能であることが示されています。本記事では、一般的な順序付きアルファベットに対してO(n6)時間とO(n4)空間でCTマッチング下で二つの文字列SとTの最長共通部分列を見つけるアルゴリズムを提案し、さらにバイナリケースではO(n2/log n)時間と空間でより高速な解法が存在することを示しています。これらの解法はそれぞれ異なるアプローチに基づいており、バイナリ文字列のCTマッチング特性を活用しています。
Stats
O(n6)時間とO(n4)空間で一般的な順序付きアルファベットに対する最長共通部分列(LCS)アルゴリズム。
O(n2/log n)時間と空間でバイナリケースにおけるLCSアルゴリズム。
Quotes
"Two strings of the same length are said to Cartesian-tree match (CT-match) if their Cartesian-trees are isomorphic."
"The CT-matching model is a relaxation of the OP-matching model, i.e., any OP-matching strings also CT-match, but the opposite is not true."
"We present the first polynomial-time algorithm that finds the longest common subsequence under CT-matching of two given strings S and T."