• Nenhum resultado encontrado

Custo de Comunica¸ c˜ ao de Grafos e l-Estrelas

No documento Alinhamento de Seq¨uˆencias Biol´ogicas (páginas 119-124)

4.4 Algoritmo de l-Estrelas

4.4.2 Custo de Comunica¸ c˜ ao de Grafos e l-Estrelas

Lembremos que, dado um alinhamento A de k seq¨uˆencias, seu custo SP ´e definido como SP(A) =P

1≤i<j≤kSP(A|i,j). Se definirmos a matrizS(A) de dimens˜oesk×k como S(A) = (SP(A|i,j)) e a matriz U = (Uij), tamb´em de dimens˜oes k ×k, de forma que Uij = 0 para i = j e Uij = 1 para i 6= j, ent˜ao o produto escalar de U por S(A) ser´a U ·S(A) = 2 SP(A). Para simplificar a discuss˜ao, vamos trabalhar no restante do cap´ıtulo com U·S(A) em vez de (U ·S(A))/2.

O caso mais geral em que a pontua¸c˜ao SP ´e ponderada (ou seja, na situa¸c˜ao em que SPW(A) =P

i<jWijSP(A|ij)) para escalaresWij pode tamb´em ser representado como um produto escalar de uma matriz sim´etrica de pesos W = (Wij) pela matriz S(A) porque W ·S(A) = 2 SPW(A). Para nossas inten¸c˜oes, supomos que matrizes de pesos usadas para ponderar pontua¸c˜oes de alinhamentos sejam sempre matrizes sim´etricas.

Conforme vimos no Cap´ıtulo 2, o problema geral de calcular um alinhamento ´otimo com pontua¸c˜ao SP ponderada pode tamb´em ser resolvido pelo algoritmo de programa¸c˜ao dinˆamica em tempoO(k22knk).

Dada uma l-estrela G de k v´ertices com centro c, definimos a matriz WG = (Wij) de dimens˜oesk×k por

Wij =

k−l+ 1, sei6=j e (i=cou j=c)

1, sei6=c e j6=c ei, j pertencem a um mesmo clique de G 0, caso contr´ario.

(4.4)

Observe-se que definimos como 0 o peso das “arestas inexistentes” de G. E importante´ tamb´em notar que

WG·U = 2

(k−l+ 1)(k−1) +r l−1

2

= 2 k

2 2− l k

. (4.5)

Existe uma interpreta¸c˜ao “geom´etrica” tanto para os pesos Wij que definem a matriz WG quanto para a quantiaWG·U.

Defini¸c˜ao 4.4 (Distˆancia entre v´ertices). Se G= (V, E) ´e um grafo qualquer conexo e n˜ao-dirigido, definimos para cada par de v´ertices x, y ∈ V a distˆancia d(x, y) entre os v´erticesxeycomo o n´umero de arestas de um caminhoγ(x, y) de menor comprimento que liga o v´ertice xao v´erticey.

Para simplificar, supomos que os v´ertices de G sejamV ={1, . . . , k}.

Defini¸c˜ao 4.5 (Custo de Comunica¸c˜ao). Ocusto de comunica¸c˜ao deG´e definido como c(G) =P

x<yd(x, y).

Observe-se que como x 6= y ⇒ d(x, y) ≥ 1, ent˜ao fixado um n´umero de v´ertices k, o grafo completoHk dekv´ertices ´e o grafo com menor custo de comunica¸c˜ao dentre os grafos com kv´ertices e seu custo de comunica¸c˜ao ´e c(Hk) =P

x<yd(x, y) =P

x<y1 = k2 . Defini¸c˜ao 4.6 (Custo de comunica¸c˜ao normalizado). Define-se ocusto de

comunica-¸

c˜ao normalizadob(G) do grafoGdekv´ertices como a rela¸c˜ao entre o custo de comunica¸c˜ao de Ge o custo de comunica¸c˜ao de Hk, de modo queb(G) =c(G)/c(Hk) =c(G)/ k2

.

Fixemos uma fam´ılia Γ(G) ={γ(x, y) : x, y∈ V} de caminhos de menor comprimento para cada par de v´erticesx, y ∈V, de maneira que Γ(G) contenha exatamente 1 caminho entre cada par de v´ertices de G. Se Γe(G) = {γ ∈ Γ(G) : e∈ γ}, ´e simples de constatar que o custo c(G) =P

