MO640 – Biologia Computacional
Ata de Aula (22/11/2004)
Autor: José Augusto Amgarten Quitzau - RA962569.

Aula baseada no artigo:
DFM 2004 - DIAS, Z; FORTUNA, V.; MEIDANIS, J. Sorting by Prefix Transposition. Submetido para publicação (2004).


Definições

Genoma Arbitrário formado por n genes
Um genoma arbitrário formado por n genes será representado como uma permutação π = [π(1), π(2), …, π(n)] onde cada elemento de π representa um gene. O genoma identidade ιn é definido como ιn = [1, 2, …, n].
Transposição
Uma transposição τ(x, y, z), onde 1 ≤ x < y < zn+1, é um evento de rearranjo que transforma π no genoma τπ = [π(1), …, π(x - 1), π(y), &hellip, π(z - 1), &pi(x), …, π(y - 1), π(z), …, π(n)].
Transposição de Prefixo
Uma transposição de prefixo τ(1, x, y), onde 1 < x < yn+1, é um evento de rearranjo que transforma π no genoma τπ = [π(x), …, π(y - 1), π(1), &hellip, π(x - 1), &pi(y), …, π(n)].
Distância de Transposição
Dados dois genomas π e σ, definimos a distância de transposição d(π, σ) entre estes dois genomas como sendo o menor número de transposições necessário para transformar π em σ, ou seja, o menor r tal que existam transposições τ1, τ2, …, τr com τr…τ2τ1π = σ. Chamamos distância de ordenação por transposições, d(π), a distância de transposição entre os genomas π e ιn, ou seja, d(π) = d(π, ιn).
Distância de Transposição de Prefixo
Dados dois genomas π e σ, definimos a distância de transposição de prefixo dp(π, σ) entre estes dois genomas como sendo o menor número de transposições de prefixo necessário para transformar π em σ, ou seja, o menor r tal que existam transposições de prefixo τ1, τ2, …, τr com τr…τ2τ1π = σ. Chamamos distância de ordenação por transposições de prefixo, dp(π), a distância de transposição de prefixo entre os genomas π e ιn, ou seja, dp(π) = dp(π, ιn).
Breakpoint
Um breakpoint para o problema de transposição de prefixos é uma posição i de uma permutação π tal que π(i)-π(i-1) ≠ 1, e 2 ≤ in. Por definição, a posição 1 (início da permutação) é sempre considerada um breakpoint. A posição n+1 (fim da permutação) é considerada um breakpoint quando &pi(n) ≠ n. Denotamos por bp(π) o número de breakpoints de um permutação.

Nota: O texto chama a atenção para o fato de a definição de breakpoint usada neste contexto diferir um pouco da usada normalmente na literatura, uma vez que aqui a posição 1 é sempre considerada um breakpoint.

Strip
Uma strip é uma subseqüência π(i..j) de π, ij, tal que i e j+1 são breakpoints e não há nenhum outro breakpoint entre estas posições.
Δbp
Dada uma permutação π e uma transposição de prefixo τ, definimos Δbp(π, τ) como a variação no número de breakpoints causada pela operação τ, isto é, &Deltabp(π, τ) = bp(τπ)-bp(π).


Lemas e Teoremas Importantes

Lema 3.2
Para qualquer transposição τ(x, y, z) existem transposições de prefixo &tau1(1, r, s) e &tau2(1, t, u) tais que τ2τ1π = τπ.
Lema 3.3
Qualquer algoritmo de aproximação de fator k para o problema da distância de transposição pode ser transformado em um algoritmo de aproximação de fator 2k para o problema da distância de transposição de prefixo.
Lema 3.9
Dada a permutação π≠ιn, onde n=|π|, sempre é possível obter uma transposição de prefixo τ tal que Δbp(π, τ) ≤ -1.
Lema 3.10
Seja π uma permutação com bp(&pi) = 3, então dp(π) = 1.
Teorema 3.12
Para toda permutação π diferente da identidade temos ⌈(bp(π)-1)/2⌉ ≤ dp(π) ≤ bp(π)-2.
Teorema 3.13
Qualquer algoritmo que produza transposições de prefixo de acordo com os Lemas 3.9 e 3.10 é um algoritmo de aproximção de fator 2 para o problema da distância de transposição de prefixo.
Lema 3.14
Seja π uma permutação arbitrária e dp(π)=k sua distância de transposição de prefixo. Então existe uma seqüência ótima de transposições de prefixo τ1, …, τk, tal que τk…τ1π = ιn, onde n = |π|, e Δbpi-1…τ1π, τi) ≤ 0 para cada 1 ≤ ik.


Discussões em Sala de Aula

Qual o resultado principal do artigo?
Apresentação de dois algoritmos de aproximação para o problema da distância de transposição de prefixo. Um com fator de aproximação 3 e outro com fator de aproximação 2.
O que é o fator de aproximação de um algoritmo?
Existem problemas de otimização que se sabe que são NP-Difíceis, o que significa que ninguém conhece um algoritmo que resolva o problema em tempo polinomial. No entanto, em alguns casos é possível determinar um algoritmo polinomial cujo maior desvio possível da solução ótima pode ser determinado. Imaginemos um problema de minimização de um valor X associado à cada resposta possível. Se conseguirmos provar que um algoritmo polinomial fornece uma resposta para a qual o valor associado não ultrapasse 1,5 vezes o valor mínimo para X, então temos na verdade uma 1,5-aproximação para o problema, ou seja, um algoritmo cujo fator de aproximação é 1,5. No caso de problemas de minimização, normalmente se prova que o algoritmo é uma k-aproximação para o problema determinando-se um limite inferior i para o valor minimizado e um limite superior s para o valor da resposta encontrada pelo algoritmo, desta forma podemos determinar k=s/i.
Em que se baseia o algoritmo de aproximação de fator 3?
O algoritmo de aproximação de fator 3 se baseia no fato de já existir um algoritmo de aproximação de fator 3/2 para o problema da distância de transposição. Pelo Lema 3.3, este algoritmo pode ser transformado em um algoritmo de aproximação de fator 3 para a distância de transposição de prefixo.
Em que se baseia o algoritmo de aproximação de fator 2?
O algoritmo de aproximação de fator 3 se baseia no Teorema 3.13, pois ele utiliza a transposição de prefixo da prova do Lema 3.9 para criar uma série de transposições de prefixo de acordo com os Lemas 3.9 e 3.10.

A transposição de prefixo τ da prova do Lema 3.9 é a seguinte: Sejam π&neιn uma permutação, onde n=|π|, e k o último elemento da primeira strip de π. Se k<n, τ=τ(1, π-1(k)+1, π-1(k+1)). Se k=n, τ=τ(1, π-1(k)+1, n+1). A Figura 1 exemplifica uma série de transposições que ordena π=[2 8 7 3 9 5 4 1 6].

Figura 1: Exemplo de ordenação por transposições de prefixo da permutação π=[2 8 7 3 9 5 4 1 6]. O primeiro bloco da transposição é destacado por um traço vermelho, enquanto o segundo bloco da transposição por prefixo é marcado com um traço azul. Breakpoints são marcados de duas maneiras: setas marcam a posição do breakpoint, tal como na definição, enquanto linhas tracejadas marcam os pontos de quebra do genoma.