1. 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