e∈Ee(G)|, onde naturalmente |Γe(G)|´e o n´umero de caminhos da fam´ılia Γ(G) que cont´em a arestae.

No caso particular em queG´e uma l-estrela, h´a apenas uma fam´ılia Γ(G) de caminhos de menor comprimento de G e os pesos Wxy que definimos acima na matriz WG s˜ao tais que Wxy = |Γxy(G)|. Isso significa que U ·WG e os custos b(G) e c(G) relacionam-se por U ·WG = 2c(G) = 2c(Hk)b(G) e que, portanto, o custo de comunica¸c˜ao normalizado de umal-estrela dekv´ertices ´eb(G) = 2−l/k.

Um resultado que ´e importante para provar a garantia do algoritmo de aproxima¸c˜ao de Bafna, Lawler e Pevzner ´e o lema que apresentamos a seguir.

Lema 4.4 (Delimita¸c˜ao superior para U·S(A)). SeA´e um alinhamento qualquer entre as seq¨uˆencias s1, . . . , sk e G´e uma l-estrela com |V|=k cujos v´ertices s˜ao rotulados pelas seq¨uˆencias deA, ent˜aoU ·S(A)≤WG·S(A).

Prova: SejaHk o grafo completo comk v´ertices e para cada arestae∈E(Hk), definimos o peso de e como 1. Nessa situa¸c˜ao, a matriz U pode ser interpretada como uma matriz de pesos WHk de Hk da maneira definida pela equa¸c˜ao (4.4) onde os valores da diagonal principal de WHk s˜ao definidos como 0 e, trivialmente, U ·S(A) = WHk ·S(A). Isso ocorre porque o grafo Hk ´e trivialmente um clique de tamanho l = k e qualquer um de seus v´ertices pode ser escolhido como o v´ertice central (esta escolha arbitr´aria ocorre pela simetria existente entre os v´ertices) e a defini¸c˜ao dada deWG para umal-estrelaGtamb´em se aplica para este caso.

Para o resultado, vamos descrever uma seq¨uˆencia de opera¸c˜oes que definem uma seq¨uˆ en-cia de grafos (com pesos nas arestas)G0, G1, . . . , Gm de modo que G0=Hk,Gm =Ge tal queWGi·S(A)≤WGi+1·S(A), parai= 0, . . . , m−1. Na seq¨uˆencia,m= (k−l)(k−1)/2.

Em outras palavras, a seq¨uˆencia de opera¸c˜oes define uma seq¨uˆencia de grafos de custo de comunica¸c˜ao n˜ao-decrescente com o primeiro grafo sendo o grafo completo e o ´ultimo grafo sendo al-estrela G.

O processo ´e o seguinte. Seja xy uma aresta de Gi que tenha peso positivo e que n˜ao esteja presente nal-estrelaG(isto ´e,xe ypertencem a cliques diferentes deG). Definamos Gi+1 como sendo o grafo igual a Gi com a aresta xy com peso igual a 0 e com as arestasxc e cy (c ´e o v´ertice central de G) com peso incrementado de 1 unidade em rela¸c˜ao ao peso que elas tinham em Gi. Todas as outras arestas e seus pesos permanecem inalterados de Gi paraGi+1. Neste processo, podemos imaginar que as arestas deGi com peso nulo est˜ao

“removidas” em rela¸c˜ao ao grafo completo Hk.

Com isso, WGi+1·S(A)−WGi·S(A) = (WGi+1−WGi)·S(A) = 2(S(A|x,c) +S(A|c,y)− S(A|x,y))≥0 poisS(A|x,y)≤S(A|x,c) +S(A|c,y), pela desigualdade triangular mostrada no Lema 4.1. Logo, para dois grafos consecutivosGieGi+1na seq¨uˆencia, vale queWGi·S(A)≤ WGi·S(A). O processo ´e repetido at´e que o grafoGseja obtido pela “remo¸c˜ao” de arestas.

Dessa forma, observando que Wxy = |Γxy(G)| para cada aresta xy presente em G e Wxy = 0 para os outros casos, temos que WG0 = U e WGm = WG, de onde segue que U ·S(A)≤WG·S(A) e, assim, o resultado est´a provado.

Os Lemas 4.3 e 4.4 possuem uma conex˜ao, conforme diz o pr´oximo lema:

Lema 4.5 (Alinhamento ´otimo baseado em uma l-estrela). Seja G uma l-estrela com cada um de seus v´ertices rotulado por uma seq¨uˆencia ´unica dentre s1, . . . , sk e seja

4.4 Algoritmo de l-Estrelas 103

WG a matriz de pesos de G. Sejam W1, . . . , Wr as submatrizes de WG correspondentes aos cliques Ω1, . . . ,Ωr e sejam A1, . . . , Ar alinhamentos ´otimos das seq¨uˆencias dos cliques Ω1, . . . ,Ωr ponderados por W1, . . . , Wr, respectivamente. Ent˜ao, o alinhamento A cons-tru´ıdo porJunta(A1, . . . , Ar) ´e um alinhamento ´otimo em rela¸c˜ao `a pontua¸c˜ao SP ponde-rada por WG.

Prova: Para provar o resultado, vejamos inicialmente que a pontua¸c˜ao SP ponderada por WG deA ´e

WG·S(A) = 2 X

xy∈E

WxyS(A|xy) = 2

r

X

i=1

X

xy∈E(Ωi)

WxyS(A|xy)

=

r

X

i=1

2 X

xy∈E(Ωi)

WxyS(A|xy)

. (4.6)

Mas como o alinhamentoA´e compat´ıvel com cadaAi, tem-se que, para todoi= 1, . . . , r,

2 X

xy∈E(Ωi)

WxyS(A|xy) = 2 X

xy∈E(Ωi)

WxyS(Ai|xy) =Wi·S(Ai).

Logo,

WG·S(A) =

r

X

i=1

Wi·S(Ai).

Como por hip´otese sabemos que Ai ´e um alinhamento ´otimo, ent˜ao para qualquer ali-nhamento A0 das k seq¨uˆencias temos que a proje¸c˜ao A0|Ω

i de A0 na dire¸c˜ao de Ωi satisfaz Wi·S(Ai)≤Wi·S(A0|Ω

i) e, como conseq¨uˆencia, WG·S(A) =

r

X

i=1

Wi·S(Ai)≤

r

X

i=1

Wi·S(A0|Ω

i)

= WG·S(A0),

em que a ´ultima igualdade justifica-se por (4.6) ser v´alida para um alinhamento qualquer e n˜ao apenas para o resultado de Junta, uma vez que nenhuma propriedade intr´ınseca de tal alinhamento ´e necess´aria, de forma que (4.6) vale tamb´em para A0.

Como A0 ´e arbitr´ario, o alinhamento A devolvido pelo Algoritmo Junta ´e ´otimo em rela¸c˜ao `a pontua¸c˜ao SP ponderada por WG, como desej´avamos mostrar.

Para facilitar a memoriza¸c˜ao, vamos denotar daqui em diante o alinhamento ´otimo em rela¸c˜ao aos pesosWG porAG.

E claro que, ap´´ os as seq¨uˆenciass1, . . . , sk estarem associadas a v´ertices de umal-estrela G, cada alinhamento Ai pode ser calculado em tempo O(l22lnl) e AG pode ser calculado em tempo rO(l22lnl) +O(r2kn).

Defini¸c˜ao 4.7 (Conjunto Balanceado del-Estrelas). SejaGum conjunto del-estrelas sobre o conjunto de v´erticesV ={1, . . . , k}. Dizemos que G ´e um conjunto balanceado se P

G∈GWG=pU, para algum escalar p.

Intuitivamente, um conjunto balanceado del-estrelas ´e um conjunto que possuil-estrelas em disposi¸c˜oes suficientes para que, quando uma bije¸c˜ao entre as seq¨uˆenciass1, . . . , sk e o conjunto V ={1, . . . , k} fica fixada, haja alinhamentos suficientes da forma descrita pelo Lema 4.5. Em outras palavras, um conjunto balanceado n˜ao tem excesso de algum determi-nado tipo del-estrelas (digamos, conter apenas estrelas que tenham um dado v´ertice fixado como centro) em detrimento de outros tipos: todos tipos s˜ao representados eq¨uitativamente.

Assim, se houver uma bije¸c˜ao entre as seq¨uˆenciass1, . . . , sk e os v´erticesV ={1, . . . , k}, um conjunto de l-estrelas balanceado sobre V representar´a alinhamentos entre v´arias das diferentes disposi¸c˜oes dadas pelos alinhamentos ´otimos.

Teorema 4.6. SeG ´e um conjunto balanceado de l-estrelas, ent˜ao minG∈GWG·S(AG)≤ p

