• Nenhum resultado encontrado

Custo de Comunicação de Grafos e l-Estrelas

No documento Alinhamento de Seqüências Biológicas (páginas 119-124)

4.4 Algoritmo de l-Estrelas

4.4.2 Custo de Comunicação de Grafos e l-Estrelas

Lembremos que, dado um alinhamento A de k seqüências, seu custo SP é definido como SP(A) =P1≤i<j≤kSP(A|i,j). Se definirmos a matrizS(A) de dimensões k×k como S(A) = (SP(A|i,j)) e a matriz U = (Uij), também de dimensões k ×k, de forma que Uij = 0 para i = j e Uij = 1 para i 6= j, então o produto escalar de U por S(A) será U ·S(A) = 2 SP(A). Para simplificar a discussão, 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ção SP é ponderada (ou seja, na situação em que SPW(A) =Pi<jWijSP(A|ij)) para escalares Wij pode também ser representado como um produto escalar de uma matriz simétrica de pesos W = (Wij) pela matriz S(A) porque W ·S(A) = 2 SPW(A). Para nossas intenções, supomos que matrizes de pesos usadas para ponderar pontuações de alinhamentos sejam sempre matrizes simétricas.

Conforme vimos no Capítulo 2, o problema geral de calcular um alinhamento ótimo com pontuação SP ponderada pode também ser resolvido pelo algoritmo de programação dinâmica em tempo O(k22knk).

Dada uma l-estrela G de k vértices com centro c, definimos a matriz WG = (Wij) de dimensões k×kpor

Wij =

kl+ 1, sei6=j e (i=c ouj =c)

1, sei6=c e j6=c e i, j pertencem a um mesmo clique deG 0, caso contrário.

(4.4)

Observe-se que definimos como 0 o peso das “arestas inexistentes” de G. É importante também 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ção “geométrica” tanto para os pesos Wij que definem a matriz WG quanto para a quantiaWG·U.

Definição 4.4 (Distância entre vértices). SeG= (V, E) é um grafo qualquer conexo e não-dirigido, definimos para cada par de vértices x, yV a distância d(x, y) entre os vértices x e y como o número de arestas de um caminhoγ(x, y) de menor comprimento que liga o vértice x ao vérticey.

Para simplificar, supomos que os vértices de G sejam V ={1, . . . , k}.

Definição 4.5 (Custo de Comunicação). O custo de comunicação de G é definido como c(G) =Px<yd(x, y).

Observe-se que como x 6= yd(x, y) ≥ 1, então fixado um número de vértices k, o grafo completoHkdekvértices é o grafo com menor custo de comunicação dentre os grafos com kvértices e seu custo de comunicação é c(Hk) =Px<yd(x, y) =Px<y1 = k2.

Definição 4.6 (Custo de comunicação normalizado). Define-se o custo de comunicação normalizado b(G) do grafoGde kvértices como a relação entre o custo de comunicação de Ge o custo de comunicação de Hk, de modo que b(G) =c(G)/c(Hk) =c(G)/ k2.

Fixemos uma família Γ(G) ={γ(x, y) : x, yV} de caminhos de menor comprimento para cada par de vértices x, yV, de maneira que Γ(G) contenha exatamente 1 caminho entre cada par de vértices de G. Se Γe(G) = {γ ∈ Γ(G) : eγ}, é simples de constatar que o custo c(G) =Pe∈Ee(G)|, onde naturalmente |Γe(G)|é o número de caminhos da família Γ(G) que contém a arestae.

No caso particular em queGé uma l-estrela, há apenas uma família Γ(G) de caminhos de menor comprimento de G e os pesos Wxy que definimos acima na matriz WG são 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ção normalizado de umal-estrela dekvértices é b(G) = 2l/k.

Um resultado que é importante para provar a garantia do algoritmo de aproximação de Bafna, Lawler e Pevzner é o lema que apresentamos a seguir.

Lema 4.4 (Delimitação superior para U ·S(A)). Se A é um alinhamento qualquer entre as seqüências s1, . . . , sk e G é uma l-estrela com |V|=k cujos vértices são rotulados pelas seqüências de A, então U·S(A)WG·S(A).

Prova: SejaHk o grafo completo com kvértices e para cada aresta eE(Hk), definimos o peso de e como 1. Nessa situação, a matriz U pode ser interpretada como uma matriz de pesos WHk de Hk da maneira definida pela equação (4.4) onde os valores da diagonal principal de WHk são definidos como 0 e, trivialmente, U ·S(A) = WHk ·S(A). Isso ocorre porque o grafo Hk é trivialmente um clique de tamanho l = k e qualquer um de seus vértices pode ser escolhido como o vértice central (esta escolha arbitrária ocorre pela simetria existente entre os vértices) e a definição dada deWGpara umal-estrelaGtambém se aplica para este caso.

