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 =
k−l+ 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, y ∈V 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= y ⇒ d(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, y∈ V} de caminhos de menor comprimento para cada par de vértices x, y∈V, 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∈E|Γe(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) = 2−l/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 e∈E(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+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üê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 cliquesΩ1, . . . ,Ωr e sejam A∗1, . . . , A∗r alinhamentos ótimos das seqüências dos cliques Ω1, . . . ,Ωr ponderados porW1, . . . , Wr, respectivamente. Então, o alinhamentoAconstruído porJunta(A∗1, . . . , A∗r) é 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 cadaA∗i, tem-se que, para todoi= 1, . . . , r,
2 X
xy∈E(Ωi)
WxyS(A|xy) = 2 X
xy∈E(Ωi)
WxyS(A∗i|xy) =Wi·S(A∗i).
Logo,
WG·S(A) =
r
X
i=1
Wi·S(A∗i).
Como por hipótese sabemos que A∗i é 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(A∗i)≤Wi·S(A0|Ω
i) e, como conseqüência, WG·S(A) =
r
X
i=1
Wi·S(A∗i)≤
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 A∗i 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∈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 é 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 =
( k−l+ 1 =k−1, seij ∈E(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 y ∈ V \ {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 c ∈ V, existe apenas uma 2-estrela Gc que tem c como centro. O conjunto usado pelo Algoritmo Estrela de Gusfield éG = {Gc : c ∈ V}, 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.