|G|min

A U·S(A), onde A varia no conjunto de alinhamentos de s1, . . . , sk.

Prova: O argumento usado para a demonstra¸c˜ao ´e baseado no fato de que a m´edia de uma cole¸c˜ao de n´umeros ´e pelo menos igual ao menor dos n´umeros.

Com isso em mente, minG∈GWG·S(AG)≤ |G|1 P

G∈GWG·S(AG). Mas comoAG´e ´otimo em rela¸c˜ao aos pesosWG pelo Lema 4.5, segue que |G|1 P

G∈GWG·S(AG)≤ |G|1 P

G∈GWG· S(A), para um alinhamento A fixado qualquer. Mas o segundo membro da desigualdade pode ser reescrito como |G|1 P

G∈GWG·S(A) = |G|1 (P

G∈GWG)·S(A) = |G|p U ·S(A). Disso conclui-se que minG∈GWG·S(AG)≤ |G|p U·S(A).

Como o alinhamento A ´e arbitr´ario, a afirma¸c˜ao anterior ´e v´alida, em particular, para o alinhamento ´otimo A das seq¨uˆencias s1, . . . , sk com fun¸c˜ao objetivo igual `a pontua¸c˜ao SP simples (n˜ao-ponderada). Isso significa que minG∈GWG·S(AG)≤ |G|p minAU ·S(A) =

p

|G|U·S(A), o que prova o resultado.

O teorema anterior ´e um resultado bastante importante pois ele fornece uma rela¸c˜ao en-tre o custo de um alinhamento ponderado ´otimo paral-estrelas e o custo de um alinhamento

´

otimo das seq¨uˆencias. O fatorp/|G|presente na express˜ao ´e o foco do lema a seguir:

Lema 4.7. SeG ´e um conjunto balanceado de l-estrelas, ent˜ao |G|p = (2−l/k).

Prova: Como G ´e um conjunto balanceado de l-estrelas, sabemos que P

G∈GWG = pU de onde decorre que P

G∈GWG ·U = pU ·U. Por argumentos anteriores, sabemos que WG·U = 2 k2

(2−l/k) para todo G∈ G. Naturalmente, U·U = 2 k2

. Como conseq¨uˆencia, 2 k2

(2−l/k)|G|= 2 k2

p e, da´ı,

p

|G| =

2− l k

.

O Teorema 4.6 e o Lema 4.7 nos d˜ao os recursos necess´arios para demonstrar o seguinte corol´ario:

Corol´ario 4.8 (Bafna, Lawler e Pevzner, 1997). Se G ´e um conjunto balanceado de l-estrelas, G ´e uma l-estrela que minimiza a quantiaWG·S(AG) eA ´e um alinhamento

´

otimo das seq¨uˆencias em rela¸c˜ao `a pontua¸c˜ao SP n˜ao-ponderada, ent˜ao U·S(AG) ≤(2− l/k)U·S(A).

4.4 Algoritmo de l-Estrelas 105

Prova: Pelo Lema 4.4, sabemos queG ´e tal queU·S(AG)≤WG·S(AG). Al´em disso, pelo Teorema 4.6 e pelo Lema 4.7, temos queWG·S(AG)≤(2−l/k)U·S(A) e o resultado segue dessas duas desigualdades.

Todo o racioc´ınio do que foi provado at´e agora sugere o algoritmo de aproxima¸c˜ao descrito a seguir para o Problema AVS com pontua¸c˜ao SP.

Algoritmo 4.3l-Estrela(s1, . . . , sk)

Entrada: Seq¨uˆenciass1, . . . , sk sobre um alfabeto Σ fixado.

Sa´ıda: Um alinhamento A de s1, . . . , sk com SP(A) ≤ (2−l/k) SP(A), onde A ´e um alinhamento ´otimo das seq¨uˆencias de entrada.

1: SejaG um conjunto balanceado de l-estrelas comk v´ertices.

2: Fixe uma bije¸c˜ao entre o conjuntoV ={1, . . . , k}e o conjunto {s1, . . . , sk}.

3: para todoG∈ G fa¸ca

4: CalculeAG.

5: Determine A que minimiza WG·AG.

6: DevolvaA.

