Construa uma matrix de programação dinâmica c usada para computar o tamanho de uma subsequência comum mais longa entre as sequências a seguir, e explique o significado do valor em c[i,j].
CTACAG
GTCAC
Solução:
Usando o método visto em aula, temos:
c[i][j]= tamanho da subsequência comum mais longa entre
os sufixos X[7−j..6] e Y[6−i..5] das sequências de
entrada X= CTACAG
e Y= GTCAC
.
G | A | C | A | T | C | ||
0 | 0 | 0 | 0 | 0 | 0 | 0 | |
C | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
A | 0 | 0 | 1 | 1 | 2 | 2 | 2 |
C | 0 | 0 | 1 | 2 | 2 | 2 | 3 |
T | 0 | 0 | 1 | 2 | 2 | 3 | 3 |
G | 0 | 1 | 1 | 2 | 2 | 3 | 3 |
Usando o método do livro de Cormen et al, Introduction to Algorithms, segunda edição, temos:
c[i][j]= tamanho da subsequência comum mais longa entre
os prefixos X[1..i] e Y[1..j] das sequências de
entrada X= CTACAG
e Y= GTCAC
.
G | T | C | A | C | ||
0 | 0 | 0 | 0 | 0 | 0 | |
C | 0 | 0 | 0 | 1 | 1 | 1 |
T | 0 | 0 | 1 | 1 | 1 | 1 |
A | 0 | 0 | 1 | 1 | 2 | 2 |
C | 0 | 0 | 1 | 2 | 2 | 3 |
A | 0 | 0 | 1 | 2 | 3 | 3 |
G | 0 | 1 | 1 | 2 | 3 | 3 |