126

Francisco Eloi Soares de Araujo - USP · 2012-09-13 · Francisco Eloi Soares de Araujo Tese apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo ara

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Alinhamentose comparação de sequências

Francisco Eloi Soares de Araujo

Tese apresentadaao

Instituto de Matemática e Estatísticada

Universidade de São Paulopara

obtenção do títulode

Doutor em Ciências

Programa: Ciência da Computação

Orientador: Prof. Dr. José Augusto Ramos Soares

Durante o desenvolvimento deste trabalho o autor recebeu auxílio nanceiro da CAPES

São Paulo, 23 de julho de 2012

Alinhamentose comparação de sequências

Esta versão denitiva da tese

contém as correções e alterações sugeridas pela

Comissão Julgadora durante a defesa realizada

por Francisco Eloi Soares de Araujo em 24 de maio de 2012.

Comissão Julgadora:

• Prof. Dr. José Augusto Ramos Soares (Presidente) IME - USP

• Prof. Dr. Carlos Eduardo Ferreira IME - USP

• Prof. Dr. Luiz Carlos da Silva Rozante CMCC - UFABC

• Prof. Dr. Zanoni Dias IC - UNICAMP

• Prof. Dr. Fábio Henrique Viduani Martinez FACOM - UFMS

Agradecimentos

Muitos parentes e amigos foram importantes para o nosso doutorado. Certamente cada

um desses sabe da sua importância nesse processo. Se eu esquecer de referenciar alguém

direta ou indiretamente, perdoe-me pois a memória às vezes falha.

Agradeço inicialmente e principalmente à minha família: à Ione, minha esposa e aos meus

lhos Gabriel, Sarah e Pedro que me deram amor e apoio logístico durante todos os anos

de meu doutorado; e ao José Augusto, meu orientador e amigo, pelos ensinamentos e pela

paciência sobrenatural. Certamente, sem o apoio da família e a paciência do José Augusto,

esse trabalho não teria terminado.

Agradeço aos irmão e cunhados, sobrinhos e sobrinhas, sogro e sogra pelo apoio moral,

em particular à minha cunhada Cláudia pelo incentivo e também pelas caronas do e para o

IME. Agradeço também à minha família que estou redescobrindo em Campo Grande pela

acolhida e pelo carinho recebido quando cheguei naquela cidade: meu tio Jair e meus primos

Aily, Aise e Fernando, bem como os respectivos companheiros e descendentes.

Pela torcida e pela amizade, agradeço aos amigos do colégio São Luís; aos colegas de

Jaboticabal incluindo em particular os irmãos de coração da república Amoribunda; aos

amigos com quem trabalhei, Paulo Sérgio na Unisa, Hirata, Joyce, Nelson e Shirley no Senac,

e Ana Lúcia, Cláudia Melo, Gabiru, Hamilton e Helena na Metodista; aos atuais amigos e

colegas de trabalho da UFMS, em particular aos companheiros da FACOM-2 Carlos Higa,

Fábio Iaione e Vagner Pedrotti que acompanharam os últimos momentos desse trabalho; aos

amigos de doutorado Alexandre, Álvaro, Cao, Charlie Brown, Fábio Viduani, Jair Donadelli,

Marco Aurélio, Mário Leston, Rogério e Said, e aos professores do IME Coelho, Cristina,

José Augusto, Nami, Paulo Feolo, Yoshiharu e Yoshiko que me ensinaram muito. Também

agradeço ao Professor Carlinhos do IME que esteve presente em todas as etapas de avaliação

deste trabalho com sugestões motivadoras e enriquecedoras.

Agradeço ainda à CAPES pelo auxílio nanceiro durante o doutorado.

Elói Araújo

i

ii

iii

Aos meus pais (in memoriam),

à minha esposa Ione e aos meus queridos lhos Gabriel, Sarah e Pedro,

que sempre me apoiaram

e ao meu orientador,

a quem co grato pela oportunidade de estudar computação.

iv

Resumo

Araujo, F. E. S. Alinhamentos e comparação de sequências. 2012. Tese (Doutorado) -

Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2012.

A comparação de sequências nitas é uma ferramenta que é utilizada para a solução

de problemas em várias áreas. Comparamos sequências inferindo quais são as operações de

edição de substituição, inserção e remoção de símbolos que transformam uma sequência em

uma outra. As matrizes de pontuação são estruturas largamente utilizadas e que denem

um custo para cada tipo de operação de edição. Uma matriz de pontuação γ é indexada

pelos símbolos do alfabeto. A entrada de γ na linha a, coluna b mede o custo da operação

de edição para substituir o símbolo a pelo símbolo b. As matrizes de pontuação induzem

funções que atribuem uma pontuação para um conjunto de operações de edição. Algumas

dessas funções para a comparação de duas e de várias sequências são estudadas nesta tese.

Quando cada símbolo de cada sequência é editado exatamente uma vez para transformar

uma sequência em outra, o conjunto de operações de edição pode ser representado por

uma estrutura conhecida por alinhamento. Descrevemos uma estrutura para representar

o conjunto de operações de edição que não pode ser representado por um alinhamento

convencional e descrevemos um algoritmo para encontrar a pontuação de uma sequência

ótima de operações de edição usando um algoritmo conhecido para encontrar a pontuação

de um alinhamento convencional ótimo.

Considerando três diferentes funções induzidas de pontuação, caracterizamos, para cada

uma delas, a classe das matrizes para as quais as funções induzidas de pontuação são métricas

nas sequências.

Dadas duas matrizes de pontuação γ e δ, dizemos que elas são equivalentes para uma

dada função que é induzida por uma matriz de pontuação e que avalia a qualidade de um

alinhamento se, para quaisquer dois alinhamentos A e B, vale o seguinte: o alinhamento A

é melhor do que o alinhamento B considerando a matriz γ se e somente se A é melhor

do que o alinhamento B considerando a matriz δ. Neste trabalho, determinamos condições

necessárias e sucientes para que duas matrizes de pontuação sejam equivalentes.

Finalmente, denimos três novos critérios para pontuar alinhamentos de várias sequên-

cias. Todos os critérios consideram o comprimento do alinhamento além das operações de

edição por ele representadas. Para cada um dos critérios denidos, propomos um algoritmo

e o problema de decisão correspondente mostramos ser NP-completo.

v

vi

Palavras-chave: métrica, matrizes equivalentes, custo normalizado de alinhamentos, dis-

tância de edição, alinhamento estendido, alinhamento de sequências, alinhamento de várias

sequências.

Abstract

Araujo, F. E. S. Alignment and comparison of sequences. 2012. Tese (Doutorado) -

Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2012.

Comparison of nite sequences is a tool used to solve problems in several areas. In order

to compare sequences, we infer which are the edit operations of substitution, insertion and

deletion of symbols that transform one sequence into another. Scoring matrices are a widely

used structure to dene a cost for each type of edit operation. A scoring matrix γ is indexed

by symbols of an alphabet. The entry in γ in row a and column b measures the cost of the

edit operation for replacing symbol a by symbol b. Scoring matrices induce functions that

assign a score for a set of edit operations. Some of these functions for comparing two and

multiple sequences are studied in this thesis.

If each symbol is edited exactly once for transforming a sequence into another, the set of

edit operations can be represented by a structure called alignment. We describe a structure to

represent the set of edit operations that cannot be represented by a conventional alignment

and we design an algorithm to nd the cost of an optimal sequence of edit operations by

using a known algorithm to nd the cost of an optimal alignment.

Considering three dierent kinds of induced scoring functions, we characterize, for each

one of them, the class of matrices for which the induced scoring functions are metrics on

sequences.

Given two scoring matrices γ and δ, we say they are equivalent for a given function that

is induced by a scoring matrix and that evaluates the quality of an alignment if, for any two

alignments A and B of two sequences, we have the following: alignment A is better than B

considering scoring matrix γ if and only if A is better than B considering scoring matrix

δ. In this work, we determine necessary and sucient conditions for scoring matrices to be

equivalent.

Finally, we dene three new criteria for scoring alignments of several sequence. Every

criterion considers the length of the alignment and the edit operations represented by it. An

algorithm for each criterion is studied and the corresponding decision problem is shown to

be NP-complete.

Keywords: metric, equivalent matrices, normalized alignment cost, edit distance, extended

alignment, sequence alignment, multiple sequence alignments.

vii

viii

Sumário

1 Introdução 1

1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Conceitos 7

2.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Alfabeto e sequências . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Alinhamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.3 Matrizes de pontuação . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.4 Digrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.5 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.6 Fator de aproximação . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Alinhamento de duas sequências . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.1 Critério vAγ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 Critério vNγ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Alinhamento de várias sequências . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3.1 Algoritmos exatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3.2 Complexidade do problema . . . . . . . . . . . . . . . . . . . . . . . 30

3 Alinhamento Estendido 37

4 Matrizes que induzem métricas 43

4.1 Distância de alinhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2 Distância normalizada de alinhamento . . . . . . . . . . . . . . . . . . . . . 55

4.3 Distância de edição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.4 Comentário nal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 Matrizes equivalentes 73

5.1 Operações ⊗ e ⊕ nas matrizes de pontuação . . . . . . . . . . . . . . . . . . 74

5.2 Condições necessárias para γ ∼ δ em B . . . . . . . . . . . . . . . . . . . . . 76

ix

x SUMÁRIO

6 Alinhamento de várias sequências 83

6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.2 Algoritmos exatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.2.1 Pontuação-SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.2.2 Critério V1γ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6.2.3 Critério V2γ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.2.4 Critério V3γ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.3 Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.4 Algoritmo de Aproximação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.4.1 v-estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.4.2 Desdobramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.4.3 Alinhamento compatível . . . . . . . . . . . . . . . . . . . . . . . . . 102

6.4.4 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7 Conclusão 109

Capítulo 1

Introdução

A comparação de sequências nitas é uma ferramenta que é utilizada para a soluçãode problemas em várias áreas tais como biologia computacional [SM97], processamento detextos [AG97], reconhecimento de padrões [MV93], etc. Uma maneira de comparar umasequência com outras consiste em determinar quais são as operações de edição de inserção,remoção e substituição que transformam uma sequência em outras.

O alinhamento de sequências nitas é uma estrutura que permite a visualização de umconjunto de operações de edição que transformam uma sequência nas demais. Dependendoda aplicação e da formulação do problema, duas ou várias sequências podem ser comparadas.Comparamos duas sequências quando, por exemplo, queremos identicar se dois fragmentosde DNA possuem a mesma origem. Comparamos várias sequências quando, por exemplo,queremos representar regiões altamente conservadas em um conjunto de proteínas. Um ali-nhamento que representa a comparação de duas ou mais sequências é obtido colocando umasequência embaixo da outra de modo que os símbolos editados quem em uma mesmacoluna. Um símbolo especial é utilizado de modo a preencher espaços em branco quandoalinhamos as sequências. Assim, a b c c

a b c b

b b c

, a b c c

a b c b

b b c

e

a b c c

a b c b

b b c

são alinhamentos de (abcc, abcb, bbc).

Uma função objetivo é denida para atribuir uma pontuação a cada alinhamento. Afunção objetivo utilizada é o critério para pontuar um alinhamento, e um alinhamento deuma k-upla de sequências nitas S cuja pontuação da função objetivo é mínima é ditoalinhamento ótimo de S para o critério considerado.

Seja S o conjunto de todas as k-uplas de sequências nitas. Dizemos que f : S → R éuma função ótima para um dado critério se f(S) é a pontuação de um alinhamento ótimode S ∈ S.

Nesta tese, estudamos alguns critérios para pontuar alinhamentos de duas e de váriassequências. Estudamos também um critério para pontuar um conjunto de operações de ediçãoque transforma uma sequência em outra mas, como veremos, não possui um alinhamentoconvencional para representá-lo.

1

2 INTRODUÇÃO 1.1

1.1 Objetivos

Seja Σ um alfabeto e Σ = Σ ∪ , onde o símbolo 6∈ Σ é utilizado para representarinserções e remoções. Denotamos por Σ∗ o conjunto de todas as sequências nitas formadascom elementos de Σ.

Um alinhamento de duas sequências pode ser visto como uma representação de umconjunto de operações de edição de inserção, remoção e de substituição que transformamuma sequência em outra. Nesse sentido, o número de colunas é exatamente a quantidadedessas operações de edição. Por exemplo, o alinhamento[

a b a

b a a b

]representa uma transformação de aba em baab através das substituições do primeiro e doúltimo a de aba por b e a respectivamente. A remoção do b e a inserção apropriada de uma e um b em aba completam a transformação.

Duas sequências podem ser alinhadas de várias maneiras diferentes. Uma dada estruturaconhecida por matriz de pontuação pode ser usada para avaliar a qualidade de um alinha-mento de duas sequências. Uma matriz de pontuação γ para Σ é uma matriz de númerosreais indexada nas linhas e nas colunas por elementos de Σ , ou seja, se a, b são símbolosem Σ , γa→b denota a entrada de γ na linha a e coluna b. Se a, b ∈ Σ, então γa→b é o custode substituição do símbolo a pelo símbolo b, γa→ é o custo de remoção do símbolo a eγ →b é o custo de inserção do símbolo b. As operações de substituição, inserção e remoçãosobre uma sequência são chamadas de operações de edição. O valor de γ → é indenido. Afunção vAγ associa a cada alinhamento A a pontuação vAγ(A) que é a soma dos custos dasoperações de edição representadas em A. A função ótima para esse critério é optAγ. A funçãooptAγ é conhecida como distância de Levenshtein [Lev66] se, para cada par de elementosa 6= b em Σ , temos γa→a = 0 e γa→b = 1. Entretanto, nem sempre a função optAγ podeser chamada de distância, ou seja, nem sempre optAγ é uma métrica em Σ∗. Sellers [Sel74]mostrou que se γ é uma métrica em Σ , então optAγ também é uma métrica em Σ∗. De-terminamos [AS06] as condições necessárias e sucientes da matriz γ para que optAγ sejamétrica em Σ∗. Mostramos, por exemplo, que se a matriz de pontuação é

γ =

a b c

a 0 1 3 1b 1 0 1 1c 4 1 0 1

1 1 1

, (1.1)

então optAγ é uma métrica em Σ∗, embora γ não seja métrica em Σ pois γa→c 6= γc→a eγa→c 6≤ γa→ + γ →c.

Navarro [Nav06] questionou se o resultado acima poderia ser estendido caracterizandoassim, por exemplo, a classe de matrizes de pontuação γ onde optAγ é uma quasimétricaem Σ∗. Como quasimétrica possui, exceto pela simetria, as propriedades de uma métrica, oquestionamento de Navarro motivou a investigação individual, para cada uma das proprie-dades P de uma métrica, das condições necessárias e sucientes de γ para optAγ possuir apropriedade P em Σ∗.

Se γ não possui a propriedade da desigualdade triangular em Σ ou, para algum a ∈ Σ,γa→a 6= 0, então pode ser o caso de que não seja possível representar por um alinhamento umconjunto de operações de edição de custo mínimo. Neste caso, denimos uma estrutura que

1.1 OBJETIVOS 3

tenha como nalidade essa representação e a chamamos de alinhamento estendido. Enquantocada coluna de um alinhamento convencional representa uma única operação de edição, emum alinhamento estendido cada coluna representa uma sequência de operações de edição.Por exemplo, a

ba

c

a

b

a

b

representa um alinhamento estendido de (aac, babb). Nesse exemplo, a primeira coluna re-presenta que a foi substituído por b; a segunda coluna representa que a não sofreu alteração;a terceira coluna representa que c foi removido, depois um a foi inserido e depois substituídopor b; e a quarta coluna representa que a foi inserido e depois substituído por b. Assimcomo no alinhamento convencional, a pontuação de um alinhamento estendido é a soma doscustos das operações de edição por ele representadas. O valor da função optEγ que recebecomo argumento um par ordenado de sequências (s, t) é a pontuação do alinhamento esten-dido de (s, t) de menor pontuação. Um algoritmo para esse critério é estudado nesta tese e,assim como para a função optAγ, estudamos, para cada propriedade P de uma métrica, ascondições necessárias e sucientes da matriz de pontuação γ para a função optEγ possuir apropriedade P .

Voltando ao alinhamento convencional de duas sequências, um outro aspecto consideradona pontuação é o fato de que optAγ pode não descrever adequadamente o grau de semelhançaentre duas sequências. Suponha, por exemplo, que duas sequências s e t diferem apenas emum símbolo. A diferença é representada por uma única operação de edição. Se, por exemplo,a quantidade de símbolos de cada uma das duas sequências é muito grande comparada como custo da operação de edição envolvida, podemos dizer que as sequências são praticamenteiguais. Por outro lado, se a quantidade de símbolos de cada uma das sequências é pequena,então as sequências podem ser consideradas muito diferentes. Levando em consideraçãoa observação acima na pontuação de um alinhamento, Marzal e Vidal [MV93] deniramo critério vNγ que é a pontuação normalizada de um alinhamento (convencional). Maisprecisamente, sendo A um alinhamento de duas sequências, vNγ(A) = vAγ(A)/|A|, onde |A|é o número de colunas de A. A função ótima para o critério vNγ é optNγ, ou seja, optNγ é apontuação-vNγ de um alinhamento de menor pontuação-vNγ de duas sequências.

Diferentemente do critério vAγ para pontuar alinhamentos, γ ser uma métrica em Σnão implica que optNγ seja uma métrica em Σ∗. Essa observação foi feita por Marzal eVidal [MV93] a partir da matriz de pontuação

γ =

a b

a 0 5 5b 5 0 1

5 1

.

Note que γ é uma métrica em Σ , mas optNγ não é métrica em Σ∗ desde que

optNγ(a, b) = min

vNγ

([a

b

]), vNγ

([a

b

]), vNγ

([a

b

])= 3

>17

6=

1

2+

7

3= vNγ

([a

a b

])+ vNγ

([a b

b

])≥ optNγ(a, ab) + optNγ(ab, b).

4 INTRODUÇÃO 1.2

Yujian e Bo [YB07] observaram que é um problema em aberto decidir se uma matriz γinduz optNγ métrica em Σ∗. Em [AS06] resolvemos esse problema mostrando as condiçõessucientes e necessárias de γ para optNγ ser uma métrica em Σ∗.

Quando usamos o critério vAγ e calculamos a pontuação de dois alinhamentos A e B deduas sequências e vAγ(A) ≤ vAγ(B), entendemos que, para o critério vAγ, o alinhamento Aé melhor (ou pelo menos não é pior) do que o alinhamento B. Essa classicação dependeda matriz de pontuação γ. Por exemplo, considere duas matrizes de pontuação γ e δ taisque

γ =

a b

a 0 1 1b 1 0 1

1 1

e δ =

a b

a 0 1 2b 1 0 2

2 2

e os seguintes alinhamentos de (aba, bab):

A =

[a b a

b a b

]e B =

[a b a

b a b

]Se utilizamos a matriz de pontuação γ, então B é considerado como um alinhamento melhordo que A pois

vAγ(B) = 1 + 0 + 0 + 1 = 2 < 3 = 1 + 1 + 1 = vAγ(A),

mas se utilizamos δ, então é A que é considerado melhor pois

vAδ(A) = 1 + 1 + 1 = 3 < 4 = 2 + 0 + 0 + 2 = vAδ(B).

Entretanto, não é verdade que se γ 6= δ, então existem sequências s, t ∈ Σ∗ e alinhamentosA e B de (s, t) tais que A é melhor que B se a matriz de pontuação é γ e B é melhor queA se a matriz de pontuação é δ. Em outras palavras, pode acontecer de γ 6= δ e

vAγ(A) ≤ vAγ(B) se e somente se vAδ(A) ≤ vAδ(B) (1.2)

para cada par de alinhamentos A e B de duas sequências. Se vale (1.2), dizemos que asmatrizes de pontuação γ e δ são equivalentes . Nesta tese, caracterizamos as matrizes depontuação equivalentes para um conjunto amplo de matrizes de pontuação.

Um alinhamento de várias sequências é uma generalização do alinhamento de duassequências. A pontuação-SP é um critério para pontuar um alinhamento de várias sequên-cias que, assim como o critério vAγ para duas sequências, não considera o comprimento dassequências alinhadas mas somente a soma dos custos das operações de edição representa-das nas colunas do alinhamento. Nesta tese, apresentamos três novos critérios para pontuaros alinhamentos e que representa, cada um deles, uma generalização do critério vNγ paraalinhamento de várias sequências. Para cada um dos critérios propostos, mostramos umalgoritmo exato para encontrar a pontuação de um alinhamento ótimo e mostramos que aversão de decisão do problema é NP-completa. Também mostramos um algoritmo para obteruma pontuação aproximada da pontuação ótima do alinhamento de várias sequências para apontuação-SP quando a matriz de pontuação γ induz métrica em optAγ. Esse algoritmo podeser utilizado para obter uma pontuação aproximada da pontuação ótima quando o critérioutilizado é um dos três novos critérios denidos e a matriz de pontuação induz métrica emoptNγ.

1.3 CONTRIBUIÇÕES 5

1.2 Contribuições

As principais contribuições desta tese e que foram discutidas na seção anterior são resu-midas a seguir.

(a) Denimos alinhamento estendido de duas sequências, que é uma estrutura mais geraldo que um alinhamento convencional e que utilizamos para representar um conjuntode operações de edição que transformam uma sequência em outra. Denimos tambémo critério optEγ para pontuar alinhamentos estendidos e descrevemos um algoritmopara computar optEγ e um alinhamento estendido ótimo.

(b) Descrevemos e ampliamos os resultados obtidos em [AS06] caracterizando, para cadapropriedade P de uma métrica, a classe das matrizes de pontuação γ para as quais afunção induzida optAγ possui a propriedade P em Σ∗; e fazemos o mesmo considerandoas funções optNγ e optEγ.

(c) Mostramos como identicar matrizes de pontuação equivalentes para uma ampla classede matrizes de pontuação.

(d) Denimos V1γ, V

2γ e V3

γ, que são, como veremos, três novos critérios para a pontuaçãode um alinhamento de várias sequências. Eles levam em conta não somente a soma doscustos das operações de edição em um alinhamento mas também o seu comprimento.Para cada um desses critérios, descrevemos um algoritmo exato para encontrar a pon-tuação de um alinhamento ótimo e mostramos que a versão de decisão desse problemaé NP-completa.

Descrevemos um algoritmo para encontrar uma pontuação aproximada da pontuaçãode um alinhamento ótimo de várias sequências para o critério pontuação-SP quando amatriz de pontuação γ induz métrica na função optAγ. Esse algoritmo pode ser utilizadotambém como algoritmo de aproximação para encontrar uma pontuação aproximada dapontuação de um alinhamento ótimo para o critério V2

γ quando a matriz de pontuaçãoγ induz métrica em optNγ.

1.3 Organização do Trabalho

Esta tese está organizada como descrito a seguir. No Capítulo 2 apresentamos os conceitose os principais resultados da revisão bibliográca que julgamos mais importantes para estetrabalho. No Capítulo 3 apresentamos o conceito de alinhamento estendido, o critério vEγpara pontuar um alinhamento estendido e um algoritmo para encontrar a pontuação deum alinhamento estendido ótimo, assim como o alinhamento estendido correspondente. NoCapítulo 4 caracterizamos as matrizes de pontuação γ que induzem funções optAγ que sãométricas nas sequências; e fazemos o mesmo com as funções optNγ e optEγ. No Capítulo 5mostramos como determinar se duas matrizes de pontuação γ e δ são equivalentes. NoCapítulo 6 descrevemos os resultados para alinhamentos de várias sequências. Finalmente, noCapítulo 7 apresentamos as conclusões obtidas neste trabalho, sugerindo trabalhos futuros.

6 INTRODUÇÃO 1.3

Capítulo 2

Conceitos

Neste capítulo dissertamos sobre os conceitos utilizados nesta tese. Descrevemos os prin-cipais algoritmos e a complexidade dos problemas estudados e que são mencionados naliteratura. Na Seção 2.1 fazemos as denições básicas que são utilizadas nas demais seçõese nos capítulos seguintes. Nas Seções 2.2 e 2.3 apresentamos alguns resultados encontradosem nossa pesquisa bibliográca sobre alinhamentos de duas e de várias sequências.

2.1 Preliminares

2.1.1 Alfabeto e sequências

Um alfabeto Σ é um conjunto nito e não-vazio de símbolos . Denotamos uma sequêncianita s sobre Σ por s(1)s(2) . . . s(n), onde s(j) ∈ Σ. Dizemos que o comprimento de s,denotado por |s|, é n. Denotamos a sequência s(p)s(p+1) . . . s(q) por s(p . . . q), e a sequênciavazia, que é a sequência de comprimento igual a zero, por ε. A sequência an é a sequênciaformada por n símbolos a. Denotamos a sequência formada pela concatenação das sequênciass e t por st.

2.1.2 Alinhamentos

Seja Σ = Σ ∪ , onde 6∈ Σ. Chamamos espaço o símbolo . Ele é usado pararepresentar uma inserção ou uma remoção em operações de edição. Seja S = (s1, . . . , sk)uma k-upla de elementos em Σ∗. Um alinhamento de S é uma k-upla A = (s′1, . . . , s

′k) de

elementos em Σ∗ , onde

(a) cada sequência s′h é obtida inserindo-se espaços em sh,

(b) |s′h| = |s′i| para cada h, i e

(c) não existe j tal que s′1(j) = . . . = s′k(j) = .

Quando o alfabeto dos símbolos que formam os elementos de uma k-upla é Σ , preferimosescrevê-la entre colchetes [ e ]. Por outro lado, usamos parênteses ( e ) para es-crever k-uplas cujos elementos são formados por símbolos em Σ. Então, preferimos escrever[s′1, . . . , s

′k] em vez de (s′1, . . . , s

′k) para denotar o alinhamento formado pelas sequências

s′1, . . . , s′k. Dizemos que a k-upla de símbolos [s′1(j), . . . , s′k(j)] é a coluna j do alinhamento

[s′1, . . . , s′k] e denotamos a coluna j de um alinhamento A por A(j). Se

A = [. . . , s′h, . . . , s′i, . . .],

7

8 CONCEITOS 2.1

dizemos que o par de símbolos [s′h(j), s′i(j)] alinha em A ou, simplesmente, que s′h(j) e

s′i(j) estão alinhados em A se a ordem está subentendida, e que |A| = |s′i| é o comprimentodo alinhamento A.

São conhecidos os seguintes limitantes para o comprimento de um alinhamento.

Fato 1. Seja A um alinhamento de (s1, . . . , sk). Então, maxi|si| ≤ |A| ≤∑

i |si|.

Prova. Suponha que i é um inteiro e 1 ≤ i ≤ k. Observe que os símbolos de si devem estarem colunas distintas em A. Logo, A deve ter pelo menos |si| colunas. Como a observaçãovale para qualquer i, temos que maxi|si| ≤ |A|.

Pela denição de alinhamento, cada coluna de A deve ter pelo menos um símbolo dealguma sequência em s1, . . . , sk. Como a quantidade de símbolos em (s1, . . . , sk) é

∑i |si|,

segue que |A| ≤∑

i |si|.Segue dos resultados acima que maxi|si| ≤ |A| ≤

∑i |si|.

Um alinhamento também pode ser representado no formato matricial colocando umasequência sobre outra. Assim, os alinhamentos

[aaa , ab , cac] e [ aaa , ab , ca c]

de (aaa, ab, cac) podem ser visualizados por a a a

a b

c a c

e

a a a

a b

c a c

.Sejam I = i1, . . . , im ⊆ 1, . . . , k tal que i1 < . . . < im e A = [s′1, . . . , s

′k] um

alinhamento de S = (s1, . . . , sk). Escrevemos SI para denotar a m-upla (si1 , . . . , sim). Oalinhamento de SI induzido por A é o alinhamento AI obtido a partir do alinhamento Aconsiderando somente as sequências correspondentes às sequências em SI e, da estruturaresultante, eliminando as colunas onde todos os símbolos são iguais a .

No exemplo acima, [a a a

a b

]é um alinhamento de (aaa, ab) induzido por [aaa , ab , cac] de (aaa, ab, cac).

Denotamos por AS o conjunto de todos os alinhamentos de S.

2.1.3 Matrizes de pontuação

Cada critério de pontuação aqui estudado tem uma matriz de pontuação associada à suadenição. Uma matriz de pontuação é uma matriz que possui números reais como entradase que são indexadas nas linhas e nas colunas por elementos em Σ . Para a, b ∈ Σ e umamatriz de pontuação γ, denotamos por γa→b a entrada de γ na linha a e coluna b. O valorde γa→b dene um custo para a operação de edição de substituição se a, b ∈ Σ, de inserçãose a = e de remoção se b = . A entrada γ → não é denida.

2.1 PRELIMINARES 9

2.1.4 Digrafos

Um digrafo D consiste de um conjunto nito V (D) de elementos chamados vértices , umconjunto E(D) de pares ordenados de vértices chamados arcos e uma função

custo : E(D)→ R.

O arco (v, w) ∈ E(D) é denotado por v → w e dizemos que v → w sai do vértice v e queentra no vértice w. Dizemos que o custo do arco e é custo(e) e, sobrecarregando a funçãocusto, denimos o custo do digrafo D como custo(D) =

∑e∈E(D) custo(e).

Sejam v0, v1, . . . , vn ∈ V (D) e e1, e2, . . . , en ∈ E(D), tais que ei = vi−1 → vi para cada i.Dizemos que a sequência de arcos P = (e1, . . . , en) é um caminho de comprimento n de v0 avn, que cada arco ei aparece em P , e que v0, v1, . . . , vn e e1, e2, . . . , en são, respectivamente,os vértices e os arcos do caminho P . O custo do caminho P é custo(P ) =

∑ni=1 custo(ei).

Se não existe um caminho P ′ de v0 a vn tal que custo(P ′) < custo(P ), dizemos que P éum caminho ótimo de v0 a vn. Se v0 = vn, dizemos que P é um ciclo. Se P é um ciclo ecusto(P ) < 0, dizemos que P é um ciclo negativo. Se os arcos em um ciclo P são dois a doisdistintos, dizemos que P é um ciclo simples . Dizemos que um conjunto de arcos e1, . . . , endene o ciclo P se P é um ciclo de comprimento n, é simples e cada ei aparece em P .

Sejam P = (e1, . . . , en) e Q = (f1, . . . , fm) caminhos de v a z e de z a w respectivamente.Então, denotamos a concatenação dos caminhos P e Q por

PQ = (e1, e2, . . . , en, f1, f2, . . . , fm)

que é um caminho de v a w.Dizemos que um digrafo D é euleriano se, para cada vértice v ∈ V (D), as quantidades

de arcos que entram e que saem de v são iguais. Um resultado bem conhecido [GPB+02] éo seguinte.

Teorema 2. Um digrafo D é euleriano se e somente se existe uma partição de E(D) ondecada conjunto da partição dene um ciclo.

Para uma matriz de pontuação γ, o digrafo D(γ) é tal que

V (D) = Σ ,

E(D) = (Σ × Σ ) \ ( , ) ecusto(v → w) = γv→w para cada v → w ∈ E(D).

2.1.5 Problemas

Uma instância de um problema clássico de alinhamento em geral é um conjunto desequências. Sendo um conjunto, a ordem das sequências na instância não é importante.Implicitamente nesses casos a matriz de pontuação deve ser simétrica. Em outras palavras,esse é um caso particular quando assumimos que uma instância é uma lista ordenada desequências e que as matrizes utilizadas podem não ser simétricas. Consideramos em nossasdenições a formulação mais geral.

Os problemas envolvendo alinhamento de sequências têm como objetivo encontrar umalinhamento ótimo. Em geral, o tempo gasto para encontrar um alinhamento ótimo e otempo gasto para encontrar a pontuação de um alinhamento ótimo são assintoticamenteiguais. Para o critério vAγ, Needleman e Wunsch [NW70] descrevem um algoritmo que, apartir de uma tabela de programação dinâmica, encontra um alinhamento ótimo de duas

10 CONCEITOS 2.2

sequências s e t. Para outros critérios estudados neste texto, inclusive aqueles utilizadospara várias sequências, uma adaptação óbvia desse método pode ser usada para encontrarum alinhamento de pontuação ótima consultando uma tabela de programação dinâmica.Então, desde que os algoritmos apresentados em geral constroem tabelas de programaçãodinâmica, optamos neste texto em denir e tratar os problemas de alinhamento como umproblema para encontrar somente a pontuação de um alinhamento ótimo de uma k-upla desequências, omitindo detalhes de como um alinhamento ótimo pode ser obtido.

Além de problemas de otimização, também tratamos de problemas de decisão para dis-cutir resultados de complexidade. Neste caso, denotamos por P(I) a resposta ou solução deum problema de decisão P para a instância I, ou seja, P(I) ∈ Sim,Não.

2.1.6 Fator de aproximação

Sejam I o conjunto de instâncias de um problema de minimização, OPT(I) um númeroassociado a cada instância I ∈ I e A (I) ≥ OPT(I) um número computado por um algoritmoA com entrada I. Dizemos que A é uma α-aproximação para o problema se

A (I) ≤ α · OPT(I),

para toda instância I, onde α é um número constante. Dizemos também que α é uma fatorde aproximação do algoritmo A .

2.2 Alinhamento de duas sequências

2.2.1 Critério vAγ

Sejam s, t ∈ Σ∗, n = |s|,m = |t|. Um critério simples para pontuar um alinhamento usaa função vAγ. Para um alinhamento [s′, t′] de (s, t) temos que

vAγ([s′, t′]) =

|[s′,t′]|∑j=1

γs′(j)→t′(j).

Dizemos que vAγ([s′, t′]) é a pontuação-vAγ do alinhamento[s′, t′].A função ótima para esse critério é optAγ, ou seja, optAγ(s, t) = minA∈As,tvAγ(A).

Um alinhamento A de (s, t) tal que vAγ(A) = optAγ(s, t) é chamado de alinhamento A-ótimode (s, t). O problema correspondente é

Problema 1. APS: Alinhamento de um par de sequênciasDados s, t ∈ Σ∗, determinar optAγ(s, t), onde γ é uma matriz de pontuação xa.

Um algoritmo ingênuo para a solução do Problema APS calcula as pontuações-vAγ detodos os alinhamentos em As,t e devolve a menor pontuação computada. O problema comessa estratégia é que, em geral, o valor de |As,t| é muito grande. Estimamos a seguir essevalor supondo que n = |s| = |t|.

Primeiramente contamos quantos alinhamentos diferentes [s′, t′] de comprimento 2n−jexistem para um dado inteiro j. Como |[s′, t′]| = 2n − j, temos que |s′| = |t′| = 2n − j, oque implica, sendo n = |s| = |t|, que as sequências s′ e t′ possuem, cada uma, n− j espaços.Sendo |s′| = 2n− j, segue que existem

(2n−jn−j

)modos diferentes de denir a posição dos n− j

espaços em s′. Uma vez feito isto, desde que |t′| = 2n− j e que nenhuma coluna de [s′, t′]pode possuir dois caracteres iguais a espaço, há

((2n−j)−(n−j)

n−j

)=(nn−j

)modos diferentes de

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 11

denir a posição dos n − j espaços na sequência t′. Logo, a quantidade de alinhamentos[s′, t′] distintos de comprimento 2n− j é(

2n− jn− j

)·(

n

n− j

)=

(2n− j)!(n− j)!n!

· n!

(n− j)!j!=

(2n− j)!(n− j)!(n− j)!j!

.

Portanto, considerando j = 0, 1, . . . , n, segue

|As,t| =n∑j=0

(2n− j)!(n− j)!(n− j)!j!

. (2.1)

O seguinte fato estabelece um limite inferior para o valor de (2.1).

Fato 3. Sejam s, t ∈ Σ com n = |s| = |t|. Então, |As,t| = Ω(4n).

Prova. Para mostrar que |As,t| = Ω(4n), basta mostrar que para n ≥ 1, temos que

(2n− 1)!

(n− 1)!(n− 1)!≥(

1

4

)4n,

desde que (2n− 1)!/((n− 1)!(n− 1)!) é apenas uma das parcelas da expressão em (2.1).A prova é por indução em n. Note primeiramente que, para n = 1, temos

(2− 1)!

(1− 1)!(1− 1)!= 1 =

(1

4

)41.

Suponha agora que n > 1 e que

(2(n− 1)− 1)!

((n− 1)− 1)!((n− 1)− 1)!≥(

1

4

)4n−1.

Logo,

(2n− 1)!

(n− 1)!(n− 1)!=

(2n− 1)(2n− 2)

(n− 1)(n− 1)

(2(n− 1)− 1)!

((n− 1)− 1)!((n− 1)− 1)!

≥ (2n− 1)(2n− 2)

(n− 1)(n− 1)

(1

4

)4n−1 (2.2)

≥ (2n− 2)(2n− 2)

(n− 1)(n− 1)

(1

4

)4n−1 (2.3)

=

(1

4

)4n,

onde (2.2) segue da hipótese de indução e de n > 1, e (2.3) segue de n > 1.

Então, o problema de usar um algoritmo que use uma estratégia para buscar um ali-nhamento A-ótimo vericando todos os possíveis alinhamentos, pelo Fato 3, gasta tempoexponencial no tamanho da entrada no caso geral, o que torna a execução desse algoritmoimpraticável.

Needleman e Wunsch [NW70] descrevem um algoritmo de programação dinâmica parao Problema APS. Para mostrar o funcionamento do algoritmo, considere as sequênciass, t ∈ Σ com n,m símbolos cada, respectivamente, e A = [s′(1) . . . s′(N ), t′(1) . . . t′(N )] umalinhamento A-ótimo de (s, t), ou seja, optAγ(s, t) = vAγ(A). Para o cálculo de vAγ(A), dois

12 CONCEITOS 2.2

casos devem ser considerados: ou uma das sequências s ou t é vazia, ou as duas sequênciassão não vazias. Se s = ε ou t = ε, então somente um alinhamento é possível e

vAγ(A) =m∑j=1

γ →t(j) ou vAγ(A) =n∑j=1

γs(j)→ ,

respectivamente. Se as duas sequências são não vazias, então primeiramente note que seA′ = [s′(1) . . . s′(N − 1), t′(1) . . . t′(N − 1)], então

vAγ(A) = vAγ(A′) + γs′(N )→t′(N ).

Além disso, existem s, t ∈ Σ∗ tais que A′ é um alinhamento de (s, t). Vamos mostrar queA′ é um alinhamento A-ótimo de (s, t). Suponha, por contradição, que A′ não é A-ótimo.Então, existe um alinhamento [s′, t′] de (s, t) tal que vAγ([s′, t′]) < vAγ(A

′). Desde que[s′(1) . . . s′(|[s′, t′]|)s′(N ), t′(1) . . . t′(|[s′, t′]|)t′(N )] também é um alinhamento de (s, t),segue das observações acima que

vAγ([s′(1) . . . s′(|[s′, t′]|)s′(N ), t′(1) . . . t′(|[s′, t′]|)t′(N )]) = vAγ([s′, t′]) + γs′(N )→t′(N )

< vAγ(A′) + γs′(N )→t′(N )

= vAγ(A) = optAγ(s, t),

contrariando a otimalidade de A. Portanto, A′ é um alinhamento A-ótimo de (s, t).Estudamos as três únicas possibilidades para s′(N ) e t′(N ):

1. se s′(N ) 6= e t′(N ) = , então A′ é alinhamento ótimo de (s(1 . . . n − 1), t), o queimplica que

optAγ(s, t) = vAγ(A′) + γs′(N )→t′(N ) = optAγ(s(1 . . . n− 1), t) + γs(n)→ ;

2. se s′(N ) 6= e t′(N ) 6= , então A′ é alinhamento ótimo de (s(1 . . . n−1), t(1 . . .m−1)),o que implica que

optAγ(s, t) = vAγ(A′) + γs′(N )→t′(N ) = optAγ(s(1 . . . n− 1), t(1 . . .m− 1)) + γs(n)→t(m);

3. se s′(N ) = e t′(N ) 6= , então A′ é alinhamento ótimo de (s, t(1 . . .m − 1)), o queimplica que

optAγ(s, t) = vAγ(A′) + γs′(N )→t′(N ) = optAγ(s, t(1 . . .m− 1)) + γ →t(m);

e escolhemos aquela com menor pontuação-vAγ. Dessas considerações segue que

optAγ(s, t) =

∑mj=1 γ →t′(j) se s = ε,∑nj=1 γs′(j)→ se t = ε,

min

optAγ(s(1 . . . n− 1), t) + γs(n)→ ,

optAγ(s(1 . . . n− 1), t(1 . . .m− 1)) + γs(n)→t(m),

optAγ(s, t(1 . . .m− 1)) + γ →t(m)

caso contrário.

A recorrência é calculada usando uma tabela d de programação dinâmica. O valor ded(p, q) é o valor de optAγ(s(1 . . . p), t(1 . . . q)). A tabela d é usualmente denominada matriz

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 13

dos alinhamentos de (s, t) e é construída conforme a função de recorrência

d(p, q) =

∑qj=1 γs(j)→ se p = 0,∑pj=1 γ →t(l) se q = 0,

min

d(p, q − 1) + γ →t(j),d(p− 1, q) + γs(i)→ ,d(p− 1, q − 1) + γs(i)→t(j).

caso contrário,

gastando tempo e espaço Θ(n2) quando n = m. Claramente, d(n,m) = optAγ(s, t).Para o caso especial da matriz de pontuação γ ser tal que γa→b = 0 se a = b e γa→b = 1 se

a 6= b, Masek e Paterson [MP80] descrevem um algoritmo que usa o método conhecido comoMétodo dos Quatro Russos e que gasta tempo O(n2/ log n) quando |s| = |t| = n. Croche-more, Landau e Ziv-Ukelson [CLZU02] estenderam o método para matrizes com entradasracionais descrevendo assim um algoritmo para o problema que gasta tempo O(n2/ log n).

No restante deste capítulo, assumimos que o tempo gasto para determinar optAγ(s, t) eum alinhamento A-ótimo, onde |s| = |t| = n, no pior caso é TAPS(n).

2.2.2 Critério vNγ

Marzal e Vidal [MV93] denem um outro critério para pontuar alinhamentos de duassequências que chamamos pontuação-vNγ que é uma normalização do valor da pontuação-vAγ. Eles denem a pontuação de um alinhamento A de duas sequências como

vNγ(A) =

0 se |A| = 0,vAγ(A)/|A| caso contrário.

A função ótima para esse critério é

optNγ(s, t) = minA∈As,t

vNγ(A)

e um alinhamento N-ótimo de (s, t) é um alinhamento A tal que vNγ(A) = optNγ(s, t) e oproblema correspondente é o seguinte.

Problema 2. APSN: Alinhamento de um par de sequências com custo normalizadoDados s, t ∈ Σ∗, determinar optNγ(s, t), onde γ é uma matriz de pontuação xa.

Para a descrição dos algoritmos nesta seção assumimos que n 6= 0 ou m 6= 0.Para uma matriz de pontuação γ denotamos por γmin e γmax o menor e o maior valor

de entrada da matriz γ. A seguir mostramos limitantes inferior e superior para o valor dapontuação-vNγ que dependem unicamente de γ.

Fato 4. Seja A um alinhamento de (s, t) com s 6= ε ou t 6= ε. Então, γmin ≤ vNγ(A) ≤ γmax.

Prova. Suponha que [s′, t′] = A. Como s 6= ε ou t 6= ε, temos que |[s′, t′]| ≥ 1. Logo,

γmin =|[s′, t′]|γmin

|[s′, t′]|≤∑

i γs′(i)→t′(i)|[s′, t′]|

= vNγ([s′, t′])

=

∑i γs′(i)→t′(i)|[s′, t′]|

≤ |[s′, t′]|γmax

|[s′, t′]|= γmax.

14 CONCEITOS 2.2

Uma heurística para calcular o valor de optNγ(s, t)

Estendendo a idéia de Needleman e Wunsch, descrevemos uma heurística ingênua para oProblema 2. A estratégia é computar optAγ(s, t)/|A|, onde A é um alinhamento A-ótimo quetenha o maior comprimento. A idéia é adaptar o algoritmo que computa a tabela d e queé descrito na Seção 2.2.1 para, quando calcular o valor d(i, j) = optAγ(s(1 . . . i), t(1 . . . j)),calcular também o valor de L(i, j) que denimos ser o comprimento do alinhamento A-ótimode maior comprimento de (s(1 . . . i), t(1 . . . j)).

Similarmente à computação de d(i, j), o valor L(i, j) é calculado usando programaçãodinâmica. A seguinte recorrência faz o trabalho. Para i, j > 0,

L(0, 0) = 0,

L(0, j) = j,

L(i, 0) = i,

L(i, j) = max

L(i− 1, j) se d(i, j) = d(i− 1, j) + γs(i)→ ,L(i, j − 1) se d(i, j) = d(i, j − 1) + γ →t(j),L(i− 1, j − 1) se d(i, j) = d(i− 1, j − 1) + γs(i)→s(j)

+ 1.

O valor devolvido então pela heurística é d(n,m)/L(n,m). Claramente a recorrência acimapode ser calculada usando tempo e espaço Θ(n2) se n = m.

A heurística acima devolve o valor normalizado de um alinhamento A-ótimo de maiorcomprimento. Entretanto, dependendo das sequências envolvidas, nem sempre existe umalinhamento que é ao mesmo tempo A-ótimo e N-ótimo. Por exemplo, para

γa→b =

0 se a = b,1 caso contrário,

os alinhamentos A-ótimo de maior comprimento e N-ótimos para (aab, bcc) são, respectiva-mente, [

a a b

b c c

]e

[a a b

b c c

].

A heurística acima não garante encontrar a pontuação-vNγ de um alinhamento N-ótimomas o valor computado é, no máximo, o dobro de optNγ(s, t), ou seja, a heurística é umalgoritmo que é uma 2-aproximação. Para vericar esse fato, considere A um alinhamentoA-ótimo (cuja pontuação-vAγ foi calculada pelo algoritmo) e B um alinhamento N-ótimo.Logo, vAγ(A) ≤ vAγ(B). Além disso,

|B| ≤ |s|+ |t| ≤ 2 max|s|, |t| ≤ 2|A|,

onde a primeira e a última desigualdade seguem do Fato 1. Portanto, |A| ≥ (1/2)|B|. Seguemdas observações acima que

vNγ(A) =vAγ(A)

|A|≤ vAγ(B)

|A|≤ vAγ(B)

(1/2)|B|= 2 · optNγ(s, t).

Essa análise é justa no seguinte sentido. Para qualquer ε > 0, vamos descrever umamatriz de pontuação e sequências para os quais o valor devolvido pelo algoritmo é pelomenos (2− ε) vezes o valor da pontuação de um alinhamento N-ótimo.

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 15

Sejam a, b ∈ Σ e ε > 0. Considere γ a matriz de pontuação tal que

γa→ = γ →b =1

εe γa→b =

2

ε− 1.

Considere também as sequências an, bn ∈ Σ∗, onde n é um inteiro positivo. A pontuação dequalquer alinhamento de (an, bn), onde [a, b] alinha em k colunas é 2n/ε− k. Logo,

optAγ(an, bn) = min

0≤k≤n

2n

ε− k

=2n

ε− n =

(2

ε− 1

)n.

Segue que [an, bn] é o único alinhamento A-ótimo de (an, bn). Além disso, a pontuação-vNγdo alinhamento [an n, nbn] é 1/ε. Logo,

optAγ(s, t)

|[an, bn]|=

vAγ([an, bn])

|[an, bn]|

=(2/ε− 1)n

n=

2

ε− 1 = (2− ε)1

ε= (2− ε) · vNγ ([an n, nbn])

≥ (2− ε) · optNγ(an, bn),

o que signica que o valor devolvido pelo algoritmo é pelo menos (2 − ε) vezes o valor dapontuação do alinhamento N-ótimo.

Algoritmo básico de Marzal e Vidal

Marzal e Vidal [MV93] sugerem um algoritmo que usa uma tabela d de programaçãodinâmica, armazenando na entrada d(i, j, k), para cada i = 0, 1, . . . , n, cada j = 0, 1, . . . ,me cada comprimento k = maxi, j,maxi, j+ 1, . . . , i+ j, a pontuação-vAγ de um alinha-mento de (s(1 . . . i), t(1 . . . j)) de comprimento k de menor pontuação-vAγ.

Após computar a tabela d, o valor de um alinhamento N-ótimo é obtido de

optNγ(s, t) = mink

d(n,m, k)

k.

Esse algoritmo pode ser implementado gastando tempo e espaço Θ(nm(n+m)).

Pontuação-vAγ e pontuação-vNγ

A heurística descrita na seção anterior mostra implicitamente que um algoritmo pararesolver o Problema APS não pode ser usado diretamente para calcular o valor de APSN.Nesta seção, vamos estabelecer uma relação entre a pontuação-vAγ e a pontuação-vNγ quepermite descrever algoritmos mais rápidos para calcular optNγ usando algoritmos para oProblema APS. Para um par (s, t) de sequências e um número real λ, a pontuação-vAγ(λ)de um alinhamento A de (s, t) é

vAγ(λ)(A) = vAγ(A)− λ|A|.

A função ótima para esse critério é

optAγ(λ)(s, t) = minA∈As,t

vAγ(λ)(A)

16 CONCEITOS 2.2

e um alinhamento A(λ)-ótimo de (s, t) para γ é um alinhamento cuja pontuação-vAγ(λ) éoptAγ(λ)(s, t).

Note que um alinhamento A(0)-ótimo para γ é A-ótimo e que optAγ(0)(s, t) = optAγ(s, t).Note também que optAγ(λ)(s, t) = optAδ(s, t), onde δ é a matriz de pontuação obtida sub-traindo λ de cada entrada da matriz γ. Portanto, um algoritmo para encontrar optAδ(s, t) éum algoritmo para encontrar optAγ(λ)(s, t).

Os próximos lemas estabelecem relações entre os valores de optAγ(λ)(s, t) e optNγ(s, t).

Lema 5. Sejam s, t ∈ Σ∗ e λ ∈ R. Então, λ > optNγ(s, t) se e somente se optAγ(λ)(s, t) < 0.

Prova. Vamos demonstrar o lema provando que se λ > optNγ(s, t), então optAγ(λ)(s, t) < 0,e, depois, que se optAγ(λ)(s, t) < 0, então λ > optNγ(s, t).

Suponha λ > optNγ(s, t). Considere que A é um alinhamento N-ótimo de (s, t), ou seja,optNγ(s, t) = vNγ(A). Segue que λ > optNγ(s, t) = vNγ(A) = vAγ(A)/|A|, o que implica queλ > vAγ(A)/|A|. Logo, vAγ(A) − λ|A| < 0. Desde que optAγ(λ)(s, t) ≤ vAγ(λ)(A), segueque optAγ(λ)(s, t) ≤ vAγ(λ)(A) = vAγ(A) − λ|A| < 0. Portanto, se λ > optNγ(s, t), entãooptAγ(λ)(s, t) < 0.

Reciprocamente, suponha que optAγ(λ)(s, t) < 0. Considere que B é um alinhamentoA(λ)-ótimo de (s, t) para γ. Segue que vAγ(B) − λ|B| = vAγ(λ)(B) = optAγ(λ)(s, t) < 0.Logo, vAγ(B)− λ|B| < 0, o que implica que λ > vAγ(B)/|B|. Sendo vAγ(B)/|B| = vNγ(B)e vNγ(B) ≥ optNγ(s, t), segue que λ > vAγ(B)/|B| = vNγ(B) ≥ optNγ(s, t). Portanto, seoptAγ(λ)(s, t) < 0, então λ > optNγ(s, t).

Lema 6. Sejam s, t ∈ Σ∗ e λ ∈ R. Então, λ = optNγ(s, t) se e somente se optAγ(λ)(s, t) = 0.

Prova. Vamos demonstrar o lema provando que se λ = optNγ(s, t), então optAγ(λ)(s, t) = 0,e que se optAγ(λ)(s, t) = 0, então λ = optNγ(s, t).

Suponha então que λ = optNγ(s, t). Seja A é um alinhamento N-ótimo de (s, t). Se-gue que λ = optNγ(s, t) = vNγ(A) = vAγ(A)/|A|. Logo, vAγ(A) − λ|A| = 0. Desde queoptAγ(λ)(s, t) ≤ vAγ(λ)(A) e vAγ(λ)(A) = vAγ(A) − λ|A|, segue que optAγ(λ)(s, t) ≤vAγ(λ)(A) = vAγ(A) − λ|A| = 0. Logo optAγ(λ)(s, t) < 0 ou optAγ(λ)(s, t) = 0. Desdeque optAγ(λ)(s, t) < 0 implica pelo Lema 5 que λ > optNγ(s, t) contrariando a hipótesede que λ = optNγ(s, t), segue que optAγ(λ)(s, t) = 0. Logo, se λ = optNγ(s, t), entãooptAγ(λ)(s, t) = 0.

Reciprocamente, suponha que optAγ(λ)(s, t) = 0. Seja B é um alinhamento A(λ)-ótimode (s, t) para γ. Segue que vAγ(B)−λ|B| = 0, o que implica que λ = vAγ(B)/|B|. Segue queλ = vAγ(B)/|B| = vNγ(B) ≥ optNγ(s, t). Logo, λ > optNγ(s, t) ou λ = optNγ(s, t). Desdeque λ > optNγ(s, t) implica pelo Lema 5 que optAγ(λ)(s, t) < 0 contrariando a hipótese deque optAγ(λ)(s, t) = 0, segue que λ = optNγ(s, t). Portanto, se optAγ(λ)(s, t) = 0, entãoλ = optNγ(s, t).

Lema 7. Sejam s, t ∈ Σ∗ e λ ∈ R. Então, λ < optNγ(s, t) se e somente se optAγ(λ)(s, t) > 0.

Prova. Pelos Lemas 5 e 6 temos que λ 6> optNγ(s, t) se e somente se optAγ(λ)(s, t) 6< 0; eλ 6= optNγ(s, t) se e somente se optAγ(λ)(s, t) 6= 0. Portanto, λ < optNγ(s, t) se e somente seoptAγ(λ)(s, t) > 0.

Lema 8. Sejam s, t ∈ Σ∗, λ = optNγ(s, t) e A um alinhamento de (s, t). Então, A é umalinhamento N-ótimo se e somente se A é um alinhamento A(λ)-ótimo.

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 17

Prova. Vamos demonstrar o lema provando que se A é um alinhamento N-ótimo, então Aé um alinhamento A(λ)-ótimo, e que se A é um alinhamento A(λ)-ótimo, então A é umalinhamento N-ótimo.

Suponha que A é um alinhamento N-ótimo, ou seja, vAγ(A)/|A| = vNγ(A) = λ. Segueque vAγ(A)−λ|A| = 0. Seja B um alinhamento arbitrário. Logo, vAγ(B)/|B| = vNγ(B) ≥ λ.Segue que vAγ(B)−λ|B| ≥ 0. Segue que vAγ(λ)(A) = vAγ(A)−λ|A| = 0 ≤ vAγ(B)−λ|B| =vAγ(λ)(B). Sendo B um alinhamento arbitrário, segue que A é A(λ)-ótimo. Portanto, se Aé um alinhamento N-ótimo, então A é um alinhamento A(λ)-ótimo.

Reciprocamente, suponha que A é A(λ)-ótimo, ou seja, vAγ(A)− λ|A| = optAγ(λ)(s, t).Como λ = optNγ(s, t), temos pelo Lema 6 que optAγ(λ)(s, t) = 0. Logo, vAγ(A) − λ|A| =optAγ(λ)(s, t) = 0, o que implica, sendo λ = optNγ(s, t) e vAγ(A)/|A| = λ, que A é N-ótimo.Portanto, se A é um alinhamento A(λ)-ótimo, então A é um alinhamento N-ótimo.

Algoritmo desenvolvido por Vidal, Marzal e Aibar [VMA95]

Vidal, Marzal e Aibar [VMA95], baseados nos conceitos apresentados na seção anteriordescrevem um outro método, que é o Algoritmo 1, para determinar o valor de optNγ(s, t)usando um algoritmo para encontrar valores de optAγ(λ)(s, t) para diversos valores de λ.

Algoritmo 1

Entrada: s, t ∈ Σ∗, tal que |s| = n 6= 0 ou |t| = m 6= 0.Saída: optNγ(s, t).1: i← 0;2: λ0 ← 0;3: Seja A0 um alinhamento A-ótimo (≡ A(0)-ótimo) de (s, t);4: repita5: i← i+ 1;6: λi ← vNγ(Ai−1);7: Ai ← arg minA∈As,tvAγ(A)− λi|A|;8: até que λi = λi−1;9: devolva λi−1.

Vericamos o seguinte invariante do Algoritmo 1.

Proposição 9. Para i ≥ 2, vale que λi−1 ≥ λi.

Prova. Seja i ≥ 2. Pela Linha 6 do Algoritmo 1, temos que λi−1 = vAγ(Ai−2)/|Ai−2|. Logo,vAγ(Ai−2) − λi−1|Ai−2| = 0. Pela minimalidade de Ai−1 calculada na Linha 7, temos quevAγ(Ai−1)− λi−1|Ai−1| ≤ vAγ(Ai−2)− λi−1|Ai−2|. Segue que

vAγ(Ai−1)− λi−1|Ai−1| ≤ vAγ(Ai−2)− λi−1|Ai−2| = 0,

o que implica que λi−1 ≥ vAγ(Ai−1)/|Ai−1|. Sendo, pela Linha 6, λi = vAγ(Ai−1)/|Ai−1|,segue que λi−1 ≥ vAγ(Ai−1)/|Ai−1| = λi. Portanto, para i ≥ 2, vale que λi−1 ≥ λi.

Proposição 10. Se o Algoritmo 1 executa Q iterações, então, para cada par de inteiro p, qcom 0 ≤ p < q < Q− 1, temos que |Ap| 6= |Aq|.

18 CONCEITOS 2.2

Prova. Suponha que Algoritmo 1 executa Q iterações e que p e q são inteiros não negativostais que p < q < Q − 1 e, por contradição, |Ap| = |Aq|. Sendo p < q < Q − 1, segue quep+ 2 < Q. Pela Linha 7 temos que

vAγ(Ap)− λp|Ap| ≤ vAγ(Aq)− λp|Aq| e vAγ(Aq)− λq|Aq| ≤ vAγ(Ap)− λq|Ap|,

o que implica, sendo |Ap| = |Aq|, que vAγ(Ap) ≤ vAγ(Aq) e vAγ(Aq) ≤ vAγ(Ap), respectiva-mente. Logo vAγ(Ap) = vAγ(Aq). Segue que

λp+1 =vAγ(Ap)

|Ap|=vAγ(Aq)

|Aq|= λq+1.

Sendo p < q < Q − 1, segue da Proposição 9 que λp+1 = λp+2 = . . . = λq = λq+1. Logo,pela Linha 8, o algoritmo para, no máximo, na iteração p + 2 contrariando que p + 2 < Q.Portanto, se o algoritmo executa Q iterações, então |Ap| 6= |Aq| para cada par de inteiro p, qcom 0 ≤ p < q < Q− 1.

Lema 11. Depois de no máximo minn,m+ 2 iterações, o Algoritmo 1 para.

Prova. Suponha por contradição que o Algoritmo 1 executa mais do que minn,m + 2iterações. Sejam A0, . . . , Aminn,m+3 alinhamentos que essa hipótese garante existir. PeloFato 1, temos maxn,m ≤ |Ai| ≤ n + m para cada Ai, o que implica que existemminn,m+ 1 = (n+m)−maxn,m+ 1 comprimentos possíveis para o alinhamento Ai.Logo, há pelo menos dois alinhamentos com mesmo comprimento em A0, . . . , Aminn,m+1

contrariando a Proposição 10. Portanto, depois de no máximo minn,m + 2 iterações, oAlgoritmo 1 para.

Lema 12. Se λi = λi−1, então λi−1 = optNγ(s, t).

Prova. Suponha que λi = λi−1. Pela execução da Linha 7 na iteração i− 1 temos que Ai−1

é um alinhamento A(λi−1)-ótimo, ou seja, optAγ(λi−1)(s, t) = vAγ(Ai−1) − λi−1|Ai−1|. PelaLinha 6, temos que λi = vNγ(Ai−1), ou seja, λi = vAγ(Ai−1)/|Ai−1|. Logo, vAγ(Ai−1) −λi|Ai−1| = 0. Pela hipótese de que λi = λi−1 segue que

optAγ(λi−1)(s, t) = vAγ(Ai−1)− λi−1|Ai−1| = vAγ(Ai−1)− λi|Ai−1| = 0.

Segue do Lema 6 que λi−1 = optNγ(s, t). Portanto, se λi = λi−1, então λi−1 = optNγ(s, t).

O Lema 11 garante que Algoritmo 1 para e o Lema 12 garante que, quando para, o valordevolvido é optNγ(s, t) conforme esperado. Portanto, o algoritmo está correto.

O Lema 11 garante que Algoritmo 1 faz no máximo minn,m + 2 iterações. Logo, sen = m, então o tempo gasto no pior caso é O(TAPS(n) · n), onde, lembramos, TAPS(n) é otempo gasto no pior caso para encontrar a pontuação e um um alinhamento A-ótimo para(s, t) para o critério vAδ, onde δ é a matriz obtida subtraindo λ de cada entrada de γ. Osautores enfatizam que, embora TAPS(n) = O(n2) e, portanto, O(TAPS(n) · n) = O(n3), naprática, os testes por eles realizados mostram que o algoritmo é muito mais rápido que isto,sugerindo que essa análise esteja superestimada. Entretanto, não há provas de que de fatoseja esse o caso.

Algoritmo de Arslan e Egecioglu [AE00]

Assim como o algoritmo estudado na seção anterior, o algoritmo descrito por Arslane Egecioglu [AE00] computa alinhamentos A(λ)-ótimos até encontrar um λ = optNγ(s, t)

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 19

quando minA∈As,tvAγ(λ)(A) = 0. Entretanto, ele usa uma estratégia de busca bináriapara encontrar o λ correto obtendo um gasto de tempo garantidamente mais rápido que ométodo anterior. A restrição para obter essa melhora no tempo gasto é de que a matriz depontuação tenha entradas racionais, o que parece não ser na prática uma restrição muitogrande. Por simplicidade, consideramos aqui que as entradas da matriz de pontuação sãonúmeros inteiros.

Lembramos que, conforme nossa convenção, γmax e γmin são os valores da maior e damenor entrada em γ.

Algoritmo 2

Entrada: s, t ∈ Σ∗, tais que |s| 6= 0 ou |t| 6= 0.Saída: optNγ(s, t).1: ∆← 1

(m+n)2;

2: e← γmin · (m+ n)2;3: f ← γmax · (m+ n)2;4: enquanto e+ 1 < f faça5: λ← b(e+ f)/2c ·∆;6: d← optAγ(λ)(s, t);7: se d = 0, então devolva λ;8: senão se d < 0, então f ← b(e+ f)/2c;9: senão e← b(e+ f)/2c;10: devolva f∆.

Os resultados a seguir auxiliam na análise da correção e do tempo gasto do Algoritmo 2.

Proposição 13. Sejam γ uma matriz de pontuação com entradas inteiras, s, t ∈ Σ∗ comcomprimentos n e m, respectivamente, e A e B alinhamentos de (s, t). Se vNγ(A) 6= vNγ(B),então

|vNγ(A)− vNγ(B)| > 1

(n+m)2.

Prova. Suponha que vNγ(A) 6= vNγ(B). Logo, |vAγ(A)|B| − vAγ(B)|A|| > 0. Desde que γ éuma matriz de pontuação com entradas inteiras, segue que |vAγ(A)|B|−vAγ(B)|A|| ≥ 1. PeloFato 1, temos que |A| ≤ n+m e |B| ≤ n+m. e, desde que |vAγ(A)|B|−vAγ(B)|A|| > 0, A eB não podem ter ao mesmo tempo comprimento n+m, o que implica que |A||B| < (n+m)2.Segue que

|vNγ(A)− vNγ(B)| =

∣∣∣∣vAγ(A)

|A|− vAγ(B)

|B|

∣∣∣∣ =|vAγ(A)|B| − vAγ(B)|A||

|A||B|≥ 1

|A||B|

>1

(n+m)2.

Lema 14. No início de cada iteração do Algoritmo 2 (imediatamente antes da Linha 4 serexecutada), vale e∆ ≤ optNγ(s, t) ≤ f∆.

Prova. No início da primeira iteração, e∆ = γmin e f∆ = γmax. Pelo Fato 4, temos queγmin ≤ vNγ(A) ≤ γmax para um alinhamento N-ótimo A de (s, t). Segue que e∆ = γmin ≤vNγ(A) = optNγ(s, t) ≤ γmax = f∆. Portanto, vale o invariante no início da primeiraiteração.

20 CONCEITOS 2.2

Suponha que estamos no início de uma iteração qualquer que não é a última e que vale,nesse momento, e∆ ≤ optNγ(s, t) ≤ f∆. Nesta iteração, o algoritmo calcula um novo valorpara λ e para d executando as Linhas 5 e 6. Note que d 6= 0 porque não estamos na últimaiteração, o que implica que a Linha 7 não é executada e que d < 0 ou d > 0. Se d < 0, entãopelo Lema 5 temos que optNγ(s, t) < λ. Logo, e∆ ≤ optNγ(s, t) ≤ λ = b(e + f)/2c · ∆ e,portanto, sendo f atualizado na Linha 8, vale o invariante no início da próxima iteração. Sed > 0, então segue do Lema 7 que b(e+ f)/2c ·∆ = λ ≤ optNγ(s, t) ≤ f e, portanto, sendoe atualizado na Linha 9, também vale o invariante no início da próxima iteração.

Lema 15. Sejam γ uma matriz de pontuação com entradas inteiras, s, t ∈ Σ∗ tais que |s| = ne |t| = m, e λ1, λ2 números reais tais que λ1 ≤ optNγ(s, t) ≤ λ2 e λ2 − λ1 ≤ 1/(n + m)2.Então, um alinhamento A(λ2)-ótimo de (s, t) é N-ótimo.

Prova. Suponha que A é um alinhamento N-ótimo e B um alinhamento A(λ2)-ótimo. ComooptNγ(s, t) = vNγ(A) e λ1 ≤ optNγ(s, t), temos que λ1 ≤ vNγ(A). Como optNγ(s, t) ≤ λ2,pelos Lemas 5 e 6 temos que optAγ(λ2)(s, t) ≤ 0 e, desde que vAγ(λ2)(B) = optAγ(λ2)(s, t),segue que vAγ(B)−λ2|B| = vAγ(λ2)(B) ≤ 0, o que implica que vNγ(B) = vAγ(B)/|B| ≤ λ2.Como A é um alinhamento N-ótimo, temos que vNγ(A) ≤ vNγ(B), e sendo λ1 ≤ vNγ(A) evNγ(B) ≤ λ2, segue que |vNγ(B)−vNγ(A)| = vNγ(B)−vNγ(A) ≤ λ2−λ1 ≤ 1/(n+m)2, o queimplica, pela contrapositiva da Proposição 13, que vNγ(A) = vNγ(B). Logo, o alinhamentoB é N-ótimo. Portanto, um alinhamento A(λ2)-ótimo de (s, t) é N-ótimo.

Claramente o algoritmo para. Se o algoritmo para na Linha 7, então o Lema 6 garante queo valor devolvido pelo algoritmo é optNγ(s, t). Suponha que o algoritmo para na Linha 10.Como f − e ≤ 1 nesse momento, temos que f∆ − e∆ ≤ ∆ = 1/(n + m)2. Pelo Lema 14,vale e∆ ≤ optNγ(s, t) ≤ f∆ no início de cada iteração, o que implica que, em particular,vale no início da última iteração e, portanto, vale quando o algoritmo executa a Linha 10.Segue do Lema 15 que o alinhamento A(f∆)-ótimo computado nesse momento é também umalinhamento N-ótimo. Portanto, na Linha 10 o algoritmo devolve corretamente optNγ(s, t).

Considerando |s| = |t| = n, o tempo gasto é limitado pelo número de iterações ve-zes TAPS(n) que é o tempo gasto no pior caso cada vez que a Linha 6 é executada peloAlgoritmo 2. O intervalo [e, f] inicialmente igual a [γmin · (n+m)2, γmax · (n+m)2] =[γmin · 4n2, γmax · 4n2] é reduzido pela metade em cada iteração até car menor que 1 nopior caso. Portanto, a quantidade de iterações do algoritmo é, no máximo,

log(γmax · 4n2 − γmin · 4n2) = 2 + 2 log n+ log(γmax − γmin) = Θ(log n),

pois γmax e γmin são constantes. Segue que o tempo total gasto é O(TAPS(n) · log n).

Alinhamentos com custo uniforme para inserção e remoção

Uma das propostas de nosso doutorado foi pesquisar um algoritmo para determinar apontuação de um alinhamento N-ótimo de duas sequências que fosse mais rápido do queos anteriormente descritos. Elaboramos um algoritmo para o problema que, entretanto, nãoé mais eciente do que o Algoritmo 2, que é o algoritmo comprovadamente mais ecienteconhecido. Além disso, nosso algoritmo é menos geral porque ele só pode ser aplicado se ocusto para inserção e remoção de símbolos é uniforme. Embora, em termos de resultado, oalgoritmo não representa uma contribuição, julgamos interessante incluí-lo nesta tese pelofato das estruturas usadas pelo algoritmo serem diferentes. Assim como os Algoritmos 1 e2, nosso algoritmo calcula o valor de optAγ(s, t) para diversos valores de γ, mas, em vez de,

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 21

em cada iteração, alterar o valor de todas as entradas da matriz de pontuação, somente ovalor do custo de inserção/remoção é alterado.

Consideramos na descrição do algoritmo que as entradas em γ são números inteiros. Istonão representa uma restrição em relação às matrizes de pontuação que têm números racio-nais como entrada, dado que podemos obter uma matriz de pontuação de números inteirosequivalente a partir de uma matriz de pontuação com entradas racionais, multiplicando to-das as entradas de γ pelo mínimo múltiplo comum dos denominadores das entradas de γ.Essa transformação é feita em tempo constante se a matriz de pontuação não é parte daentrada do problema.

Considere N = |s| + |t|. A soma dos custos das operações de edição de substituiçãode um alinhamento A é denotado por cγ(A). Então, o custo de inserção/remoção em Aé o valor vAγ(A) − cγ(A). A quantidade total de operações de inserção e remoção em Aé denotada por k(A). Se o custo de inserção e de remoção em γ é uniforme e é g, entãoo custo de inserção/remoção em A é gk(A). Logo, nesse caso, vAγ(A) − cγ(A) = gk(A),o que implica que vAγ(A) = cγ(A) + gk(A). Note que o comprimento do alinhamento A é|A| = (N+k(A))/2 e que a quantidade de operações de substituição é (N−k(A))/2. Dizemosque o par de inteiros (cγ(A), k(A)) corresponde ao alinhamento A. Para as sequências s, t,denimos o conjunto

A = (cγ(A), k(A)) : A é um alinhamento em As,t.

Se g é o custo de inserção/remoção, determinar optAγ(s, t) signica determinar o valor demin(cγ(A),k(A))∈Acγ(A)+gk(A). Por simplicidade, escrevemos (c, k) em vez de (cγ(A), k(A))quando o alinhamento A e a matriz de pontuação estiverem subentendidas. Dizemos que ocusto de (c, k) para g é c + gk. Dizemos que (c, k) é A-ótimo para g e que g dene o par(c, k) ∈ A quando, para cada (c′, k′) ∈ A, temos c + gk ≤ c′ + gk′ e, para k′ > k, temosc+ gk < c′ + gk′. Dizemos que (c, k) é A-ótimo se (c, k) é A-ótimo para algum g.

As seguintes observações estabelecem um limitante superior para a quantidade de espaçosem um alinhamento:

(i) o par de inteiros (0, N) corresponde a um alinhamento de comprimento máximo;

(ii) a quantidade de espaços em um alinhamento é no máximo N , ou seja, k ≤ N paraqualquer (c, k) ∈ A.

O seguinte resultado mostra uma relação entre (c, k) e o comprimento do alinhamentoque a ele corresponde.

Fato 16. Sejam (c, k) e (c′, k′) correspondentes aos alinhamentos A e A′ respectivamente.Então, valem:

(i) |A| ≤ |A′| se e somente se k ≤ k′ e

(ii) se |A| < |A′|, então k ≤ k′ − 2.

Prova. Sejam (c, k) e (c′, k′) correspondentes aos alinhamentos A e A′ respectivamente.Como |A| = (N + k)/2 e |A′| = (N + k′)/2, temos que |A| ≤ |A′| se e somente se k ≤ k′.

Logo, vale (i).Suponha que |A| < |A′|. Como |A|, |A′| ∈ Z, segue que |A| ≤ |A′| − 1. Logo,

N + k

2= |A| ≤ |A′| − 1 =

N + k′

2− 1 =

N + k′ − 2

2,

22 CONCEITOS 2.2

o que implica que k ≤ k′ − 2. Portanto, se |A| < |A′|, então k ≤ k′ − 2. Logo, vale (ii).

O seguinte resultado mostra que, para cada k, existe no máximo um elemento (c, k) emA que é A-ótimo.

Fato 17. Sejam (c, k), (c′, k) ∈ A e A-ótimos. Então c = c′.

Prova. Como (c, k), (c′, k) são A-ótimos, existem g e g′ tais que c+ gk ≤ c′+ gk e c′+ g′k ≤c+g′k, respectivamente. Segue da primeira desigualdade que c ≤ c′ e da segunda desigualdadeque c′ ≤ c. Logo, c = c′.

Denimos o conjunto H dos elementos A-ótimos em A. Em outras palavras,

H = (c, k) : (c, k) é A-ótimo.

Se (c1, k1), (c2, k2) ∈ H, então existem g1, g2 tais que (c1, k1) é A-ótimo para g1 e (c2, k2)é A-ótimo para g2. O próximo resultado mostra uma relação entre g1, g2 quando k1 > k2.

Fato 18. Sejam (c1, k1), (c2, k2) A-ótimos para g1 e g2 respectivamente. Se k1 > k2, então

g1 ≤c2 − c1

k1 − k2

< g2.

Prova. Suponha que k1 > k2. Como (c1, k1), (c2, k2) são A-ótimos para g1 e g2, temos quec1 + g1k1 ≤ c2 + g1k2 e c2 + g2k2 < c1 + g2k1. Logo, sendo k1 > k2, g1 ≤ (c2 − c1)/(k1− k2) e(c2 − c1)/(k1 − k2) < g2. Portanto, se k1 > k2, então

g1 ≤c2 − c1

k1 − k2

< g2.

Estendendo o conceito do conjunto H, denimos

H[g1, g2] = (c, k) ∈ A : (c, k) é A-ótimo para g, g1 ≤ g ≤ g2.

Note que, para quaisquer g1, g2, temos que

H[g1, g2] ⊆ H. (2.4)

Se (c, k) ∈ A é o par correspondente a um alinhamento A qualquer, então (N − k)/2é a quantidade de substituições em A. Desde que o custo individual de cada operação desubstituição não é inferior a mina,b∈Σγa→b nem superior a maxa,b∈Σγa→b, segue que

N − k2

mina,b∈Σγa→b ≤ c ≤ N − k

2maxa,b∈Σγa→b. (2.5)

Os resultados a seguir mostram valores para g1 e g2 de modo que H = H[g1, g2].

Proposição 19. O par (0, N) é A-ótimo para mina,b∈Σγa→b/2.Prova. Para cada (c′, k′) ∈ A, temos que

0 +mina,b∈Σγa→b

2N =

mina,b∈Σγa→b2

(N − k′) +mina,b∈Σγa→b

2k′

≤ c′ +mina,b∈Σγa→b

2k′,

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 23

onde a desigualdade segue de (2.5). Desde que N ≥ k′, para cada (c′, k′) ∈ A, segue que(0, N) é A-ótimo para mina,b∈Σγa→b/2.

Fato 20. Se g > −N ·mina,b∈Σγa→b e g > 0, então

−g < N − k2

mina,b∈Σγa→b,

para cada (c, k) ∈ A.

Prova. Suponha que g > −N ·mina,b∈Σγa→b e g > 0. Se mina,b∈Σγa→b ≥ 0, então, desdeque N ≥ k e g > 0,

−g < 0 ≤ N − k2

mina,b∈Σγa→b

e o fato está provado; se mina,b∈Σγa→b < 0, desde que N ≥ k e g > −N ·mina,b∈Σγa→b,

−g < N · mina,b∈Σγa→b ≤

N − k2

mina,b∈Σγa→b

e também para este caso o fato está provado.

Proposição 21. Seja (c, k) ∈ A o par que corresponde a um alinhamento de menor pontu-ação entre os alinhamentos de comprimento mínimo e

g > N ·max

− min

a,b∈Σγa→b,max

a,b∈Σγa→b

.

Então, (c, k) é A-ótimo para g.

Prova. Seja (c′, k′) correspondente a um alinhamento arbitrário A′. Note que g > 0. Paraprovar a proposição, desde que k é mínimo, vamos mostrar que (i) se k = k′, então c+ gk ≤c′ + gk′; e (ii) se k < k′, então c+ gk < c′ + gk′.

Suponha que k = k′. Segue do Fato 16 que |A| = |A′|, o que implica, sendo A de menorpontuação entre os alinhamentos de comprimento mínimo, que c + gk ≤ c′ + gk′ e (i) estáprovado.

Suponha então que k < k′. Segue do Fato 16 que |A| < |A′| e k ≤ k′ − 2. Analisamos osdois casos possíveis: o caso maxa,b∈Σγa→b ≥ 0 e o caso maxa,b∈Σγa→b < 0.

Suponha que maxa,b∈Σγa→b ≥ 0. Logo,

c+ gk ≤ N

(maxa,b∈Σγa→b

)+ g(k′ − 2) (2.6)

< g + g(k′ − 2) = −g + gk′ (2.7)

<N − k′

2mina,b∈Σγa→b+ gk′ (2.8)

≤ c′ + gk′. (2.9)

onde (2.6) vale pois, sendo maxa,b∈Σγa→b ≥ 0 e a quantidade de substituições não superiora N , vale que c ≤ N maxa,b∈Σγa→b, e sendo k ≤ k′−2 e g > 0, vale que gk ≤ g(k′−2); (2.7)vale pela hipótese da proposição; (2.8) vale pelo Fato 20, e (2.9) segue de (2.5). Portanto, sek < k′ e maxa,b∈Σγa→b ≥ 0, então c+ gk < c′+ gk′, o que implica que nesse caso vale (ii).

24 CONCEITOS 2.2

Suponha maxa,b∈Σγa→b < 0. Segue que mina,b∈Σγa→b < 0. Logo,

c+ gk ≤ gk (2.10)

≤ g(k′ − 2) (2.11)

≤ −g + gk′ (2.12)

<N − k′

2mina,b∈Σγa→b+ gk′, (2.13)

≤ c′ + gk′. (2.14)

onde (2.10) segue de maxa,b∈Σγa→b < 0; (2.11) segue de g > 0 e k ≤ k′−2; (2.12) segue deg > 0; (2.13) segue do Fato 20 e; (2.14) segue de (2.5). Portanto, vale (ii) também quandomaxa,b∈Σγa→b < 0 e a prova termina.

Proposição 22. Sejam

e =mina,b∈Σγa→b

2e f = N ·max

− min

a,b∈Σγa→b,max

a,b∈Σγa→b

+ ε,

para algum número ε > 0. Então, H = H[e, f].

Prova. Seja H = (c0, k0), . . . , (cN , kN ) tal que (ci, ki) 6= (ci+1, ki+1) para cada 0 ≤ i < N ek0 ≥ . . . ≥ kN . Segue do Fato 17 que ki 6= ki+1 para cada i, o que implica que k0 > . . . > kN .

Pela Proposição 19, (c0, k0) é A-ótimo para e e, pela Proposição 21, (cN , kN ) é A-ótimopara f . Logo (c0, k0), (cN , kN ) ∈ H[e, f].

Seja (c, k) ∈ H um elemento arbitrário, (c, k) 6= (c0, k0), (c, k) 6= (cN , kN ). Segue quek0 > k > kN . Como (c, k) ∈ H, existe g tal que (c, k) é A-ótimo para g. Sendo k0 > k ek > kN , segue do Fato 18 que e < g e g < f . Logo (c, k) ∈ H[e, f]. Como o argumentovale para cada (c, k) ∈ H exceto (c0, k0) e (cN , kN ), e (c0, k0), (cN , kN ) ∈ H[e, f], segue queH ⊆ H[e, f]. Segue de (2.4) que H = H[e, f].

Para um alinhamento A, sendo |A| = (N + k(A))/2, a pontuação-vNγ de A é

vNγ(A) =cγ(A) + gk(A)

(N + k(A))/2= 2

cγ(A) + gk(A)

N + k(A).

Dizemos que o custo normalizado do par (c, k) para g é 2(c + gk)/(N + k). Dizemos que opar (c, k) ∈ A é N-ótimo para g se, para cada (c′, k′) ∈ A, temos que

c+ gk

N + k≤ c′ + gk′

N + k′.

O Algoritmo 3 abaixo usa a estrutura estudada para calcular optNγ(s, t). Consideramos,para cada a, b ∈ Σ, que γa→b é um número inteiro.

Vamos argumentar que o algoritmo está correto. O Lema 24 mostra que, no início decada iteração na Linha 5, um elemento em H[e, f], digamos (cg, kg), é N-ótimo para g.Suponha f − e < 1/N2, ou seja, o início da última iteração. A contrapositiva do Lema 27garante existir no máximo dois elementos em H[e, f]. Logo, um deles deve ser (cg, kg).Consideramos o caso de |H[e, f]| = 1 e o caso de |H[e, f]| = 2. Se |H[e, f]| = 1, então(cg, kg) é A-ótimo para e e é A-ótimo para f e o algoritmo devolve corretamente o custonormalizado de (cg, kg). Se |H[e, f]| = 2, o Lema 28 garante que os elementos A-ótimospara e e para f , digamos (ce, ke) e (cf , kf ), são diferentes. Segue que (cg, kg) = (ce, ke) ou

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 25

Algoritmo 3

Entrada: sequências s, t;Saída: optNγ(s, t).1: N ← |s|+ |t|;2: g ← custo de uma inserção/remoção dada em γ;3: e← mina,b∈Σγa→b/2;4: f ← N · (max−mina,b∈Σγa→b,maxa,b∈Σγa→b) + ε;5: enquanto f − e ≥ 1/N2 faça6: λ← (e+ f)/2;7: (c, k)← elemento A-ótimo para λ em A;8: se N(g − λ) ≤ c+ λk, então f ← λ;9: senão e← λ;10: (ce, ke)← elemento A-ótimo para e em A;11: (cf , kf )← elemento A-ótimo para f em A;12: devolva 2 ·min(ce + gke)/(N + ke), (cf + gkf )/(N + kf ).

(cg, kg) = (cf , kf ). Desde que (cg, kg) tem custo normalizado mínimo, segue que, tambémnesse caso, o algoritmo devolve corretamente o valor normalizado de (cg, kg).

O seguinte resultado é usado para a prova do funcionamento do algoritmo.

Fato 23. Sejam (c, k), (cg, kg) ∈ A e g, λ números reais tais que

c+ λk ≤ cg + λkg, (2.15)cg + gkgN + kg

<c+ gk

N + k. (2.16)

Então, se kg > k, então N(g − λ) < c+ λk; e se k > kg, então N(g − λ) > c+ λk.

Prova. Como N > 0 e kg > 0, temos, usando (2.15) na primeira e (2.16) na segundadesigualdade abaixo, que

c+ λk + (g − λ)kgN + kg

≤ cg + λkg + (g − λ)kgN + kg

=cg + gkgN + kg

<c+ gk

N + k.

Logo, (c+ λk+ (g− λ)kg)/(N + kg) < (c+ gk)/(N + k). Segue, sendo N > 0, k, kg ≥ 0, que

N(g − λ)(kg − k) < (c+ λk)(kg − k).

Portanto, se kg > k, então segue que N(g − λ) < c + λk; e se k > kg, então segue queN(g − λ) > c+ λk.

Lema 24. Cada vez que a Linha 5 do Algoritmo 3 é executada, para algum (cg, kg) N-ótimopara g, vale que (cg, kg) ∈ H[e, f].

Prova. A prova é por indução no número de iterações. A Proposição 22 e os valores atribuídosa e e f nas Linhas 3 e 4 garantem que no início da primeira iteração H[e, f] = H. Seguedo Fato 26 que o lema vale no início da primeira iteração.

Suponha que estamos no início de uma iteração qualquer que não seja a última. Ahipótese de indução garante existir (cg, kg) que é N-ótimo para g e que é A-ótimo paraalgum g, onde e ≤ g ≤ f . Seja (c, k) A-ótimo para λ = (e + f)/2 denido ao executar a

26 CONCEITOS 2.2

Linha 7. Consideramos dois casos: (c, k) é N-ótimo e (c, k) não é N-ótimo para g. Se (c, k) éN-ótimo para g, desde que (c, k) ∈ H[e, λ] e (c, k) ∈ H[λ, f], temos que a armação valetrivialmente para a próxima iteração e o passo de indução está concluído e o lema provado.Assumimos, então que (c, k) não é N-ótimo para g.

Como, (cg, kg) é N-ótimo e (c, k) não é N-ótimo para g, temos que

cg + gkgN + kg

<c+ gk

N + k(2.17)

e que (cg, kg) 6= (c, k). Como (c, k) e (cg, kg) são A-ótimos e (cg, kg) 6= (c, k), temos pelacontrapositiva do Fato 17 que kg 6= k. Logo, kg > k ou k > kg.

Suponha kg > k. Como (cg, kg) e (c, k) são A-ótimos para g e λ respectivamente, temospelo Fato 18 que g ≤ λ, o que implica, sendo e ≤ g, que e ≤ g ≤ λ o que, por sua vez,implica, sendo (cg, kg) A-ótimo para g, que (cg, kg) ∈ H[e, λ]. Por outro lado, como kg > k,c + λk ≤ cg + λkg e vale (2.17), pelo Fato 23 temos que N(g − λ) < c + λk e, portanto,de acordo com a execução da Linha 8 do Algoritmo 3, o conjunto considerado na próximaiteração é H[e, λ] que contém o elemento N-ótimo (cg, kg). Logo, vale a armação no inícioda próxima iteração.

Se k > kg, então, usando resultados e raciocínio similares, temos que, de acordo com aexecução do Algoritmo 3, a armação também vale no início da próxima iteração.

Fato 25. Sejam (c1, k1), (c2, k2) ∈ H com k1 > k2, tais que, para cada (c, k) ∈ H, k ≥ k1 ouk ≤ k2. Então, (c1, k1) é A-ótimo para g = (c2 − c1)/(k1 − k2).

Prova. Como g = (c2 − c1)/(k1 − k2), temos que c1 + gk1 = c2 + gk2.Sejam g1, g2 números tais que (c1, k1) e (c2, k2) são A-ótimos para g1 e g2, respectivamente.

Segue do Fato 18 que g1 ≤ g = (c2 − c1)/(k1 − k2) < g2.Seja também (c, k) ∈ H arbitrário tal que (c, k) 6= (c1, k1) e (c, k) 6= (c2, k2). Como, por

hipótese, k ≥ k1 ou k ≤ k2, segue do Fato 17 que k > k1 ou k < k2.Suponha que k > k1. Pela denição de g1, temos que c1 + g1k1 < c+ g1k, o que implica,

sendo k > k1, que (c1 − c)/(k − k1) < g1 o que, por sua vez, implica, sendo g1 ≤ g, que(c1− c)/(k−k1) < g. Logo, usando novamente o fato de k > k1, segue que c1 + gk1 < c+ gk.Portanto, se k > k1, então c1 + gk1 < c+ gk.

Suponha que k2 > k. Pela denição de g2, temos que c2 + g2k2 ≤ c+ g2k, o que implica,sendo k2 > k, que g2 ≤ (c − c2)/(k2 − k), o que, por sua vez, implica, sendo g < g2, queg < (c− c2)/(k2−k). Logo, usando novamente o fato de k2 > k, segue que c2 + gk2 < c+ gk.Desde que c1 + gk1 = c2 + gk2, segue que c1 + gk1 = c2 + gk2 < c+ gk. Portanto, se k2 > k,então c1 + gk1 < c+ gk.

Como, independentemente do valor de k, c1 + gk1 < c+ gk, sendo (c, k) ∈ H arbitrário,temos que (c1, k1) é A-ótimo para g = (c2 − c1)/(k1 − k2).

Fato 26. Seja (c, k) N-ótimo para g ∈ R. Logo, (c, k) ∈ H.

Prova. Seja H = (c0, k0), . . . , (cN , kN ) tal que (ci, ki) 6= (ci+1, ki+1) para cada 0 ≤ i < N ek0 ≥ . . . ≥ kN . Pela Proposição 19, (c0, k0) corresponde a um alinhamento de comprimentomáximo e pela Proposição 21, (cN , kN ) corresponde a um alinhamento de comprimentomínimo. Segue do Fato 16 que kN ≤ k ≤ k0. Seja i o inteiro tal que ki ≥ k ≥ ki+1 que oargumento k0 ≥ k ≥ kN garante existir.

2.2 ALINHAMENTO DE DUAS SEQUÊNCIAS 27

Segue do Fato 25 que (ci, ki) é A-ótimo para g = (ci+1 − ci)/(ki − ki+1), o que implicaque ci + gki ≤ c+ gk. Sendo ci+1 + gki+1 = ci + gki, segue que,

ci+1 + gki+1 = ci + gki ≤ c+ gk. (2.18)

Além disso, como (c, k) é N-ótimo para g,

c+ gk

N + k≤ min

ci + gkiN + ki

,ci+1 + gki+1

N + ki+1

. (2.19)

Se k < ki e k > ki+1, então desde que vale (2.18) e (2.19), temos, pelo Fato 23, queN(g − g) > ci + gki e que N(g − g) < ci+1 + gki+1, o que implica ci + gki < ci+1 + gki+1,uma contradição com (2.18). Logo, k 6< ki ou k 6> ki+1, o que implica, sendo ki ≥ k ≥ ki+1

que k = ki ou k = ki+1.Se ki = k, então, como consequência de (2.18), temos que ci ≤ c e, como consequência

de (2.19), temos que c ≤ ci, o que implica que ci = c. Segue que (c, k) = (ci, ki) e a provatermina para esse caso. Usando raciocínio análogo, se ki+1 = k, então (c, k) = (ci, ki+1) e aprova também termina.

Lema 27. Se |H[e, f ]| ≥ 3, então f − e ≥ 1/N2.

Prova. Suponha que |H[e, f ]| ≥ 3. Então, existem 3 números reais g1, g2, g3 e 3 elementos2-a-2 distintos (c1, k1), (c2, k2), (c3, k3), tais que e ≤ g1, g2, g3 ≤ f , k1 ≥ k2 ≥ k3 e (c1, k1) éA-ótimo para g1, (c2, k2) é A-ótimo para g2 e (c3, k3) é A-ótimo para g3.

Como (c1, k1), (c2, k2), (c3, k3) são 2-a-2 distintos, temos que a contrapositiva do Fato 17garante que k1, k2, k3 são 2-a-2 distintos. Segue daí que k1 > k2 > k3. Segue do Fato 18 que

g1 ≤c2 − c1

k1 − k2

< g2 ≤c3 − c2

k2 − k3

< g3.

Logo,

g3 − g1 ≥c3 − c2

k2 − k3

− c2 − c1

k1 − k2

=c1(k2 − k3) + c3(k1 − k2)− c2(k1 − k3)

(k2 − k3)(k1 − k2)

≥ c1(k2 − k3) + c3(k1 − k2)− c2(k1 − k3)

N2

≥ 1

N2,

onde a segunda desigualdade segue de N ≥ k1 − k2 > 0 e N ≥ k2 − k3 > 0 pois N ≥ k1 >k2 > k3 > 0; e a última desigualdade segue de c1, c2, c3, k1, k2, k3 serem números inteiros ec1(k2 − k3) + c3(k1 − k2)− c2(k1 − k3) > 0, pois (c2 − c1)/(k1 − k2) < (c3 − c2)(k2 − k3).

Portanto, sendo e ≤ g1, g3 ≤ f e g3 − g1 ≥ 1/N2 segue que f − e ≥ g3 − g1 ≥ 1/N2.

Lema 28. Se |H[e, f]| ≥ 2, (ce, ke) é A-ótimo para e e (cf , kf ) é A-ótimo para f , então(ce, ke) 6= (cf , kf ).

Prova. Suponha que |H[e, f]| ≥ 2, (ce, ke) e (cf , kf ) A-ótimos para e e f respectivamente.Como |H[e, f]| ≥ 2, existem (c, k) e g tais que (c, k) 6= (ce, ke), (c, k) é A-ótimo para g ee ≤ g ≤ f .

28 CONCEITOS 2.3

Como (ce, ke), (c, k) e (cf , kf ) são A-ótimos para e, g e f respectivamente e e ≤ g ≤ f ,temos como consequência da contrapositiva do Fato 18 que ke ≥ k ≥ kf .

Como (ce, ke) e (c, k) são A-ótimos e (c, k) 6= (ce, ke), temos, pela contrapositiva doFato 17, que ke 6= k. Segue que ke > k ≥ ke. Logo, ke > kf e, portanto, (ce, ke) 6= (cf , kf ).

A seguir estudamos o tempo gasto pelo algoritmo.

Teorema 29. Para entrada s, t ∈ Σ∗, com |s| = |t| = n, e considerando custo uniforme parainserção e remoção, o Algoritmo 3 gasta tempo O(TAPS(n) · log n).

Prova. Inicialmente, f − e não é superior a 4n ·max|mina,b∈Σ γa→b|, |maxa,b∈Σ γa→b|. Emcada iteração esse valor é dividido por 2. Em

O

(log

(n2 · 4n ·max

∣∣∣∣mina,b∈Σ

γa→b

∣∣∣∣ , ∣∣∣∣maxa,b∈Σ

γa→b

∣∣∣∣))iterações esse valor é menor que 1/n2. Se consideramos constantes os valores de γ, então onúmero de iterações é O(log 4n3) = O(log n). Em cada iteração, o algoritmo gasta tempoTAPS(n) para determinar um alinhamento A-ótimo de (s, t). Portanto, o tempo total gastoé O(TAPS(n) · log n).

A Tabela 2.1 resume os resultados descritos nesta seção para o alinhamento de duassequências.

Problema Restrição∗ Tempo∗∗ Referência

APSsem restrições O(n2) [NW70]

γa→b =

0 se a = b

1 caso contrárioO(n2/ log n) [MP80]

γ com entradas racionais O(n2/ log n) [CLZU02]

APSN

2-aproximação sem restrição O(n2) descrita nesta tesesem restrições O(n3) [MV93]

sem restriçõesO(TAPS(n) · n)

[VMA95]mas rápido na prática

γ com entradas racionais O(TAPS(n) · log n) [AE00]γ com custo uniforme

O(TAPS(n) · log n) descrita nesta tesenas operações de edição

Tabela 2.1: (∗) é a restrição da matriz de pontuação γ; (∗∗) é o tempo assintótico gasto para

comparar duas sequências de comprimento n cada.

2.3 Alinhamento de várias sequências

Considere uma matriz de pontuação γ xa. Sejam S = (s1, . . . , sk) ∈ (Σ∗)k e um ali-nhamento A = [s′1, . . . , s

′k] de S. O critério vSPγ, também chamado pontuação-SP, para

pontuar o alinhamento A é denido como

vSPγ(A) =k−1∑h=1

k∑i=h+1

vAγ(Ah,i).

2.3 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 29

Denimos optSPγ como a função ótima para o critério vSPγ. Um alinhamento A de Stal que vSPγ(A) = optSPγ(S) é dito alinhamento vSPγ-ótimo. O seguinte problema estáassociado ao critério vSPγ.

Problema 3. AVS: Alinhamento de várias sequênciasDado S ∈ (Σ∗)k, determinar optSPγ(S), onde γ é uma matriz de pontuação xa.

2.3.1 Algoritmos exatos

Mostramos a seguir um algoritmo baseado em programação dinâmica para o problemaAVS. Esse algoritmo é uma generalização do algoritmo básico utilizado para calcular apontuação do alinhamento de duas sequências. Uma tabela D armazena os valores ótimosdos sub-problemas calculadas pela programação dinâmica. A tabela possui k dimensões ecada D(j1, j2, . . . , jk) armazena o valor de optSPγ((s1(1 . . . j1), . . . , sk(1 . . . jk))).

A pontuação-SP de uma k-upla [x1, . . . , xk], onde cada xi ∈ Σ , é denida como

vSPγ([x1, . . . , xk]) =k−1∑h=1

k∑i=h+1

γxh→xi .

Assim, se cj é a coluna j de um alinhamento A = [s′1, . . . , s′k], então a pontuação-SP de A

pode ser calculada

vSPγ(A) =

|A|∑j=1

vSPγ(cj).

Dado S = (s1, . . . , sk) onde cada si possui ni símbolos, denimos

~VS = 0, . . . , n1 × 0, . . . , n2 × . . .× 0, . . . , nk.

A tabela D é indexada por ~VS. Um elemento de ~j = (j1, . . . , jk) ∈ ~VS é denotado ~j =[j1, . . . , jk]. Denimos S(~j) = (s1(1 . . . j1), . . . , sk(1 . . . jk)). A entrada D(~j) armazena por-tanto optSPγ(S(~j)). Seja Bk = 0, 1k \ 0k, onde 0k = [0, . . . , 0] denota uma sequência dek zeros. Para ~j = [j1, . . . , jk] ∈ ~VS e ~b = [b1, . . . , bk] ∈ Bk, denimos

~b · S(~j) = [x1, . . . , xk] ∈ (Σ )k,

tal que

xi =

si(ji) se bi = 1

caso contrário.

Assim, dado um alinhamento A de S(~j), existe ~b ∈ Bk tal que A(|A|) = ~b · S(~j). Neste caso,sendo ~j = [j1, . . . , jk] e ~b = [b1, . . . , bk], temos que bi = 1 se e somente se si(ji) está nai-ésima linha da última coluna de A.

Denimos também a operação

~j −~b = [j1 − b1, . . . , jk − bk].

Note que, se não existe i tal que ji = 0 e bi = 1, ou seja, se ji ≥ bi para cada i, então S(~j−~b)é a k-upla S(~j) removendo os símbolos que estão na última coluna de um alinhamento onde~b · S(~j) é a última coluna. Se ~j = [j1, . . . , jk] e ~b = [b1, . . . , bk], então denotamos ~b ≤ ~j seji − bi ≥ 0 para cada i.

30 CONCEITOS 2.3

Então, D(~j) = optSPγ(S(~j)) é o menor valor

optSPγ(S(~j −~b)) + vSPγ(~b · S(~j))

quando consideramos todas as possibilidades para~b ≤ ~j. Portanto, D(0k) = 0 e cada entradada tabela de programação dinâmica D(~j) com ~j 6= 0k é calculada por

D(~j) = min~b∈Bk,~b≤~j

D(~j −~b) + vSPγ(~b · S(~j))

.

Quando calculamos o valor de D(~j), devemos garantir que D(~j −~b) já tenha sido calculadopara todos os valores de ~b. Isso pode ser feito gerando os índices de D em ordem lexicográcausando um algoritmo que simula o hodômetro de um automóvel [Bri03].

A seguir apresentamos o algoritmo.

Algoritmo 4

Entrada: S = (s1, . . . , sk) ∈ (Σ∗)k tal que |si| = niSaída: optSPγ(S)1: D(0k)← 0;2: para cada ~j ∈ ~VS em ordem lexicográca faça

3: D(~j)← min~b∈Bk,~b≤~j

D(~j −~b) + vSPγ(~b · S(~j))

;

4: devolva D(n1, n2, . . . , nk).

Se todas as sequências de S são de comprimento n, o algoritmo gasta espaço Θ((n+1)k),que é o espaço utilizado pela estrutura de dados para armazenar a tabela D. Para preenchercada entrada da tabela, o algoritmo examina Θ(2k) outras entradas no pior caso sendo que oexame de cada uma dessas entradas gasta tempo Θ(k2). Portanto, o tempo total consumidoé O(2kk2(n+ 1)k).

Alguns métodos, como de Carrillo e Lipman [CL88], são mais ecientes quando as sequên-cias são parecidas pois não calcula todas as entradas de D. No pior caso do caso geral,entretanto, o espaço e tempo gastos permanecem assintoticamente iguais.

2.3.2 Complexidade do problema

Para o estudo da complexidade consideramos a versão de decisão do problema.

Problema 4. AVSd: Alinhamento de Várias Sequências (Multiple sequence alignment)Dados S ∈ (Σ∗)k e um inteiro positivo C, decidir se existe um alinhamento A de S tal

que vSPγ(A) ≤ C, onde γ é uma matriz de pontuação xa com entradas inteiras.

Nesta seção, dada uma matriz de pontuação γ para um Σ, dizemos que uma matriz depontuação δ para um Σ′ é supermatriz de γ se Σ ⊆ Σ′ e γa→b = δa→b para cada a, b ∈ Σ.

Wang e Jiang [WJ94] mostraram que o Problema AVSd é NP-completo mas em suaredução os autores usaram matrizes que são supermatrizes de uma matriz de pontuaçãoparticular que não possui a propriedade reexiva de uma métrica em Σ . Descrevemos aseguir essa redução.

Redução de Wang e Jiang [WJ94]

Uma supersequência de uma sequência s(1) . . . s(n) ∈ Σ∗, onde cada s(i) ∈ Σ, é umasequência na forma t1s(1)t2s(2)t3 . . . tns(n)tn+1, onde cada ti ∈ Σ∗.

2.3 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 31

Problema 5. SC-Mín: Supersequência Comum de Menor Comprimento (Shortest CommonSupersequence Problem)

Dados um conjunto de sequências S = s1, . . . , sk e um inteiro positivo L, decidir seexiste uma sequência s ∈ Σ∗ tal que s é supersequência de cada si ∈ S e |s| ≤ L.

O Problema SC-Mín é NP-completo quando |Σ| = 2 [RU81]. A seguir descrevemos umaredução do Problema SC-Mín ao Problema AVSd.

Sejam ΣSC-Mín = 0, 1 um alfabeto para uma instância (S = s1, . . . , sk, L) de SC-Mín, ni = |si| e N =

∑i ni. Claramente a resposta do problema para a instância (S, L) é

Não se L < maxini e a resposta é Sim se L ≥ N . Assumimos então que maxini ≤ L < N .Denimos L+1 instâncias (Sp, C) deAVSd, para p = 0, 1, . . . , L, onde C é uma constante

xa igual a kN + (k + 1)L. O alfabeto e a matriz de pontuação considerados são ΣAVS =0, 1, a, b e

γ =

0 1 a b0 2 2 1 2 11 2 2 2 1 1a 1 2 0 2 1b 2 1 2 0 1

1 1 1 1

,

respectivamente. Os símbolos em a, b são chamados de letras e os símbolos em 0, 1 sãochamados de símbolos numéricos. Note que as propriedades de não-negatividade, positivi-dade, desigualdade triangular e simetria estão presentes em (ΣAVS, γ), mas a propriedadereexibilidade não está (pois γ0→0 = γ1→1 6= 0), o que implica que γ não é uma métrica emΣ . Para cada p, ponha Sp = (s1, . . . , sk, sk+1 = ap, sk+2 = bL−p).

Vericamos a seguir nesta seção que a resposta do Problema SC-Mín para instância(S, L) é Sim se e somente se a resposta do Problema AVSd para a instâncias (Sp, C) é Simpara algum p. Para isto, mostramos um alinhamento com pontuação C para algum Sp quandoexiste uma supersequência comum das sequências de S de comprimento menor ou igual a L,e mostramos que qualquer alinhamento de qualquer (k+ 2)-upla Sp tem pontuação superiora C quando não existe uma supersequência comum das sequências de S de comprimentomenor ou igual a L.

Vericamos pelo lema a seguir que qualquer alinhamento induzido A1,...,k de qualquerSp possui pontuação constante.

Lema 30. Seja A um alinhamento de Sp, para algum p. Então, vSPγ(A1,...,k) = (k − 1)N .

Prova. Sejam A um alinhamento de Sp, para algum p, e h, i inteiros tais que 1 ≤ h < i ≤ k.Seja m a quantidade de símbolos de sh alinhados com símbolos de si. Portanto, m − nhsímbolos de sh estão alinhados com em−ni símbolos de si estão alinhados com em Ah,i.Desde que sh e si contêm somente símbolos numéricos e que γ0→0 = γ0→1 = γ1→0 = γ1→1 = 2e que γ0→ = γ →0 = γ1→ = γ →1 = 1, segue que

vAγ(Ah,i) = (nh −m) · 1 + (ni −m) · 1 +m · 2 = nh + ni.

Logo,

vSPγ(A1,...,k) =k−1∑h=1

k∑i<h

vAγ(Ah,i) =k−1∑h=1

k∑i<h

(nh + ni) = (k − 1)k∑

h=1

nh = (k − 1)N.

A duplicação da coluna j em um alinhamento consiste na operação de inserção, em cada

32 CONCEITOS 2.3

sequência s′ do alinhamento, de um símbolo antes ou depois de s′(j) substituindo assim acoluna j por outras duas, ou seja, substituindo cada sequência s′ pela sequência

s′(1) . . . s′(j − 1) s′(j)s′(j + 1) . . . s′(|s′|) ou s′(1) . . . s′(j − 1)s′(j) s′(j + 1) . . . s′(|s′|).

As novas colunas após a duplicação da coluna j são as colunas j e j + 1 e cada uma delasnão pode ter somente símbolos iguais a .

Uma coluna c de um alinhamento de Sp é desejável se ela contém somente 0's, a's e's ou contém somente 1's, b's e 's. Se a coluna c não é desejável, então ela é indesejável.

Note que se A é um alinhamento sem colunas indesejáveis, então |A| ≥ L pois os símbolosde ap não podem estar alinhados com símbolos de bL−p. Uma duplicação desejável de umacoluna indesejável c = [c1, . . . , ck+2] produz duas novas colunas c′ = [c′1, . . . , c

′k+2] e c′′ =

[c′′1, . . . , c′′k+2] tais que: se ci = 0 ou ci = a, então c′i = ci e c′′i = ; se ci = 1 ou ci = b,

então c′i = e c′′i = ci; e se ci = , então c′i = c′′i = . Os seguintes resultados mostram queduplicação desejável não altera a pontuação de um alinhamento.

Lema 31. Seja A um alinhamento de Sp para algum p com q > 0 colunas indesejáveis. Se cé uma coluna indesejável, então a duplicação desejável de c produz um alinhamento A′ comq − 1 colunas indesejáveis e vSPγ(A) = vSPγ(A

′).

Prova. Suponha que c é uma coluna indesejável de A. Denotamos por rσ a quantidade desímbolos iguais a σ em c. Sendo γ simétrica, a pontuação-SP da coluna c é

vSPγ(c) = 2

(r0

2

)+ 2

(r1

2

)+ 2(r0r1 + r0rb + r1ra + rarb)

+(r0ra + r0r + r1rb + r1r + rar + rbr ).

Sejam c′ e c′′ as novas colunas obtidas pela duplicação desejável de c. Assim, a coluna c′

ca com r0 símbolos iguais a 0, ra símbolos iguais a a e r1 + rb + r símbolos iguais a , esimilarmente, a coluna c′′i ca com r1 símbolos iguais a 1, rb símbolos iguais a b e r0 +ra+rsímbolos iguais a . Segue que,

vSPγ(c′) = 2

(r0

2

)+ r0(r1 + rb + r ) + r0ra + ra(r1 + rb + r )

vSPγ(c′′) = 2

(r1

2

)+ r1(r0 + ra + r ) + r1rb + rb(r0 + ra + r ).

Segue que vSPγ(c) = vSPγ(c′) + vSPγ(c

′′). Como as demais colunas de A são colunas deA′ e vice-versa, segue que vSPγ(A) = vSPγ(A

′) e que A′ possui exatamente uma colunaindesejável a menos que A.

Claramente, vale o seguinte corolário do Lema 31.

Corolário 32. Se A é um alinhamento de Sp para algum p, então existe um alinhamentoA′ de Sp sem colunas indesejáveis tal que vSPγ(A) = vSPγ(A

′).

O seguinte resultado determina a pontuação de um alinhamento sem colunas indesejáveisque possui uma letra em cada coluna.

Lema 33. Seja A um alinhamento de Sp sem colunas indesejáveis. Se em toda coluna deA há exatamente uma letra (a ou b), então vSPγ(A) = kN + (k + 1)L; caso contráriovSPγ(A) > kN + (k + 1)L.

2.3 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 33

Prova. Seja A = [s′1, . . . , s′k, s′k+1, s

′k+2]. Como A não possui colunas indesejáveis, temos

que |A| = L+ q, onde q ≥ 0 é a quantidade de colunas que não têm letra. Segue que, se emtoda coluna de A há exatamente uma letra, então q = 0. Caso contrário, q > 0.

A pontuação-SP do alinhamento A é

vSPγ(A) = vSPγ(A1,...,k) +

L+q∑j=1

(γs′k+1(j)→s′k+2(j) +

∑i

γs′i(j)→s′k+1(j) +∑i

γs′i(j)→s′k+2(j)

).

PonhaXj = γs′k+1(j)→s′k+2(j) +

∑i

γs′i(j)→s′k+1(j) +∑i

γs′i(j)→s′k+2(j)

que é a contribuição de ap, bL−p na coluna j na pontuação-SP.Sejam c1, c2, . . . , cL as colunas com letra e cL+1, . . . , cL+q as colunas sem letra e seja rj

a quantidade de símbolos numéricos na coluna cj. Se j ≤ L, ou seja, cj possui letra, entãoXj = (k + 1) + rj, e se j > L, então Xj = 2rj. Portanto,

L+q∑j=1

Xj =L∑j=1

Xj +

L+q∑j=L+1

Xj =L∑j=1

((k + 1) + rj) +

L+q∑j=L+1

2rj = L(k + 1) +N +

L+q∑j=L+1

rj.

Como pelo Lema 30 vSPγ(A1,...,k) = (k − 1)N , segue que

vSPγ(A) = vSPγ(A1,...,k) +∑j

Xj = kN + L(k + 1) +

L+q∑j=L+1

rj.

Suponha que em A toda coluna tem exatamente uma letra. Logo, q = 0 e, portanto,∑L+qj=L+1 rj = 0. Segue que

vSPγ(A) = kN + (k + 1)L+

L+q∑j=L+1

rj = kN + (k + 1)L.

Portanto, se toda coluna de A tem exatamente uma letra, então vSPγ(A) = kN + (k + 1)L.Caso contrário, q > 0. Logo, desde que uma coluna cj não pode possuir unicamente

símbolos iguais a , temos que, se j > L, então rj > 0. Logo, se q > 0, então∑L+q

j=L+1 rj > 0.Segue que

vSPγ(A) = kN + (k + 1)L+

L+q∑j=L+1

rj > kN + (k + 1)L.

Portanto, se não é o caso de toda coluna de A ter exatamente uma letra, vSPγ(A) > kN +(k + 1)L.

Lema 34. Sejam t uma supersequência de comprimento mínimo de S = s1, . . . , sk e Lum inteiro positivo. Existe um alinhamento de Sp para algum p, sem colunas indesejáveis ecom exatamente uma letra em cada coluna se e somente se |t| ≤ L.

Prova. Suponha que existe um alinhamento A de Sp para algum p, sem colunas indesejáveise com exatamente uma letra em cada coluna. Como há p letras as e L−p letras bs, segue que|A| = L. Denimos uma sequência t′ tal que o j-ésimo elemento de t′ é 0 se a letra da j-ésimacoluna de A é a, e é 1 se a letra da j-ésima coluna de A é b. Claramente t′ corresponde a

34 CONCEITOS 2.3

uma supersequência de S de comprimento |A| = L. Sendo t uma supersequência de S decomprimento mínimo segue que |t| ≤ |t′| = |A| = L.

Reciprocamente, suponha |t| ≤ L para algum inteiro L e considere p a quantidade de sím-bolos iguais a 0 em t. Construímos um alinhamento A para Sp = (s1, . . . , sk, a

p, bL−p) de talmodo que, para cada i, os 0's e os 1s de si quem alinhados com os 0's e 1's correspondentesaos símbolos da supersequência t; os a's e |t|−p símbolos b's de ap e de bL−p quem alinhadoscom os 0's e 1's correspondentes em t; os demais L−|t| símbolos iguais a b cam alinhados comem colunas isoladas. Por exemplo, se as sequências são 0000000, 01010010, 01010, 011010

e t = 0010100100 e L = 11, um possível alinhamento construído usando as regras acima é

0 0 0 0 0 0 00 1 0 1 0 0 1 0

0 1 0 1 00 1 1 0 1 0

a a a a a a ab b b b

0 0 1 0 1 0 0 1 0 − 0

.

Logo, se |t| ≤ L, então existe um alinhamento de Sp para algum p, sem colunas indesejáveise com exatamente uma letra em cada coluna.

Teorema 35. O Problema AVSd é NP-completo para a matriz

γ =

0 1 a b0 2 2 1 2 11 2 2 2 1 1a 1 2 0 2 1b 2 1 2 0 1

1 1 1 1

.

Prova. O ProblemaAVSd está em NP pois, sendo (S,C) uma instância deAVSd, podemosvericar em tempo polinomial se um alinhamento A de S é tal que vSPγ(A) ≤ C.

A redução acima do Problema SC-Mín ao Problema AVSd claramente é polinomial.Basta vericar então que a resposta da instância (S, L) para o Problema SC-Mín é Sim see somente se a resposta de alguma das L + 1 instâncias (Sp, C) para o Problema AVSd éSim.

Suponha, então que a resposta da instância (S, L) para o Problema SC-Mín é Sim.Então, existe uma supersequência t de S de comprimento |t| ≤ L. Segue do Lema 34 que,para algum p, existe um alinhamento A de Sp, sem colunas indesejáveis e que possui letrasem todas as colunas. Segue do Lema 33 que vSPγ(A) = kN + (k+ 1)L. Segue que a respostada instância (Sp, C) para o Problema AVSd é Sim.

Suponha, então que, para algum j, a resposta da instância (Sp, C) para o ProblemaAVSd é Sim. Logo, existe um alinhamento A de Sp tal que vSPγ(A) ≤ C = kN + (k+ 1)L.O Corolário 32 garante que existe um alinhamento A′ de Sp sem colunas indesejáveis evSPγ(A

′) = vSPγ(A). Segue do Lema 33 que em cada coluna de A′ há exatamente umaletra. Segue do Lema 34 que existe uma supersequência de S de comprimento menor ouigual a L. Portanto, a resposta da (S, L) para o Problema SC-Mín é Sim.

2.3 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 35

Outros resultados

Bonizzoni e Vedova [BV01] mostraram que o Problema AVSd é NP-completo quando|Σ| ≥ 2 e a matriz de pontuação é uma supermatriz de

γ =

a b

a 0 1 2b 1 0 2

2 2

,

ou seja, para algumas matrizes que são métricas e que induzem métrica em optSPγ.Just [Jus01] mostrou que o problema é NP-completo para uma classe de matrizes de

pontuação mais ampla que incluia inclusive as matrizes de Bonizzoni e Vedova (mas não asde Wang e Jiang) e que são supermatrizes de

γ =

a b

a va u yb u vb z

y z

,

onde u > max0, va, vb, y > u e z > 0.Elias [Eli06] mostrou que o problema é NP-completo quando a matriz de pontuação é

uma supermatriz de uma matriz que é métrica em Σ , e Σ possui ao menos dois símbolos.A Tabela 2.2 resume os resultados de NP-completude para o Problema AVSd estudados

neste capítulo.

Sub-matriz Referência

0 1 a b

0 2 2 1 2 11 2 2 2 1 1a 1 2 0 2 1b 2 1 2 0 1

1 1 1 1

[WJ94]

a b

a 0 1 2b 1 0 2

2 2

[BV01]

a b

a va u yb u vb z

y z

, onde u > max0, va, vb, y > u e z > 0 [Jus01]

γ ∈MC e |Σ| ≥ 2 [Eli06]

Tabela 2.2: Assumimos aqui que a, b ∈ Σ e que a matriz de pontuação é uma supermatriz da

sub-matriz dada.

36 CONCEITOS 2.3

Capítulo 3

Alinhamento Estendido

Um alinhamento convencional de duas sequências representa um conjunto de operaçõesde edição mas nem todo conjunto de operações de edição pode ser representado por umalinhamento convencional. Por exemplo, suponha que queremos representar as operações deedição cuja soma é mínima e que transforma a sequência a na sequência b para a matriz depontuação

γ =

a b c

a 0 5 1 2b 5 0 1 2c 1 1 0 2

2 2 2

.

Há somente três maneiras de alinhar (a, b) de maneira convencional. Na primeira temosvAγ([a, b]) = 5, e nas outras duas temos vAγ([ a, b ]) = vAγ([a , b]) = 4 o que nosleva a concluir que optAγ(a, b) = 4 e que [a , b] é um alinhamento ótimo de (a, b) para ocritério vAγ. Entretanto, [a , b] não representa qualquer conjunto de operações de ediçãode soma mínima, pois existe um de soma menor: editar a para c e, depois, c para b. Mas essasequência não pode ser representada por um alinhamento convencional. Estendemos então oconceito de alinhamento para representar o conjunto de operações de edição. O alinhamentoestendido editar a para c e, depois, c para b pode ser representado por a

c

b

.Sejam s, t ∈ Σ∗. Um alinhamento estendido de (s, t) é uma generalização do conceito

de alinhamento. Qualquer conjunto de operações de edição que transforma s em t pode serrepresentado por essa estrutura. Formalmente, um alinhamento estendido de (s, t) é uman-upla [c1, c2, . . . , cn], onde cada cj é uma sequência nita e não vazia com mj = |cj|elementos em Σ e com pelo menos um elemento em Σ. A sequência s é a sequência obtidaremovendo os símbolos de c1(1)c2(1) . . . cn(1), e t é obtida removendo os símbolos dec1(m1)c2(m2) . . . cn(mn). Assim, por exemplo, [a, abcd, b , d, ca, dabc, abc, dab] é umalinhamento estendido de (aabcd, addaccb). Dizemos simplesmente alinhamento em vez dealinhamento estendido se o tipo de alinhamento está claro no contexto.

Se A = [c1, c2, . . . , cn] é um alinhamento estendido de duas sequências, então dizemosque cada cj é a coluna do alinhamento e que n = |A| é o comprimento do alinhamento A.

37

38 ALINHAMENTO ESTENDIDO 3.0

A representação gráca

A =

a

a

b

c

d

b

d

c

a

d

a

b

c

a

b

c

d

a

b

do alinhamento A de (aabcd, addaccb) facilita a visualização das operações de edição queA representa.

Em um alinhamento estendido cada coluna representa uma sequência de operações deedição que transforma um símbolo de Σ em outro de Σ . A pontuação-vEγ para editar acoluna cj ou simplesmente a pontuação-vEγ de cj é

vEγ(cj) =

mj−1∑i=1

γcj(i)→cj(i+1)

e o critério vEγ para pontuar o alinhamento [c1, . . . , cn] é

vEγ([c1, . . . , cn]) =n∑j=1

vEγ(cj).

Dizemos que o valor de vEγ([c1, . . . , cn]) é a pontuação-vEγ do alinhamento [c1, . . . , cn].O conjunto de todos os alinhamentos estendidos de (s, t) é denotado por Es,t e denimos

optEγ(s, t) = minA∈Es,t

vEγ(A).

Dizemos que um alinhamento estendido de (s, t) de pontuação-vEγ optEγ(s, t) é um alinha-mento E-ótimo para γ. Enunciamos então o seguinte problema.

Problema 6. CME: Custo mínimo de ediçãoDados s, t ∈ Σ∗, determinar optEγ(s, t), onde γ é uma matriz xa.

A matriz de pontuação γ pode ser vista como um digrafo D(γ) com peso nos arcos, ondeo conjunto de vértices é V (D) = Σ e o conjunto de arcos é E(D) = Σ × Σ \ ( , ) ecusto(a→ b) = γa→b para cada a→ b ∈ E(D). A Figura 3.1 mostra D(γ) onde

γ =

a b c

a 0 5 1 2b 5 0 1 2c 1 1 0 2

2 2 2

.

Relembrando os conceitos denidos no Capítulo 2, temos que uma sequência de arcosP = (s(1)→ s(2) = e1, . . . , en−1 = s(n− 1)→ s(n)) em D(γ) é um caminho de s(1) a s(n)de custo

custo(P ) =n−1∑i=1

custo(ei);

se s(1) = s(n), dizemos que P é um ciclo; e se P é um ciclo e custo(P ) < 0, dizemos que Pé um ciclo negativo.

3.0 39

a

b

0

0

0

22

55

1

1

11

c

2

2 2 2

Figura 3.1: Digrafo D(γ).

Pelo Lema 64 demonstrado no Capítulo 4, a pontuação-vEγ de um alinhamento E-ótimopara γ não é denida se existem ciclos negativos em D(γ). Assumimos portanto que D(γ)não possui ciclos negativos.

Um caminho ótimo de s(1) a s(n) em D(γ) é um caminho de menor custo de s(1) a s(n)em D(γ) e denotamos o seu custo por Pγ(s(1), s(n)).

Dizemos que um alinhamento convencional [s′(1) . . . s′(n), t′(1) . . . t′(n)] induz o ali-nhamento estendido [s′(1) t′(1) , s′(2) t′(2), . . . , s′(n) t′(n)]. Como vimos, nem sempre osvalores de optEγ(s, t) e optAγ(s, t) são iguais. Entretanto, todo alinhamento convencionalinduz um alinhamento estendido de igual pontuação. Logo,

optEγ(s, t) ≤ optAγ(s, t). (3.1)

Mostramos a seguir como determinar uma matriz de pontuação δ de tal modo queoptEγ(s, t) = optAδ(s, t). A nalidade desta computação é determinar optEγ(s, t) usando algo-ritmos para computar optAδ(s, t) gastando tempo adicional apenas para o pré-processamentoda matriz de pontuação. A matriz de pontuação δ é denida a partir de γ. Para cadaa, b ∈ Σ ,

δa→b = Pγ(a, b). (3.2)

A matriz de pontuação δ possui as seguintes propriedades.

Lema 36. Sejam γ uma matriz de pontuação tal que D(γ) não possui ciclo negativo, e δuma matriz de pontuação denida a partir de γ e conforme (3.2). Se a, b, c ∈ Σ , então

1. δa→a = 0 e

2. δa→b ≤ δa→c + δc→b.

Prova. Suponha que a ∈ Σ . Um caminho de comprimento zero de a até a em D(γ) temcusto zero e, portanto, Pγ(a, a) ≤ 0. Como D(γ) por denição não possui ciclo negativo,temos que qualquer caminho de a até a possui custo maior ou igual a zero e portantoPγ(a, a) ≥ 0. Das observações feitas neste parágrafo, concluímos que Pγ(a, a) = 0, o queimplica que δa→a = 0.

Suponha que a, b, c ∈ Σ . Por denição, os caminhos ótimos P1 de a a c e P2 de c a b

em D(γ) têm respectivamente custos Pγ(a, c) = δa→c e Pγ(c, b) = δc→b. O caminho P1P2

40 ALINHAMENTO ESTENDIDO 3.0

denido pela concatenação de P1 e P2 é um caminho de a a b de custo Pγ(a, c) + Pγ(c, b).Logo, desde que Pγ(a, b) = δa→b é o custo do caminho ótimo de a para b, segue que

δa→b = Pγ(a, b) ≤ custo(P1P2) = Pγ(a, c) + Pγ(c, b) = δa→c + δc→b.

Logo, δa→b ≤ δa→c + δc→b.

Lema 37. Sejam γ uma matriz de pontuação tal que D(γ) não possui ciclo negativo, δuma matriz de pontuação denida a partir de γ e conforme (3.2), e s, t ∈ Σ∗. Então, existeum alinhamento estendido A′ de (s, t) que é E-ótimo para δ e que também é induzido porum alinhamento convencional de (s, t), ou seja, cada coluna de A′ possui exatamente doissímbolos.

Prova. Seja A = [c1, . . . , cn] um alinhamento estendido de (s, t) que é E-ótimo para δ.Para cada coluna cj de A denimos c′j = [cj(1), cj(mj)]. Por construção, [c′1, . . . , c

′n] é

um alinhamento estendido que é induzido por um alinhamento convencional. Portanto, paraprovar o lema, basta mostrar que vEδ(A′ = [c′1, . . . , c

′n]) = optEδ(s, t).

Para calcular vEδ(A′), vamos primeiramente calcular a vEδ-pontuação de c′j para cadaj = 1, . . . , n. Se mj = 1, então cj(1) = cj(mj) o que, desde que δcj(1)→cj(1) = 0 pelo Item1 do Lema 36, implica que vEδ(c′j) = δcj(1)→cj(mj) = δcj(1)→cj(1) = 0 = vEδ(cj); se mj = 2,então c′j = cj e, portanto, vEδ(c′j) = vEδ(cj); e se m > 2, então segue do Item 2 do Lema 36que

vEδ(c′j) = δcj(1)→cj(mj) ≤ δcj(1)→cj(2) + δcj(2)→cj(mj)

≤ δcj(1)→cj(2) + δcj(2)→cj(3) + δcj(3)→cj(mj) ≤ . . . ≤n−1∑i=1

δcj(i)→cj(i+1) = vEδ(cj).

Portanto,

vEδ(A′) =

∑j

vEδ(c′j) =

∑j:mj=1

vEδ(c′j) +

∑j:mj=2

vEδ(c′j) +

∑j:mj>2

vEδ(c′j)

≤∑

j:mj=1

vEδ(cj) +∑

j:mj=2

vEδ(cj) +∑

j:mj>2

vEδ(cj) =∑j

vEδ(cj) = vEδ(A),

o que implica, sendo vEδ(A) = optEδ(s, t), que vEδ(A′) ≤ vEδ(A) = optEδ(s, t). Logo,

vEδ(A′) = optEδ(s, t).

O seguinte resultado mostra que optEγ(s, t) = optAδ(s, t).

Teorema 38. Sejam γ uma matriz de pontuação tal que D(γ) não possui ciclo negativo, δuma matriz de pontuação denida a partir de γ e conforme (3.2), e s, t ∈ Σ∗. Então,

optEγ(s, t) = optEδ(s, t) = optAδ(s, t).

Prova. Seja [c1, . . . , cn] um alinhamento estendido de (s, t).Suponha que [c1, . . . , cn] é E-ótimo para γ. Logo, optEγ(s, t) =

∑nj=1 vEγ(cj). Como

vEγ(cj) para um inteiro j arbitrário é o custo de um caminho de cj(1) a cj(mj) em D(γ)e Pγ(cj(1), cj(mj)) é o custo de um caminho ótimo de cj(1) a cj(mj) em D(γ), temos que

3.0 41

vEγ(cj) ≥ Pγ(cj(1), cj(mj)) = δcj(1)→ci(mj). Segue daí, desde que j é arbitrário, que

optEγ(s, t) =n∑j=1

vEγ(cj) ≥n∑j=1

Pγ(cj(1), cj(mj)) =n∑j=1

δcj(1)→cj(mj)

= vEδ

([c1(1) . . . cn(1)c1(m1) . . . cn(mn)

])≥ optEδ(s, t).

Portanto, optEγ(s, t) ≥ optEδ(s, t).Suponha agora que [c1, . . . , cn] é E-ótimo para δ e que é induzido por um alinha-

mento convencional que o Lema 37 garante existir. Desde que cada cj possui 2 símbo-los, segue que vEδ(cj) = δcj(1)→cj(mj) = Pγ(cj(1), cj(mj)) para cada j o que implica quevEδ([c1, . . . , cn]) =

∑nj=1Pγ(cj(1), cj(mj)). Um alinhamento estendido obtido a partir do

alinhamento [c1, . . . , cn] substituindo cada coluna cj por uma sequência c′j de símbolos queinduz um caminho ótimo de cj(1) a cj(mj) em D(γ) é um alinhamento estendido de (s, t)e vEγ([c′1, . . . , c

′n]) =

∑nj=1Pγ(cj(1), cj(mj)). Segue dos argumentos apresentados neste pa-

rágrafo que

optEγ(s, t) ≤ vEγ([c′1, . . . , c

′n]) =

n∑j=1

Pγ(cj(1), cj(mj)) = vEδ([c1, . . . , cn]) = optEδ(s, t).

Portanto, optEγ(s, t) ≤ optEδ(s, t).As conclusões combinadas obtidas nos dois parágrafos anteriores nos permitem concluir

que optEγ(s, t) = optEδ(s, t).Pelo Lema 37, existe um alinhamento estendido A de (s, t) que é E-ótimo para δ e que

também é induzido por um alinhamento convencional A′ de (s, t). Como todo alinhamentoconvencional induz um alinhamento estendido de igual pontuação, temos que vEδ(A) =vAδ(A

′). Sendo A é E-ótimo para δ, segue que optEδ(s, t) = vEδ(A) = vAδ(A′) ≥ optAδ(s, t).

Logo, optEδ(s, t) ≥ optAδ(s, t). Desde que, por (3.1), optEδ(s, t) ≤ optAδ(s, t), segue queoptEδ(s, t) = optAδ(s, t).

Segue queoptEγ(s, t) = optEδ(s, t) = optAδ(s, t).

Como consequência do Teorema 38, podemos determinar optEγ(s, t) usando um algoritmoque computa o valor de optAδ(s, t). O tempo gasto por esse algoritmo é o tempo gasto paracomputar a matriz δ mais o tempo gasto para computar o valor de optAδ(s, t).

Para computar a matriz de pontuação δ basta resolver o conhecido problema de deter-minar o custo dos caminhos mais curtos de todos os pares de vértices do digrafo D(γ). Oalgoritmo de Floyd-Warshall faz esse trabalho gastando tempo Θ(|Σ |3) [Flo62] [War62].Portanto, desde que Σ é constante e não faz parte da entrada do problema CME, o tempogasto no pré-processamento é Θ(1).

Conforme visto no Capítulo 2, se |s| = |t| = n, o valor de optAδ(s, t) pode ser computadoem tempo TAPS(n). Portanto, um algoritmo que utiliza essas estratégias combinadas gastatempo O(TAPS(n)) para computar optEγ(s, t). Além disso, o algoritmo de Floyd-Warshallpode também computar uma estrutura que é utilizada para obter os caminhos ótimos emtempo proporcional ao comprimento do caminho. Então, se, além de optAδ(s, t), o alinha-mento convencional é computado, a estrutura de Floyd-Warshall pode também computar, apartir do alinhamento convencional, o alinhamento estendido em tempo O(TAPS(n)).

42 ALINHAMENTO ESTENDIDO 3.0

Capítulo 4

Matrizes que induzem métricas

Para um dado conjunto S, dizemos que a função f : S × S → R é uma métrica se fsatisfaz simultaneamente

1. f(s, s) = 0 (reexibilidade),

2. f(s, t) ≥ 0 (não-negatividade),

3. f(s, t) > 0 se s 6= t (positividade),

4. f(s, t) = f(t, s) (simetria) e

5. f(s, u) ≤ f(s, t) + f(t, u) (desigualdade triangular)

para cada s, t, u ∈ S.Outras classes de funções mais gerais do que métricas requerem que algumas, mas nem

todas, propriedades acima sejam satisfeitas. Por exemplo, para um dado conjunto S, di-zemos que f é uma pramétrica [AP90] se f(s, s) = 0 e f(s, t) ≥ 0 para cada s, t ∈ S.A Tabela 4.1 mostra, além de métrica (M ), as propriedades de algumas dessas classes:pramétrica (Pr ), semimétrica (S) [Wil31b], hemimétrica também dita pseudoquasimétrica(H ) [Kim68], pseudométrica (P ) [SS70] e quasimétrica (Q ) [Wil31a]. A Figura 4.1 mostragracamente a relação entre essas classes de funções.

Propriedade \ Função Pr S H P Q Mf(s, s) = 0 x x x x x xf(s, t) ≥ 0 x x x x x x

f(s, t) > 0 para s 6= t x x xf(s, t) = f(t, s) x x x

f(s, u) ≤ f(s, t) + f(t, u) x x x x

Tabela 4.1: Cada célula marcada com x na linha i, coluna j representa que uma função da classe

de funções j requer, por denição, que a propriedade i seja satisfeita.

Se optAγ (optNγ, optEγ) possui uma propriedade X em Σ∗, dizemos que a matriz depontuação γ induz a propriedade X em optAγ (optNγ, optEγ). Se optAγ (optNγ, optEγ) éuma métrica (pramétrica, semimétrica, etc) em Σ∗ também dizemos que γ induz métrica(pramétrica, semimétrica, etc) na função optAγ (optNγ, optEγ).

A classe MC é uma classe comum de matrizes de pontuação que possui as seguintespropriedades para cada a, b, c,∈ Σ :

43

44 MATRIZES QUE INDUZEM MÉTRICAS 4.0

S

P QM

Pr

H

Figura 4.1: Conjunto das funções: a área sombreada representa o conjunto formado por métricas,

que é a intersecção dos demais conjuntos de funções estudados.

1. γa→b > 0 se a 6= b, e γa→b = 0 se a = b,

2. γa→b = γb→a,

3. γa→c ≤ γa→b + γb→c.

Sellers [Sel74] mostrou que as matrizes em MC induzem métrica em optAγ. No entanto,denimos MA que é a classe das matrizes de pontuação tais que, para cada a, b, c ∈ Σ, valem

1. γa→ = γ →a > 0,

2. γa→b > 0 se a 6= b, e γa→b = 0 se a = b,

3. se γa→b < γa→ + γ →b, então γa→b = γb→a,

4. γa→ ≤ γa→b + γb→ ,

5. minγa→c, γa→ + γ →c ≤ γa→b + γb→c,

e mostramos neste capítulo que esta é a classe que contém exatamente todas as matrizesque induzem métrica em optAγ, o que implica, dado que toda matriz em MC induz métricaem optAγ, que MC ⊆MA. Além disso, a matriz exibida em (1.1) no Capítulo 1, como vimos,pertence a MA e não pertence à MC o que implica que MC 6= MA.

Marzal e Vidal [MV93] observaram que nem toda matriz em MC induz métrica em optNγ.Eles mostraram, por exemplo, que a função optNγ induzida pela matriz

γ =

a b

a 0 5 5b 5 0 1

5 1

, (4.1)

4.0 45

que pertence a MC, não respeita a propriedade da desigualdade triangular nas sequênciasdesde que

optNγ(a, b) = min

vNγ

([a

b

]), vNγ

([a

b

]), vNγ

([a

b

])= 3

>1

2+

7

3= vNγ

([a

a b

])+ vNγ

([a b

b

])≥ optNγ(a, ab) + optNγ(ab, b).

Yujian e Bo [YB07] observaram que é um problema em aberto determinar se uma dadamatriz de pontuação γ induz ou não métrica em optNγ.

Nós denimos a classe das matrizes MN que, como também mostramos neste capítulo, éexatamente a classe das matrizes γ que induzem métrica em optNγ. A classe MN possui aspropriedades:

1. MN ⊆MA e

2. γa→ ≤ 2γb→ para cada a, b ∈ Σ.

Note que a matriz em (1.1) do Capítulo 1 pertence à classe MN mas não pertence à classe MC

e que a matriz em (4.1) não pertence à classe MN mas pertence à classe MC. Logo, MN 6⊆MC

e MC 6⊆MN.Outra classe de matrizes de pontuação que estudamos é a classe ME. Ela possui as

seguintes propriedades:

1. γa→a ≥ 0 para cada a ∈ Σ,

2. γa→b, γa→ , γ →a > 0 para cada a 6= b, a, b ∈ Σ,

3. Pγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a) para todo a 6= b ∈ Σ, onde Pγ(x, y) denotao custo de um caminho ótimo do vértice x ao vértice y no digrafo D(γ).

Mostramos também neste capítulo que ME é exatamente a classe das matrizes de pontuaçãoque induzem métrica em optEγ.

O fato a seguir tem como consequência que ME abrange as demais classes de matrizes depontuação aqui estudadas.

Fato 39. MA ⊆ME.

Prova. Para um arco e = u→ v no digrafo D(γ), denotamos por e−1 o arco v → u e, paraum caminho P = (e1, . . . , en) de um vértice a a um vértice b em D(γ), denotamos por P−1

o caminho (e−1n , . . . , e−1

1 ) de b a a.Seja γ ∈ MA. Por denição de MA temos que γa→a = 0, γa→b, γa→ , γ →a > 0 para

cada a 6= b ∈ Σ. Logo, as Propriedades 1 e 2 da denição de ME são satisfeitas e, paranalizar a prova, basta demonstrar que também vale a Propriedade 3. Sejam a, b ∈ Σe P = (e1, . . . , en) um caminho ótimo de a até b de maior comprimento em D(γ). Logo,Pγ(a, b) = custo(P ) =

∑ni=1 custo(ei).

Seja e um arco em P . Como → não é arco em D(γ), o arco e tem a forma u → ,→ v ou u→ v com u, v ∈ Σ.Se e tem a forma u → , então, desde que γ ∈ MA, temos que γu→ = γ →u o que

implica que custo(e) = γu→ = γ →u = custo(e−1). Analogamente, se e tem a forma → u,então custo(e) = custo(e−1).

46 MATRIZES QUE INDUZEM MÉTRICAS 4.0

MA

MN

MC

ME

Figura 4.2: A gura mostra a relação entre as classes ME, MA, MN e MC.

Se e tem a forma u→ v, u, v ∈ Σ, então, sendo P caminho ótimo de maior comprimento,custo(u→ v) < custo(u→ ) + custo( → v), o que implica que

γu→v = custo(u→ v) < custo(u→ ) + custo( → v) = γu→ + γ →v.

Segue da denição de MA que γu→v = γv→u. Logo, custo(e) = γu→v = γv→u = custo(e−1).Dos três últimos parágrafos, concluímos que se e é arco de P , então custo(e) = custo(e−1).

Segue que custo(P ) =∑n

i=1 custo(ei) =∑n

i=1 custo(e−1i ) = custo(P−1), o que implica que

Pγ(a, b) = custo(P ) = custo(P−1) ≥ Pγ(b, a). Desde que o resultado vale para quaisquera, b ∈ Σ , segue que Pγ(b, a) ≥ Pγ(a, b), o que nos permite concluir que Pγ(a, b) = Pγ(b, a).Portanto, vale a Propriedade 3 da denição de ME.

Das observações acima e do Fato 39 temos MC ⊆ MA ⊆ ME, MN ⊆ MA, MC 6⊆ MN eMN 6⊆MC. A relação entre os conjuntos é mostrada na Figura 4.2.

Ainda vale observar que, para a relação dos conjuntos:

a b

a 0 1 1b 1 0 1

1 1

∈MC ∩MN

o que implica que MC ∩MN 6= ∅;

a b

a 0 3 3b 3 0 1

3 1

∈MA \ (MN ∪MC)

o que implica que MA 6= MN ∪MC;

4.1 DISTÂNCIA DE ALINHAMENTO 47

a b

a 1 1 1b 1 0 1

1 1

∈ME \MA

o que implica que ME 6= MA.

4.1 Distância de alinhamento

Nesta seção provamos cada uma das propriedades métricas de γ em optAγ.

Fato 40. Seja γ uma matriz de pontuação. Se D(γ) possui um ciclo negativo, então existes ∈ Σ∗ tal que optAγ(s, s) < 0.

Prova. Suponha que a1, . . . , am ∈ Σ são tais que C = (a1 → a2, . . . , am → a1) é um cicloem D(γ) e custo(C) = −X < 0 . Desde que ciclos com zero arcos possuem custo zero, segueque C possui pelo menos um arco. Desde que C possui pelo menos um arco e → nãoé arco em D(γ), segue que pelo menos um símbolo em a1, . . . , am não é . Sem perda degeneralidade, assumimos que a1 6= . Sejam um número inteiro n > (γa1→ + γ →a1)/X es ∈ Σ∗ a sequência obtida removendo os símbolos iguais a de (a1a2 . . . am−1am)na1. Logo,[ (a1a2 . . . am−1am)na1, a1(a2 . . . am−1ama1)n ] é um alinhamento de (s, s) e, portanto,

optAγ(s, s) ≤ vAγ

([a1

(a1 a2 . . . am−1 ama2 a3 . . . am a1

)na1

])= γ →a − nX + γa→

< γ →a − (γa→ + γ →a) + γa→ = 0.

Portanto, se D(γ) possui um ciclo negativo, então optAγ(s, s) < 0 para algum s ∈ Σ∗.

Para cada a ∈ Σ, desde que vAγ([a, ]) = γa→ , vAγ([ , a]) = γ →a e, [a, ] e [ , a]são os únicos alinhamentos de (a, ε) e (ε, a) respectivamente, nós temos que

optAγ(a, ε) = vAγ([a, ]) = γa→ , (4.2)

optAγ(ε, a) = vAγ([ , a]) = γ →a. (4.3)

Para cada a, b ∈ Σ, desde que

A(a,b) =

[a

b

],

[a

b

],

[a

b

],

e vAγ([a, b]) = γa→b e vAγ([a , b]) = vAγ([ a, b ]) = γa→ + γ →b, segue que

optAγ(a, b) = min

vAγ([a, b]) = γa→b

vAγ([a , b]) = γa→ + γ →b.(4.4)

Lema 41. Seja γ uma matriz de pontuação. Então, optAγ(s, s) = 0 para cada s ∈ Σ∗ se esomente se

(i) D(γ) não possui ciclo negativo e

48 MATRIZES QUE INDUZEM MÉTRICAS 4.1

(ii) γa→a = 0 ou γa→ + γ →a = 0 para cada a ∈ Σ.

Prova. Seja a ∈ Σ e suponha que optAγ(s, s) = 0 para cada s ∈ Σ∗. Logo, pelo Fato 40vale (i) e como optAγ(a, a) = 0, usando (4.4), temos que γa→a = 0 ou γa→ + γ →a = 0,o que implica que vale (ii). Portanto, se optAγ(s, s) = 0 para cada s ∈ Σ∗, então valem (i)e (ii).

Reciprocamente, suponha que valem (i) e (ii). Sejam s = s(1)s(2) . . . s(n) ∈ Σ∗ e A umalinhamento A-ótimo de (s, s). Denimos um digrafo H para o alinhamento A, tal que

V (H) = 1, 2, . . . , n, ,E(H) = i→ j | o i-ésimo e o j-ésimo símbolo de s estão alinhados em A ∪

i→ | o i-ésimo símbolo de s e estão alinhados em A ∪ → j | e o o j-ésimo símbolo de s estão alinhados em A,

custo(i→ j) =

γs(i)→s(j) se i 6= e j 6= ,γs(i)→ se i 6= e j = ,γ →s(j) se i = e j 6= .

Por construção, temos que vAγ(A) = custo(H). Temos também que H é euleriano e, por-tanto, pelo Teorema 2, E(H) pode ser decomposto em ciclos disjuntos nos arcos. Para cadaciclo dessa decomposição, existe um ciclo correspondente e de mesmo custo em D(γ). Desdeque, por hipótese, D(γ) não possui ciclo de custo negativo, segue que custo(H) ≥ 0. Segueque

optAγ(s, s) = vAγ(A) = custo(H) ≥ 0. (4.5)

Além disso, construímos o seguinte alinhamento B: alinhe [s(i), s(i)] se γs(i)→s(i) = 0 ealinhe [s(i), ] e [ , s(i)] caso contrário. Desde que vale (ii), segue que vAγ(B) = 0.Então,

optAγ(s, s) ≤ vAγ(B) = 0. (4.6)

Usando (4.5) e (4.6), e desde que o argumento é usado para qualquer s ∈ Σ∗, concluímosque se valem (i) e (ii), então optAγ(s, s) = 0 para cada s ∈ Σ∗.

Lema 42. Seja γ uma matriz de pontuação. Então, optAγ(s, t) ≥ 0 para cada s, t ∈ Σ∗ se esomente se γa→ , γ →b, γa→b ≥ 0 para cada a, b ∈ Σ.

Prova. Suponha que optAγ(s, t) ≥ 0 para cada s, t ∈ Σ∗. Segue de (4.2), (4.3) e (4.4) que

γa→ = vAγ([a, ]) = optAγ(a, ε) ≥ 0,

γ →b = vAγ([ , b]) = optAγ(ε, b) ≥ 0,

γa→b = vAγ([a, b]) ≥ optAγ(a, b) ≥ 0,

para cada a, b ∈ Σ. Logo, se optAγ(s, t) ≥ 0 para cada s, t ∈ Σ∗, então γa→ , γ →b, γa→b ≥ 0para cada a, b ∈ Σ.

Reciprocamente, sejam s, t ∈ Σ∗ e suponha que γa→ , γ →b, γa→b ≥ 0 para cada a, b ∈ Σ,e que A é um alinhamento A-ótimo de (s, t). Desde que vAγ(A) é a soma das entradas deγ que são maiores ou iguais a zero, segue que optAγ(s, t) = vAγ(A) ≥ 0. Portanto, seγa→ , γ →b, γa→b ≥ 0 para cada a, b ∈ Σ, então optAγ(s, t) ≥ 0 para cada s, t ∈ Σ∗.

4.1 DISTÂNCIA DE ALINHAMENTO 49

Lema 43. Seja γ uma matriz de pontuação. Então, optAγ(s, t) > 0 para cada s 6= t ∈ Σ∗ see somente se, para cada a 6= b ∈ Σ, valem

(i) γa→a ≥ 0,

(ii) γa→b, γa→ , γ →b > 0.

Prova. Sejam a 6= b ∈ Σ e suponha que optAγ(s, t) > 0 para cada s 6= t ∈ Σ∗. Desdeque, para um inteiro arbitrário n ≥ 0, [an+1, an ] é um alinhamento de (an+1, an) e, porhipótese, optAγ(an+1, an) > 0, segue que

nγa→a + γa→ = vAγ

([an a

an

] )≥ optAγ(a

n+1, an) > 0.

Desde que a expressão acima vale para um inteiro arbitrário não negativo n, temos queγa→a ≥ 0. Um argumento similar usado no primeiro parágrafo da prova do Lema 42 mostraque γa→b, γa→ , γ →b > 0. Desde que os argumentos valem para quaisquer a 6= b ∈ Σ, segueque se optAγ(s, t) > 0 para cada s 6= t ∈ Σ∗, então valem (i) e (ii).

Reciprocamente, seja s 6= t ∈ Σ∗ e suponha que valem (i) e (ii) e que [s′, t′] é umalinhamento de (s, t). Desde que s 6= t, existe h tal que s′(h) 6= t′(h), o que implica por (ii)que γs′(h)→t′(h) > 0. Desde que, por (i) e (ii), γs′(j)→t′(j) ≥ 0 para cada j 6= h, segue que

optAγ(s, t) ≥ vAγ([s′, t′]) = γs′(h)→t′(h) +

∑j 6=h

γs′(j)→t′(j) ≥ γs′(h)→t′(h) + 0 = γs′(h)→t′(h) > 0.

Portanto, se valem (i) e (ii), então optAγ(s, t) > 0 para cada s 6= t ∈ Σ∗.

Lema 44. Seja γ uma matriz de pontuação. Então, optAγ(s, t) = optAγ(t, s) para cadas, t ∈ Σ∗ se e somente valem, para cada a, b ∈ Σ,

(i) γa→ = γ →a,

(ii) se γa→b < γa→ + γ →b, então γa→b = γb→a.

Prova. Sejam a, b ∈ Σ e suponha que optAγ(s, t) = optAγ(t, s) para cada s, t ∈ Σ∗. Seguecomo consequência de (4.2) e (4.3) que

γa→ = optAγ(a, ε) = optAγ(ε, a) = γ →a.

Similarmente, vale que γb→ = γ →b. Suponha que γa→b < γa→ + γ →b. Logo,

vAγ([a, b]) = γa→b < γa→ + γ →b = vAγ([a, ]) + vAγ([ , b]),

o que implica por (4.4) que [a, b] é A-ótimo. Desde que optAγ(b, a) = optAγ(a, b), segueque

optAγ(b, a) = optAγ(a, b) = vAγ([a, b]) = γa→b (4.7)

< γa→ + γ →b = γb→ + γ →a.

Como optAγ(b, a) < γb→ + γ →a e γb→ + γ →a = vAγ([b , a]) = vAγ([ b, a ]), temosque nem [b , a] e nem [ b, a ] são alinhamentos A-ótimos de (b, a). Segue novamentede (4.4) que

optAγ(b, a) = vAγ([b, a]) = γb→a. (4.8)

50 MATRIZES QUE INDUZEM MÉTRICAS 4.1

Usando (4.7) e (4.8), concluímos que γa→b = optAγ(b, a) = γb→a. Portanto, se optAγ(s, t) =optAγ(t, s) para cada s, t ∈ Σ∗, então valem (i) e (ii) para cada a, b ∈ Σ.

Reciprocamente, sejam s, t ∈ Σ∗ e considere que valem (i) e (ii) para cada a, b ∈ Σ.Suponha que [s′, t′] é um alinhamento A-ótimo de (s, t) de comprimento máximo e j é uminteiro tal que 1 ≤ j ≤ |[s′, t′]|. Como [s′, t′] é um alinhamento, temos que s′(j) 6=ou t′(j) 6= . Logo, se s′(j) = , então t′(j) 6= , o que implica, por (i), que γs′(j)→t′(j) =γt′(j)→s′(j). Similarmente se t′(j) = , então γs′(j)→t′(j) = γt′(j)→s′(j). Para nalizar a prova,resta vericar o caso s′(j) 6= e t′(j) 6= . Desde que [s′, t′] tem comprimento máximo,temos que

γs′(j)→t′(j) +∑p 6=j

γs′(p)→t′(p) = vAγ([s′, t′]) <

vAγ

([s′(1 . . . j − 1) s′(j) s′(j + 1 . . . |(s′, t′)|)t′(1 . . . j − 1) t′(j) t′(j + 1 . . . |(s′, t′)|)

])=

γs′(j)→ + γ →t′(j) +∑p 6=j

γs′(p)→t′(p),

o que implica que γs′(j)→t′(j) < γs′(j)→ + γ →t′(j). Segue de (ii) que, também nesse caso,γs′(j)→t′(j) = γt′(j)→s′(j). Como γs′(j)→t′(j) = γt′(j)→s′(j) para cada j, temos que vAγ([s′, t′]) =vAγ([t′, s′]). Desde que [s′, t′] é um alinhamento A-ótimo de (s, t) e [t′, s′] é um alinha-mento de (t, s), segue que

optAγ(s, t) = vAγ([s′, t′]) = vAγ([t

′, s′]) ≥ optAγ(t, s).

Usando os mesmos argumentos podemos mostrar que optAγ(t, s) ≥ optAγ(s, t), o quenos permite concluir que optAγ(s, t) = optAγ(t, s). Portanto, se valem (i) e (ii) para cadaa, b ∈ Σ, então optAγ(s, t) = optAγ(t, s) para cada s, t ∈ Σ∗.

Proposição 45. Sejam γ uma matriz de pontuação, λ um número inteiro e s, t, u ∈ Σ∗. Se

(i) γa→ ≤ γa→b + γb→ ,

(ii) γ →a ≤ γ →b + γb→a,

(iii) minγa→c, γa→ + γ →c ≤ γa→b + γb→c,

(iv) γb→ + γ →b ≥ λ,

para cada a, b, c ∈ Σ, então, para cada alinhamento A de (s, t) e cada alinhamento B de(t, u), existem um alinhamento C de (s, u) e um inteiro k ≥ 0 tais que

vAγ(A) + vAγ(B) ≥ vAγ(C) + kλ, |A| ≤ |C|+ k e |B| ≤ |C|+ k.

Prova. Suponha que valem os itens (i), (ii), (iii), (iv) para cada a, b, c ∈ Σ e que A,B são

4.1 DISTÂNCIA DE ALINHAMENTO 51

alinhamentos de (s, t) e (t, u) respectivamente. Denimos

C1 = h | [s(h), ] alinha em A ,C2 = k | [ , u(k)] alinha em B ,C3 = j | [ , t(j)] alinha em A e [t(j), ] alinha em B ,C4 = (h, j) | [s(h), t(j)] alinha em A e [t(j), ] alinha em B ,C5 = (j, k) | [ , t(j)] alinha em A e [t(j), u(k)] alinha em B ,

C6 =

(h, j, k) | [s(h), t(j)] alinha em A, [t(j), u(k)] alinha em Be γs(h)→u(k) ≤ γs(h)→t(j) + γt(j)→u(k)

,

C7 =

(h, j, k) | [s(h), t(j)] alinha em A, [t(j), u(k)] alinha em Be γs(h)→u(k) > γs(h)→t(j) + γt(j)→u(k)

.

Então,

vAγ(A) =∑h∈C1

γs(h)→ +∑j∈C3

γ →t(j) +∑

(h,j)∈C4

γs(h)→t(j) +

∑(j,k)∈C5

γ →t(j) +∑

(h,j,k)∈C6

γs(h)→t(j) +

∑(h,j,k)∈C7

γs(h)→t(j)

e

vAγ(B) =∑k∈C2

γ →u(k) +∑j∈C3

γt(j)→ +∑

(h,j)∈C4

γt(j)→ +

∑(j,k)∈C5

γt(j)→u(k) +∑

(h,j,k)∈C6

γt(j)→u(k) +

∑(h,j,k)∈C7

γt(j)→u(k).

Denimos a seguir o alinhamento C de (s, u) de acordo com as seguintes três regras. Se(h, j, k) ∈ C6, então alinhe [s(h), u(k)]. Para cada s(h) ainda não alinhado, alinhe [s(h), ].Para cada u(k) ainda não alinhado, alinhe [ , u(k)]. Portanto,

vAγ(C) =∑h∈C1

γs(h)→ +∑k∈C2

γ →u(k) +∑

(h,j)∈C4

γs(h)→ +

∑(j,k)∈C5

γ →u(k) +∑

(h,j,k)∈C6

γs(h)→u(k) +

∑(h,j,k)∈C7

(γs(h)→ + γ →u(k)

).

Se j ∈ C3, então, desde que vale (iv), nós temos∑j∈C3

γ →t(j) +∑j∈C3

γt(j)→ =∑j∈C3

(γ →t(j) + γt(j)→

)≥

∑j∈C3

λ = |C3|λ. (4.9)

52 MATRIZES QUE INDUZEM MÉTRICAS 4.1

Por (i), (ii) e pela denição de C6, temos, respectivamente,∑(h,j)∈C4

γs(h)→t(j) +∑

(h,j)∈C4

γt(j)→ ≥∑

(h,j)∈C4

γs(h)→ . (4.10)

∑(j,k)∈C5

γ →t(j) +∑

(j,k)∈C5

γt(j)→u(k) ≥∑

(j,k)∈C5

γ →u(k). (4.11)

∑(h,j,k)∈C6

γs(h)→t(j) +∑

(h,j,k)∈C6

γt(j)→u(k) ≥∑

(h,j,k)∈C6

γs(h)→u(k). (4.12)

Por (iii) e pela denição de C7 segue que∑(h,j,k)∈C7

γs(h)→t(j) +∑

(h,j,k)∈C7

γt(j)→u(k) ≥∑

(h,j,k)∈C7

(γs(h)→ + γ →u(k)

). (4.13)

Por (4.9), (4.10), (4.11), (4.12) e (4.13), temos que

vAγ(A) + vAγ(B) ≥ vAγ(C) + |C3|λ.

Tomando k = |C3|, para nalizar a prova, basta mostrar que |A| ≤ |C|+|C3| e |B| ≤ |C|+|C3|.Desde que

|A| =∑i

|Ci| − |C2| ≤∑i

|Ci|,

|B| =∑i

|Ci| − |C1| ≤∑i

|Ci|,

|C| =∑i

|Ci| − |C3|+ |C7| ≥∑i

|Ci| − |C3|,

temos |A| ≤∑

i |Ci| ≤ |C|+ |C3| e |B| ≤∑

i |Ci| ≤ |C|+ |C3|.

Lema 46. Seja γ uma matriz de pontuação. Então, optAγ(s, u) ≤ optAγ(s, t) + optAγ(t, u)para cada s, t, u ∈ Σ∗ se e somente se, para cada a, b, c ∈ Σ,

(i) γa→ ≤ γa→b + γb→ ,

(ii) γ →a ≤ γ →b + γb→a,

(iii) minγa→c, γa→ + γ →c ≤ γa→b + γb→c;

(iv) γb→ + γ →b ≥ 0.

Prova. Sejam a, b, c ∈ Σ e suponha que optAγ(s, u) ≤ optAγ(s, t) + optAγ(t, u) para cadas, t, u ∈ Σ∗. Seguem de (4.2), (4.3) e (4.4) que

γa→ = optAγ(a, ε) ≤ optAγ(a, b) + optAγ(b, )

≤ γa→b + γb→ ,

γ →a = optAγ(ε, a) ≤ optAγ( , b) + optAγ(b, a)

≤ γ →b + γb→a,

4.1 DISTÂNCIA DE ALINHAMENTO 53

e

minγa→c, γa→ + γ →c = optAγ(a, c)

≤ optAγ(a, b) + optAγ(b, c) ≤ γa→b + γb→c.

Portanto, se optAγ(s, u) ≤ optAγ(s, t)+optAγ(t, u) para cada s, t, u ∈ Σ∗ valem (i), (ii) e (iii)para cada a, b, c ∈ Σ. Para mostrar que também vale (iv), assumimos que γb→ + γ →b 6= 0pois se γb→ + γ →b = 0, então vale (iv) trivialmente.

Seja

n >optAγ(a, c)− (γa→ + γ →c)

γb→ + γ →b

um inteiro positivo. Desde que [a n, bn] e [bn , nc] são alinhamentos de (a, bn) e (bn, c)respectivamente, segue que

optAγ(a, c) ≤ optAγ(a, bn) + optAγ(b

n, c)

≤ vAγ([an, bn]) + vAγ([b

n , nc])

= γa→ + nγ →b + nγb→ + γ →c,

o que implica, pela escolha de n e desde que γb→ + γ →b 6= 0, que γb→ + γ →b > 0.Portanto, se optAγ(s, u) ≤ optAγ(s, t) + optAγ(t, u) para cada s, t, u ∈ Σ∗, então valem(i), (ii), (iii) e (iv) para a, b, c ∈ Σ.

Reciprocamente, suponha que valem (i), (ii), (iii) e (iv) para a, b, c ∈ Σ. Sejam s, t, u ∈Σ∗ e A,B alinhamentos A-ótimos de (s, t) e de (t, u) respectivamente. Segue, da Proposi-ção 45, que existem um inteiro k ≥ 0 e um alinhamento C de (s, u) tais que,

vAγ(C) + 0k ≤ vAγ(A) + vAγ(B).

Portanto, desde que A e B são alinhamentos A-ótimos de (s, t) e (t, u), e C é um alinhamentode (s, u), segue que

optAγ(s, u) ≤ vAγ(C) = vAγ(C) + 0k ≤ vAγ(A) + vAγ(B) = optAγ(s, t) + optAγ(t, u).

Portanto, se valem (i), (ii), (iii) e (iv) para cada a, b, c ∈ Σ, então optAγ(s, u) ≤ optAγ(s, t)+optAγ(t, u) para cada s, t, u ∈ Σ∗.

A Tabela 4.2 resume os resultados que caracterizam as matrizes de pontuação que in-duzem as propriedades de funções métricas na função optAγ. Ela é construída usando aTabela 4.1 e os resultados obtidos dos Lemas 41, 42, 43, 44 e 46. Para cada classe de fun-ções, é assinalado um conjunto de propriedades sucientes e necessárias de suas matrizes depontuação.

O seguinte teorema prova um dos resultados discutidos no início deste capítulo.

Teorema 47. Seja γ uma matriz de pontuação. Então, optAγ é uma métrica em Σ∗ se esomente se γ ∈MA.

Prova. Suponha que optAγ é uma métrica. Para provar que nesse caso γ ∈MA, basta mostrarque, para cada a, b, c ∈ Σ, valem

(i) γa→ = γ →a > 0;

(ii) γa→b > 0 se a 6= b e γa→b = 0 se a = b;

54 MATRIZES QUE INDUZEM MÉTRICAS 4.1

Pr S H P Q M

(a) D(γ) não possui ciclo negativo x x x x x x

(b) γa→a = 0 ou γa→ + γ →a = 0 x x x x x x

(c) γa→ , γ →b, γa→b ≥ 0 x x x x x x

(d) γa→a ≥ 0 x x x

(e) γa→ , γ →a > 0 e γa→b > 0 se a 6= b x x x

(f) γa→ = γ →a x x x

(g)se γa→b < γa→ + γ →b, entãoγa→b = γb→a

x x x

(h) γa→ ≤ γa→b + γb→ x x x x

(i) γ →a ≤ γ →b + γb→a x x x x

(j) min

γa→c,γa→ + γ →c

≤ γa→b + γb→c x x x x

(k) γb→ + γ →b ≥ 0 x x x x

Tabela 4.2: Considerando o critério optAγ, para cada classe de funções pramétrica(Pr ),semimétrica(S), hemimétrica(H ), pseudométrica (P), quasimétrica(Q ) e métrica(M ), um x in-

dica que a condição assinalada correspondente para cada a, b, c ∈ Σ é necessária para que γ induza

as propriedades que denem as funções dessa classe. Este é um quadro resumo que relaciona as

denições de classes de função optAγ com os resultados obtidos pelos Lemas 41, 42, 43, 44 e 46

para cada a, b, c ∈ Σ.

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 55

(iii) se γa→b < γa→ + γ →b, estão γa→b = γb→a.

(iv) γa→ ≤ γa→b + γb→ ;

(v) minγa→c, γa→ + γ →c ≤ γa→b + γb→c.

Usamos a Tabela 4.2 para vericar cada uma das condições necessárias para optAγ seruma métrica nas sequências. Seja a, b, c ∈ Σ. Por (e) e (f) temos γa→ = γ →a > 0 e,portanto, vale (i). Como vale (i), temos que γa→ + γ →a 6= 0, o que implica, por (b), queγa→a = 0 e como vale (e), temos que γa→b > 0 se a 6= b. Segue que vale (ii). Como valem (g),(h) e (j), temos que valem (iii), (iv) e (v). Portanto, se optAγ é uma métrica, então valem(i), (ii), (iii), (iv) e (v) para cada a, b, c ∈ Σ, o que implica que γ ∈MA.

Reciprocamente, suponha que γ ∈ MA, ou seja, valem as condições (i) a (v). Para mos-trar que essas condições são sucientes para optAγ ser uma métrica, basta vericar que ascondições necessárias (a) a (k) assinaladas na Tabela 4.2 são satisfeitas. Usando (i) e (ii),é imediata a vericação das condições (a) a (f) e da condição (k). Usando (iii), (iv) e (v),vericamos que as condições (g), (h) e (j) são satisfeitas. Resta mostrar que vale (i).

Se γb→a ≥ γb→ + γ →a, então, desde que vale (k), segue que

γ →a ≤ γ →b + γb→ + γ →a ≤ γ →b + γb→a

e a prova termina. Se γb→a < γb→ + γ →a, então segue de (iii) que γb→a = γa→b, o queimplica, usando (i) e (iv), que

γ →a = γa→ ≤ γa→b + γb→ = γ →b + γb→a.

Portanto, se γ ∈MA, então optAγ é uma métrica.

4.2 Distância normalizada de alinhamento

Nesta seção mostramos as condições necessárias e sucientes para a matriz de pontuaçãoγ induzir propriedades de uma métrica na função optNγ.

Lema 48. Seja γ uma matriz de pontuação. Então, optAγ ∈ Pr se e somente se optNγ ∈ Pr .

Prova. Sejam s, t ∈ Σ∗ sequências arbitrárias. Sendo s, t sequências arbitrárias, para provaro lema, vamos mostrar que optAγ(s, s) = 0 se e somente se optNγ(s, s) = 0 e optAγ(s, t) ≥ 0se e somente se optNγ(s, t) ≥ 0.

Inicialmente, mostramos que se optAγ(s, s) = 0, então optNγ(s, s) = 0. Desde queoptAγ(ε, ε) = optNγ(ε, ε) = 0, para o caso s = ε, o argumento está provado. Assumimosentão que s 6= ε. Suponha que optAγ(s, s) = 0. Seja A um alinhamento A-ótimo de (s, s).Desde que optAγ(s, s) = 0, segue que vAγ(A) = 0 e, desde que s 6= ε, temos que |A| > 0.Segue que

optNγ(s, s) ≤ vNγ(A) =vAγ(A)

|A|= 0. (4.14)

Seja B um alinhamento N-ótimo de (s, s). Desde que s 6= ε, segue que |B| > 0, o que implica,desde que optAγ(s, s) = 0 e vAγ(B) ≥ optAγ(s, s), que

optNγ(s, s) =vAγ(B)

|B|≥ optAγ(s, s)

|B|= 0.

56 MATRIZES QUE INDUZEM MÉTRICAS 4.2

Segue de (4.14) que se optAγ(s, s) = 0, então optNγ(s, s) = 0.Argumentos similares podem ser usados para provar que optNγ(s, s) = 0 implica que

optAγ(s, s) = 0 e que optAγ(s, t) ≥ 0 se e somente se optNγ(s, t) ≥ 0.

Corolário 49. Sejam γ uma matriz de pontuação. Então, optNγ ∈ Pr se e somente se valem

(i) γa→ , γ →a, γa→b ≥ 0,

(ii) γa→a = 0 ou γa→ + γ →a = 0,

para cada a, b ∈ Σ.

Prova. Suponha que optAγ ∈ Pr . Logo, pela Tabela 4.2, Propriedades (b) e (c), valem ascondições (i) e (ii) para cada a, b ∈ Σ.

Reciprocamente, suponha que valem as condições (i) e (ii) para cada a, b ∈ Σ. Paraprovar que optAγ ∈ Pr , basta vericar que valem as Propriedades (a), (b) e (c) da Tabela 4.2.É imediato que valem (b) e (c), e desde que não há entrada negativa em γ, segue que D(γ)não pode ter ciclo negativo, o que implica que vale (a).

Pelos argumentos acima, temos que optAγ ∈ Pr se e somente se valem (i) e (ii) para cadaa, b ∈ Σ. Segue do Lema 48 que optNγ ∈ Pr se e somente se valem (i) e (ii).

Lema 50. Seja optNγ ∈ Pr . Então, optNγ(s, t) > 0 para cada s 6= t ∈ Σ∗, se e somente seγa→ , γ →a, γa→b > 0 para cada a 6= b ∈ Σ.

Prova. Seja a 6= b ∈ Σ e suponha que optNγ(s, t) > 0 para cada s 6= t ∈ Σ∗. Então,

γa→ = vNγ([a, ]) = optNγ(a, ε) > 0,

γ →a = vNγ([ , a]) = optNγ(ε, a) > 0,

γa→b = vNγ([a, b]) ≥ optNγ(a, b) > 0.

Portanto, se optNγ(s, t) > 0 para cada s 6= t ∈ Σ∗, então γa→ , γ →a, γa→b > 0 para cadaa 6= b ∈ Σ.

Reciprocamente, sejam s 6= t ∈ Σ∗ e suponha que γa→ , γ →a, γa→b > 0 para cadaa 6= b ∈ Σ. Como optNγ ∈ Pr , temos que γa→a ≥ 0 pelo Corolário 49. Segue do Lema 43 queoptAγ(s, t) > 0. Seja A um alinhamento N-ótimo de (s, t). Segue que

optNγ(s, t) = vNγ(A) =vAγ(A)

|A|≥ optAγ(s, t)

|A|> 0.

Portanto, se γa→ , γ →a, γa→b > 0 para cada a 6= b ∈ Σ, então optNγ(s, t) > 0 para cadas 6= t ∈ Σ∗.

Denotamos por Qmax o valor de maxa∈Σγa→ , γ →a e q = arg maxa∈Σγa→ , γ →a.

Proposição 51. Sejam s, t ∈ Σ∗. Se s 6= ε ou t 6= ε, então optNγ(s, t) ≤ Qmax.

Prova. Suponha que s 6= ε ou t 6= ε. Logo, qualquer alinhamento A de (s, t) é tal que|A| > 0, o que implica que vNγ(A) = vAγ(A)/|A|. Portanto,

optNγ(s, t) ≤ vNγ

([s |t|

|s| t

])≤ |s|Qmax + |t|Qmax

|s|+ |t|= Qmax.

Logo, se s 6= ε ou t 6= ε, então optNγ(s, t) ≤ Qmax.

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 57

Proposição 52. Sejam optNγ ∈ Pr , a ∈ Σ e s, t ∈ Σ∗.

1. Se Qmax = 0, então optNγ(s, t) = γa→ = γ →a = 0,

2. Se Qmax 6= 0, então γq→ + γ →q > 0 e γq→q = 0.

Prova. Suponha Qmax = 0. Como optNγ ∈ Pr , temos que optNγ(s, t) ≥ 0. Se s = ε et = ε, então optNγ(s, t) = 0, e se s 6= ε ou t 6= ε, então, pela Proposição 51, temos queoptNγ(s, t) ≤ Qmax = 0. Logo, optNγ(s, t) = 0. Desde que esse resultado vale para quaisquers, t, segue que optNγ(a, ε) = 0 e optNγ(ε, a) = 0. Desde que [a, ] e [ , a] são os únicosalinhamentos de (a, ε) e de (ε, a) respectivamente, segue que

γa→ = vAγ([a, ]) = optNγ(a, ε) = 0 e γ →a = vAγ([ , a]) = optNγ(ε, a) = 0.

Portanto, se Qmax = 0, então optNγ(s, t) = γa→ = γ →a = 0.Suponha Qmax 6= 0. Como optNγ ∈ Pr , pelo Corolário 49 temos que γq→ , γ →q ≥ 0.

Segue que minγq→ , γ →q ≥ 0 e Qmax = maxγq→ , γ →q > 0. Logo,

γq→ + γ →q = maxγq→ , γ →q+ minγq→ , γ →q > 0,

o que implica pelo Corolário 49 que γq→q = 0. Portanto, se Qmax 6= 0, então γq→ +γ →q > 0e γq→q = 0.

Fato 53. Sejam x, z, k, w números reais. Se k ≥ 0 e w > 0, então

kx+ z

k + w≥ min

x,z

w

.

Fato 54. Sejam os números n > 0,m > 0, x ≥ 0. Se n > x/m, então

m >x

n≥ x

n+ 1≥ x

n+ 2.

Proposição 55. Considere que optNγ ∈ Pr e Qmax 6= 0. Seja a, b ∈ Σ. Se

γq→ = γ →q ou (γa→ ≤ γa→q + γq→ e γ →b ≤ γ →q + γq→b),

então existe n0 tal que para cada inteiro n > n0 temos que

optNγ(qna, qnb) = min

vNγ([qna, qnb]) =

γa→b

n+ 1, vNγ([qna , qn b]) =

γa→ + γ →b

n+ 2

.

Prova. Suponha que γq→ = γ →q ou γa→ ≤ γa→q+γq→ e γ →b ≤ γ →q+γq→b. Denimos,

n > n0 =maxγa→b, γa→ + γ →b, γa→q + γ →b + γq→ , γq→b + γa→ + γ →q

γq→ + γ →q.

Sendo optNγ ∈ Pr , segue do Corolário 49 que

γa→b, γa→ + γ →b, γa→q + γ →b + γq→ , γq→b + γa→ + γ →q ≥ 0,

e sendo Qmax 6= 0, segue da Proposição 52 que γq→ + γ →q > 0 e γq→q = 0.

58 MATRIZES QUE INDUZEM MÉTRICAS 4.2

Como γq→q = 0, temos que

vNγ

([qn a

qn b

])=

γa→b

n+ 1e vNγ

([qn a

qn b

])=γa→ + γ →b

n+ 2.

Logo, para provar a proposição, mostramos que

vNγ([s′, t′]) ≥ min

γa→b

n+ 1,γa→ + γ →b

n+ 2

para cada alinhamento [s′, t′] de (qna, qnb).

Seja k a quantidade de símbolos em s′. Segue que a quantidade de símbolos emt′ é também k e |[s′, t′]| = k + n + 1. Examinamos quatro casos, abrangendo todos osalinhamentos possíveis de (qna, qnb).

C-1 [a, b] alinha em [s′, t′].

Neste caso, k ≥ 0. Sendo γq→q = 0, temos

vNγ([s′, t′]) =

k(γq→ + γ →q) + γa→b

k + n+ 1

≥ min

γq→ + γ →q,

γa→b

n+ 1

(4.15)

=γa→b

n+ 1. (4.16)

A Desigualdade (4.15), desde que k ≥ 0 e n + 1 > 0, segue do Fato 53. A Igual-dade (4.16), desde que γa→b ≥ 0, n > γa→b/(γq→ +γ →q) e γq→ +γ →q > 0 e n > 0,segue do Fato 54.

C-2 [a, ] e [ , b] alinham em [s′, t′].

Neste caso, k ≥ 1. Sendo γq→q = 0, temos que

vNγ([s′, t′]) =

(k − 1)(γq→ + γ →q) + γa→ + γ →b

(k − 1) + n+ 2

≥ min

γq→ + γ →q,

γa→ + γ →b

n+ 2

(4.17)

=γa→ + γ →b

n+ 2. (4.18)

A Desigualdade (4.17), desde que k − 1 ≥ 0 e n + 2 > 0, segue do Fato 53. Sendoγa→ + γ →b ≥ 0, n > (γa→ + γ →b)/(γq→ + γ →q), γq→ + γ →q > 0 e n > 0, aIgualdade (4.18) segue do Fato 54.

C-3 [a, q] alinha em [s′, t′].

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 59

Neste caso, k ≥ 1. Também, desde que γq→q = 0, temos

vNγ([s′, t′]) =

(k − 1)(γq→ + γ →q) + γa→q + γ →b + γq→

(k − 1) + n+ 2

≥ min

γq→ + γ →q,

γa→q + γ →b + γq→

n+ 2

(4.19)

=γa→q + γ →b + γq→

n+ 2. (4.20)

A Desigualdade (4.19), desde que k − 1 ≥ 0 e n + 2 > 0, segue do Fato 53. Sendoγa→q +γ →b +γq→ ≥ 0, n > (γa→q +γ →b +γq→ )/(γq→ +γ →q), γq→ +γ →q > 0e n > 0, a Igualdade (4.20) segue do Fato 54.

Suponha que γq→ = γ →q. Isto implica que

γq→ = maxγq→ , γ →q = Qmax.

Como optNγ ∈ Pr , temos pelo Corolário 49 que γa→q ≥ 0. Segue de (4.20) e da deniçãode Qmax que

vNγ([s′, t′]) ≥

γa→q + γ →b + γq→

n+ 2

≥0 + γ →b +Qmax

n+ 2≥γ →b + γa→

n+ 2

e a prova está feita. Assumimos então que γq→ 6= γ →q. Por hipótese, isto implicaque γa→ ≤ γa→q + γq→ . Segue de (4.20) que

vNγ([s′, t′]) ≥

γa→q + γ →b + γq→

n+ 2≥γa→ + γ →b

n+ 2.

C-4 : [q, b] alinha em [s′, t′].

A prova desse caso é similar ao do Caso C-3, usando γ →b ≤ γ →q + γq→b em vez deγa→ ≤ γa→q + γq→ quando γq→ 6= γ →q.

Proposição 56. Sejam optNγ ∈ Pr , a, b ∈ Σ e s, t ∈ Σ∗. Se [a, b] alinha em um alinhamentoN-ótimo de comprimento máximo de (s, t), então

γa→b < γa→ + γ →b.

Prova. Suponha que [s′, t′] é um alinhamento N-ótimo de comprimento máximo de (s, t) ej é um inteiro tal que [a = s′(j), b = t′(j)] alinha em [s′, t′]. Considere o seguinte alinha-mento obtido a partir de [s′, t′]

A =

[s′(1 . . . j − 1) a s′(j + 1 . . . |s′|)t′(1 . . . j − 1) b t′(j + 1 . . . |t′|)

].

60 MATRIZES QUE INDUZEM MÉTRICAS 4.2

Sendo [s′, t′] alinhamento N-ótimo de comprimento máximo, segue que

vAγ([s′, t′])

|[s′, t′]|= vNγ([s

′, t′]) < vNγ(A) =vAγ(A)

|A|

=vAγ([s′, t′]) + γa→ + γ →b − γa→b

|[s′, t′]|+ 1,

o que implica que

vAγ([s′, t′])

|[s′, t′]|< γa→ + γ →b − γa→b.

Como optNγ ∈ Pr , temos optNγ(s, t) ≥ 0. Segue que

0 ≤ optNγ(s, t) =vAγ([s′, t′])

|[s′, t′]|< γa→ + γ →b − γa→b,

o que implica que γa→b < γa→ + γ →b. Portanto, se [a, b] alinha em um alinhamentoN-ótimo de comprimento máximo de (s, t), então γa→b < γa→ + γ →b.

Fato 57. Sejam x, y ∈ R. Se x < y, então

x

n+ 1<

y

n+ 2,

para todo inteiro positivo n > (2x− y)/(y − x).

Lema 58. Seja optNγ ∈ Pr . Então, optNγ(s, t) = optNγ(t, s) para cada s, t ∈ Σ∗ se e somentese, para cada a, b ∈ Σ,

(i) γa→ = γ →a, e

(ii) se γa→b < γa→ + γ →b, então γa→b = γb→a.

Prova. Para provar o lema, mostramos que se optNγ(s, t) = optNγ(t, s) para cada s, t ∈ Σ∗,então valem (i) e (ii) e, depois, que se valem (i) e (ii), então optNγ(s, t) = optNγ(t, s) paracada s, t ∈ Σ∗.

Suponha que optNγ(s, t) = optNγ(t, s) para cada s, t ∈ Σ∗. Sejam a, b ∈ Σ. Pelo Corolá-rio 49, como optNγ ∈ Pr , temos que γa→b, γq→ , γ →q ≥ 0. Desde que [a, ] e [ , a] são osúnicos alinhamentos de (a, ε) e de (ε, a), respectivamente, segue que

γa→ = vNγ([a, ]) = optNγ(a, ε) = optNγ(ε, a) = vNγ([ , a]) = γ →a.

Logo, se optNγ(s, t) = optNγ(t, s) para cada s, t ∈ Σ∗, então vale (i) para cada a ∈ Σ.Para mostrar que vale (ii), consideramos dois casos: Qmax = 0 e Qmax 6= 0.Suponha que Qmax = 0 e a, b ∈ Σ. Sendo γa→b ≥ 0 e Qmax ≥ γa→ , γ →b, segue que

γa→b ≥ 0 = 0 + 0 = Qmax +Qmax ≥ γa→ + γ →b. Portanto, se Qmax = 0, então vale (ii) porvacuidade.

Suponha Qmax 6= 0 e γa→b < γa→ + γ →b.Seja

n >2γa→b − (γa→ + γ →b)

γa→ + γ →b − γa→b

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 61

um inteiro sucientemente grande satisfazendo também a Proposição 55. Desde que, por (i),vale γq→ = γ →q segue da Proposição 55 que

optNγ(qna, qnb) = min

γa→b

n+ 1,γa→ + γ →b

n+ 2

e (4.21)

optNγ(qnb, qna) = min

γb→a

n+ 1,γb→ + γ →a

n+ 2

. (4.22)

Como γa→b < γa→ + γ →b, pela escolha de n temos, pelo Fato 57, que

γa→b

n+ 1<

γa→ + γ →b

n+ 2. (4.23)

Por (4.21) e (4.23) temos que optNγ(qna, qnb) = γa→b/(n + 1) e, sendo optNγ(qna, qnb) =optNγ(q

nb, qna), que

optNγ(qnb, qna) = optNγ(q

na, qnb) <γa→ + γ →b

n+ 2.

Como vale (i), temos que γa→ = γ →a, γb→ = γ →b. Segue que ,

optNγ(qnb, qna) <

γa→ + γ →b

n+ 2=γb→ + γ →a

n+ 2,

o que implica por (4.22) que optNγ(qnb, qna) = γb→a/(n+1). Segue, sendo optNγ(qna, qnb) =γa→b/(n+ 1), que

γa→b

n+ 1= optNγ(q

na, qnb) = optNγ(qnb, qna) =

γb→a

n+ 1,

o que implica que γa→b = γb→a. Portanto, se optNγ(s, t) = optNγ(t, s) para cada s, t ∈ Σ∗,então também vale (ii) para cada a, b ∈ Σ.

Reciprocamente, suponha que valem (i) e (ii) para cada a, b ∈ Σ. Sejam s, t ∈ Σ∗ e[s′, t′] um alinhamento N -ótimo de comprimento máximo de (s, t). Se s = ε e t = ε, entãos′ = ε = t′ o que implica que

optNγ(s, t) = vNγ([s′, t′]) = vNγ([ε, ε]) = 0 = vNγ([ε, ε]) = vNγ([t

′, s′]) = optNγ(t, s).

Suponha então que s 6= ε ou t 6= ε. Logo, |[s′, t′]| > 0. Para cada inteiro j, se s′(j) =ou t′(j) = , então, por (i), γs′(j)→t′(j) = γt′(j)→s′(j); e se s′(j) 6= e t′(j) 6= , então,sendo [s′(j), t′(j)] alinhado e optNγ ∈ Pr , temos que γs′(j)→t′(j) < γs′(j)→ + γ →t′(j) pelaProposição 56, o que implica por (ii) que γs′(j)→t′(j) = γt′(j)→s′(j). Usando esses argumentos,sendo |s′, t′| > 0, temos que

optNγ(s, t) = vNγ([s′, t′]) =

∑j γs′(j)→t′(j)

|[s′, t′]|

=

∑j γt′(j)→s′(j)

|[s′, t′]|= vNγ([t

′, s′]) ≥ optNγ(t, s).

Similarmente, temos que optNγ(s, t) ≤ optNγ(t, s). Segue que optNγ(s, t) = optNγ(t, s).Portanto, se valem (i) e (ii) para cada a, b ∈ Σ, então optNγ(s, t) = optNγ(t, s) para cada

62 MATRIZES QUE INDUZEM MÉTRICAS 4.2

s, t ∈ Σ∗.

Proposição 59. Sejam optNγ ∈ Pr e a, b ∈ Σ. Se optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u)para cada s, t, u ∈ Σ∗, então

γa→ ≤ γa→b + γb→ e γ →a ≤ γ →b + γb→a.

Prova. Suponha que optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u) para cada s, t, u ∈ Σ∗. Como[a, ] é o único alinhamento de (a, ε), e [a, b] e [b, ] são alinhamentos de (a, b) e de(b, ε) respectivamente, segue que

γa→ = vNγ([a, ]) = optNγ(a, ε) ≤ optNγ(a, b) + optNγ(b, ε)

≤ vNγ([a, b]) + vNγ([b, ])

= γa→b + γb→ .

Portanto, γa→ ≤ γa→b + γb→ .Usando raciocínio similar provamos que γ →a ≤ γ →b + γb→a.

Proposição 60. Sejam optNγ ∈ Pr e a, b ∈ Σ. Se optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u)para cada s, t, u ∈ Σ∗, então

maxγa→ , γ →a ≤ γb→ + γ →b.

Prova. Ponha G = maxγa→ , γ →a e suponha que optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u)para cada s, t, u ∈ Σ∗. Pelo Corolário 49, temos que γa→ , γ →a, γb→ , γ →b ≥ 0. Se G = 0,então, sendo γb→ , γ →b ≥ 0, temos G = 0 ≤ γb→ + γ →b e a prova está feita. Então, paracompletar a prova, assumimos G 6= 0 que, desde que γa→ , γ →a ≥ 0, é o caso G > 0.

Suponha, por contradição, que G > γb→ + γ →b. Seja um inteiro positivo

k >γb→ + γ →b

G − (γb→ + γ →b)

e suponha G = γa→ .Como γa→ , γ →a ≥ 0 e γa→ = G > 0, temos que γa→ + γ →a > 0. Desde que

optNγ ∈ Pr , segue do Corolário 49 que γa→a = 0. Logo,

optNγ(ak, akb) ≤ vNγ

([ak

ak b

])=γ →b

k + 1. (4.24)

Note que

optNγ(akb, b) ≤ vNγ

([ak bk b

])=kγa→ + (γb→ + γ →b)

k + 2. (4.25)

Em qualquer alinhamento de (ak, b), ou [a, b] alinha ou [ , b] alinha. Então,

optNγ(ak, b) = min

vNγ

([ak−1 ak−1 b

]), vNγ

([ak

k b

])= min

(k − 1)γa→ + γa→b

k,kγa→ + γ →b

k + 1

. (4.26)

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 63

Suponha que

(k − 1)γa→ + γa→b

k≤

kγa→ + γ →b

k + 1.

Como uma consequência de γa→ ≤ γa→b + γb→ (Proposição 59) e sendo k > 0, temos que

kγa→ − γb→k

≤(k − 1)γa→ + γa→b

k.

Segue que

kγa→ − γb→k

≤kγa→ + γ →b

k + 1,

o que implica, sendo k > 0 e G = γa→ > γb→ + γ →b, que k ≤ γb→ /(G − (γb→ + γ →b))contrariando, desde que γ →b ≥ 0, a escolha de k. Portanto,

(k − 1)γa→ + γa→b

k6≤kγa→ + γ →b

k + 1,

o que implica por (4.26) que

optNγ(ak, b) =

kγa→ + γ →b

k + 1. (4.27)

Como optNγ(ak, b) ≤ optNγ(ak, akb) + optNγ(a

kb, b), temos por (4.24), (4.25) e (4.27)que

kγa→ + γ →b

k + 1= optNγ(a

k, b) ≤ optNγ(ak, akb) + optNγ(a

kb, b)

≤γ →b

k + 1+kγa→ + (γb→ + γ →b)

k + 2,

o que implica, sendo k > 0 e γa→ − (γb→ + γ →b) > 0, que

k ≤γb→ + γ →b

γa→ − (γb→ + γ →b),

contrariando novamente a escolha de k. Portanto, G = γ →a. Entretanto, usando os mes-mos argumentos e os pares de sequências (b, ak), (b, akb) e (akb, ak), obtemos contradiçãonovamente. Portanto, se optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u) para cada s, t, u ∈ Σ∗, entãomaxγa→ , γ →a ≤ γb→ + γ →b.

Proposição 61. Sejam optNγ ∈ Pr e a, b, c ∈ Σ. Se optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t)para cada s, t, u ∈ Σ∗, então

minγa→c, γa→ + γ →c ≤ γa→b + γb→c.

Prova. Como optNγ ∈ Pr , pelo Corolário 49 temos que γa→c, γa→b, γb→c ≥ 0.Se Qmax = 0, então, como optNγ ∈ Pr , pela Proposição 52 temos que γa→ = γ →a = 0

e segue, sendo γa→c, γa→b, γb→c ≥ 0, que minγa→c, γa→ + γ →c = 0 ≤ γa→b + γb→c e aproposição está provada por vacuidade. Assumimos então que Qmax 6= 0.

64 MATRIZES QUE INDUZEM MÉTRICAS 4.2

Suponha que optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t) para cada s, t, u ∈ Σ∗. Segue daProposição 59 que γa→ ≤ γa→q + γq→ , γ →b ≤ γ →q + γq→b, γb→ ≤ γb→q + γq→ eγ →c ≤ γ →q + γq→c. Se γa→b + γb→c = γa→ + γ →c, então o resultado está provado.Assumimos então que γa→b +γb→c 6= γa→ +γ →c. Sendo Qmax 6= 0, segue da Proposição 55que existe um inteiro positivo n > (2x−y)/(y−x), onde x = γa→b+γb→c e y = γa→ +γ →c,tal que

min

γa→c

n+ 1,γa→ + γ →c

n+ 2

= optNγ(q

na, qnc),

optNγ(qna, qnb) ≤ γa→b

n+ 1,

optNγ(qnb, qnc) ≤ γb→c

n+ 1.

Segue daí que

min

γa→c

n+ 1,γa→ + γ →c

n+ 2

= optNγ(q

na, qnc)

≤ optNγ(qna, qnb) + optNγ(q

nb, qnc)

≤ γa→b

n+ 1+γb→c

n+ 1.

Seγa→c

n+ 1= min

γa→c

n+ 1,γa→ + γ →c

n+ 2

≤ γa→b

n+ 1+γb→c

n+ 1,

então, sendo n > 0, temos que γa→c ≤ γa→b + γb→c e a prova está feita, e se

γa→ + γ →c

n+ 2= min

γa→c

n+ 1,γa→ + γ →c

n+ 2

≤ γa→b

n+ 1+γb→c

n+ 1,

segue pela escolha de n e da contrapositiva do Fato 57 que γa→ + γ →c ≤ γa→b + γb→c e aprova também está feita.

Lema 62. Sejam optNγ ∈ Pr . Então, optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u) para cadas, t, u ∈ Σ∗ se e somente se

(i) γa→ ≤ γa→b + γb→ ,

(ii) γ →a ≤ γ →b + γb→a,

(iii) minγa→c, γa→ + γ →c ≤ γa→b + γb→c e

(iv) maxγa→ , γ →a ≤ γb→ + γ →b.

para cada a, b, c ∈ Σ.

Prova. Para provar o lema, vamos mostrar que se optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t)para cada s, t, u ∈ Σ∗, então valem (i), (ii), (iii) e (iv), e que se valem (i), (ii), (iii) e (iv),então optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t) para cada s, t, u ∈ Σ∗.

Suponha que optNγ(s, t) ≤ optNγ(s, u)+optNγ(u, t) para cada s, t, u ∈ Σ∗. Sendo optNγ ∈Pr , seguem das Proposições 59, 60 e 61 que valem (i), (ii), (iii) e (iv) para cada a, b, c ∈ Σ.Portanto, se optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t) para cada s, t, u ∈ Σ∗, então valem (i),(ii), (iii) e (iv).

4.2 DISTÂNCIA NORMALIZADA DE ALINHAMENTO 65

Reciprocamente, suponha que valem (i), (ii), (iii) e (iv) para cada a, b, c ∈ Σ. Sejams, t, u ∈ Σ∗ e A,B alinhamentos N-ótimos de (s, t) e de (t, u) respectivamente. Segue daProposição 45, desde que Qmax = maxγq→ , γ →q ≤ γb→ + γ →b para cada b ∈ Σ, queexistem um inteiro k ≥ 0 e um alinhamento C de (s, u) tais que

vAγ(A) + vAγ(B) ≥ vAγ(C) + kQmax, |A| ≤ |C|+ k, |B| ≤ |C|+ k.

Sendo optNγ ∈ Pr , segue que optNγ(s, t) ≥ 0. Logo, vAγ(A)/|A| = optNγ(s, t) ≥ 0 o queimplica sendo |A| > 0 que vAγ(A) ≥ 0. Usando o mesmo argumento para o alinhamento B,temos que vAγ(B) ≥ 0. Segue que

vAγ(C) + kQmax

|C|+ k≤ vAγ(A) + vAγ(B)

|C|+ k=vAγ(A)

|C|+ k+vAγ(B)

|C|+ k

≤ vAγ(A)

|A|+vAγ(B)

|B|= optNγ(s, t) + optNγ(t, u).

Portanto, para mostrar que optNγ(s, t) ≤ optNγ(s, u) + optNγ(u, t) basta provar que

vAγ(C) + kQmax

|C|+ k≥ optNγ(s, u).

Considere dois casos: se (vAγ(C) + kQmax)/(|C| + k) ≥ vAγ(C)/|C|, então sendo C umalinhamento de (s, u), temos

vAγ(C) + kQmax

|C|+ k≥ vAγ(C)

|C|≥ optNγ(s, u)

e a prova está feita. E se (vAγ(C) + kQmax)/(|C|+ k) < vAγ(C)/|C|, sendo k ≥ 0 e |C| > 0,temos que vAγ(C) > |C|Qmax. Desde que, pela Proposição 51, optNγ(s, u) ≤ Qmax, segueque

vAγ(C) + kQmax

|C|+ k>|C|Qmax + kQmax

|C|+ k= Qmax ≥ optNγ(s, u).

Portanto, se valem (i), (ii), (iii) e (iv) para cada a, b, c ∈ Σ, então optNγ(s, u) ≤optNγ(s, t) + optNγ(t, u) para cada s, t, u ∈ Σ∗.

Usando os resultados obtidos nesta seção, podemos demonstrar o seguinte teorema.

Teorema 63. Seja γ matriz de pontuação. Então, optNγ ∈ M se e somente se γ ∈MN.

Prova. Suponha que optNγ ∈ M . Segue que optNγ(s, s) = 0, optNγ(s, t) > 0, optNγ(s, t) =optNγ(t, s) e optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u) para cada s, t, u ∈ Σ∗, s 6= t. ComooptNγ(s, s) = 0 e optNγ(s, t) > 0 para cada s 6= t, temos por denição que optNγ ∈ Pr . Sejama, b, c símbolos arbitrários e distintos em Σ. Pelo Lema 50 temos que γa→ , γ →a, γa→b > 0.Desde que γa→ , γ →a > 0, segue do Corolário 49 que γa→a = 0. Pelo Lema 58 temos queγa→ = γ →a e que se γa→b < γa→ + γ →b, então γa→b = γb→a. Pelo Lema 62 temos queγa→ ≤ γa→b + γb→ , minγa→c, γa→ + γ →c ≤ γa→b + γb→c e que maxγa→ , γ →a ≤γb→ +γ →b. Como maxγa→ , γ →a ≤ γb→ +γ →b, γa→ = γ →a e γb→ = γ →b, temosque

γa→ = maxγa→ , γ →a ≤ γb→ + γ →b = γb→ + γb→ = 2γb→ .

Desde que os resultados deste parágrafo valem para símbolos a, b, c ∈ Σ arbitrários, segue

66 MATRIZES QUE INDUZEM MÉTRICAS 4.3

que se optNγ ∈ M , então γ ∈MN.Reciprocamente, suponha que γ ∈ MN. Logo, γ ∈ MA e que γa→ ≤ 2γb→ para cada

a, b ∈ Σ. Como γ ∈MA, temos por denição

• γa→ = γ →a > 0,

• γa→b > 0 se a 6= b, e γa→b = 0 se a = b,

• se γa→b < γa→ + γ →b, então γa→b = γb→a,

• γa→ ≤ γa→b + γb→ e

• minγa→c, γa→ + γ →c ≤ γa→b + γb→c

para cada a, b, c ∈ Σ. Segue do Teorema 47 que optAγ ∈ M e, sendo M ⊆ Pr , temos queoptAγ ∈ Pr . Segue do Lema 48 que optNγ ∈ Pr . Sejam s, t, u ∈ Σ∗ sequências arbitrárias,s 6= t. Para provar que optNγ ∈ M , basta mostrar que optNγ(s, s) = 0, optNγ(s, t) > 0,optNγ(s, t) = optNγ(t, s) e optNγ(s, u) ≤ optNγ(s, t) + optNγ(t, u).

Como optNγ ∈ Pr , temos que optNγ(s, s) = 0. Desde que γa→ , γ →a > 0 e γa→b > 0 paratodo a 6= b, segue do Lema 50 que optNγ(s, t) > 0. Desde que γa→ = γ →a e γa→b = γb→a

se γa→b < γa→ + γ →b, segue do Lema 58 que optNγ(s, t) = optNγ(t, s).Vamos mostrar neste parágrafo que γ →a ≤ γ →b + γb→a analisando os dois casos possí-

veis: o caso γb→a ≥ γb→ + γ →a e o caso γb→a < γb→ + γ →a. Se γb→a ≥ γb→ + γ →a,então desde que γb→ , γ →b > 0, segue que

γ →a ≤ (γ →b + γb→ ) + γ →a = γ →b + (γb→ + γ →a) ≤ γ →b + γb→a.

Se γb→a < γb→ + γ →a, então segue da denição de MA que

γ →a = γa→ ≤ γa→b + γb→ = γb→a + γb→ = γ →b + γb→a.

Como γa→ = γ →a, γb→ = γ →b e γa→ ≤ 2γb→ , temos que

maxγa→ , γ →a = γa→ ≤ 2γb→ = γb→ + γ →b.

Desde que γa→ ≤ γa→b + γb→ , γ →a ≤ γ →b + γb→a, minγa→c, γa→ + γ →c ≤γa→b + γb→c e maxγa→ , γ →a ≤ γb→ + γ →b, segue do Lema 62 que optNγ(s, u) ≤optNγ(s, t) + optNγ(t, u).

4.3 Distância de edição

Nesta seção vericamos quais são as condições sucientes e necessárias para que cada umadas propriedades de uma métrica sejam satisfeitas por optEγ. Vamos mostrar, por exemplo,que

γ =

a b c

a 2 3 4 10b 3 1 2 9c 4 2 0 5

9 8 5

∈ME.

Lema 64. Seja γ uma matriz de pontuação. Se D(γ) possui um ciclo negativo, entãooptEγ(s, t) é indenido para quaisquer s, t ∈ Σ∗.

4.3 DISTÂNCIA DE EDIÇÃO 67

Prova. Sejam s, t ∈ Σ∗ e C = (a1 → a2, . . . , aj−1 → aj = a1) um ciclo negativo em D(γ)tal que custo(C) = −X, para algum número positivo X. Para provar o lema, consideramosalgum alinhamento estendido E-ótimo A = [c1, . . . , cn] de (s, t) e mostramos que existe umalinhamento estendido A′ de (s, t) tal que

vEγ(A′) < vEγ(A),

contrariando a otimalidade de A.Como C é um ciclo negativo, C é uma sequência não vazia de arcos, o que implica que

C possui pelo menos um arco a1 → a2. Como não existe o arco → , ou a1 ou a2 édiferente de . Dado que C é um ciclo, considere, sem perda de generalidade, que a1 6= .Isto implica que c1(1) → a1 e a1 → c1(1) são arcos de D(γ). Seja um inteiro não negativok > (γc1(1)→a1 + γa1→c1(1))/X e note que o alinhamento A′ obtido a partir de A substituindoa coluna c1 pela coluna

c′1 = [c1(1) (a1 a2 . . . aj−2 aj−1)k a1 c1(1) . . . c1(m1)]

também é um alinhamento de (s, t) e que vEγ(c′1) = γc1(1)→a1 + k(−X) + γa1→c1(1) + vEγ(c1).Sendo, pela denição de k, γc1(1)→a1 + k(−X) + γa1→c1(1) < 0, segue que,

vEγ(c′1) = γc1(1)→a1 + k(−X) + γa1→c1(1) + vEγ(c1) < vEγ(c1).

Portanto,

vEγ(A′) = vEγ [c′1, c2, c3, . . . , cn] = vEγ(c

′1) +

∑i>1

vEγ(ci) < vEγ(c1) +∑i>1

vEγ(ci) = vEγ(A).

Lema 65. Sejam s ∈ Σ∗ e γ uma matriz de pontuação. Então, optEγ(s, s) = 0 se e somentese D(γ) não possui ciclo negativo.

Prova. Suponha que optEγ(s, s) = 0. Segue da contrapositiva do Lema 64 que D(γ) nãopossui ciclo negativo.

Reciprocamente, suponha que D(γ) não possui ciclo negativo. Como

vEγ ([s(1), . . . , s(|s|)]) = 0,

temos que optEγ(s, s) ≤ 0. Por outro lado, considere um alinhamento estendido E-ótimo[c1, . . . , cn] de (s, s) e, a partir dele, construímos o digrafo H, tal que

V (H) = Σ ∪(1, 2), (1, 3), . . . , (1,m1 − 1), . . . , (n, 2), (n, 3), . . . , (n,mn − 1) ,

E(H) = (j, i)→ (j, i+ 1) : para todo j = 1, . . . , n e i = 2, . . . ,mj − 2 ∪u→ (j, 2) : para todo j = 1, . . . , n se cj(1) = u ∪(j,mj − 1)→ v : para todo j = 1, . . . , n se cj(mj) = v,

custo(u→ v) =

γcj(i)→cj(i+1) se u = (j, i) e v = (j, i+ 1),γcj(1)→cj(2) se u = cj(1) e v = (j, 2) ,γcj(mj−1)→cj(mj) se u = (j,mj − 1) e v = cj(mj) .

Note que H é euleriano, custo(H) = vEγ(A) e que cada ciclo C em H é um ciclo em D(γ)

68 MATRIZES QUE INDUZEM MÉTRICAS 4.3

e custo(C) = vEγ(C).Assim como na construção do digrafo na prova do Lema 41, sendo H euleriano, o Te-

orema 2 garante que E(H) pode ser decomposto em ciclos arco-disjuntos. Sendo cada umdesses ciclos um ciclo em D(γ) que, por hipótese não possui ciclo negativo, temos comoconsequência que

optEγ(s, s) = vEγ(A) = custo(H) ≥ 0,

o que nos permite concluir, sendo optEγ(s, s) ≤ 0, que optEγ(s, s) = 0.

Lema 66. Vale optEγ(s, t) ≥ 0 para cada s, t ∈ Σ∗ se e somente se γa→ , γ →a, γa→b ≥ 0,para cada a, b ∈ Σ.

Prova. Sejam a, b ∈ Σ e suponha que optEγ(s, t) ≥ 0 para cada s, t ∈ Σ∗. Então, γa→ =vEγ ([[a ]]) ≥ optEγ(a, ε) ≥ 0. Analogamente, γ →a, γa→b ≥ 0.

Reciprocamente, sejam s, t ∈ Σ∗ e suponha que γa→ , γ →a, γa→b ≥ 0 para cada a, b ∈ Σe A é um alinhamento E-ótimo de (s, t). Desde que vEγ(A) é a soma de elementos da entradade γ, segue que vEγ(A) ≥ 0. Concluímos que optEγ(s, t) = vEγ(A) ≥ 0.

Lema 67. Vale optEγ(s, t) > 0 para cada s 6= t ∈ Σ∗ se e somente se

1. γa→a ≥ 0 e

2. γa→ , γ →a, γa→b > 0

para cada a 6= b ∈ Σ.

Prova. Sejam a 6= b símbolos em Σ e suponha que optEγ(s, t) > 0 para cada s 6= t ∈ Σ∗.Logo, γa→ = vEγ ([[a ]]) ≥ optAγ(a, ε) > 0. Analogamente, γ →a, γa→b > 0. Além disso,segue do Lema 66 que γa→a ≥ 0. Portanto, sendo a, b símbolos arbitrários, se optEγ(s, t) > 0para cada s 6= t ∈ Σ∗, então γa→a ≥ 0 e γa→ , γ →a, γa→b > 0 para cada a 6= b ∈ Σ.

Reciprocamente, sejam s 6= t sequências em Σ∗ e suponha que para cada a 6= b ∈ Σ,γa→a ≥ 0 e γa→ , γ →a, γa→b > 0. Seja [c1, . . . , cn] um alinhamento E-ótimo de (s, t). ComovEγ(ci) é a soma de entradas em γ que não possui entradas negativas, temos que vEγ(ci) ≥ 0para cada i. Sendo s 6= t, existe pelo menos uma coluna j tal que cj(1) 6= cj(mj), o queimplica que existe k tal que cj(k) 6= cj(k + 1). Segue que

vEγ(cj) = γcj(k)→cj(k+1) +

ml−1∑l=1,l 6=k

γcj(l)→cj(l+1) ≥ γcj(k)→cj(k+1) + 0 > 0.

Portanto,

optEγ(s, t) = vEγ([c1, . . . , cn]) = vEγ(cj) +∑i 6=j

vEγ(ci) ≥ vEγ(cj) + 0 > 0.

Logo, sendo s 6= t arbitrárias, segue que se γa→a ≥ 0 e γa→ , γ →a, γa→b > 0 para cadaa 6= b ∈ Σ, então optEγ(s, t) > 0 para cada s 6= t ∈ Σ∗.

Sejam a, b ∈ γ. Denotamos o custo de um caminho ótimo de a a b em γ por Pγ(a, b).

Lema 68. Seja γ uma matriz de pontuação. Então, optEγ(s, t) = optEγ(t, s) para cadas, t ∈ Σ∗ se e somente se Pγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a) para cada a 6= b ∈ Σ.

4.3 DISTÂNCIA DE EDIÇÃO 69

Prova. Sejam a 6= b ∈ Σ e suponha que optEγ(s, t) = optEγ(t, s) para cada s, t ∈ Σ∗. Qual-quer alinhamento estendido de (a, ε) possui uma única coluna. Logo, o caminho P de a paraem D(γ) que é correspondente à única coluna de um alinhamento E-ótimo de (a, ε) tem custooptEγ(a, ε) o que implica Pγ(a, ) ≤ custo(P ) = optEγ(a, ε). Similarmente, um alinhamentoestendido A de (a, ε) que corresponde a um caminho ótimo de a para tem custo Pγ(a, ) oque implica que optEγ(a, ε) ≤ vEγ(A) = Pγ(a, ). Segue que optEγ(a, ε) = Pγ(a, ). Usandoargumentação similar, temos optEγ(ε, a) = Pγ( , a). Segue, sendo optEγ(a, ε) = optEγ(ε, a),que Pγ(a, ) = optEγ(a, ε) = optEγ(ε, a) = Pγ( , a).

Um alinhamento E-ótimo de (a, b) possui uma ou duas colunas. Se ele tem somente umacoluna, com uma argumentação similar à feita no parágrafo anterior, segue que Pγ(a, b) =Pγ(b, a). Se o alinhamento E-ótimo de (a, b) possui duas colunas, digamos

c′ = [a c′(2) . . . c′(m1 − 1) ] e c′′ = [ c′′(2) . . . c′′(m2 − 1) b],

então denimos o alinhamento de (a, b) com uma única coluna

c = [a c′(2) . . . c′(mj − 1) c′′(2) . . . c′′(m2 − 1) b]

onde vericamos que vEγ([c1, c2]) = vEγ([c]), o que implica que o alinhamento estendido[c] também é um alinhamento E-ótimo de (a, b). Logo, novamente usando uma argumen-tação similar ao parágrafo anterior, segue que Pγ(a, b) = Pγ(b, a). Portanto, pelos argu-mentos dos dois primeiros parágrafos, se optEγ(s, t) = optEγ(t, s) para cada s, t ∈ Σ∗, entãoPγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a) para cada a 6= b ∈ Σ.

Reciprocamente, sejam s, t ∈ Σ∗ e suponha que Pγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a)para cada a 6= b ∈ Σ e que A = [c1, . . . , cn] é um alinhamento estendido E-ótimo de (s, t).Cada ci corresponde, pela otimalidade de A, a um caminho de custo mínimo de ci(1) a ci(mi)em D(γ) o que implica que

optEγ(s, t) =∑i

vEγ(ci) =∑i

Pγ(ci(1), ci(mi)).

Considere um alinhamento estendido B = [c′1, . . . , c′n] onde cada coluna c′i é denida por

um caminho de custo mínimo de ci(mi) a ci(1). Claramente B é um alinhamento esten-dido de (t, s) com pontuação igual a

∑iPγ(ci(mi), ci(1)). Desde que Pγ(ci(1), ci(mi)) =

Pγ(ci(mi), ci(1)) para cada i, segue que

optEγ(s, t) =∑i

vEγ(ci) =∑i

Pγ(ci(1), ci(mi))

=∑i

Pγ(ci(mi), ci(1)) = vEγ([c′1, . . . , c

′n])

≤ optEγ(t, s).

Usando raciocínio análogo, segue que optEγ(t, s) ≤ optEγ(s, t) o que nos permite concluirque optEγ(s, t) = optEγ(t, s).

Lema 69. Se D(γ) não possui ciclo de custo negativo, então

optEγ(s, u) ≤ optEγ(s, t) + optEγ(t, u)

para todo s, t, u ∈ Σ∗.

70 MATRIZES QUE INDUZEM MÉTRICAS 4.3

Prova. Sejam s, t, u ∈ Σ∗, [c1, . . . , cnc] e [e1, . . . , ene] alinhamentos E-ótimos de (s, t) e(t, u), respectivamente, e os inteiros 1 ≤ i1 < . . . < i|t| ≤ nc e 1 ≤ j1 < j2 < . . . < j|t| ≤ netais que t(k) = cik(mik) = ejk(1) e suponha que D(γ) não possui ciclo de custo negativo.

Para cada k = 1, . . . , |t|, temos

vEγ(cik) + vEγ(ejk) = vEγ([cik(1) . . . cik(mik − 1) t(k) ejk(2) . . . ejk(mjk)]). (4.28)

Sejam C1 = k ∈ 1, . . . , nc : k 6= i1, . . . , i|t|, C2 = ik : cik(1) 6= ou ejk(mjk) 6= ,C3 = ik : cik(1) = e ejk(mjk) = , E1 = k ∈ 1, . . . , ne : k 6= j1, . . . , j|t|, E2 = jk :cik(1) 6= ou ejk(mjk) 6= e E3 = jk : cik(1) = e ejk(mjk) = . Note que

vEγ([c1, . . . , cnc]) =∑k∈C1

vEγ(ck) +∑ik∈C2

vEγ(cik) +∑ik∈C3

vEγ(cik), (4.29)

vEγ([e1, . . . , ene]) =∑k∈E1

vEγ(ek) +∑jk∈E2

vEγ(ejk) +∑jk∈E3

vEγ(ejk). (4.30)

Como consequência de (4.28), temos que∑ik∈C2

vEγ(cik) +∑jk∈E2

vEγ(ejk) =∑ik∈C2

(vEγ([cik(1) . . . t(k) . . . ejk(mjk)]) (4.31)∑ik∈C3

vEγ(cik) +∑jk∈E3

vEγ(ejk) =∑ik∈C3

(vEγ([ cik(2) . . . t(k)ejk(2) . . . ])) ≥ 0, (4.32)

onde a desigualdade em (4.32) segue de D(γ) não possuir ciclo de custo negativo.Seja A um alinhamento estendido de (s, u) cujas colunas são denidas de acordo com as

seguintes regras: para cada k ∈ C1, a coluna ck é coluna de A; para cada k ∈ E1, a coluna eké coluna de A; e para cada k = 1, . . . , |t| tal que ik ∈ C2 a coluna

[cik(1) cik(2) . . . cik(mik − 1) t(k) ejk(2) ejk(3) . . . ejk(mjk)]

é coluna de A. Logo,

vEγ(A) =∑k∈C1

vEγ(ck) +∑k∈E1

vEγ(ek) +∑ik∈C2

(vEγ([cik(1) . . . t(k) . . . ejk(mjk)])

=∑k∈C1

vEγ(ck) +∑k∈E1

vEγ(ek) +∑ik∈C2

vEγ(cik) +∑jk∈E2

vEγ(ejk) (4.33)

≤∑k∈C1

vEγ(ck) +∑k∈E1

vEγ(ek) +∑ik∈C2

vEγ(cik) +∑jk∈E2

vEγ(ejk) +∑ik∈C3

vEγ(cik) +∑jk∈E3

vEγ(ejk) (4.34)

= vEγ([c1, . . . , cnc] + vEγ([e1, . . . , ene]) (4.35)

= optEγ(s, t) + optEγ(t, u), (4.36)

onde (4.33) segue de (4.31); (4.34) segue de (4.32); (4.35) segue de (4.29) e (4.30); e (4.36)segue de [c1, . . . , cnc] e [e1, . . . , ene] serem alinhamentos E-ótimos de (s, t) e de (t, u). Desdeque optEγ(s, u) ≤ vEγ(A), segue que

optEγ(s, u) ≤ vEγ(A) ≤ optEγ(s, t) + optEγ(t, u).

4.4 COMENTÁRIO FINAL 71

Portanto, desde que s, t, u são sequências arbitrárias, segue que se D(γ) não possui ciclo decusto negativo, então optEγ(s, u) ≤ optEγ(s, t) + optEγ(t, u) para todo s, t, u ∈ Σ∗.

Teorema 70. Vale optEγ ∈ M se e somente se vale γ ∈ME.

Prova. Suponha que optEγ ∈ M . Logo,

(i) optEγ(s, t) > 0 e

(ii) optEγ(s, t) = optEγ(t, s)

para cada s 6= t ∈ Σ∗. Como vale (i), temos pelo Lema 67 que γa→b, γa→ , γ →a > 0 eγa→a ≥ 0, e como vale (ii), temos pelo Lema 68 que Pγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a)para cada a 6= b ∈ Σ. Segue daí que γ ∈ME.

Reciprocamente, suponha que γ ∈ME. Temos por denição de ME que

(a) γa→a ≥ 0, γa→b, γa→ , γ →a > 0,

(b) Pγ(a, ) = Pγ( , a) e Pγ(a, b) = Pγ(b, a)

para todo a 6= b ∈ Σ. Como vale (a), temos que D(γ) não possui ciclo negativo, o que implicapelo Lema 65 que optEγ(s, s) = 0 e pelo Lema 69 que optEγ(s, u) ≤ optEγ(s, t) + optEγ(t, u)para todo s, t, u ∈ Σ∗. Temos também pelo Lema 67 que optEγ(s, t) > 0 para todo s 6= t ∈ Σ∗.Como vale (b), temos pelo Lema 68 que optEγ(s, t) = optEγ(t, s) para todo s, t ∈ Σ∗. Seguedaí que optEγ ∈ M .

4.4 Comentário nal

Neste capítulo determinamos condições sucientes e necessárias para que a matriz depontuação γ induza cada uma das propriedades de uma métrica nas funções optAγ, optNγe optEγ. Podemos observar que, em qualquer um dos casos, cada propriedade pode servericada gastando tempo O(|Σ|3).

72 MATRIZES QUE INDUZEM MÉTRICAS 4.4

Capítulo 5

Matrizes equivalentes

A função vAγ é um critério que, como vimos, pode ser utilizada para classicar alinha-mentos. Informalmente falando, bons alinhamentos possuem pontuação baixa e alinhamentosruins possuem pontuação alta. Note que uma classicação obtida usando esse critério de-pende também dos valores em γ. Por exemplo, considere as seguintes matrizes de pontuação:

γ =

a b

a 0 1 1b 1 0 1

1 1

e δ =

a b

a 0 1 2b 1 0 2

2 2

e os seguintes alinhamentos de (aba, bab):

A =

[a b a

b a b

]e B =

[a b a

b a b

]Se γ é a matriz de pontuação, então B é considerado um alinhamento melhor do que A

vAγ(A) = γa→b + γb→a + γa→b = 3 > 2 = γa→ + γb→b + γa→a + γ →b = vAγ(B).

e se δ é a matriz de pontuação, então é A que é considerado um alinhamento melhor pois,neste caso, vAδ(A) = 3 < 4 = vAδ(B) .

Entretanto, não é para qualquer par de matrizes de pontuação γ 6= δ que encontramos umpar de alinhamentos A e B de duas sequências onde vAγ(A) < vAγ(B) e vAδ(A) ≥ vAδ(B).Para γ e δ matrizes de pontuação, escrevemos γ ∼ δ e dizemos que γ e δ são equivalentes separa cada par de alinhamentos A e B de quaisquer duas sequências, vale

vAγ(A) ≤ vAγ(B) se e somente se vAδ(A) ≤ vAδ(B).

Da denição são imediatas as seguintes propriedades para γ, δ, ϕ matrizes de pontuação:γ ∼ γ (reexibilidade), γ ∼ δ implica que δ ∼ γ (simetria) e γ ∼ δ e δ ∼ ϕ implica queγ ∼ ϕ (transitividade), o que signica que ∼ é uma relação de equivalência no conjunto dasmatrizes de pontuação.

O Problema APS é formulado neste texto como um problema de minimização que éo de encontrar um alinhamento A tal que vAγ(A) seja o menor possível. Com matrizes depontuação apropriadas, esse mesmo problema pode ser formulado como um problema demaximização: encontrar um alinhamento A tal que vAγ(A) seja o maior possível. Setubale Meidanis [SM97] mostram como determinar, a partir de uma matriz de pontuação γ queé utilizada para o Problema APS, uma matriz de pontuação δ que é utilizada para um

73

74 MATRIZES EQUIVALENTES 5.1

problema de maximização de modo que vAγ(A) ≤ vAγ(B) se e somente se vAδ(A) ≥ vAδ(B)para cada par de alinhamentos A e B de quaisquer pares de sequências. Neste capítulo,adaptamos o estudo de Meidanis e Setubal para caracterizar pares de matrizes equivalentes,ou mais precisamente, determinamos quais são as condições necessárias e sucientes para queduas matrizes sejam equivalentes. Duas operações em matrizes de pontuação são denidas.Em uma dessas operações, a operação de multiplicação, cada elemento da matriz é multi-plicado por um número positivo e, em outra, a operação de soma, um número é adicionadoa cada elemento da matriz de pontuação. Mostramos, para um amplo conjunto de matrizesde pontuação, que se duas matrizes pertencem a uma mesma classe de equivalência, entãouma pode ser obtida a partir da outra usando essas operações de multiplicação e de soma.

Denotamos γ = 0 se cada entrada da matriz de pontuação γ é zero, e γ 6= 0 caso contrário.

5.1 Operações ⊗ e ⊕ nas matrizes de pontuação

Sejam x ∈ R e γ uma matriz de pontuação. A expressão x ⊗ γ, que dizemos ser amultiplicação do número x pela matriz γ, denota uma matriz de pontuação δ tal que

δa→b = x · γa→b, δa→ = x · γa→ , δ →b = x · γ →b

e a expressão x⊕ γ, que dizemos ser a soma do número y pela matriz γ, denota uma matrizde pontuação ϕ tal que

ϕa→b = 2x+ γa→b, ϕa→ = x+ γa→ , ϕ →b = x+ γ →b,

para cada a, b ∈ Σ. Por exemplo, se

γ =

a b

a 0 2 2b 1 0 1

3 1

,

então a matriz de pontuação δ = 2⊕ (4⊗ γ) é

δ = 2⊕

4⊗

a b

a 0 2 2b 1 0 1

3 1

= 2⊕

a b

a 0 8 8b 4 0 4

12 4

=

a b

a 4 12 10b 8 4 6

14 6

.

Note que em uma expressão composta por operadores ⊗ e ⊕, a operação mais a direitana expressão deve ser executada primeiro. Dado que a matriz de pontuação é o operandoque ca mais a direita, essa é a única precedência que faz sentido. Entretanto, os parênteses

5.1 OPERAÇÕES ⊗ E ⊕ NAS MATRIZES DE PONTUAÇÃO 75

são colocados para enfatizar essa ordem.Para γ, δ e ϕ matrizes de pontuação e x, y e z números com x 6= 0, podemos vericar

cada uma das seguintes propriedades:

P1. 1⊗ γ = γ,

P2. 0⊕ γ = γ,

P3. Se δ = x⊗ γ, então γ = (1/x)⊗ δ,

P4. Se δ = y ⊕ γ, então γ = −y ⊕ δ,

P5. y ⊕ (x⊗ γ) = x⊗ ((y/x)⊕ γ),

P6. z ⊕ (y ⊕ γ) = (z + y)⊕ γ,

P7. z ⊗ (y ⊗ γ) = (z · y)⊗ γ.

Além disso, note que, para qualquer alinhamento A de um par de sequências (s, t), temos

vAx⊗γ(A) = x · vAγ(A), (5.1)

vAy⊕γ(A) = y(|s|+ |t|) + vAγ(A). (5.2)

Sejam γ e δ matrizes de pontuação. Dizemos que δ é gerada por γ em n passos se n = 0e δ = γ, ou então n > 0 e existe uma matriz de pontuação ϕ que é gerada por γ em n − 1passos e δ = x op ϕ, onde op = ⊗ ou op = ⊕ e x é um número que é positivo se op = ⊗.O próximo resultado mostra que se uma matriz pode ser gerada a partir de outra, isto podeser feito por uma simples operação de soma seguida por uma de multiplicação.

Fato 71. Sejam γ e δ matrizes de pontuação. Para qualquer número natural n, se δ é geradapor γ em n passos, então existem x > 0 e y números tais que δ = x⊗ (y ⊕ γ).

Prova. A prova é feita por indução em n. Se n = 0, então δ = γ e vale δ = 1 ⊗ (0 ⊕ γ).Suponha que n > 0 e, portanto, existe uma matriz de pontuação ϕ que é gerada por γ emn − 1 passos e δ = x op ϕ, onde op = ⊗ ou op = ⊕ e x é um número que é positivo seop = ⊗. Por hipótese de indução, existem x′ > 0 e y′ números tais que ϕ = x′ ⊗ (y′ ⊕ γ).Logo, δ = x op (x′ ⊗ (y′ ⊕ γ)). Se op = ⊗, então, usando P7, temos que

δ = x op (x′ ⊗ (y′ ⊕ γ)) = x⊗ (x′ ⊗ (y′ ⊕ γ)) = (x · x′)⊗ (y′ ⊕ γ),

onde, desde que x > 0 e x′ > 0, temos que x ·x′ > 0 e o fato está provado. Se op = ⊕, então,usando P5 e P6, temos que

δ = x op (x′ ⊗ (y′ ⊕ γ)) = x⊕ (x′ ⊗ (y′ ⊕ γ)) = x′ ⊗( xx′⊕ (y′ ⊕ γ)

)= x′ ⊗

(( xx′

+ y′)⊕ γ)

e também neste caso o fato está provado.

O lema a seguir mostra que uma relação entre matrizes geradas e matrizes equivalentes.

Lema 72. Sejam γ uma matriz de pontuação, x um número positivo e y um número. Então,γ ∼ x⊗ (y ⊕ γ).

76 MATRIZES EQUIVALENTES 5.2

Prova. Sejam A e B alinhamentos de duas sequências de comprimentos n em. Para demons-trar o lema, mostramos que vAγ(A) ≤ vAγ(B) implica em vAx⊗(y⊕γ)(A) ≤ vAx⊗(y⊕γ)(B) e,depois, que vAx⊗(y⊕γ)(A) ≤ vAx⊗(y⊕γ)(B) implica em vAγ(A) ≤ vAγ(B).

Suponha que vAγ(A) ≤ vAγ(B). Logo,

vAx⊗(y⊕γ)(A) = x · vAy⊕γ(A) = x(y(n+m) + vAγ(A)) (5.3)

≤ x(y(n+m) + vAγ(B)) (5.4)

= vAx⊗(y⊕γ)(B), (5.5)

onde (5.3) e (5.5) seguem de (5.1) e de (5.2); e (5.4) segue de x > 0 e da hipótese de vAγ(A) ≤vAγ(B). Logo, se vAγ(A) ≤ vAγ(B), então vAx⊗(y⊕γ)(A) ≤ vAx⊗(y⊕γ)(B). Reciprocamente,suponha que vAx⊗(y⊕γ)(A) ≤ vAx⊗(y⊕γ)(B). Segue novamente de (5.1) e (5.2) que

x(y(n+m) + vAγ(A)) = vAx⊗(y⊕γ)(A)

≤ vAx⊗(y⊕γ)(B),

= x(y(n+m) + vAγ(B)),

o que implica, sendo x > 0, que vAγ(A) ≤ vAγ(B). Logo, se vAx⊗(y⊕γ)(A) ≤ vAx⊗(y⊕γ)(B),então vAγ(A) ≤ vAγ(B).

5.2 Condições necessárias para γ ∼ δ em BComo consequência do Fato 71 e do Lema 72, ser gerada por uma matriz de pontuação

γ é condição suciente para δ ∼ γ. Nesta seção mostramos que, para uma classe de matrizesde pontuação B que denimos a seguir, essa condição é necessária para γ ∼ δ. Mais do queisto, mostramos como determinar x > 0 e y tais que δ = x⊗ (y ⊕ γ) quando γ ∼ δ.

Seja γ uma matriz de pontuação. Dizemos que γ é uma matriz inteira (racional, real) setodas as entradas de γ são números inteiros (racionais, reais). Denimos a classe de matrizesde pontuação B como sendo aquela tal que se γ ∈ B, então

1. γ é racional,

2. γ é simétrica,

3. γa→a = γb→b ≤ γa→b, para cada a, b ∈ Σ e

4. γa→b ≤ γa→ + γ →b, para cada a, b ∈ Σ.

Primeiramente vericamos que as operações ⊗ e ⊕ são fechadas em B.

Lema 73. Sejam γ ∈ B uma matriz de pontuação, x, y ∈ Q, com x > 0. Então, x ⊗ γ ey ⊕ γ são elementos de B.

Prova. Sejam a, b ∈ Σ.Temos que x · γa→b = (x⊗ γ)a→b, x · γa→ = (x⊗ γ)a→ e x · γ →a = (x⊗ γ) →a

são números racionais pois o resultado da multiplicação de números racionais é um númeroracional. Ademais, 2y+γa→b = (y ⊕ γ)a→b, y+γa→ = (y ⊕ γ)a→ e y+γ →a = (y ⊕ γ) →a

são números racionais pois a soma de números racionais também é um número racional.

5.2 CONDIÇÕES NECESSÁRIAS PARA γ ∼ δ EM B 77

Como γa→b = γb→a e γa→ = γ →a, temos que

(x⊗ γ)a→b = x · γa→b = x · γb→a = (x⊗ γ)b→a,

(x⊗ γ)a→ = x · γa→ = x · γ →a = (x⊗ γ) →a,

(y ⊕ γ)a→b = 2y + γa→b = 2y + γb→a = (y ⊕ γ)b→a,

(y ⊕ γ)a→ = y + γa→ = y + γ →a = (y ⊕ γ) →a.

Como γa→a = γb→b ≤ γa→b e x > 0, temos que

(x⊗ γ)a→a = (x⊗ γ)b→b = x · γa→a = x · γb→b ≤ x · γa→b = (x⊗ γ)a→b

(y ⊕ γ)a→a = (y ⊕ γ)b→b = 2y + γa→a = 2y + γb→b ≤ 2y + γa→b = (x⊕ γ)a→b.

Como γa→b ≤ γa→ + γ →b e x > 0, temos que

(x⊗ γ)a→b = x · γa→b ≤ x · γa→ + x · γ →b = (x⊗ γ)a→ + (x⊗ γ) →b,

(y ⊕ γ)a→b = 2y + γa→b ≤ (y + γa→ ) + (y + γ →b) = (y ⊕ γ)a→ + (y ⊕ γ) →b.

Desde que as propriedades acima são válidas para os símbolos arbitrários a e b, segueque as entradas das matrizes x ⊗ γ e y ⊕ γ são números racionais; x ⊗ γ e y ⊕ γ sãosimétricas; (x⊗ γ)a→a = (x⊗ γ)b→b ≤ (x⊗ γ)a→b e (y ⊕ γ)a→a = (y ⊕ γ)b→b ≤ (y ⊕ γ)a→b,e (x⊗ γ)a→b ≤ (x⊗ γ)a→ +(x⊗ γ) →b e (y ⊕ γ)a→b ≤ (y ⊕ γ)a→ +(y ⊕ γ) →b para cadaa, b ∈ Σ. Segue daí que x⊗ γ, y ⊕ γ ∈ B.

Denimos mdc(γ) como o maior inteiro positivo capaz de dividir cada elemento de umamatriz inteira γ 6= 0, ou seja, o maior inteiro x tal que (1/x)⊗ γ é uma matriz inteira.

Fato 74. Seja γ 6= 0 uma matriz de pontuação racional. Existe um número racional x > 0tal que x⊗ γ é uma matriz inteira e mdc(x⊗ γ) = 1.

Seja B o conjunto das matrizes de pontuação γ que possuem as seguintes propriedades:

P0. γ ∈ B,

P1. γa→a = 0 para algum a ∈ Σ,

P2. γ é uma matriz inteira e

P3. γ = 0 ou mdc(γ) = 1.

Como consequência dos Itens 3 e 4 da denição de B e de P1 da denição de B, temos quematrizes em B não possuem entradas negativas. Além disso, também como consequência doItem 3 da denição de B e de P1 da denição de B, temos que, se γ ∈ B, então γa→a = 0,para cada a ∈ Σ. Também como consequência da denição, γ = 0 ∈ B.

O seguinte resultado mostra que toda matriz de pontuação em B possui uma matriz depontuação equivalente em B.

Lema 75. Sejam γ ∈ B e a ∈ Σ. Então, para y = −γa→a/2, existe um número racionalpositivo x tal que

x⊗ (y ⊕ γ) ∈ B,

e x⊗ (y ⊕ γ) é uma matriz inteira e y ⊕ γ = 0 ou mdc(x⊗ (y ⊕ γ)) = 1.

78 MATRIZES EQUIVALENTES 5.2

Prova. Como γ ∈ B, por denição temos que y = −γa→a/2 é um número racional. Segue doLema 73 que a matriz de pontuação δ = y⊕γ ∈ B. Note que δa→a = 2(−γa→a/2)+γa→a = 0.Logo, desde que δ ∈ B, temos que δb→b = 0 para cada b ∈ Σ.

Suponha δ = 0. Então 1 ⊗ (y ⊕ γ) = 1 ⊗ δ = 0 ∈ B e o lema está provado. Assumimosentão que δ 6= 0.

Como δ ∈ B, por denição temos que as entradas de δ são números racionais. Segue doFato 74, sendo δ 6= 0, que existe um racional x > 0 tal que a matriz ϕ = x⊗ δ tem entradasinteiras e mdc(ϕ) = 1. Temos também pelo Lema 73, desde que δ ∈ B e x é um racionalpositivo, que ϕ ∈ B. Temos também, desde que δa→a = 0, que ϕa→a = x · δa→a = 0. Seguedas observações deste parágrafo que

x⊗ (y ⊕ γ) = ϕ ∈ B.

Se γ, δ ∈ B são tais que γ, δ 6= 0, então por denição mdc(γ) = mdc(δ) = 1. Comoconsequência, temos o seguinte fato.

Fato 76. Sejam γ, δ ∈ B tais que γ 6= 0, δ 6= 0 e x > 0. Se x ⊗ γ = δ, então x = 1 e,portanto, γ = δ.

As proposições a seguir são resultados intermediários fracos. Entretanto, eles auxiliam ademonstração do Lema 82.

Proposição 77. Sejam γ, δ ∈ B, γ ∼ δ e a ∈ Σ. Se γa→ = 0, então δa→ = 0.

Prova. Suponha que γa→ = 0. Como γ, δ ∈ B, temos que γa→a = δa→a = 0, γa→ = γ →a

e δa→ = δ →a. Note que [a, a] e [a , a] são alinhamentos de (a, a). Como γa→ = 0,γa→a = 0 e γa→ = γ →a, temos que

vAγ([a, a]) = γa→a = 0 = γa→ + γa→ = vAγ([a , a]).

Como γ ∼ δ e vAγ([a, a]) = vAγ([a , a]), temos que vAδ([a, a]) = vAδ([a , a]), oque implica, sendo δa→a = 0, que

0 = δa→a = vAδ([a, a]) = vAδ([a , a]) = δa→ + δ →a.

Como δa→ + δ →a = 0 e δa→ = δ →a, temos que

δa→ =1

2

(δa→ + δa→

)=

1

2

(δa→ + δ →a

)=

1

2(0) = 0.

Portanto, se γa→ = 0, então δa→ = 0.

Proposição 78. Sejam γ ∈ B e a, b ∈ Σ. Se γa→ = γb→ = 0, então γa→b = 0.

Prova. Suponha γa→ = γb→ = 0. Como γ ∈ B, temos que γa→b é não negativo e queγa→b ≤ γa→ + γ →b e γ →b = γb→ . Segue que

0 ≤ γa→b ≤ γa→ + γ →b = γa→ + γb→ = 0 + 0 = 0,

o que implica que γa→b = 0. Portanto, se γa→ = γb→ = 0, então γa→b = 0.

5.2 CONDIÇÕES NECESSÁRIAS PARA γ ∼ δ EM B 79

Proposição 79. Seja γ ∈ B. Se γa→ = 0 para cada a ∈ Σ, então γ = 0.

Prova. Sejam a, b ∈ Σ e suponha que γa→ = γb→ = 0. Desde que γ ∈ B ⊆ B, segue queγ →b = γb→ = 0 e γ →a = γa→ = 0. Além disso, segue da Proposição 78 que γa→b = 0.Desde que γ →a = γa→ = γ →b = γb→ = γa→b = 0 para os símbolos arbitrários a, b ∈ Σ,segue que se γa→ = 0 para cada a ∈ Σ, então γ = 0.

Proposição 80. Sejam γ, δ ∈ B e a, b ∈ Σ. Se γ ∼ δ, então γb→ δa→ = γa→ δb→ .

Prova. Sejam os inteiros y = γa→ ≥ 0 e z = γb→ ≥ 0, e os alinhamentos

A =

[az by z

z by az

]e B =

[y az by

by az y

]de (azby, byaz). Como γ ∈ B, temos que γa→ = γ →a, γb→ = γ →b e γa→a = γb→b = 0.Logo,

vAγ(A) = zγa→ + yγb→b + zγ →a = zγa→ + zγ →a = zγa→ + zγa→ = zy + zy =

yz + yz = yγb→ + yγb→ = yγb→ + yγ →b = yγb→ + zγa→a + yγ →b = vAγ(B).

Suponha que γ ∼ δ. Desde que vAγ(A) = vAγ(B), segue que vAδ(A) = vAδ(B). Comoδ ∈ B, temos que δa→ = δ →a, δb→ = δ →b e δa→a = δb→b = 0. Segue daí, sendoy = γa→ = γ →a e z = γb→ = γ →b, que

γb→ δa→ = zδa→ =1

2

(zδa→ + zδa→

)=

1

2

(zδa→ + zδ →a

)=

1

2

(zδa→ + yδb→b + zδ →a

)=

1

2vAδ(A)

=1

2vAδ(B) =

1

2

(yδ →b + zδa→a + yδb→

)=

1

2

(yδ →b + yδb→

)=

1

2

(yδb→ + yδb→

)= yδb→ = γa→ δb→ .

Portanto, se γ ∼ δ, então γb→ δa→ = γa→ δb→ .

Proposição 81. Sejam γ, δ ∈ B e a, b ∈ Σ. Se γ ∼ δ, então δa→ γa→b = γa→ δa→b.

Prova. Suponha que γ ∼ δ. Se γa→ = 0, então segue da Proposição 77 que δa→ = 0 e,neste caso, δa→ γa→b = 0 = γa→ δa→b e a prova está feita. Assumimos então que γa→ 6= 0.Como γ ∈ B, temos que as entradas de γ são não negativas. Segue que γa→ > 0.

Considere, sendo γ ∈ B, os inteiros não negativos

y = γa→ , z = γb→ e x = γa→b.

Sejam os alinhamentos

A =

[ (a b

b b

)x (a b

b a

)y+z−x (a a

b a

)xb

]e

B =

[b

(b b

)x (a b

a b

)y+z (a a

)x ]de ((ab)y+z(aa)x, b(bb)x(ab)y+z). Note que da denição de B temos que y+ z− x = γa→ +γb→ − γa→b ≥ 0.

80 MATRIZES EQUIVALENTES 5.2

Como γ ∈ B, temos que γb→a = γa→b, γ →b = γb→ e γa→a = γb→b = 0. Segue daí que

vAγ(A) = x(γa→b + γb→b) + (y + z − x)(γa→b + γb→a) + x(γa→b + γa→a) + γ →b

= xγa→b + (y + z − x)(γa→b + γa→b) + xγa→b + γ →b

= 2(y + z)γa→b + γ →b

= 2x(γa→ + γb→ ) + γ →b

= 2x(γa→ + γ →b) + γ →b

= γ →b + x(2 · γ →b) + (y + z)(γa→a + γb→b) + x(2 · γa→ ) = vAγ(B),

o que implica, sendo γ ∼ δ, que vAδ(A) = vAδ(B). Como δ ∈ B, temos que δb→a = δa→b,δ →b = δb→ e δa→a = δb→b = 0. Logo,

(γa→ + γb→ )δa→b =1

2(γa→ + γb→ )(δa→b + δa→b) =

1

2(y + z)(δa→b + δb→a)

=(y + z)(δa→b + δb→a) + δ →b − δ →b + x · δb→b + x · δa→a

2

=vAδ(A)− δ →b

2=vAδ(B)− δ →b

2

=(2x+ 1)δ →b + (y + z)(δa→a + δb→b) + 2x · δa→ − δ →b

2= x(δa→ + δ →b) = x(δa→ + δb→ )

= γa→b(δa→ + δb→ ). (5.6)

Então, desde que γ ∈ B, temos que γb→ ≥ 0. Além disso, por hipótese γa→ > 0. Logo,γa→ + γb→ > 0. Segue que

δa→ γa→b =

(γa→ + γb→

γa→ + γb→

)δa→ γa→b

=

(γa→ δa→ + γb→ δa→

γa→ + γb→

)γa→b

=

(γa→ δa→ + γa→ δb→

γa→ + γb→

)γa→b (5.7)

=γa→

γa→ + γb→

(δa→ + δb→

)γa→b

=γa→

γa→ + γb→

(γa→ + γb→

)δa→b (5.8)

= γa→ δa→b.

onde (5.7) segue da Proposição 80 e (5.8) segue de (5.6). Concluímos que se γ ∼ δ, entãoδa→ γa→b = γa→ δa→b.

Lema 82. Sejam γ, δ ∈ B. Se γ ∼ δ, então γ = δ.

Prova. Suponha que γ ∼ δ. Se γa→ = 0 para cada a ∈ Σ, então pela Proposição 77 segueque δa→ = 0 para cada a ∈ Σ. Segue então da Proposição 79 que γ = 0 e δ = 0 e a provaestá feita. Assumimos então que existe a ∈ Σ, γa→ 6= 0. Seja k = δa→ /γa→ .

Pela Proposição 80 temos que γa→ δb→ = γb→ δa→ para cada símbolo b ∈ Σ, o que

5.2 CONDIÇÕES NECESSÁRIAS PARA γ ∼ δ EM B 81

implica, sendo γa→ 6= 0, que

δb→ =δa→

γa→γb→ = kγb→ .

Além disso, como γ, δ ∈ B ⊆ B, temos que γb→ = γ →b e δb→ = δ →b. Segue que

δ →b = δb→ = kγb→ = kγ →b, (5.9)

para cada símbolo b ∈ Σ.Sejam b, c ∈ Σ. Suponha que γb→ = γc→ = 0. Segue da Proposição 77 que δb→ =

δc→ = 0. Segue da Proposição 78 que γb→c = δb→c = 0. Logo, δb→c = kγb→c. Assumimosentão que γb→ 6= 0 ou γ →c 6= 0. Se γb→ 6= 0, então, por (5.9), δb→ = kγb→ e, pelaProposição 81, γb→ δb→c = δb→ γb→c. Segue que

δb→c =δb→ γb→c

γb→=kγb→ γb→c

γb→= kγb→c.

Similarmente, se γc→ 6= 0, então δb→c = kδb→c.Pelos argumentos acima, concluímos que γ = k⊗δ, o que implica pelo Fato 76 que γ = δ.

Portanto, se γ ∼ δ, então γ = δ.

Os resultados até aqui obtidos implicitamente sugerem um método para decidir se γ ∼ δquando γ, δ são matrizes de pontuação em B. Como consequência do Lema 75, temos queexistem matrizes γ′, δ′ em B tais que γ′ ∼ γ e δ′ ∼ δ, e como consequência do Lema 82,desde que uma matriz é equivalente a ela mesma, temos que γ ∼ δ se e somente se γ′ = δ′.O seguinte teorema e sua prova resumem esse resultado, caracterizando pares de matrizesde pontuação equivalentes em B.

Teorema 83. Sejam γ, δ ∈ B. Então, δ é gerada por γ se e somente se γ ∼ δ.

Prova. Para demonstrar o teorema mostramos que se δ é gerada por γ, então γ ∼ δ e,depois, que se γ ∼ δ, então δ é gerada por γ.

Suponha que δ é gerada por γ. Pelo Fato 71 temos que existem números x > 0 e y taisque δ = x⊗ (y⊕ γ). Segue do Lema 72 que γ ∼ x⊗ (y⊕ γ) = δ. Portanto, se δ é gerada porγ, então γ ∼ δ.

Reciprocamente, suponha que γ ∼ δ. Desde que γ, δ ∈ B, pelo Lema 75 existem númerosx1 > 0, x2 > 0, y1 e y2 tais que γ′ = x1 ⊗ (y1 ⊕ γ) ∈ B e δ′ = x2 ⊗ (y2 ⊕ δ) ∈ B. Segue doLema 72 que γ ∼ γ′ e δ ∼ δ′, o que implica por simetria e transitividade, desde que γ ∼ δ,que γ′ ∼ δ′. Segue do Lema 82 que x1 ⊗ (y1 ⊕ γ) = γ′ = δ′ = x2 ⊗ (y2 ⊕ δ), o que implicausando as Propriedades P3 e P4, da página 75, que

γ = −y1 ⊕(

1

x1

⊗ (x2 ⊗ (y2 ⊕ δ))).

Portanto, se γ ∼ δ, então δ é gerada por γ.

82 MATRIZES EQUIVALENTES 5.2

Capítulo 6

Alinhamento de várias sequências

Nesse capítulo denimos e analisamos novos critérios para, a partir de uma matriz γ,pontuar um alinhamento de uma k-upla de sequências normalizando a pontuação obtidapara o critério vSPγ.

Em todos os critérios estudados o símbolo alinhado com não contribui diretamentepara a denição da pontuação do alinhamento. Logo, não é necessária a denição da entradaγ → . Entretanto, desde que os critérios estudados são aditivos e desde que não quere-mos mencionar em todo momento o fato de que [ , ] não contribui para a pontuação,consideramos que γ → = 0.

6.1 Introdução

No Capítulo 2 vimos que

vSPγ(A) =k−1∑h=1

k∑i=h+1

vAγ(Ah,i).

Propomos novos critérios para pontuar o alinhamento de várias sequências que levamem conta o comprimento dos alinhamentos. Como comprimento, no primeiro critério pro-posto (V1

γ) consideramos o comprimento do alinhamento, no segundo (V2γ) consideramos o

comprimento de cada alinhamento induzido e no terceiro (V3γ), a soma dos comprimentos

dos alinhamentos induzidos. Esses critérios são formalizados mais precisamente a seguir:

V1γ(A) =

0 se |A| = 0vSPγ(A)/|A| caso contrário,

(6.1)

V2γ(A) =

k−1∑h=1

k∑i=h+1

vNγ(Ah,i), (6.2)

V3γ(A) =

0 se |A| = 0

vSPγ(A)/(∑k−1

h=1

∑ki=h+1 |Ah,i|

)caso contrário.

(6.3)

Para uma k-upla de sequências S e η = 1, 2, 3, a função OPTηγ é denida para cadacritério Vηγ como

OPTηγ(S) = minA∈AS

Vηγ(A).

Dizemos que um alinhamento A é Vηγ-ótimo se Vηγ(A) = OPTηγ(S).

83

84 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.2

6.2 Algoritmos exatos

Seja S = (s1, . . . , sk) ∈ (Σ∗)k. Considere ni = |si| e N =∑

i ni. Para um conjuntoC qualquer, dizemos que uma sequência de k elementos de C é um k-vetor de elementosem C e, assim como os alinhamentos, os k-vetores são denotados entre colchetes ([ e ]).Em geral dizemos k-vetores quando queremos nos referir a k-uplas que não são k-uplas desequências de elementos em Σ∗ nem em Σ∗ .

Sejam ~v = [v1, v2, . . . , vk] e ~w = [w1, w2, . . . , wk] k-vetores. Escrevemos ~v = ~w sevi = wi para todo i e ~v 6= ~w caso contrário. Se ~v e ~w são k-vetores de inteiros, escrevemos~v ≤ ~w se vi ≤ wi para todo i; e ~v < ~w se ~v ≤ ~w e existe i tal que vi < wi. Denotamos ~v − ~wo k-vetor [v1 − w1, . . . , vk − wk].

Denimos ~VS como sendo o conjunto dos k-vetores de inteiros [v1, . . . , vk] tais que0 ≤ vi ≤ ni para cada i. Note que se ni = n para todo i, então |~VS| = (n+ 1)k. Denotamospor S(~v) a k-upla (s1(1 . . . v1), . . . , sk(1 . . . vk)) para ~v ∈ ~VS, e dizemos que S(~v) é um prexode S. Um k-vetor de inteiros [b1, . . . , bk] é dito k-vetor binário se todo bi ∈ 0, 1. Denotamospor 0k o k-vetor binário com todos os elementos da sequência iguais a zero, e o conjunto detodos os k-vetores binários diferentes de 0k por Bk. Note, portanto, que |Bk| = 2k − 1.

Seja ~b ∈ Bk. Denimos ~b · S(~v) como sendo o k-vetor de símbolos em Σ

~b · S(~v) = [σ1, . . . , σk]

onde cada σi = si(vi) se bi = 1, e é se bi = 0.Se A é um alinhamento e ~v = [j, j, . . . , j], então A(~v), também denotada por A(j), é a

j-ésima coluna do alinhamento A, e A(j1 . . . j2) são as colunas j1, j1 + 1, . . . , j2 de A.

6.2.1 Pontuação-SP

Genericamente, a pontuação-SP de um k-vetor ~σ = [σ1, σ2, . . . , σk] em Σ é denidacomo

vSPγ(~σ) =k−1∑h=1

k∑i=h+1

γσh→σi .

Logo, a pontuação-SP de um alinhamento A é a soma das pontuações-SP de suas colunas,ou seja,

vSPγ(A) =

|A|∑j=1

vSPγ(A(j)).

Lembramos que, para uma k-upla de sequências S, a função optSPγ é tal que

optSPγ(S) = minA∈AS

vSPγ(A)

e que dizemos que um alinhamento A de S é vSPγ-ótimo se optSPγ(S) = vSPγ(A).Como vimos no Capítulo 2, o Problema AVS é: para uma matriz de pontuação xa,

dada uma k-upla S, determinar optSPγ(S). Para resolver o problema, computamos umatabela D indexada por elementos em ~VS que armazena as pontuações-SP dos alinhamentosvSPγ-ótimos dos prexos de S. Mais precisamente, para cada ~v ∈ ~VS, D(~v) = optSPγ(S(~v))e pode ser computada assim:

D(~v) =

0 se ~v = 0k,

min~b∈Bk,~b≤~vD(~v −~b) + vSPγ(~b · S(~v)) caso contrário.

6.2 ALGORITMOS EXATOS 85

Vamos vericar por indução em ~v que de fato D(~v) = optSPγ(S(~v)). Note primeiramenteque vale para ~v = 0k, pois D(0k) = 0 = optSPγ(ε, ε, . . . , ε). Para ~v > 0k (0k < ~v), vamosmostrar a seguir primeiro que

optSPγ(S(~j)) ≥ D(~v) = min~b∈Bk,~b≤~v

D(~v −~b) + vSPγ(~b · S(~v)), (6.4)

e depois que

D(~v) = min~b∈Bk,~b≤~v

D(~v −~b) + vSPγ(~b · S(~v)) ≥ optSPγ(S(~j)), (6.5)

Suponha que A é um alinhamento vSPγ-ótimo de S(~v) e ~b é um vetor tal que A(|A|) =~b · S(~v), ou seja, ~b · S(~v) é a última coluna de A. Seja B um alinhamento vSPγ-ótimo deS(~v −~b). Por hipótese de indução optSPγ(S(~v −~b)) = D(~v −~b). Segue daí que

optSPγ(S(~v)) = vSPγ(A) = vSPγ(A(1 . . . |A| − 1) + vSPγ(~b · S(~v))

≥ vSPγ(B) + vSPγ(~b · S(~v)) = optSPγ(S(~v −~b)) + vSPγ(~b · S(~v))

= D(~v −~b) + vSPγ(~b · S(~v)) ≥ min~b∈Bk,~b≤~v

D(~v −~b) + vSPγ(~b · S(~v))

= D(~v)

e, portanto, vale (6.4).Suponha agora que ~b minimiza D(~v−~b)+vSPγ(~b ·S(~v)), B′ um alinhamento vSPγ-ótimo

de S(~v −~b), A′ um alinhamento de S(~v) de tal modo que A′(1 . . . |A′| − 1) = B′ e A′′ umalinhamento vSPγ-ótimo de S(~v). Por hipótese de indução, D(~v − ~b) = optSPγ(S(~v − ~b)).Segue que

D(~v) = min~b∈Bk,~b≤~v

D(~v −~b) + vSPγ(~b · S(~v)) = D(~v −~b) + vSPγ(~b · S(~v))

= optSPγ(S(~v −~b)) + vSPγ(~b · S(~v)) = vSPγ(B′) + vSPγ(~b · S(~v)) = vSPγ(A

′)

≥ vSPγ(A′′) = optSPγ(S(~v)),

e, portanto, vale (6.5).Como valem (6.4) e (6.5), temos que vale D(~v) = optSPγ(S(~v)) para ~v > 0k. Usando

programação dinâmica, a tabela D pode ter suas entradas calculada em ordem lexicográca.Com essa ordem, garantimos que nenhuma entrada D(~v) será calculada antes de D(~v −~b)para cada ~b ∈ Bk,~b ≤ ~v. O valor de optSPγ(S) é então D(~n) (onde, lembramos da denição,~n = [n1, . . . , nk]).

Considerando que todas as sequências possuem comprimento n, o espaço utilizado paracalcular a tabela D é Θ((n+ 1)k). Para computar uma entrada de D, o algoritmo avalia nomáximo 2k − 1 outras entradas, onde cada avaliação gasta tempo Θ(k2) no pior caso, o queimplica que o tempo gasto para determinar cada entrada de D é O(2kk2). Logo, o tempototal gasto é O(2kk2 · (n+ 1)k).

86 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.2

6.2.2 Critério V1γ

O critério V1γ leva em conta o comprimento do alinhamento para a sua pontuação. A

pontuação de um alinhamento A conforme (6.1) é

V1γ(A) =

vSPγ(A)

|A|

se |A| > 0. Um alinhamento V1γ-ótimo de S, que é um alinhamento ótimo para esse critério,

tem valorOPT1

γ(S) = minA∈AS

V1γ(A)

e o nosso problema é: para uma matriz γ xa, dada uma k-upla S, determinar OPT1γ(S).

Algoritmo

Uma idéia para a solução do problema é, em vez de diretamente computar o valor deum alinhamento V1

γ-ótimo de S, calcular a pontuação-SP mínima considerando cada possí-vel comprimento de um alinhamento. Em outras palavras, computamos as entradas de umatabela D que é indexada por ~VS ×0, 1, . . . , N. A entrada D(~v, L) armazena o valor de umalinhamento de S(~v) de comprimento L de menor pontuação-SP. Note que D(0k, 0) = 0.Além disso, D(~v 6= 0k, 0) não pode armazenar um valor de um alinhamento simplesmenteporque não existe um de comprimento zero quando nem todas as sequências de S têm com-primento zero. Similarmente, D(0k, L 6= 0) não armazena um valor de qualquer alinhamentoporque se todas as sequências de S têm comprimento zero, então o único alinhamento de Sé um alinhamento de comprimento zero. Logo, as entradas da tabela podem ser calculadaspela seguinte relação de recorrência:

D(~v, L) =

0 se ~v = 0k e L = 0,∞ se ~v = 0k e L 6= 0,∞ se ~v 6= 0k e L = 0,

min~b∈Bk,~b≤~vD(~v −~b, L− 1) + vSPγ(~b · S(~v)) caso contrário.

A tabela D é computada para todos os valores possíveis para L = 0, . . . , N . Então, o valor

OPT1γ(S) = min

L

D(~n, L)

L

é devolvido. O Algoritmo 5 detalha o procedimento descrito.

Algoritmo 5

Entrada: S = (s1, . . . , sk) ∈ (Σ∗)k tal que |si| = niSaída: OPT1

γ(S)1: D(0k, 0)← 0;2: para cada L 6= 0 faça D(0k, L)←∞;3: para cada ~v 6= 0k faça D(~v, 0)←∞;4: para cada 0k < ~v ≤ ~n em ordem lexicográca faça5: para L← 1, 2, . . . , N faça

6: D(~v, L)← min~b∈Bk,~b≤~v

D(~v −~b, L− 1) + vSPγ(~b · S(~v))

;

7: devolva minLD(~n, L)/L.

6.2 ALGORITMOS EXATOS 87

Para a análise do tempo e espaço gastos pelo Algoritmo 5, consideramos que todas assequências possuem comprimento n, o que implica que o espaço utilizado para calculara tabela de programação dinâmica é Θ(N(n + 1)k). O tempo gasto pelo algoritmo é otempo para preencher a tabela D mais o tempo gasto para a execução da Linha 7 doAlgoritmo 5. Para calcular cada entrada de D na Linha 6, o algoritmo gasta tempo O(2kk2)e, portanto, desde que a tabela D possui Θ(N(n+1)k) entradas, o algoritmo consome tempoO(2kk2 ·N(n + 1)k) para computar a tabela D. A Linha 7 gasta tempo Θ(N). Portanto, oconsumo total de tempo é

O(2kk2 ·N(n+ 1)k) + Θ(N) = O(2kk2 ·N(n+ 1)k).

Desde que N = kn, segue que o tempo gasto pelo algoritmo é O(2kk3(n+ 1)k+1).

6.2.3 Critério V2γ

Dado um alinhamento A de S, a pontuação do alinhamento A segundo (6.2) é

V2γ(A) =

k−1∑h=1

k∑i=h+1

vNγ(Ah,i),

e um alinhamento V2γ-ótimo é aquele de pontuação

OPT2γ(S) = min

A∈ASV2

γ(A).

Assim, nosso problema é: para uma matriz xa γ, dada uma k-upla S, determinar OPT2γ(S).

Seja um(k2

)-vetor de números naturais ~L indexado por conjuntos de dois números inteiros

h, i tais que 1 ≤ h < i ≤ k. Denotamos por Lhi o elemento de ~L de índice h, i. Então,

~L =[L12, L13, . . . , L1k, L23, . . . L2k, . . . , L(k−1)k

].

Com essa notação podemos representar por um vetor ~L os comprimentos dos alinhamentosinduzidos de um alinhamento. Se A é um alinhamento e |Ah,i| = Lhi para cada h, i, dizemosque ~L é o comprimento induzido de A. Para uma k-upla S = (s1, . . . , sk), onde |si| = nipara cada i denimos

L = ~L =[L12, L13, . . . , L1k, L23, . . . L2k, . . . , L(k−1)k

]: 0 ≤ Lhi ≤ nh + ni.

Note que se n é o comprimento de cada sequência em S, então |L| = (2n + 1)(k2). Seja

~b = [b1, . . . , bk] um k-vetor binário. Sobrecarregando o operador −, denimos ~L−~b comosendo um

(k2

)-vetor de inteiros ~L′ que é obtido a partir de ~L e de ~b tal que, para cada h, i,

L′hi =

Lhi se bh = bi = 0,Lhi − 1 caso contrário.

Claramente, se ~L′ ≥ 0, então L′ ∈ L. É importante notar que se ~L é o comprimento induzidode um alinhamento A de S(~v) e ~b é um k-vetor binário tal que ~b · S(~v) é a última coluna deA, então ~L′ = ~L−~b é o comprimento induzido do alinhamento A(1 . . . |A| − 1).

Seja ~γ um(k2

)-vetor de matrizes de pontuação indexado por um conjunto de dois números

inteiros h, i tais que 1 ≤ h < i ≤ k. Denotamos por γ(hi) o elemento de ~γ de índice h, i.

88 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.2

Então,~γ =

[γ(12), γ(13), . . . , γ(1k), γ(23), . . . , γ(2k), . . . , γ((k−1)k)

].

Denimos a pontuação ~γ-SP de A por

vSP~γ(A) =k−1∑h=1

k∑i=h+1

vAγ(hi)(Ah,i).

Denindo a pontuação ~γ-SP de um k-vetor ~σ = [σ1, . . . , σk] em Σ como

vSP~γ(~σ) =k−1∑h=1

k∑i=h+1

γ(hi)σh→σi ,

podemos, alternativamente, calcular a pontuação ~γ-SP do alinhamento A por

vSP~γ(A) =∑j

vSP~γ(A(j)).

Algoritmo

Antes de mostrar um algoritmo para o caso geral para encontrar OPT2γ(S), descrevemos

primeiramente um algoritmo para o caso especial k = 3, ou seja, quando S = (s1, s2, s3).Nessa versão, suponha que um oráculo informa previamente qual é o comprimento induzido~L = [L12, L13, L23] de um alinhamento V2

γ-ótimo de S. Isto quer dizer que, para algumalinhamento V2

γ-ótimo A de S, temos que Lhi = |Ah,i| para cada h, i.Observe que conhecer os valores de L12, L13 e L23 não implica, usando somente essa in-

formação, em conhecer o alinhamento V2γ-ótimo A. Em geral, nem mesmo podemos inferir

qual é o valor de |A|. Por exemplo, s1(1) s1(2)s2(1) s2(2)

s3(1) s3(2)

e

s1(1) s1(2)s2(1) s2(2)s3(1) s3(2)

são alinhamentos de comprimentos diferentes mas de mesmo comprimento induzido para(si, s2, s3) onde |s1| = |s2| = |s3| = 2, e L12 = L13 = L23 = 3.

Entretanto, com o conhecimento de ~L = [L12, L13, L23], segue que

OPT2γ(S) = min

A∈AS :∀h,i(Lhi=|Ah,i|)

k−1∑h=1

k∑i=h+1

vAγ(Ah,i

)Lhi

= minA∈AS :∀h,i(Lhi=|Ah,i|)

k−1∑h=1

k∑i=h+1

vAγ(hi)(Ah,i)

,

onde γ(hi) é uma matriz de pontuação obtida multiplicando os elementos de γ por 1/Lhi. En-tão, para ~L xo (porque o oráculo já garantiu ser o comprimento induzido de um alinhamentoV2γ-ótimo), computamos ~γ a m de calcular as entradas de uma tabela D~L, onde

D~L(~v = [v1, v2, v3], ~L = [L12, L13, L23]) = minA∈AS(~1...~v):∀h,i(Lhi=|Ah,i|)

∑h<i

vAγ(hi)(Ah,i)

6.2 ALGORITMOS EXATOS 89

corresponde à pontuação ~γ-SP de um alinhamento de menor pontuação ~γ-SP quando ocomprimento induzido é ~L. A tabela D~L pode ser então calculada usando a recorrência

D~L(~v, ~L) =

0 se ~v = 0k e ~L = 0(k2),

∞ se ~v = 0k e ~L 6= 0(k2),

∞ se ~v 6= 0k e ~L = 0(k2),

min~b∈Bk,~b≤~v,~b≤~LD~L(~v −~b, ~L−~b) + vSP~γ(~b · S(~v)) caso contrário,

onde ~b ≤ ~L também é uma sobrecarga que signica que ~L−~b ≥ 0(k2).Neste caso, se ~L é o comprimento induzido de um alinhamento V2

γ-ótimo de S, então

OPT2γ(S) = D~L(~n,~L). Se cada sequência tem comprimento n, então, o espaço total gasto

para armazenar a tabela D~L é (2n + 1)(32) · (n + 1)3 = Θ(n6). Em uma outra versão sem

oráculo, ou seja, quando ~L não é conhecido, a computação deve ser repetida para cadaelemento ~L ∈ L mas o espaço pode ser reutilizado não havendo a necessidade de espaçoadicional.

Se ~L é conhecido, o tempo gasto pelo algoritmo é aquele usado para calcular todas asentradas de D~L. Como D~L possui Θ(n6) entradas e cada entrada consome tempo O(2kk2)para ser computado, o tempo total gasto é O(2kk2 · n6). Na versão sem oráculo, ou seja, se~L não é conhecido, o tempo gasto por ~L deve ser multiplicado pelo total de elementos em Lque é (2n+ 1)3. Portanto, neste último caso, O(2kk2 · (2n+ 1)3n6) = O(2kk2 · n9) é o tempototal gasto para todas as computações.

O algoritmo a seguir é uma extensão natural do algoritmo acima quando k não é xo enem L é conhecido. Denotamos aqui, dada uma matriz de pontuação γ e um comprimentoinduzido L, o

(k2

)-vetor de matrizes de pontuação γ × L = [γ(12), . . . , γk(k−1)], onde, para

cada h < i, temos que γ(hi) é obtida dividindo cada entrada de γ por Lhi.

Algoritmo 6

Entrada: S = (s1, . . . , sk) ∈ (Σ∗)k tal que |si| = niSaída: OPT2

γ(S)1: x← −∞;2: para cada ~L ∈ ~L faça

3: D~L(0k,0(k2))← 0;

4: para cada ~L 6= 0(k2) faça D~L(0k, ~L)←∞;

5: para cada ~v 6= 0k faça D~L(~v,0(k2))←∞;6: ~γ = γ × L;7: para cada 0k < ~v ≤ ~n em ordem lexicográca faça8: para cada ~L 6= 0k em ordem lexicográca faça

9: D~L(~v, ~L) = min~b∈Bk,~b≤~v,~b≤~L

D~L(~v −~b, ~L−~b) + vSP~γ(~b · S(~v))

;

10: x← minx,min~L∈~LD~L(~n,~L)

.

11: devolva x.

O Algoritmo 6, para k sequências de comprimento n, gasta espaço (2n+ 1)(k2) · (n+ 1)k

para armazenar uma tabela D~L. Para cada um dos (2n + 1)(k2) valores ~L ∈ ~L a tabela D~L

é recalculada. Como cada entrada gasta tempo O(2kk2) para ser computada, o tempo total

90 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.2

gasto é

O

(2kk2 · (2n+ 1)(

k2) · (2n+ 1)(

k2)(n+ 1)k =

(1 +

1

2n+ 1

)k(2n+ 1)k

2

k2

)

que é O((2n+ 1)k2k2)) se k ≤ 2n+ 1 pois, sendo (1 + 1/k)k ≤ e = 2, 718281828 . . . onde e é

a constante de Euler, temos que (1 + 1/(2n+ 1))k ≤ (1 + 1/k)k ≤ e também é constante.

O problema de existência de um alinhamento A para um dado ~L

Para muitos valores ~L ∈ L não existe um alinhamento correspondente. Em vez de exa-minar Θ(2k) entradas no pior caso para constatar esse fato, queremos detectar rapidamentese existe um alinhamento correspondente para ~L. Esse problema pode ser assim enunciado.

Problema 7. RACI: Reconhecimento de um alinhamento pelo comprimento induzidoDado um k-vetor ~n de inteiros, correspondente aos comprimentos das sequências em

S = (s1, . . . , sk) e um(k2

)-vetor de números inteiros ~L decidir se existe um alinhamento A

de S tal que ~L é comprimento induzido de A.

Note que um alinhamento de (s, t) possui comprimento L se e somente se a quantidadede substituições (de símbolos iguais ou não) nesse alinhamento é exatamente |s| + |t| − L.Portanto, o problema acima pode ser facilmente reformulado trocando ~L por um

(k2

)-vetor

~X de mesmo tipo de ~L, onde Xhi = |sh| + |si| − Lhi = nh + ni − Lhi para cada h ecada i. Assim, o problema pode ser reescrito para o problema de, dados ~n e ~X, decidir seexiste um alinhamento A de algum S = (s1, . . . , sk), onde |si| = ni para cada i e tal quecada Ai,j possui Xij substituições. Exceto pela formulação diferente, esse é exatamente oproblema conhecido como Reconhecimento de padrão de intersecção( Recognizing intersectionpatterns) que enunciamos a seguir usando uma matriz de números naturais M com k linhase k colunas no lugar dos vetores ~n e ~X: para cada i, M [i, i] = ni e, para cada par de inteirosh, i, M [h, i] = Xh,i.

Problema 8. RPI: Reconhecimento de padrão de intersecçãoDada uma matriz de inteiros M com k linhas e k colunas, decidir se existe uma coleção

de conjuntos c1, . . . , ck tais que |ch ∩ ci| = M [h, i].

Como exemplo da equivalência dos problemas acima, suponha que ~n = [5, 5, 5] e queX12 = X13 = 2 e X23 = 0. A resposta ao nosso problema é Sim pois, para (s1, s2, s3), osalinhamentos induzidos do seguinte alinhamento com 11 colunas s1(1) s1(2) s1(3) s1(4) s1(5)

s2(1) s2(2) s2(3) s2(4) s2(5)s3(1) s3(2) s3(3) s3(4) s3(5)

possuem os valores dados em ~X. O Problema RPI para esta instância quer encontrar umacoleção de 3 conjuntos para a matriz

M =

1 2 31 5 2 22 2 5 03 2 0 5

e a resposta é Sim como vemos na gura a seguir.

6.2 ALGORITMOS EXATOS 91

c6

c8

c7

c3

c4

c2

c5

c9

c10

c11

c1

Em um outro exemplo, suponha que ~n = [5, 5, 5], X12 = X13 = 3 e X23 = 0. Nesse casoa resposta é Não. Para vericar isto, suponha por contradição que existe um alinhamento Ade uma 3-upla S = (s1, s2, s3) para essa entrada. Como X12 = 3, temos que s1 e s2 devem ter3 caracteres alinhados que não podem estar alinhados com s3 porque X23 = 0 e, de formaanáloga, como X13 = 3, temos que s1 e s3 devem ter 3 caracteres alinhados que não podemestar alinhados com s2. Logo, s1 deve ter pelo menos 6 símbolos o que é uma contradição.

Chvátal [Chv80] mostrou que para uma classe especial de matrizesM em queM [i, i] = 3para cada i, o ProblemaRPI é NP-completo. Portanto, o Problema 7 é NP-completo quandoa quantidade de símbolos em cada sequência é exatamente 3 e é difícil se as sequênciaspossuem comprimento arbitrário.

6.2.4 Critério V3γ

Dado um alinhamento A de S, conforme (6.3), temos

V3γ(A) =

vSPγ(A)∑k−1h=1

∑ki=h+1 |Ah,i|

se |A| > 0. Lembre que um alinhamento V3γ-ótimo é aquele de pontuação

OPT3γ(S) = min

A∈ASV3

γ(A)

e que o seguinte problema está a ele associado: para uma matriz de pontuação γ xa, dadauma k-upla S de sequências, determinar OPT3

γ(S).

Algoritmo

Assim como os outros critérios, descrevemos um algoritmo que usa programação dinâmicapara a solução do problema. Aqui, cada entrada D(~v, L) da tabela armazena a pontuação-SPde um alinhamento A do prexo S(~v) de menor pontuação SP tal que

∑i<h |Ai,h| = L.

92 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.3

Os vetores booleanos ~b são utilizados para representar a contribuição na soma dos com-primentos dos alinhamentos induzidos. Assim, denimos ‖~b‖ =

(k2

)−∑

h<i,bh=bi=0 1. Note

que se ~v −~b é a última coluna de uma alinhamento A e L =∑k−1

h=1

∑ki=h+1 |Ah,i| é a soma

dos comprimentos dos alinhamentos induzidos por A, então a soma dos comprimentos dosalinhamentos induzidos por A(1 . . . |A| − 1) é L− ‖~b‖. Logo,

D(~v, L) =

0 se ~v = 0k e L = 0,∞ se ~v = 0k e L 6= 0,∞ se ~v 6= 0k e L = 0,

min~b∈Bk,~b≤~v,‖~b‖≤LD(~v −~b, L− ‖~b‖) + vSPγ(~b · S(~v)) caso contrário.

O Algoritmo 7 descreve a computação para encontrar o valor de OPT3γ(S) conforme

discutido acima.

Algoritmo 7

Entrada: S = (s1, . . . , sk) ∈ (Σ∗)k tal que |si| = niSaída: OPT3

γ(S)1: D(0k, 0)← 0;2: para cada L 6= 0 faça D(0k, L)←∞;3: para cada ~v 6= 0k faça D(~v, 0)←∞;4: para cada 0k < ~v ≤ ~n em ordem lexicográca faça5: para L← 1, 2, . . . , N(k − 1) faça

6: D(~v, L)← min~b∈Bk,~b≤~v,‖~b‖≤L

D(~v −~b, L− ‖~b‖) + vSPγ(~b · S(~v))

;

7: devolva minLD(~n, L)/L.

Considere que todas as sequências possuem comprimento n. A tabela D é computadapara todos os valores possíveis para L = 1, . . . ,

(k2

)(2n) = nk2 − nk e, depois de calculada,

determinamos

optSPγ(S) = minL

D(~n, L)

L

.

Assim, o espaço utilizado para a tabela D é (nk2 − nk + 1) · (n + 1)k = Θ(k2(n + 1)k+1) e,desde que o tempo gasto para determinar cada entrada de D é O(2kk2), o tempo total gastoé O(2kk4(n+ 1)k+1).

6.3 Complexidade

Nesta seção estudamos a complexidade do problema do alinhamento de várias sequên-cias para cada um dos novos critérios denidos neste texto. Para isto denimos o seguinteproblema parametrizado.

Problema 9. AVSN-η: Alinhamento de várias sequências com critério de pontuação VηγDados uma k-upla S = (s1, . . . , sk) de sequências em Σ∗ e um número racional C, decidir

se, para uma matriz de pontuação xa γ com entradas inteiras e η xo, existe um alinhamentoA de S, tal que Vηγ(A) ≤ C.

Vamos provar que, para cada η, o ProblemaAVSN-η é NP-completo para várias matrizesde pontuação. Note primeiramente que, dado um alinhamento A e um racional C, podemosvericar em tempo polinomial que Vηγ(A) ≤ C o que implica que AVSN-η está em NP.

6.3 COMPLEXIDADE 93

Para completar a prova, basta mostrarmos uma redução polinomial do Problema AVSdao Problema AVSN-η. Conforme estudamos no Capítulo 2, AVSd é a versão de decisãodo problema de alinhamento de várias sequências com o critério de pontuação-SP: dadosuma k-upla S = (s1, . . . , sk) de sequências em Σ∗ e um número inteiro C, decidir se, parauma matriz de pontuação xa γ com entradas inteiras, existe um alinhamento A de S, talque vSPγ(A) ≤ C. Conforme estudado naquele capítulo, o Problema AVSd é NP-completoconsiderando diferentes matrizes de pontuação.

Considere um alfabeto Σ e uma matriz de pontuação γ com entradas inteiras, para osquais o Problema AVSd é NP-completo. As restrições adicionais para γ são γa→b = γb→a eγa→b = 0 se e somente se a = b para cada a, b ∈ Σ . Considere um novo símbolo σ 6∈ Σ eum alfabeto Σσ = Σ∪σ. Seja G um inteiro positivo de valor maior ou igual a cada entradade γ. Denimos a matriz de pontuação γσ tal que γσa→b = γa→b, γσa→σ = γσσ→a = G eγσσ→σ = 0 para cada a, b ∈ Σ . Vamos mostrar que, para Σσ e γσ xos, o ProblemaAVSN-ηé NP-completo.

Considerando um alfabeto Σ e uma matriz de pontuação γ xos, para uma instância(S = (s1, . . . , sk), C) do Problema AVSd, ponha SL = (s1σ

L, . . . , skσL), onde L = Nk2MG

com M = maxi|si| e N =∑k

i=1 |si|.Seja A = [s′1, . . . , s

′k] um alinhamento de SL. Dizemos que |i : s′i(j) = σ| é a quanti-

dade de σ na coluna j de A e que j é uma coluna σ se k é a quantidade de σ na coluna j.Se j não é coluna σ de A, mas cada j + 1, j + 2, . . . , |A| são colunas σ, então dizemos queA(j + 1 . . . |A|) é a cauda do alinhamento A e que a coluna j é a base da cauda, e que ocomprimento da cauda de A é |A|− j. Dizemos ainda que um alinhamento de SL é canônicose o comprimento de sua cauda é L.

Se A = [s′1, . . . , s′k] é um alinhamento de S, então denotamos por AL o alinhamento

canônico AL = [s′1σL, . . . , s′kσ

L] de SL. O seguinte resultado mostra um limitante superiorpara a pontuação de um alinhamento canônico.

Fato 84. Seja A um alinhamento de S. Então, vSPγσ(AL) = vSPγ(A) ≤ k2MG.

Prova. Suponha que A = [s′1, . . . , s′k]. Cada sequência em S tem comprimento não superior

a M o que implica que cada alinhamento induzido por A possui não mais do que 2Mcolunas. Cada entrada de γ é menor ou igual a G. Portanto, para cada h, i, vAγ(s′h, s

′i) =

vAγ(s′hσ

L, s′iσL) ≤ 2MG, o que implica que

vSPγσ(AL) = vSPγ(A) =k−1∑h=1

k∑i=h+1

vAγ(Ah,i)

≤k−1∑h=1

k∑i=h+1

2MG =

(k

2

)2MG =

k(k − 1)

22MG ≤ k2MG.

O seguinte resultado mostra a relação entre alinhamentos canônicos e alinhamento Vηγσ -ótimos.

Lema 85. Seja S uma k-upla de sequências. Para qualquer η, existe um alinhamento canô-nico de SL que é Vηγσ -ótimo.

Prova. Suponha por contradição que todo alinhamento canônico de SL não é Vηγσ -ótimo.Seja A = [s′1, . . . , s

′k] um alinhamento Vηγσ -ótimo de SL com comprimento de cauda máxima

cuja quantidade de σ na base da cauda é máxima. Note que por hipótese A não é canônico.

94 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.3

Seja q o índice da base da cauda de A. Como A não é canônico, a coluna q contémsímbolos iguais a e a σ, mas não contém qualquer outro símbolo diferente de e de σ.Seja p o maior índice tal que p < q e existe um inteiro i onde s′i(p) = σ e s′i(q) = .

Seja A′ = [s′′1, . . . , s′′k] um alinhamento de SL igual ao alinhamento A exceto pela colunas

p e q que são alteradas conforme a regra a seguir. Para cada h, temos que

s′′h =

s′h se s′h(p) 6= σ ou s′h(q) 6= ,s′h(1 . . . p− 1) · · s′h(p+ 1 . . . q − 1) · σ · s′h(q + 1 . . . |s′h|) caso contrário.

Note que o comprimento da cauda de A′ é maior do que o de A, ou então A e A′ possuemcaudas de mesmo comprimento mas a quantidade de σ na base da cauda de A′ é maior doque a em A. Logo, pela escolha de A, A′ não é Vηγσ -ótimo.

Sejam h, i inteiros. Classicamos o alinhamento induzido Ah,i de A da seguinte maneira:

1. tipo 1 : quando vAγσ(Ah,i) = vAγσ(A′h,i) e |Ah,i| = |A′h,i|;

2. tipo 2 : quando vAγσ(Ah,i) 6= vAγσ(A′h,i) e |Ah,i| = |A′h,i|. Nesse caso, a únicapossibilidade é que em uma das sequências, digamos s′h, temos s′h(p) = σ e s′h(q) = ,e na outra, a sequência s′i, temos s′i(p) = x e s′i(q) = σ, onde x ∈ Σ. Por hipótese,G ≥ 0, G ≥ γσx→ e G ≥ γσ →x. Se h < i, segue que

vAγσ(A′h,i) = vAγσ(Ah,i)− 2G+ γσx→ ≤ vAγσ(Ah,i),

e se h > i, segue que

vAγσ(A′h,i) = vAγσ(Ah,i)− 2G+ γσ →x ≤ vAγσ(Ah,i).

Portanto, vAγσ(A′h,i) ≤ vAγσ(Ah,i);

3. tipo 3 : quando |Ah,i| 6= |A′h,i|. Nesse caso, a única possibilidade é que em uma dassequências, digamos s′h, temos que s′h(p) = σ e s′h(q) = e na outra, s′i, temos ques′i(p) = e s′i(q) = σ. Segue independentemente dos valores de h, i que

vAγσ(A′h,i) = vAγσ(Ah,i)− 2G e |Ah,i| = |A′h,i|+ 1.

Vamos mostrar a seguir que o lema vale para η = 1. Como, para qualquer tipo e quaisquerinteiros h, i, vale vAγσ(A′h,i) ≤ vAγσ(Ah,i), temos que vSPγσ(A′) ≤ vSPγσ(A). Suponhaque |A′| = |A|. Logo,

V1γσ(A′) =

vSPγσ(A′)

|A′|≤ vSPγσ(A)

|A′|=vSPγσ(A)

|A|= V1

γσ(A),

contrariando que A′ não ser V1γσ -ótimo. Assumimos então que |A′| 6= |A|. Logo, |A′| =

|A| − 1 e pelo menos um alinhamento Ah,i é do tipo 3, o que implica que vAγσ(A′h,i) =

vAγσ(Ah,i)− 2G. Segue que vSPγσ(A′) ≤ vSPγσ(A)− 2G. Logo,

V1γσ(A′) =

vSPγσ(A′)

|A′|≤ vSPγσ(A)− 2G

|A| − 1. (6.6)

Seja B um alinhamento canônico. Pelo Fato 84 temos que vSPγσ(B) ≤ k2MG. Pela

6.3 COMPLEXIDADE 95

escolha de A, temos que V1γσ(A) ≤ V1

γσ(B). Como G ≥ 1, |B| ≥ L = Nk2MG, segue que

V1γσ(A) ≤ V1

γσ(B) =vSPγσ(B)

|B|≤ k2MG

Nk2MG=

1

N≤ G.

Sendo vSPγσ(A)/|A| ≤ G e G ≥ 1, temos que

vSPγσ(A)− 2G

|A| − 1≤ vSPγσ(A)

|A|,

o que implica por (6.6) e pela denição de V1γσ(A) que

V1γσ(A′) ≤ vSPγσ(A)− 2G

|A| − 1≤ vSPγσ(A)

|A|= V1

γσ(A),

contrariando novamente A′ não ser V1γσ -ótimo. Logo, existe um alinhamento canônico de SL

que é V1γσ -ótimo.

Mostramos agora que o lema vale para η = 2. Se um alinhamento induzido Ah,i é dotipo 1 ou 2, então vAγσ(A′h,i) ≤ vAγσ(Ah,i) e |A′h,i| = |Ah,i| o que implica que

vNγσ(A′h,i) =vAγσ(A′h,i)

|A′h,i|≤vAγσ(Ah,i)

|Ah,i|= vNγσ(Ah,i). (6.7)

Se Ah,i é do tipo 3, então vAγσ(A′h,i) = vAγσ(Ah,i) − 2G e |A′h,i| = |Ah,i| − 1 o queimplica que

vNγσ(A′h,i) =vAγσ(A′h,i)

|A′h,i|=vAγσ(Ah,i)− 2G

|Ah,i| − 1≤ vNγσ(Ah,i), (6.8)

onde a última desigualdade é consequência de vAγσ(Ah,i)/|Ah,i| ≤ G e G ≥ 1 desde que,sendo G o valor da maior entrada em γσ, G é um limitante superior para vNγσ(Ah,i).

Segue de (6.7) e de (6.8) que,

V2γσ(A′) =

k−1∑h=1

k∑i=h+1

vNγσ(A′h,i) ≤k−1∑h=1

k∑i=h+1

vNγσ(Ah,i) = V2γσ(A),

contrariando que A′ não ser V2γσ -ótimo. Logo, existe um alinhamento canônico de SL que é

V2γσ -ótimo.Mostramos agora o caso η = 3. Denotamos por Tj o conjunto de todos os pares (h, i)

tais que Ah,i é do tipo j. Lembrando que cada alinhamento induzido Ah,i tipos 1 e 2 sãotais que vAγσ(A′h,i) ≤ vAγσ(Ah,i) e |A′h,i| = |Ah,i|, segue que a contribuição total dosalinhamento induzidos tipos 1 e 2 para a pontuação V3

γσ é∑(h,i)∈T1∪T2

vAγσ(A′h,i) ≤∑

(h,i)∈T1∪T2

vAγσ(Ah,i) e∑

(h,i)∈T1∪T2

|A′h,i| =∑

(h,i)∈T1∪T2

|Ah,i|.

E lembrando que cada alinhamento Ah,i do tipo 3 é tal que vAγσ(A′h,i) = vAγσ(Ah,i)−2G

96 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.3

e |A′h,i| = |Ah,i| − 1, temos que∑(h,i)∈T3

vAγσ(A′h,i) =∑

(h,i)∈T3

(vAγσ(Ah,i)− 2G

)e

∑(h,i)∈T3

|A′h,i| =∑

(h,i)∈T3

(|Ah,i| − 1

).

Segue daí que

V3γσ(A′) =

vSPγσ(A′)

|A′|=

∑(h,i)∈T1∪T2 vAγσ(A′h,i) +

∑(h,i)∈T3 vAγσ(A′h,i)∑

(h,i)∈T1∪T2 |A′h,i|+

∑(h,i)∈T3 |A

′h,i|

≤∑

(h,i)∈T1∪T2 vAγσ(Ah,i) +∑

(h,i)∈T3

(vAγσ(Ah,i)− 2G

)∑(h,i)∈T1∪T2 |Ah,i|+

∑(h,i)∈T3

(|Ah,i| − 1

)=

vSPγσ(A)− 2|T3|G|A| − |T3|

≤ vSPγσ(A)

|A|= V3

γσ(A),

onde a última desigualdade é consequência de vSPγσ(A)/|A| ≤ G e G ≥ 1. O argumentovSPγσ(A)/|A| ≤ G vale pois, sendo G o valor da maior entrada em γσ, G é um limitantesuperior para V3

γσ(A). Logo, V3γσ(A′) ≤ V3

γσ(A), contrariando A′ não ser V3γσ -ótimo. Logo,

existe um alinhamento canônico de SL que é V3γσ -ótimo.

Os próximos resultados mostram que para um valor apropriado para Cη, a solução deuma instância (SL, Cη) do Problema AVSN-η também é solução da instância (S,C) doProblema AVSd.

Lema 86. Se C ≥ k2MG, então

AVSd(S,C) = AVSN-1

(SL,

C

L

)= AVSN-2

(SL,

C

L

)= AVSN-3

(SL,

C(k2

)L

)= Sim.

Prova. Suponha que C ≥ k2MG. Seja A um alinhamento de S. Segue do Fato 84 quevSPγ(A) = vSPγσ(AL) ≤ k2MG ≤ C.

Como vSPγ(A) ≤ C, temos que AVSd(S,C) = Sim. Como vSPγσ(AL) ≤ C, temosque V1

γσ(AL) = vSPγσ(AL)/L ≤ C/L, o que implica que AVSN-1(SL, C

L

)= Sim. Como

vSPγσ(AL) ≤ C e |ALh,i| ≥ L, temos que

V2γσ(AL) =

k−1∑h=1

k∑i=h+1

vAγσ(ALh,i)

|ALh,i|≤∑k−1

h=1

∑ki=h+1 vAγσ(ALh,i)

L≤ C

L,

o que implica que AVSN-2(SL, C

L

)= Sim. E vSPγσ(AL) ≤ C e |ALh,i| ≥ L também implica

que

V3γσ(AL) =

vSPγσ(AL)∑k−1h=1

∑ki=h+1 |ALh,i|

≤ vSPγσ(AL)∑k−1h=1

∑ki=h+1 L

=vSPγσ(AL)(

k2

)L

≤ C(k2

)L,

o que implica que AVSN-3

(SL, C

(k2)L

)= Sim.

Portanto, se C ≥ k2MG, então

AVSd(S,C) = AVSN-1

(SL,

C

L

)= AVSN-2

(SL,

C

L

)= AVSN-3

(SL,

C(k2

)L

)= Sim.

6.3 COMPLEXIDADE 97

Lema 87. Sejam C1 = C2 = C/L e C3 = C/((k2

)L) e L = Nk2MG. Então, AVSd(S,C) =

Sim se e somente se AVSN-η(SL, Cη) = Sim para cada η.

Prova. Suponha que C ≥ k2MG. Como consequência do Lema 86, temos que o lema estáprovado. Assumimos então que C < k2MG e para provar o lema vamos mostrar que valemas seguintes armações quando C < k2MG: se AVSd(S,C) = Sim, então

AVSN-1

(SL,

C

L

)= AVSN-2

(SL,

C

L

)= AVSN-3

(SL,

C(k2

)L

)= Sim;

e, para cada η, vale que se AVSN-η(SL, Cη

)= Sim, então AVSd(S,C) = Sim.

Suponha então que AVSd(S,C) = Sim. Logo, existe um alinhamento A de S tal quevSPγ(A) ≤ C. Sendo vSPγσ(AL) = vSPγ(A), segue que

V1γσ(AL) =

vSPγσ(AL)

|AL|≤ vSPγσ(AL)

L=vSPγ(A)

L≤ C

L,

V2γσ(AL) =

k−1∑h=1

k∑i=h+1

vAγσ(ALh,i)

|ALh,i|

≤k−1∑h=1

k∑i=h+1

vAγσ(ALh,i)

L=vSPγσ(AL)

L=vSPγ(A)

L≤ C

L,

V3γσ(AL) =

vSPγσ(AL)∑k−1h=1

∑ki=h+1 |ALh,i|

≤ vSPγσ(AL)∑k−1h=1

∑ki=h+1 L

=vSPγσ(AL)(

k2

)L

=vSPγ(A)(

k2

)L≤ C(

k2

)L,

onde a primeira desigualdade de cada expressão segue de que AL ou cada alinhamentoinduzido de AL possui comprimento maior ou igual a L, e a segunda desigualdade segue devSPγ(A) ≤ C. Segue que se AVSd(S,C) = Sim, então

AVSN-1

(SL,

C

L

)= AVSN-2

(SL,

C

L

)= AVSN-3

(SL,

C(k2

)L

)= Sim.

Suponha que AVSN-i(SL, Cη) = Sim. Escolha um alinhamento Vηγσ -ótimo e canônicoAL de SL que o Lema 85 garante existir. Segue que Vηγσ(AL) ≤ Cη.

Então, o alinhamento AL é tal que V1γσ(AL) ≤ C1 = C/L. Segue que

vSPγ(A) = vSPγσ(AL) = (N + L) · vSPγσ(AL)

N + L

≤ (N + L) · vSPγσ(AL)

|AL|= (N + L) · V1

γσ(AL) (6.9)

≤ (N + L) · CL

=NC

L+ C ≤ Nk2MG

L+ C < 1 + C,

onde (6.9) segue de que |AL| ≤ N + L.

98 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

O alinhamento AL é tal que V2γσ(AL) ≤ C2 = C/L. Segue que

vSPγ(A) = vSPγσ(AL) = (N + L) · vSPγσ(AL)

N + L= (N + L) ·

k−1∑h=1

k∑i=h+1

vAγσ(ALh,i)

N + L

≤ (N + L) ·k−1∑h=1

k∑i=h+1

vAγσ(ALh,i)

|ALh,i|= (N + L) · V2

γσ(AL) (6.10)

≤ (N + L) · CL

=NC

L+ C ≤ Nk2MG

L+ C < 1 + C,

onde (6.10) segue de que o comprimento de qualquer alinhamento induzido de um alinha-mento canônico não é maior do que N + L.

O alinhamento AL é tal que V3γσ(AL) ≤ C3 = C/(L

(k2

)). Segue que

vSPγ(A) = vSPγσ(AL) =

(N + L

(k

2

))vSPγσ(AL)

N + L(k2

)≤

(N + L

(k

2

))vSPγσ(AL)∑k−1

h=1

∑ki=h+1 |ALh,i|

=

(N + L

(k

2

))V3γσ(AL) (6.11)

≤(N + L

(k

2

))C

L(k2

) =NC

L(k2

) + C <Nk2MG(

k2

)L

+ C < 1 + C,

onde a desigualdade em (6.11) segue de que a soma dos comprimentos dos alinhamentos deduas sequências induzidos de um alinhamento canônico não é maior do que N + L

(k2

).

Portanto, considerando qualquer η, temos que AVSN-i(SL, Cη) = Sim implica quevSPγ(A) < 1 +C. Como as entradas da matriz de pontuação são inteiras segue que vSPγ(A)é um número inteiro. Sendo C um número inteiro, segue que vSPγ(A) ≤ C.

6.4 Algoritmo de Aproximação

Guseld [Gus93] descreve um algoritmo que é uma 2-aproximação para o ProblemaAVS.Seu algoritmo leva em consideração que γ ∈MC, ou seja, a matriz de pontuação utilizada éuma métrica em Σ e a 2-aproximação é obtida porque vale γa→c ≤ γa→b + γb→c para cadaa, b, c ∈ Σ. Nesta seção, adaptamos o algoritmo de Guseld e descrevemos um algoritmoque é uma 6-aproximação para o Problema AVS quando γ ∈ MA e é uma 12-aproximaçãopara a versão de otimização do Problema AVSN-2 quando γ ∈MN. A versão de otimizaçãode AVSN-2 tem como objetivo, dado uma k-upla de sequências S, encontrar OPT2

γ(S) parauma matriz de pontuação xa γ.

Conforme visto no Capítulo 4, vale γ ∈MA se e somente se

1. γa→ = γ →a > 0,

2. γa→b > 0 se a 6= b, e γa→b = 0 se a = b,

3. se γa→b < γa→ + γ →b, então γa→b = γb→a,

4. γa→ ≤ γa→b + γb→ ,

5. minγa→c, γa→ + γ →c ≤ γa→b + γb→c,

6.4 ALGORITMO DE APROXIMAÇÃO 99

e γ ∈MN se e somente se

1. γ ∈MA e

2. γa→ ≤ 2γb→ para cada a, b ∈ Σ.

6.4.1 v-estrela

Sejam S = (s1, . . . , sk) uma k-upla de sequências, v uma função genérica para pontuarum alinhamento de duas sequências tal que v([s′h, s

′h]) = 0, para qualquer alinhamento

de (sh, sh), c um inteiro tal que 1 ≤ c ≤ k e A uma coleção de k − 1 alinhamentos: umalinhamento Ah de (sh, sc) para cada h < c, e de (sc, sh) para cada h > c. A v-estrela de Scom centro c para A é um digrafo D(A, c) cujo conjunto de vértices é 1, . . . , k e o conjuntode arcos é

h→ c : h = 1, 2, . . . , c− 1 ∪ c→ h : h = c+ 1, c+ 2, . . . , k.

Cada arco h→ c e cada arco c→ h tem custo v(Ah).

......

c+ 2

1

2

c− 1

c

v(A1)

v(Ac−1)

v(A2) v(Ac+2)

v(Ak)k

v(Ac+1)

c+ 1

O custo do digrafo D(A, c), que denotamos custo(D(A, c)), é a soma dos custos dos arcosde D(A, c), ou seja, custo(D(A, c)) =

∑h6=c v(Ah). Observe que se A é tal que, para um

alinhamento A, Ah = Ac,h para todo Ah ∈ A, então

k−1∑h=1

k∑i=h+1

(v(Ah,c) + v(Ac,i)) = (k − 1) · custo(D(A, c)). (6.12)

Uma v-estrela D(A, c) de S é ótima se não existe uma v-estrela de S de custo menor quecusto(D(A, c)). Um alinhamento [s′h, s

′i] de (sh, si) é v-ótimo se não existe alinhamento de

(sh, si) de custo menor do que v([s′h, s′i]). Denotamos custo de um alinhamento v-ótimo de

(sh, si) por opt(sh, si). Note que o custo de uma v-estrela ótima é

minc

c−1∑h=1

opt(sh, sc) +k∑

h=c+1

opt(sc, sh)

.

Para um alinhamento A de uma k-upla S, denotamos V (A) =∑k−1

h=1

∑ki=h+1 v(Ah,i) e

OPT(S) = minA∈ASV (A). Se A é um alinhamento e V (A) = OPT(S), dizemos que A éum alinhamento V -ótimo.

100 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

Lema 88. Se D(A, c) é uma v-estrela ótima, então

custo(D(A, c)) ≤ 2

k·OPT(S).

Prova. Seja A um alinhamento V -ótimo e suponha queD(A, c) é uma v-estrela ótima. Então,

k · (k − 1)

2· custo(D(A, c)) =

k − 1

k∑i=1

custo(D(A, c)) ≤ k − 1

k∑i=1

∑h6=i

v(Ah,i)

=k − 1

2· (2V (A)) = (k − 1) ·OPT(S),

onde a desigualdade segue da otimalidade da v-estrela D(A, c). Segue que se D(A, c) é umav-estrela ótima, então custo(D(A, c)) ≤ (2/k) ·OPT(S).

6.4.2 Desdobramento

Sejam s, t ∈ Σ∗. Suponha que A = [s′, t′] é alinhamento de (s, t) ou A = [t′, s′] éalinhamento de (t, s). Dizemos que uma coluna j de A é s-desdobrável se s′(j) 6= , t′(j) 6=e γt′(j)→ ≤ γs′(j)→t′(j). Seja J = j1, . . . , jm, com 1 ≤ j1 < j2 < . . . < jm ≤ |A|, o conjuntode todos os inteiros que são colunas s-desdobráveis de A. O s-desdobramento do alinhamentoA é o alinhamento[s′(1 . . . j1 − 1) s′(j1) s′(j1 + 1 . . . j2 − 1) s′(j2) . . . s′(jm + 1 . . . |A|)t′(1 . . . j1 − 1) t′(j1) t′(j1 + 1 . . . j2 − 1) t′(j2) . . . t′(jm + 1 . . . |A|)

]se A = [s′, t′] e[t′(1 . . . j1 − 1) t′(j1) t′(j1 + 1 . . . j2 − 1) t′(j2) . . . t′(jm + 1 . . . |A|)s′(1 . . . j1 − 1) s′(j1) s′(j1 + 1 . . . j2 − 1) s′(j2) . . . s′(jm + 1 . . . |A|)

]se A = [t′, s′]. Dizemos que J é o conjunto que dene o s-desdobramento de A.

O seguinte fato é usado para auxiliar o cálculo da pontuação de um s-desdobramento.

Fato 89. Seja γ ∈MA e a, b ∈ Σ. Então, γa→ > γa→b se e somente se γa→ > γb→a.

Prova. Como γ ∈MA, temos que γa→ = γ →a, γb→ > 0 e γ →b > 0.Suponha que γa→ > γa→b. Sendo γ →b > 0, segue que γa→ + γ →b > γa→ > γa→b.

Logo γa→ + γ →b > γa→b o que implica, sendo γ ∈ MA, que γa→b = γb→a. Logo, γa→ >γa→b = γb→a o que implica que γa→ > γb→a.

Suponha agora que γa→ > γb→a. Desde que γa→ = γ →a e γb→ > 0, segue queγb→ + γ →a > γ →a = γa→ > γb→a o que implica, sendo γ ∈MA, que γb→a = γa→b. Logo,γa→ > γb→a = γa→b.

O c-desdobramento de uma v-estrela D(A, c) de S = (s1, . . . , sk) é a v-estrela D(Ac, c) deS onde os alinhamentos em Ac são sc-desdobramentos dos alinhamentos em A. O próximoresultado mostra que o c-desdobramento de uma v-estrela aumenta o seu custo de maneiralimitada quando γ ∈MA e v = vAγ ou v = vNγ.

6.4 ALGORITMO DE APROXIMAÇÃO 101

Proposição 90. Sejam S = (s1, . . . , sk) uma k-upla de sequências, c um inteiro e D(A, c)uma v-estrela de S. Considere γ ∈MA e v = vAγ ou v = vNγ. Então,

custo(D(Ac, c)) ≤ 3 · custo(D(A, c)).

Prova. Sejam h um inteiro arbitrário, 1 ≤ h < c, Ah = [s′h, s′c] ∈ A alinhamento de (sh, sc)

e [s′′h, s′′c] = Ach. Considere também J o conjunto que dene o sc-desdobramento de [s′h, s

′c].

Segue que

vAγ([s′′h, s′′c]) = vAγ([s

′h, s′c]) +

∑j∈J

(γs′h(j)→ + γ →s′c(j) − γs′h(j)→s′c(j)

)≤ vAγ([s

′h, s′c]) +

∑j∈J

(γs′h(j)→ + γ →s′h(j)

)(6.13)

= vAγ([s′h, s′c]) + 2 ·

∑j∈J

γs′h(j)→ (6.14)

≤ vAγ([s′h, s′c]) + 2 ·

∑j∈J

γs′h(j)→s′c(j), (6.15)

onde (6.13) e (6.14) valem porque γ ∈MA; e (6.15) vale pelo Fato 89 desde que, sendo cadaj ∈ J um sc-desdobramento de [s′h, s

′c], γs′h(j)→ ≤ γs′c(j)→s′h(j) por denição.

Desde que J ⊆ 1, 2, . . . , |A| e γ ∈MA, temos que∑j∈J

γs′h(j)→s′c(j) ≤∑

j∈1,2,...,|A|

γs′h(j)→s′c(j) = vAγ([s′h, s′c]).

Segue que

vAγ([s′′h, s′′c]) ≤ vAγ([s

′h, s′c]) + 2 ·

∑j∈J

γs′h(j)→s′c(j)

≤ vAγ([s′h, s′c]) + 2 · vAγ([s′h, s′c]) = 3 · vAγ([s′h, s′c]).

Além disso,

vNγ([s′′h, s′′c]) =

vAγ([s′′h, s′′c])

|[s′′h, s′′c]|≤ 3 · vAγ([s′h, s′c])

|[s′h, s′c]|+ |J |≤ 3 · vAγ([s′h, s′c])

|[s′h, s′c]|= 3 · vNγ([s′h, s′c]).

Portanto, desde que o argumento vale para um inteiro h arbitrário, temos que se h < c,então v(Ach) = v([s′′h, s

′′c]) ≤ 3 · v([s′h, s

′c]) = 3 · v(Ah). Usando argumentos similares, temos

também que se h > c, então v(Ach) ≤ 3 · v(Ah). Logo,

custo(D(Ac, c)) =∑h<c

v(Ach) +∑h>c

v(Ach) =∑h6=c

v(Ach) ≤ 3 ·∑h6=c

v(Ah) = 3 · custo(D(A, c)).

O próximo lema mostra uma relação entre o desdobramento de v-estrelas ótimas e ali-nhamentos v-ótimos quando γ ∈MA e v = vAγ ou v = vNγ.

Lema 91. Sejam γ ∈ MA, v = vAγ ou v = vNγ, D(A, c) uma v-estrela ótima de S, e A um

102 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

alinhamento de S tal que Ac,h = Ach para cada Ach ∈ Ac. Então,

k−1∑h=1

k∑i=h+1

(v(Ah,c) + v(Ac,i)) ≤ 6 ·OPT(S).

Prova. Temos que

k−1∑h=1

k∑i=h+1

(v(Ah,c) + v(Ac,i)) = (k − 1) · custo(D(Ac, c)) (6.16)

≤ 3 · (k − 1) · custo(D(A, c)) (6.17)

≤ 3 · (k − 1) · 2

k·OPT(S) ≤ 6 ·OPT(S), (6.18)

onde (6.16) segue de (6.12), (6.17) segue da Proposição 90 e (6.18) segue do Lema 88.

Note que o tempo gasto para computar um sc-desdobramento depende de qual estru-tura de dados utilizamos para representar o alinhamento. Se utilizamos uma matriz pararepresentar um alinhamento, o tempo gasto não é superior à quantidade de elementos doalinhamento que é O(k2n).

6.4.3 Alinhamento compatível

Um alinhamento A é dito compatível com uma v-estrela D(A, c) se Ah,c = Ah para cadah 6= c. Há vários alinhamentos compatíveis com uma v-estrela de S. Descrevemos a seguir eimerso no texto o Algoritmo AlinhaCompativel que recebe uma v-estrela D(A, c) e devolveum alinhamento A compatível com a v-estrela D(A, c) e que possui propriedades que sãonecessárias para garantir os fatores de aproximação tanto para o problema AVS quantopara a versão de otimização do Problema AVSN-2.

Considere

A = [s′h, shc] : alinhamento de (sh, sc) para h < c ∪[shc , s′h] : alinhamento de (sc, sh) para h > c .

Para h 6= c, 1 ≤ h ≤ k, R(h, 0) denota a quantidade de 's antes de sc(1) em shc , R(h, j)a quantidade de 's entre sc(j) e sc(j+1) para j = 1, 2, . . . , |sc|−1 e R(h, |sc|) a quantidadede 's depois de sc(|sc|) em shc . Com essa denição podemos escrever cada shc como

. . .︸ ︷︷ ︸R(h,0)

sc(1) . . .︸ ︷︷ ︸R(h,1)

sc(2) . . . sc(|sc| − 1) . . .︸ ︷︷ ︸R(h,|sc|−1)

sc(|sc|) . . .︸ ︷︷ ︸R(h,|sc|)

.

Denimos também para j = 0, . . . , |sc| e h = 1, . . . , k + 1, h 6= c

Q(h, j) =h−1∑i=0

R(i, j).

Por exemplo, para S = (aaa, bbbbb, cc, ddd, eeeeee), considere

A =

[a a a

d d d

],

[b b b b b

d d d

],

[c c

d d d

],

[d d d

e e e e e e

]

6.4 ALGORITMO DE APROXIMAÇÃO 103

e a v-estrela D(A, 4). Temos então

R =

0 1 2 31 1 0 0 02 1 0 2 03 0 0 0 04 − − − −5 3 0 0 1

e Q =

0 1 2 31 0 0 0 02 1 0 0 03 2 0 2 04 − − − −5 2 0 2 06 5 0 2 1

.

Ponha

s′′c = . . .︸ ︷︷ ︸Q(k+1,0)

sc(1) . . .︸ ︷︷ ︸Q(k+1,1)

sc(2) . . . sc(|sc| − 1) . . .︸ ︷︷ ︸Q(k+1,|sc|−1)

sc(|sc|) . . .︸ ︷︷ ︸Q(k+1,|sc|)

.

Seja C(h, 0) = 0, C(h, |sc(j)|+1) = |s′h|+1 e C(h, j) o índice do símbolo em s′h, h 6= c, queestá alinhado com sc(j) para j = 1, . . . , s′h(|sc(j)|). Denimos, para j = 0, . . . , s′h(|sc(j)|),

P (h, j) = . . .︸ ︷︷ ︸Q(h,j)

s′h(C(h, j) + 1 . . . C(h, j + 1)− 1)︸ ︷︷ ︸R(h,j)

. . .︸ ︷︷ ︸Q(k+1,j)−Q(h,j)−R(h,j)

.

No nosso exemplo,

C =

0 1 2 3 41 0 2 3 4 52 0 2 3 6 73 0 1 2 3 44 − − − − −5 0 4 5 6 8

.

Ponha agora para todo h 6= c

s′′h = P (h, 0) · s′h(C(h, 1)) · P (h, 1) · s′h(C(h, 2)) · . . . · s′h(C(h, |sc|)) · P (h, |sc|).

O Algoritmo AlinhaCompativel(D(A, c)) devolve então o alinhamento [s′′1, . . . , s′′k]. As-

sim, obtemos o alinhamentoa a a

b b b b b

c c

d d d

e e e e e e

do nosso exemplo.

Por construção do algoritmo, temos os seguintes resultados.

Fato 92. Seja A = [s′1, . . . , s′k] devolvido por AlinhaCompativel(D(Ac, c)). Então, para

cada j, se s′c(j) = , existe um único inteiro h, 1 ≤ h ≤ k tal que s′h(j) 6= . Além disso,sendo (D(Ac, c)) um c-desdobramento, se s′h(j) 6= e s′c(j) 6= , então γs′h(j)→ > γs′c(j)→s′h(j).

Seja Qmax = maxa∈Σγa→ , γ →a e considere o seguinte resultado.

Proposição 93. Considere que A = [s′1, . . . , s′k] é um alinhamento devolvido pelo Algo-

ritmo AlinhaCompativel(D(Ac, c)). Se γ ∈MA, então, para h 6= c e i 6= c, temos que

104 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

(i) γs′h(j)→s′i(j) ≤ γs′h(j)→s′c(j) + γs′c(j)→s′i(j) para cada j = 1, . . . , |A| e;

(ii) vNγ(Ah,i) ≤ 2Qmax.

Prova. Vamos mostrar que vale (i). Seja j um inteiro arbitrário e suponha que γ ∈ MA.Vericamos a validade do item analisando os possíveis valores de s′h(j), s

′i(j) e s

′c(j).

Para os casos em que s′h(j) = ou s′i(j) = , desde que γ ∈ MA e γ → = 0, o Item (i)pode ser vericado usando as propriedades de MA na Tabela 4.2 do Capítulo 2 considerandoos diversos casos possíveis em que acontece s′h(j) = ou s′i(j) = . Logo, para nalizar aprova do item, assumimos que s′h(j) 6= e s′i(j) 6= . Segue da contrapositiva do Fato 92 ques′c(j) 6= . Como s′h(j) 6= , s′i(j) 6= , s′c(j) 6= e D(Ac, c) é um c-desdobramento, temosque γs′h(j)→ > γs′c(j)→s′h(j) e γs′i(j)→ > γs′c(j)→s′i(j).

Como γs′h(j)→ > γs′c(j)→s′h(j), pelo Fato 89 temos que γs′h(j)→ > γs′h(j)→s′c(j). Desde queγs′i(j)→ > γs′c(j)→s′i(j), segue da denição de MA que γ →s′i(j) = γs′i(j)→ > γs′c(j)→s′i(j). Comoγs′h(j)→ > γs′h(j)→s′c(j) e γ →s′i(j) > γs′c(j)→s′i(j), temos que γs′h(j)→ + γ →s′i(j) > γs′h(j)→s′c(j) +γs′c(j)→s′i(j). Segue da denição de MA que γs′h(j)→s′i(j) ≤ γs′h(j)→s′c(j) + γs′c(j)→s′i(j), nalizandoa prova do Item (i).

Vamos agora mostrar o Item (ii). Suponha sem perda de generalidade que h < i, vamosprimeiramente provar que, para qualquer inteiro j, γs′h(j)→s′i(j) ≤ 2Qmax. Se s′h(j) = ous′i(j) = , então, como γ → = 0 e γ ∈ MA, considerando os diversos casos possíveis emque acontece s′h(j) = ou s′i(j) = , temos que vale γs′h(j)→s′i(j) ≤ Qmax ≤ 2Qmax e o itemestá provado. Assumimos então que s′h(j) 6= e s′i(j) 6= . Segue do Fato 92 que s′c(j) 6=e, sendo A um c-desdobramento, que γs′c(j)→s′h(j) < γs′h(j)→ e γs′c(j)→s′i(j) < γs′i(j)→ . Comoγs′c(j)→s′h(j) < γs′h(j)→ , temos pelo Fato 89 que γs′h(j)→s′c(j) < γs′h(j)→ . Segue do Item (i) queγs′h(j)→s′i(j) ≤ γs′h(j)→s′c(j) + γs′c(j)→s′i(j) < γs′h(j)→ + γs′i(j)→ ≤ Qmax + Qmax = 2Qmax. Segueque vNγ(Ah,i) = vAγ(Ah,i)/|Ah,i| ≤ 2Qmax|Ah,i|/|Ah,i| = 2Qmax|Ah,i|, nalizando aprova do Item (ii).

Lema 94. Seja A = [s′1, . . . , s′k] devolvido por AlinhaCompativel (D(Ac, c)). Então,

• se γ ∈MA, então vAγ(Ah,i) ≤ vAγ(Ah,c) + vAγ(Ac,i) e

• se γ ∈MN, então vNγ(Ah,i) ≤ 2 · (vNγ(Ah,c) + vNγ(Ac,i))

para cada h < i, h 6= c, i 6= c.

Prova. Sejam h, i inteiros arbitrários e X = j : s′c(j) 6= e s′h(j) = s′i(j) = e suponhaque γ ∈MA. Segue que

vAγ(Ah,i) +∑j∈X

(γ →s′c(j) + γs′c(j)→ ) =∑j 6∈X

γs′h(j)→s′i(j) +∑j∈X

(γ →s′c(j) + γs′c(j)→ )

≤∑j 6∈X

(γs′h(j)→s′c(j) + γs′c(j)→s′i(j)

)+∑

j∈X

(γ →s′c(j) + γs′c(j)→ )

= vAγ(Ah,c) + vAγ(Ac,i),

onde a desigualdade vale pela Proposição 93. Portanto,

vAγ(Ah,i) ≤ vAγ(Ah,c) + vAγ(Ac,i)−∑j∈X

(γ →s′c(j) + γs′c(j)→ ). (6.19)

6.4 ALGORITMO DE APROXIMAÇÃO 105

Como γ ∈MA, temos que γ →s′c(j), γs′c(j)→ > 0. Segue de (6.19) que

vAγ(Ah,i) ≤ vAγ(Ah,c) + vAγ(Ac,i)−∑j∈X

(γ →s′c(j) + γs′c(j)→ )

≤ vAγ(Ah,c) + vAγ(Ac,i)

e o primeiro item da proposição está provado.Suponha agora que γ ∈MN. Segue da denição de MN que

Qmax = maxσ∈Σγσ→ , γ →σ = max

σ∈Σγσ→ ≤ 2γs′c(j)→ = γ →s′c(j) + γs′c(j)→ .

para todo j. Além disso,

|Ah,c| ≤ |Ah,i,c|, |Ac,i| ≤ |Ah,i,c| e |Ah,i| = |Ah,i,c| − |X|.

Segue daí que

vNγ(Ah,i) =vAγ(Ah,i)

|Ah,i|

≤vAγ(Ah,i) + 2 ·Qmax|X|

|Ah,i|+ |X|≤ 2 ·

vAγ(Ah,i) +Qmax|X||Ah,i|+ |X|

(6.20)

≤ 2 ·(vAγ(Ah,c) + vAγ(Ac,i)

|Ah,i,c| − |X|+ |X|−∑

j∈X(γ →s′c(j) + γs′c(j)→ ) +Qmax|X||Ah,i,c| − |X|+ |X|

)(6.21)

≤ 2 ·vAγ(Ah,c) + vAγ(Ac,i)−Qmax|X|+Qmax|X|

|Ah,i,c| − |X|+ |X|(6.22)

= 2 ·vAγ(Ah,c) + vAγ(Ac,i)

|Ah,i,c|=vAγ(Ah,c)

|Ah,i,c|+vAγ(Ac,i)

|Ah,i,c|

≤ 2 ·vAγ(Ah,c)

|Ah,c|+vAγ(Ac,i)

|Ac,i|= 2 · (vNγ(Ah,c) + vNγ(Ac,i)).

onde a primeira desigualdade de (6.20) segue da Proposição 93 (dado que MN ⊆ MA) e doFato 53, e a segunda desigualdade segue de vAγ(Ah,i) ≥ 0 (dado que toda entrada de γ émaior ou igual a zero); (6.21) segue de (6.19) e de |Ah,i| = |Ah,i,c| − |X|, e (6.22) segueda denição de Qmax. Portanto, se γ ∈MN, a proposição também está provada.

Para calcular o tempo gasto para determinar um alinhamento compatível, suponha quecada sequência de S possui comprimento n. Note que cada linha da matriz R pode sercomputada consultando uma única vez cada coluna de um alinhamento Ah,c que possuicomprimento máximo 2n. Portanto, a matriz R pode ser computada gastando tempo O(kn).Similarmente as matrizes Q e C gastam tempo O(kn) para serem computadas. Depois, paracada elemento do alinhamento obtido, consultamos uma quantidade constante de entradasdas matrizes R, Q e C o que implica que o tempo gasto é proporcional à quantidade deelementos de A que é O(k2n). Portanto, AlinhaCompativel gasta tempo O(k2n).

6.4.4 Algoritmo

Teorema 95. O Algoritmo 8 está correto. Ademais, sendo O(n2) um limitante superior

106 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

Algoritmo 8

Entrada: S = (s1, . . . , sk) ∈ (Σ∗)k.Saída: v(A), onde A é um alinhamento A de S e se v = vAγ, então vSPγ(A) ≤ 6 ·optSPγ(S)

e se v = vNγ, então V2γ(A) ≤ 12 ·OPT2

γ(S). No primeiro caso, exige-se que γ ∈MA e, nosegundo, que γ ∈MN.

1: Seja D(A, c) uma v-estrela ótima de S;2: seja D(Ac, c) um c-desdobramento de D(A, c);3: A← AlinhamentoCompatível(D(Ac, c));4: devolva v(A).

de tempo para encontrar a vAγ-pontuação de um alinhamento A-ótimo de duas sequên-cias de comprimento n e seu respectivo alinhamento quando todas as sequências de S têmcomprimento n, temos que o tempo gasto pelo algoritmo é O(k2n2).

Prova. Claramente o valor devolvido pelo Algoritmo 8 é a pontuação de um alinhamentode S. Vamos mostrar então que o fator de aproximação é o esperado.

Suponha primeiro que v = vAγ e γ ∈MA. Então,

vSPγ(A) =k−1∑h=1

k∑i=h+1

vAγ(Ah,i)

≤k−1∑h=1

k∑i=h+1

(vAγ(Ah,c) + vAγ(Ac,i) ≤ 6 · optSPγ(S),

onde a primeira desigualdade segue do Lema 94 e a segunda segue do Lema 91. Portanto, ofator de aproximação é o esperado para este caso.

Suponha agora que v = vNγ e γ ∈MN. Então, nesse caso,

V2γ(A) =

k−1∑h=1

k∑i=h+1

vNγ(Ah,i)

≤k−1∑h=1

k∑i=h+1

2(vNγ(Ah,c) + vNγ(Ac,i)) = 2 ·k−1∑h=1

k∑i=h+1

(vNγ(Ah,c) + vNγ(Ac,i))

≤ 2 · 6 · OPT2γ(S) = 12 · OPT2

γ(S),

onde, similarmente, a primeira desigualdade segue do Lema 94 e a segunda segue do Lema 91e, novamente, o fator de aproximação está correto também para este caso.

O tempo gasto para encontrar uma v-estrela ótima é o tempo para calcular as pontuaçõesdos alinhamentos dois-a-dois de S que é

(k2

)O(n2) mais o tempo para determinar os (k − 1)

alinhamentos da estrela ótima que é (k − 1)O(n2). Portanto, o tempo gasto para calcular aLinha 1 é

(k2

)O(n2) + (k − 1)O(n2) = O(k2n2).

O tempo gasto para calcular as Linhas 2 e 3 é O(k2n) cada e o da Linha 4 é O(k3n), poistemos que computar o custo de

(k2

)O(k2) alinhamentos de duas sequências de comprimento

O(kn). Portanto, o tempo total gasto pelo algoritmo é

O(k2n2) +O(k2n) +O(k2n) +O(k3n) = O(k2n2 + k3n).

6.4 ALGORITMO DE APROXIMAÇÃO 107

Finalizamos o capítulo, resumindo na Tabela 6.1 os resultados de nossa pesquisa.

Problema Tempo - AE NP-completude Tempo - AA

AVS O(k2n2 + k3n)AVSN-1 O(2kk3(n+ 1)k+1)

Sim

AVSN-2 O((

1 + 12n+1

)k(2n+ 1)k

2k2)

O(k2n2 + k3n)

AVSN-3 O(2kk4(n+ 1)k+1)

Tabela 6.1: Consideramos no estudo da complexidade que a quantidade de sequências é k e que

cada uma das sequências possui comprimento n; Tempo - AE é a coluna que contém o tempo

gasto de cada algoritmo exato aqui descrito; Tempo - AA é a coluna que contém o tempo gasto de

cada algoritmo aproximado aqui descrito: para o Problema AVS, o algoritmo é uma 6-aproximação

e para o Problema AVSN-2, o algoritmo é uma 12-aproximação quando a matriz de pontuação está

em MN.

108 ALINHAMENTO DE VÁRIAS SEQUÊNCIAS 6.4

Capítulo 7

Conclusão

Neste capítulo fazemos uma breve revisão do que foi estudado neste doutorado, sugerindotrabalhos futuros.

No Capítulo 2 apresentamos os conceitos básicos desenvolvidos durante a tese e algunsresultados encontrados na literatura. Ademais, mostramos um algoritmo inédito para o Pro-blema APSN. Esse algoritmo não representa uma contribuição importante além desta tesepois, pelo menos assintoticamente, não é mais rápido do que o melhor algoritmo para o pro-blema e porque seu uso é restrito, pois somente pode ser usados se a matriz de pontuaçãopossui custo uniforme de inserção e remoção.

No Capítulo 3 apresentamos uma estrutura capaz de representar uma sequência de ope-rações de edição que transformam uma sequência na outra. Para a, b ∈ Σ∗, descrevemos umalgoritmo que computa a pontuação de uma sequência de operações de edição que transformaa em b e que possui pontuação mínima.

Como consequência dos resultados obtidos no Capítulo 4 podemos caracterizar as ma-trizes de pontuação γ que induzem vários tipos de funções (pramétrica, semimétrica, quasi-métrica, etc) nas sequências. Fazemos isto para os critérios vAγ, vNγ e vEγ.

No Capítulo 5 determinamos, para uma classe ampla de matrizes de pontuação, as condi-ções necessárias e sucientes para que duas matrizes de pontuação sejam equivalentes. Nestetexto, consideramos que as matrizes de pontuação γ e δ são equivalentes se, para quaisqueralinhamentos A e B de duas sequências, vAγ(A) ≤ vAγ(B) se e somente se vAδ(A) ≤ vAδ(B).Entretanto, em geral não estamos interessados em quaisquer alinhamentos mas sim em ali-nhamentos A-ótimos. Seria interessante caracterizar matrizes de pontuação γ e δ que tenhama seguinte propriedade: optAγ(s, t) = vAγ(A) se e somente se optAδ(s, t) = vAδ(A).

No Capítulo 6 desta tese, usando o critério vAγ para pontuar duas sequências, descre-vemos um algoritmo que é uma 6-aproximação para o Problema AVS quando a matriz depontuação está em MA. Trocando o critério vAγ por vNγ, se γ ∈ MN, esse algoritmo é uma12-aproximação para a versão de otimização do Problema AVSN-2. Bafna, Lawler e Pevz-ner [BLP97] descrevem um algoritmo para o Problema AVS quando γ ∈ MC que é umal/k-aproximação e que é polinomial em n e k para um l xo. Seria interessante investigarse o mesmo algoritmo pode ser adaptado para os problemas AVS quando γ ∈ MA e para aversão de otimização de AVSN-2 quando γ ∈MN.

Um esquema de aproximação em tempo polinomial polynomial time approximationschemes (PTAS) consiste em um algoritmo que recebe como entrada uma instância de umproblema de otimização e um número ε > 0 e que é uma (1 + ε)-aproximação e, em tempopolinomial no tamanho da entrada, devolve uma solução. A classe MAX-SNP-difícil é aclasse dos problemas que não possuem PTAS a menos que P = NP. Just [Jus01] mostrou queo Problema AVS é MAX-SNP-difícil quando a matriz de pontuação é uma supermatriz

109

110 CONCLUSÃO

de

a b c

a 0 1 0 2b 1 0 0 2c 0 0 0 2

2 2 2

.

Nesta tese mostramos que, para cada η, o ProblemaAVSN-η é NP-completo. O algoritmo deaproximação descrito paraAVSN-2 mostra que ele pode ser aproximado por uma constante.Seria importante vericar se existem algoritmos de aproximação para os problemas AVSN-1e AVSN-3 e, para cada η, se o Problema AVSN-η é MAX-SNP-difícil.

Referências Bibliográcas

[AE00] A.N. Arslan e Ö. Egecioglu. Ecient algorithms for normalized edit distance.Journal of Discrete Algorithms, 1(1):320, 2000. 18, 28

[AG97] A. Apostolico e Z. Galil. Pattern Matching Algorithms. Oxford University Press,USA, 1997. 1

[AP90] A. V. Arkhangel'ski e L. S. Pontryagin. General Topology I: Basic Concepts andConstructions, Dimension Theory. Springer-Verlag, Berlin, 1990. 43

[AS06] E. Araújo e J. Soares. Scoring matrices that induce metrics on sequences. EmJosé R. Correa, Alejandro Hevia, e Marcos A. Kiwi, editors, LATIN, volume 3887of Lecture Notes in Computer Science, páginas 6879. Springer, 2006. 2, 4, 5

[BLP97] V. Bafna, E.L. Lawler, e P.A. Pevzner. Approximation algorithms for multiplesequence alignment. Theoretical Computer Science, 182(1-2):233244, 1997. 109

[Bri03] R. Brito. Alinhamento de sequências biológicas. Dissertação de Mestrado, Insti-tuto de Matemática e Estatística IME - USP, 2003. 30

[BV01] P. Bonizzoni e G.D. Vedova. The complexity of multiple sequence alignment withSP-score that is a metric. Theoretical Computer Science, 259(1-2):6379, 2001.35

[Chv80] V. Chvátal. Recognizing intersection patterns. Em Annals Discrete Mathematics,volume 8, páginas 249251. North Holland Publishing Company, 1980. 91

[CL88] H. Carrillo e D. Lipman. The multiple sequence alignment problem in biology.SIAM Journal on Applied Mathematics, 48(5):10731082, 1988. 30

[CLZU02] M. Crochemore, G.M. Landau, e M. Ziv-Ukelson. A sub-quadratic sequencealignment algorithm for unrestricted cost matrices. Em Proceedings of the thirte-enth annual ACM-SIAM symposium on Discrete algorithms, SODA '02, páginas679688, Philadelphia, PA, USA, 2002. Society for Industrial and Applied Mathe-matics. 13, 28

[Eli06] I. Elias. Settling the intractability of multiple alignment. Journal of Computati-onal Biology, 13(7):13231339, September 2006. 35

[Flo62] R.W. Floyd. Algorithm 97: shortest path. Communications of the ACM, 5(6):345,1962. 41

[GPB+02] G. Gutin, A. Punnen, A. Barvinok, E. Gimadi, e A. Serdyukov. The TravelingSalesman Problem and Its Variations. Springer, 2002. 9

111

112 REFERÊNCIAS BIBLIOGRÁFICAS

[Gus93] D. Guseld. Ecient methods for multiple sequence alignment with guaranteederror bounds. Bulletin of Mathematical Biology, 55(1):141154, 1993. 98

[Jus01] W. Just. Computational complexity of multiple sequence alignment with SP-score. Journal of computational biology, 8(6):615623, 2001. 35, 109

[Kim68] Y. Kim. Pseudo quasi metric spaces. Proceedings of the Japan Academy, 1968.43

[Lev66] V.I. Levenshtein. Binary codes capable of correcting deletions, insertions andreversals. Soviet Physics Doklady, 10(8):707710, 1966. 2

[MP80] W.J. Masek e M.S. Paterson. A faster algorithm computing string edit distances.Journal of Computer and System sciences, 20(1):1831, 1980. 13, 28

[MV93] A. Marzal e E. Vidal. Computation of normalized edit distance and applications.IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(9):926932,1993. 1, 3, 13, 15, 28, 44

[Nav06] G. Navarro. Comunicação pessoal, 2006. 2

[NW70] S.B. Needleman e C.D. Wunsch. A general method applicable to the search forsimilarities in the amino acid sequence of two proteins. Journal of molecularbiology, 48(3):443453, 1970. 9, 11, 28

[RU81] K. Räihä e E. Ukkonen. The shortest common supersequence problem over binaryalphabet is NP-complete. Theoretical Computer Science, 16:187198, 1981. 31

[Sel74] P.H. Sellers. On the theory and computation of evolutionary distances. SIAMJournal on Applied Mathematics, 26(4):787793, 1974. 2, 44

[SM97] J.C. Setubal e J. Meidanis. Introduction to computational molecular biology. PWSPublishing Company, 1997. 1, 73

[SS70] L.A. Steen e J.A. Seebach. Counterexamples in Topology. Holt, Rinehart andWinston New York 1970. 43

[VMA95] E. Vidal, A. Marzal, e P. Aibar. Fast computation of normalized edit distances.Pattern Analysis and Machine Intelligence, IEEE Transactions on, 17(9):899902, 1995. 17, 28

[War62] S. Warshall. A theorem on boolean matrices. Journal of the ACM (JACM),9(1):1112, 1962. 41

[Wil31a] W.A. Wilson. On quasi-metric spaces. American Journal of Mathematics,53(3):675684, 1931. 43

[Wil31b] W.A. Wilson. On semi-metric spaces. American Journal of Mathematics,53(2):361373, 1931. 43

[WJ94] L. Wang e T. Jiang. On the complexity of multiple sequence alignment. Journalof computational biology, 1(4):337348, 1994. 30, 35

[YB07] L. Yujian e L. Bo. A normalized Levenshtein distance metric. IEEE transactionson pattern analysis and machine intelligence, 29(6):10911095, June 2007. 4, 45

Índice Remissivo

k-vetor, 84

alfabeto, 7algoritmo

AlinhaCompativel, 102alinhamento, 7

V -ótimo, 99vSPγ-ótimo, 29v-ótimo, 99ótimo, 1A(λ)-ótimo, 16A-ótimo, 10alinha, 8alinhados, 8canônico, 93cauda, 93base, 93

colunacoluna σ, 93quantidade de σ, 93

coluna do, 7comprimentobase, 93

comprimento do, 8estendido, 3, 37ótimo, 38coluna, 37comprimento, 37induzido, 39

induzido, 8comprimento, 87

matriz dos, 13N-ótimo, 13pontuação-vNγ, 13

aproximaçãoα-aproximação, 10fator de, 10

critério de pontuaçãopontuação-vAγ, 10pontuação-vAγ(λ), 15pontuação-vEγ, 38

pontuação-vSPγ, 28critério para a pontuação, 1

desdobramentoc-desdobramento de uma v-estrela, 100s-desdobrável, 100s-desdobramento, 100o conjunto que dene, 100

digrafo, 9arco, 9aparece, 9custo, 9entra, 9sai, 9

caminho, 9, 38ótimo, 9comprimento, 9concatenação de, 9custo do, 9

ciclo, 9ciclo negativo, 9dene, 9simples, 9

custo do, 9euleriano, 9vértice, 9

elemento de AA-ótimo, 21corresponde ao alinhamento, 21custo, 21custo normalizado, 24dene, 21

espaço, 7estrela

v-estrela, 99ótima, 99centro, 99

funçãoV , 99vAγ, 2optAγ, 2

113

114 ÍNDICE REMISSIVO

hemimétrica, 43induzida, 43Levenshtein, 2métrica, 43pramétrica, 43pseudométrica, 43quasimétrica, 43semimétrica, 43

função ótima, 1vAγ(λ), 15

matriz de pontuação, 2, 8custo, 2equivalentes, 4, 73multiplicação, 74reexibilidade, 73simetria, 73soma, 74transitividade, 73

mdc, 77multiplicação

matriz de pontuação, 74

operação de edição, 2inserção, 2remoção, 2substituição, 2

problemaAPS, 10APSN, 13AVS, 29AVSN, 92AVSd, 30CME, 38RACI, 90RPI, 90SC-Mín, 31

símbolos, 7sequência

comprimento, 7vazia, 7

sequênciassupersequência, 30

somamatriz de pontuação, 74

supermatriz, 30