Mathematical binary relation
数学 において 、与えられた 数列 の 部分列 とは、与えられた数列から、残りの要素の順序を変えずに、いくつかの要素を削除するか、全く要素を削除しないことで得られる数列のことです。例えば、数列は 要素を削除した後に得られる 数列の部分列です 。 ある数列が別の数列の部分列であるという関係は、 半順序 です。
⟨
A
,
B
,
D
⟩
{\displaystyle \langle A,B,D\rangle }
⟨
A
,
B
,
C
,
D
,
E
,
F
⟩
{\displaystyle \langle A,B,C,D,E,F\rangle }
C
,
{\displaystyle C,}
E
,
{\displaystyle E,}
F
.
{\displaystyle F.}
部分列には、元の列では連続していなかった連続した要素が含まれることがあります。元の列の連続した要素からなる部分列(例えば )は 部分 文字列 です 。部分文字列は部分列を細分化したものです。
⟨
B
,
C
,
D
⟩
,
{\displaystyle \langle B,C,D\rangle ,}
⟨
A
,
B
,
C
,
D
,
E
,
F
⟩
,
{\displaystyle \langle A,B,C,D,E,F\rangle ,}
単語「 apple 」のすべての部分列のリストは、「 a 」、「 ap 」、「 al 」、「 ae 」、「 app 」、「 apl 」、「 ape 」、「 ale 」、「 appl 」、「 appe」、「aple 」 、「 apple 」 、「 p 」、「 pp 」、「 pl 」、「 pe 」、「 ppl 」、「 ppe 」、「 ple 」、「 pple 」、「 l 」 、 「 le 」 、「 e 」 、「」( 空の文字列) に なります。
共通部分列
2つのシーケンス と シーケンスが与えられ、 がとの両方の部分列である 場合 、シーケンスは と の 共通部分列 であると言われます。 たとえば、
の場合、 はと の共通部分列であると言われます。
X
{\displaystyle X}
Y
,
{\displaystyle Y,}
Z
{\displaystyle Z}
X
{\displaystyle X}
Y
,
{\displaystyle Y,}
Z
{\displaystyle Z}
X
{\displaystyle X}
Y
.
{\displaystyle Y.}
X
=
⟨
A
,
C
,
B
,
D
,
E
,
G
,
C
,
E
,
D
,
B
,
G
⟩
and
{\displaystyle X=\langle A,C,B,D,E,G,C,E,D,B,G\rangle \qquad {\text{ and}}}
Y
=
⟨
B
,
E
,
G
,
J
,
C
,
F
,
E
,
K
,
B
⟩
and
{\displaystyle Y=\langle B,E,G,J,C,F,E,K,B\rangle \qquad {\text{ and}}}
Z
=
⟨
B
,
E
,
E
⟩
.
{\displaystyle Z=\langle B,E,E\rangle .}
Z
{\displaystyle Z}
X
{\displaystyle X}
Y
.
{\displaystyle Y.}
これは 最長共通部分列 では ありません 。なぜなら の長さは 3 のみで、共通部分列の長さは 4 だからです。 と の最長共通部分列 は
Z
{\displaystyle Z}
⟨
B
,
E
,
E
,
B
⟩
{\displaystyle \langle B,E,E,B\rangle }
X
{\displaystyle X}
Y
{\displaystyle Y}
⟨
B
,
E
,
G
,
C
,
E
,
B
⟩
.
{\displaystyle \langle B,E,G,C,E,B\rangle .}
アプリケーション
サブシーケンスはコンピュータサイエンス に応用されており [1] 、特に バイオインフォマティクス の分野ではコンピュータを使用して DNA 、 RNA 、 タンパク質の シーケンスを比較、分析、保存します 。
たとえば、37 個の要素を含む 2 つの DNA 配列を考えてみましょう。
SEQ 1 = ACGGTGTCGTGCTATGCTGATGCTGACTTATATGCTA
SEQ 2 = CGTTCGGCTATCGTACGTTCTATTCTATGATTTCTAA
シーケンス 1 と 2 の最長共通部分シーケンスは次のとおりです。
LCS (SEQ 1 、SEQ 2 ) = CGTTCGGCTATGCTTCTACTTATTCTA
これは、最初のシーケンスの最長共通部分列の 27 要素を強調表示することで説明できます。
SEQ 1 = A CG G T G TCG T GCTATGCT GA T G CT G ACTTAT A T G CTA
SEQ 2 = CGTTCGGCTAT C G TA C G TTCTA TT CT A T G ATT T CTA A
これを示す別の方法は、 2 つのシーケンス を揃える ことです。つまり、最長共通サブシーケンスの要素を同じ列 (垂直バーで示されます) に配置し、発生した空サブシーケンスを埋めるために特殊文字 (ここではダッシュ) を導入します。
SEQ 1 = ACGGTGTCGTGCTAT-G--C-TGATGCTGA--CT-T-ATATG-CTA-
| || ||| |||| | | | | || | || | || | || |
SEQ 2 = -C-GT-TCG-GCTATCGTACGT--T-CT-ATTCTATGAT-T-TCTAA
サブシーケンスは、DNA の塩基 ( アデニン 、 グアニン 、 シトシン 、 チミン) を使用して、2 つの DNA 鎖の類似性を判断するために使用されます。
定理
実数 の無限列には必ず 無限 単調部分列が存在する。(これは ボルツァーノ・ワイエルシュトラスの定理の証明 に用いられる補題である 。)
における すべての無限 有界列には 収束する 部分列が存在する 。(これは ボルツァーノ・ワイエルシュトラスの定理 である。)
R
n
{\displaystyle \mathbb {R} ^{n}}
すべての 整数 と 長さの有限列には、少なくとも 長さの単調増加部分列 、または 長さの単調減少部分列 が含まれます 。(これが エルデシュ・シェケレスの定理 です。)
r
{\displaystyle r}
s
,
{\displaystyle s,}
(
r
−
1
)
(
s
−
1
)
+
1
{\displaystyle (r-1)(s-1)+1}
r
{\displaystyle r}
s
{\displaystyle s}
距離空間 がコンパクトであるとは、 内のすべてのシーケンス に、その極限が である収束部分シーケンスが存在する場合です 。
(
X
,
d
)
{\displaystyle (X,d)}
X
{\displaystyle X}
X
{\displaystyle X}
参照
部分列の極限 – ある部分列の極限
上限と下限 – シーケンスの境界 Pages displaying short descriptions of redirect targets
最長増加部分列問題 – コンピュータサイエンスの問題 Pages displaying short descriptions of redirect targets
注記
^ コンピュータサイエンスでは、 文字列は シーケンス の同義語としてよく使われます が、 部分文字列 と 部分シーケンスは 同義語ではないことに注意することが重要です。部分文字列は 文字列の連続した 部分ですが、部分シーケンスは必ずしもそうではありません。つまり、文字列の部分文字列は常に文字列の部分シーケンスですが、文字列の部分シーケンスは必ずしも文字列の部分文字列ではないということです。Gusfield , Dan (1999) [1997]. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology . USA: Cambridge University Press. p. 4. ISBN 0-521-58519-8 。
この記事にはPlanetMath の subsequence からの資料が組み込まれており 、これは Creative Commons Attribution/Share-Alike License に基づいてライセンスされています。