Skip to main content
QUICK REVIEW

[論文レビュー] Computing and Enumerating Minimal Common Supersequences Between Two Strings

Braeden Sopp, Adiesha Liyanage|arXiv (Cornell University)|Mar 23, 2026
Algorithms and Data Compression被引用数 0
ひとこと要約

この論文は、2つの文字列の最小共通超列を線形時間で計算するアルゴリズムと、二次空間・線形時間遅延・三次時間前処理で全ての最小共通超列を列挙する構造を提示する。

ABSTRACT

Given \(k\) strings each of length at most $n$, computing the shortest common supersequence of them is a well-known NP-hard problem (when \(k\) is unbounded). On the other hand, when \(k=2\), such a shortest common supersequence can be computed in \(O(n^2)\) time using dynamic programming as a textbook example. In this paper, we consider the problem of computing a \emph{minimal} common supersequence and enumerating all minimal common supersequences for \(k=2\) input strings. Our results are summarized as follows. A minimal common supersequence of \(k=2\) input strings can be computed in $O(n)$ time. (The method also works when \(k\) is a constant). All minimal common supersequences between two input strings can be enumerated with a data structure of $O(n^2)$ space and an $O(n)$ time delay, and the data structure can be constructed in $O(n^3)$ time.

研究の動機と目的

  • LCS/SCS問題の補完として、最小共通超列(MCS)の効率的計算を動機づける。
  • 2つの文字列(k=2)に対するMCSを線形時間で計算する方法を提供し、複数文字列への洞察を拡張する。
  • 全てのMCSを定理的な時間/空間保証で列挙する枠組みを開発する。

提案手法

  • 共通超列を走査し、本質性基準(Lemma 3.1)を用いて削除可能なインデックスを削除し、2つの文字列に対してO(n)時間でMCSを得る。
  • BuildRightEmbeddingを用いてAとBが超列にどう埋め込まれるかを追跡するための右埋め込みを構築する。
  • 本質インデックス(Lem and Rem embedding)を用いてMCSの性質を証明し、削除を導きつつ最小性を保証する。
  • 非本質的な位置を線形時間で削除してMCSを出力する構成的アルゴリズム(ReduceSupersequence)を提供する。
  • k文字列へ拡張し、MCSを計算する時間をO(kn(log k + log n))とする。
  • AとBをブロックに分割し、MCSをラベル付き二部グラフG(A,B)のパスとしてモデル化し、st-パスとMCSが一対一対応する列挙フレームワークを開発する。
Figure 1: Depicted on the left is $G(A,B)$ containing all nodes with the vertices of $G_{st}(A,B)$ colored in terms of their respective partitions. Red vertices belong partition $V_{A}$ and blue vertices belong to partition $V_{B}$ . On the right we have $G_{st}(A,B)$ with the vertices labeled. $A=b
Figure 1: Depicted on the left is $G(A,B)$ containing all nodes with the vertices of $G_{st}(A,B)$ colored in terms of their respective partitions. Red vertices belong partition $V_{A}$ and blue vertices belong to partition $V_{B}$ . On the right we have $G_{st}(A,B)$ with the vertices labeled. $A=b

実験結果

リサーチクエスチョン

  • RQ12つの文字列に対して最小共通超列を線形時間でnに依存せずに計算できるか。
  • RQ22つの文字列間の全ての最小共通超列を効率的に列挙するにはどうすればよいか。
  • RQ3MCSと列挙可能なパスの一対一対応を可能にするデータ構造と分割アプローチは何か。
  • RQ42文字以上への拡張はMCSの計算時間にどう影響するか。
  • RQ5最小性と正確性を保証する構造的性質(埋め込み、重要インデックス)は何か。

主な発見

  • 2つの入力文字列に対してMCSをO(n)時間で計算できる。
  • 2文字列間の全てのMCSをO(n^2)空間とO(n)時間遅延で列挙でき、列挙用データ構造をO(n^3)時間で構築できる。
  • k文字列の場合、MCSをO(kn(log k + log n))時間で計算できる。
  • 任意の共通超列から線形時間でミニマルなものへ還元するアプローチにより、効率的なMCS計算が可能。
  • 列挙フレームワークは、MCSと一対一対応するst-パスのあるグラフG(A,B)を用いる。
  • 本論文は、重要インデックスと区間分割の性質(定理5.1, 5.2, 5.3)を通じてMCSを厳密に特徴づける。
Figure 2: On the left hand side, we show characters used in a right embedding of $A_{1}=abbc$ into $S=abccbacc$ in orange cells. On the right, we depict the output data structure for $S$ and $A_{1}$ . On the bottom is the result of $\textsc{MergeRightEmbedding}(S;A_{1},A_{2})$ where $A_{2}=ac$ .
Figure 2: On the left hand side, we show characters used in a right embedding of $A_{1}=abbc$ into $S=abccbacc$ in orange cells. On the right, we depict the output data structure for $S$ and $A_{1}$ . On the bottom is the result of $\textsc{MergeRightEmbedding}(S;A_{1},A_{2})$ where $A_{2}=ac$ .

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。