Para o resultado, vamos descrever uma seqüência de operações que definem uma seqüên-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üência,m= (k−l)(k−1)/2.

Em outras palavras, a seqüência de operações define uma seqüência de grafos de custo de comunicação não-decrescente com o primeiro grafo sendo o grafo completo e o último grafo sendo al-estrela G.

O processo é o seguinte. Seja xy uma aresta de Gi que tenha peso positivo e que não esteja presente nal-estrelaG(isto é,xey pertencem 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 é o vértice central de G) com peso incrementado de 1 unidade em relação 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ão

“removidas” em relação ao grafo completo Hk.

Com isso, WGi+1·S(A)WGi·S(A) = (WGi+1WGiS(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üência, vale queWGi·S(A)≤ WGi·S(A). O processo é repetido até que o grafo Gseja obtido pela “remoção” 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á provado.

Os Lemas 4.3 e 4.4 possuem uma conexão, conforme diz o próximo lema:

Lema 4.5 (Alinhamento ótimo baseado em umal-estrela). SejaG umal-estrela com cada um de seus vértices rotulado por uma seqüência única dentres1, . . . , ske sejaWGa matriz de

4.4 Algoritmo de l-Estrelas 103

pesos deG. SejamW1, . . . , Wras submatrizes deWGcorrespondentes aos cliques1, . . . ,r e sejam A1, . . . , Ar alinhamentos ótimos das seqüências dos cliques1, . . . ,r ponderados porW1, . . . , Wr, respectivamente. Então, o alinhamentoAconstruído porJunta(A1, . . . , Ar) é um alinhamento ótimo em relação à pontuaçãoSP ponderada por WG.

Prova: Para provar o resultado, vejamos inicialmente que a pontuação SP ponderada por WG deA é

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é 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ótese sabemos que Ai é um alinhamento ótimo, então para qualquer ali-nhamento A0 das k seqüências temos que a projeção A0|Ω

i de A0 na direção de Ωi satisfaz Wi·S(Ai)≤Wi·S(A0|Ω

i) e, como conseqüência, WG·S(A) =

r

X

i=1

Wi·S(Ai)≤

r

X

i=1

Wi·S(A0|Ωi)

= WG·S(A0),

em que a última igualdade justifica-se por (4.6) ser válida para um alinhamento qualquer e não apenas para o resultado de Junta, uma vez que nenhuma propriedade intrínseca de tal alinhamento é necessária, de forma que (4.6) vale também paraA0.

Como A0 é arbitrário, o alinhamento A devolvido pelo Algoritmo Junta é ótimo em relação à pontuação SP ponderada porWG, como desejávamos mostrar.

Para facilitar a memorização, vamos denotar daqui em diante o alinhamento ótimo em relação aos pesosWG porAG.

É claro que, após as seqüências s1, . . . , sk estarem associadas a vértices 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ção 4.7 (Conjunto Balanceado de l-Estrelas). Seja G um conjunto de l-estrelas sobre o conjunto de vértices V = {1, . . . , k}. Dizemos que G é um conjunto balanceado sePG∈GWG =pU, para algum escalarp.

Intuitivamente, um conjunto balanceado del-estrelas é um conjunto que possuil-estrelas em disposições suficientes para que, quando uma bijeção entre as seqüênciass1, . . . , 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ão tem excesso de algum determi-nado tipo del-estrelas (digamos, conter apenas estrelas que tenham um dado vértice fixado como centro) em detrimento de outros tipos: todos tipos são representados eqüitativamente.

Assim, se houver uma bijeção entre as seqüênciass1, . . . , ske os vérticesV ={1, . . . , k}, um conjunto de l-estrelas balanceado sobre V representará alinhamentos entre várias das diferentes disposições dadas pelos alinhamentos ótimos.

Teorema 4.6. Se G é um conjunto balanceado de l-estrelas, então 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ção é baseado no fato de que a média de uma coleção de números é pelo menos igual ao menor dos números.

Com isso em mente, minG∈GWG·S(AG)≤ |G|1 PG∈GWG·S(AG). Mas comoAGé ótimo em relação aos pesosWG pelo Lema 4.5, segue que |G|1 PG∈GWG·S(AG) ≤ |G|1 PG∈GWG· S(A), para um alinhamento A fixado qualquer. Mas o segundo membro da desigualdade pode ser reescrito como |G|1 PG∈GWG·S(A) = |G|1 (PG∈GWGS(A) = |G|p U ·S(A). Disso conclui-se que minG∈GWG·S(AG)≤ |G|p U·S(A).

Como o alinhamento A é arbitrário, a afirmação anterior é válida, em particular, para o alinhamento ótimo A das seqüências s1, . . . , sk com função objetivo igual à pontuação SP simples (não-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 é um resultado bastante importante pois ele fornece uma relação en-tre o custo de um alinhamento ponderado ótimo paral-estrelas e o custo de um alinhamento ótimo das seqüências. O fatorp/|G|presente na expressão é o foco do lema a seguir:

Lema 4.7. Se G é um conjunto balanceado de l-estrelas, então |G|p = (2−l/k).

Prova: Como G é um conjunto balanceado de l-estrelas, sabemos que PG∈GWG = pU de onde decorre que PG∈GWG ·U = pU ·U. Por argumentos anteriores, sabemos que WG·U = 2 k2(2−l/k) para todoG∈ G. Naturalmente,U·U = 2 k2. Como conseqüência, 2 k2(2−l/k)|G|= 2 k2pe, daí,

p

|G| =

2− l k

.

O Teorema 4.6 e o Lema 4.7 nos dão os recursos necessários para demonstrar o seguinte corolário:

Corolário 4.8 (Bafna, Lawler e Pevzner, 1997). Se G é um conjunto balanceado de l-estrelas,G é uma l-estrela que minimiza a quantia WG·S(AG) e A é um alinhamento ótimo das seqüências em relação à pontuação SP não-ponderada, então U ·S(AG)≤(2− l/k)U·S(A).

Prova: Pelo Lema 4.4, sabemos queG é tal queU·S(AG)≤WG·S(AG). Além 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.

4.4 Algoritmo de l-Estrelas 105

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

Entrada: Seqüênciass1, . . . , sk sobre um alfabeto Σ fixado.

Saída: Um alinhamento A de s1, . . . , sk com SP(A) ≤ (2−l/k) SP(A), onde A é um alinhamento ótimo das seqüências de entrada.

1: SejaG um conjunto balanceado de l-estrelas comk vértices.

2: Fixe uma bijeção entre o conjuntoV ={1, . . . , k}e o conjunto {s1, . . . , sk}.

3: para todoG∈ G faça

4: CalculeAG.

5: Determine A que minimiza WG·AG.

6: DevolvaA.

Todo o raciocínio do que foi provado até agora sugere o algoritmo de aproximação descrito a seguir para o Problema AVS com pontuação SP.

O Algoritmo l-Estrela possui razão de aproximação 2−l/k, de acordo com o Coro-lário 4.8. Mas há um problema com ele, que é o passo de número 1: a enumeração do conjunto G pode ser demorada porque G pode ser muito grande. Na realidade, o conjunto G pode ser de tamanho exponencial em relação aos dados de entrada, dependendo de como sua escolha é feita.

Um exemplo disso é o caso em que G é tomado como o conjunto de todas as possíveis l-estrelas. Esse conjunto é um conjunto balanceado, por simetria, mas, dependendo dos parâmetros l e k, ele pode ser muito grande. O número de possíveisl-estrelas de tamanho k(com r cliques) e fixado o centrocé 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á o mesmo número del-estrelas (e as possibilidades para cada um dos centros são 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értices.

Se l=k, al-estrela é um grafo completo e para qualquer escolha de centro, asl-estrelas possíveis são sempre as mesmas e em número 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 tamanhol = 2 e toda aresta é uma aresta central. Dessa forma, se G é uma 2-estrela, a matriz de pesosWG tem entradas da forma:

Wij =

( kl+ 1 =k−1, seijE(G)

0, caso contrário. (4.7)

Intuitivamente, dado um vértice 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 yV \ {x, c}, isto é, xc pertence a k−1 caminhos mínimos deG. Como toda aresta deGtem a formaxc e a afirmação acima vale para qualquer uma das arestas, vemos que a matriz de pesos WG realmente reflete os números de caminhos mínimos a que as arestas deG pertencem.

Observe-se que para cada cV, existe apenas uma 2-estrela Gc que tem c como centro. O conjunto usado pelo Algoritmo Estrela de Gusfield éG = {Gc : cV}, que contém todas as k diferentes l-estrelas e é balanceado. Para ver isso, sejaWc,ij a entrada i, j da matriz de pesos de Gc e vamos definir W = (Wij) como a matriz soma de pesos W =PG∈GWG. Então a entrada Wij =Pc∈V Wc,ij = 0 = 2(k−1)Uij, sei=j. Por outro lado, sei6=j, então Wij =Pc∈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 é balanceado e que o Algoritmo Estrelaé 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ção seja pequeno.

A situação de encontrar um algoritmo de aproximação com a razão de aproximação de-sejada reduz-se, então, 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 ótima (que minimize WG·S(AG)) possa ser determinada em tempo polinomial2. Esse é o assunto da próxima seção.

No documento Alinhamento de Seqüências Biológicas (páginas 119-124)