# Subsequence

In mathematics, a subsequence of a given sequence is a sequence that can be derived from the given sequence by deleting some or no elements without changing the order of the remaining elements. For example, the sequence ${\displaystyle \langle A,B,D\rangle }$ is a subsequence of ${\displaystyle \langle A,B,C,D,E,F\rangle }$ obtained after removal of elements ${\displaystyle C,}$ ${\displaystyle E,}$ and ${\displaystyle F.}$ The relation of one sequence being the subsequence of another is a preorder.

Subsequences can contain consecutive elements which were not consecutive in the original sequence. A subsequence which consists of a consecutive run of elements from the original sequence, such as ${\displaystyle \langle B,C,D\rangle ,}$ from ${\displaystyle \langle A,B,C,D,E,F\rangle ,}$ is a substring. The substring is a refinement of the subsequence.

The list of all subsequences for the word "apple" would be "a", "ap", "al", "ae", "app", "apl", "ape", "ale", "appl", "appe", "aple", "apple", "p", "pp", "pl", "pe", "ppl", "ppe", "ple", "pple", "l", "le", "e", "" (empty string).

## Common subsequence

Given two sequences ${\displaystyle X}$ and ${\displaystyle Y,}$ a sequence ${\displaystyle Z}$ is said to be a common subsequence of ${\displaystyle X}$ and ${\displaystyle Y,}$ if ${\displaystyle Z}$ is a subsequence of both ${\displaystyle X}$ and ${\displaystyle Y.}$ For example, if

${\displaystyle X=\langle A,C,B,D,E,G,C,E,D,B,G\rangle \qquad {\text{ and}}}$
${\displaystyle Y=\langle B,E,G,J,C,F,E,K,B\rangle \qquad {\text{ and}}}$
${\displaystyle Z=\langle B,E,E\rangle .}$
then ${\displaystyle Z}$ is said to be a common subsequence of ${\displaystyle X}$ and ${\displaystyle Y.}$

This would not be the longest common subsequence, since ${\displaystyle Z}$ only has length 3, and the common subsequence ${\displaystyle \langle B,E,E,B\rangle }$ has length 4. The longest common subsequence of ${\displaystyle X}$ and ${\displaystyle Y}$ is ${\displaystyle \langle B,E,G,C,E,B\rangle .}$

## Applications

Subsequences have applications to computer science,[1] especially in the discipline of bioinformatics, where computers are used to compare, analyze, and store DNA, RNA, and protein sequences.

Take two sequences of DNA containing 37 elements, say:

SEQ1 = ACGGTGTCGTGCTATGCTGATGCTGACTTATATGCTA
SEQ2 = CGTTCGGCTATCGTACGTTCTATTCTATGATTTCTAA

The longest common subsequence of sequences 1 and 2 is:

LCS(SEQ1,SEQ2) = CGTTCGGCTATGCTTCTACTTATTCTA

This can be illustrated by highlighting the 27 elements of the longest common subsequence into the initial sequences:

SEQ1 = ACGGTGTCGTGCTATGCTGATGCTGACTTATATGCTA
SEQ2 = CGTTCGGCTATCGTACGTTCTATTCTATGATTTCTAA

Another way to show this is to align the two sequences, that is, to position elements of the longest common subsequence in a same column (indicated by the vertical bar) and to introduce a special character (here, a dash) for padding of arisen empty subsequences:

SEQ1 = ACGGTGTCGTGCTAT-G--C-TGATGCTGA--CT-T-ATATG-CTA-
| || ||| ||||| |  | |  | || |  || | || |  |||
SEQ2 = -C-GT-TCG-GCTATCGTACGT--T-CT-ATTCTATGAT-T-TCTAA

Subsequences are used to determine how similar the two strands of DNA are, using the DNA bases: adenine, guanine, cytosine and thymine.

## Theorems

• Every infinite sequence of real numbers has an infinite monotone subsequence (This is a lemma used in the proof of the Bolzano–Weierstrass theorem).
• Every infinite bounded sequence in ${\displaystyle \mathbb {R} ^{n}}$ has a convergent subsequence (This is the Bolzano–Weierstrass theorem).
• For all integers ${\displaystyle r}$ and ${\displaystyle s,}$ every finite sequence of length at least ${\displaystyle (r-1)(s-1)+1}$ contains a monotonically increasing subsequence of length ${\displaystyle r}$ or a monotonically decreasing subsequence of length ${\displaystyle s}$ (This is the Erdős–Szekeres theorem).