第二の特性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/06/22 05:55 UTC 版)
二つの列 XとYの最後の要素は同じでないとする。その時、XとYの最長共通部分列は、二つの配列LCS(Xn,Ym-1)とLCS(Xn-1,Ym)の長い方である。 この特質を理解するため、次の二つの配列について考える: 列 X: ABCDEFG (長さn) 列 Y: BCDGK (長さm) これら二つの配列の最長共通部分列は、最後がG(列"X"の最後の要素) もしくは、そうではないもののどちらかである。 ケース1:最後がGの最長共通部分列この場合、最長共通部分列の最後はKではありえない。このとき、もしKが最長共通部分列にあれば、それは最後の文字となるので、Kは最長共通部分列にはない。したがって、YからKを取り除いても問題ないので、こう書くことができる:LCS(Xn,Ym) = LCS(Xn, Ym-1). ケース2:最長共通部分列の最後が、Gではない場合この場合は、上記と同じ理由により、列Xから G を取り除いても問題ないので、こう書くことができる:LCS(Xn,Ym) = LCS(Xn-1, Ym). いずれにせよ、求めるべき最長共通部分列は、LCS(Xn, Ym-1) もしくはLCS(Xn-1, Ym)である。これら二つのLCSは、いずれもXとYの共通部分列である。LCS(X,Y)は定義より最長なので、 LCS(Xn, Ym-1) と LCS(Xn-1, Ym) の長い方である。
※この「第二の特性」の解説は、「最長共通部分列問題」の解説の一部です。
「第二の特性」を含む「最長共通部分列問題」の記事については、「最長共通部分列問題」の概要を参照ください。
- 第二の特性のページへのリンク