O Algoritmo l-Estrela possui raz˜ao de aproxima¸c˜ao 2−l/k, de acordo com o Coro-l´ario 4.8. Mas h´a um problema com ele, que ´e o passo de n´umero 1: a enumera¸c˜ao do conjunto G pode ser demorada porque G pode ser muito grande. Na realidade, o conjunto G pode ser de tamanho exponencial em rela¸c˜ao aos dados de entrada, dependendo de como sua escolha ´e feita.

Um exemplo disso ´e o caso em que G ´e tomado como o conjunto de todas as poss´ıveis l-estrelas. Esse conjunto ´e um conjunto balanceado, por simetria, mas, dependendo dos parˆametros l e k, ele pode ser muito grande. O n´umero de poss´ıveisl-estrelas de tamanho k(com r cliques) e fixado o centroc´e igual a

k−1 l−1

k−l

l−1

k−2l+1

l−1

· · · l−1l−1

r! = (k−1)!

[(l−1)!]rr!.

Como existem k possibilidades para o centro c e para cada uma dessas possibilidades h´a o mesmo n´umero del-estrelas (e as possibilidades para cada um dos centros s˜ao diferentes se l < k), segue que, dados l e k com l < k, existem [(l−1)!]k! rr! poss´ıveis l-estrelas com k v´ertices.

Se l=k, al-estrela ´e um grafo completo e para qualquer escolha de centro, asl-estrelas poss´ıveis s˜ao sempre as mesmas e em n´umero igual a (k−1)!/[(k−1)!11!] = 1.

4.4.2.1 O Algoritmo l-Estrela no Caso l= 2

Da mesma forma que o Algoritmo l-Estrela, o algoritmo de Gusfield restringe suas buscas a uma classe de grafos G. No caso particular do algoritmo de Gusfield, os cliques dos grafos considerados (i.e., os grafos de G) possuem tamanho l = 2 e toda aresta ´e uma aresta central. Dessa forma, se G´e uma 2-estrela, a matriz de pesosWG tem entradas da forma:

Wij =

k−l+ 1 =k−1, seij ∈E(G)

0, caso contr´ario. (4.7)

Intuitivamente, dado um v´ertice x 6= c, a aresta xc pertence ao caminho m´ınimo de x a c (que possui tamanho 1) e de x a y, para todo y ∈ V \ {x, c}, isto ´e, xc pertence a

k−1 caminhos m´ınimos deG. Como toda aresta deGtem a formaxc e a afirma¸c˜ao acima vale para qualquer uma das arestas, vemos que a matriz de pesos WG realmente reflete os n´umeros de caminhos m´ınimos a que as arestas deG pertencem.

Observe-se que para cada c ∈ V, existe apenas uma 2-estrela Gc que tem c como centro. O conjunto usado pelo Algoritmo Estrela de Gusfield ´e G = {Gc : c ∈ V}, que cont´em todas as k diferentes l-estrelas e ´e balanceado. Para ver isso, seja Wc,ij a entrada i, j da matriz de pesos deGc e vamos definir W = (Wij) como a matriz soma de pesos W = P

G∈GWG. Ent˜ao a entrada Wij = P

c∈V Wc,ij = 0 = 2(k−1)Uij, se i = j.

Por outro lado, sei6=j, ent˜ao Wij =P

c∈V Wc,ij =Wi,ij+Wj,ij = 2(k−1) = 2(k−1)Uij. Isso deixa claro que o conjunto de todas as 2-estrelas usado pelo Algoritmo de Gusfield ´e balanceado e que o AlgoritmoEstrela´e um caso particular do Algoritmol-Estrela.

Naturalmente, para o caso geral deseja-se que o conjunto G que o algoritmo usa seja o menor poss´ıvel para que o tempo de execu¸c˜ao seja pequeno.

A situa¸c˜ao de encontrar um algoritmo de aproxima¸c˜ao com a raz˜ao de aproxima¸c˜ao de-sejada reduz-se, ent˜ao, a encontrar conjuntos balanceados pequenos. Determinar conjuntos balanceados pequenos parece ser uma tarefa dif´ıcil a menos de para valores particulares de l ek [BLP97].

Um contorno para essa dificuldade consiste em considerar uma fam´ıliaGdel-estrelas que seja balanceada e de tamanho exponencial, mas em que umal-estrela ´otima (que minimize WG·S(AG)) possa ser determinada em tempo polinomial2. Esse ´e o assunto da pr´oxima se¸c˜ao.

No documento Alinhamento de Seq¨uˆencias Biol´ogicas (páginas 119-124)