• Nenhum resultado encontrado

5.2 Busca em Vizinhança Variável para o Problema da Grande Filogenia

5.3.2 Experimentos para o Problema da Grande Filogenia

Os resultados dos experimentos prévios nos deram informação valiosa para escolher o otimizador que vai ser usado como padrão por HELPHY para solucionar ou o problema da grande filogenia ou o problema da pequena filogenia. De fato, o otimizador Greedy- Opt é mais rápido que Kovac-Opt e portanto é a opção que será usada como padrão ao lidar com o problema da grande filogenia, devido a que tem que ser explorado um espaço de busca exponencial formado por estruturas de árvores. No entanto, quando lidamos com o problema da pequena filogenia o principal objetivo é reduzir o escore para uma determinada estrutura de árvore, e neste caso a opção padrão é o otimizador Kovac- Opt. Ambos otimizadores são iterados por padrão dez vezes para o problema da pequena filogenia, e executados só uma vez para o problema da grande filogenia.

Experimento 2. Para explorar o espaço de busca e encontrar uma estrutura com o melhor escore possível, o seguinte experimento foi realizado para cada dataset:

• Executar HELPHY 50 vezes para o problema da grande filogenia e salvar as estrutura das árvores respectivos escores (reversões ou operações DCJ).

• Escolher aquelas estruturas de árvores com os melhores escores.

Experimento 3. Depois de encontrar um conjunto de estruturas de árvores com bons escores, o seguinte experimento foi realizado para cada distância (DCJ ou DCJ com restrições) e para cada aŕvore com o objetivo de reduzir seus escores:

• Executar HELPHY 50 vezes para o problema da pequena filogenia e salvar o melhor escore encontrado (DCJ ou DCJ com restrições).

A Tabela 5.5 mostra o resultado dos Experimentos 2 e 3 para o dataset Campanula-

ceae. Na segunda coluna aparece o escore das melhores árvores encontradas (com 64 e

65 reversões) para o problema da filogenia grande (Experimento 2). A terceira e quarta colunas mostram os escores (DCJ e DCJ com restrições) encontrados por HELPHY para o Experimento 3. Note que duas árvores (Arv32 e Arv33) foram encontradas tendo os melhores escores: 64 reversões, 59 operações DCJ, e 62 operações DCJ com restrições. Estes resultados são iguais àqueles encontrados pelo software PIVO usando a estrutura da árvore encontrada pelo software MGR [19].

Tabela 5.5: Árvores (e Escores) Encontrados por HELPHY para o Problema da Grande (e Pequena) Filogenia usando o Dataset Campanulaceae

Grande Filogenia Pequena Filogenia Pequena Filogenia (Reversões) (DCJ) (DCJ com restrições)

Arv32 64 59 62 Arv33 64 59 62 Arv40 64 59 63 Arv1 65 59 62 Arv11 65 61 63 Arv12 65 60 65 Arv18 65 61 62 Arv26 65 61 63 Arv27 65 61 63 Arv28 65 61 63 Arv38 65 61 63 Arv6 65 61 63

A Tabela 5.6 mostra o tempo de execução do software HELPHY para os experimentos realizados para gerar a Tabela 5.5. O software HELPHY demorou só 1.27 minutos para encontrar três árvores com um escore de 64 reversões e nove árvores com um escore de 65 reversões. Quando lidamos com a distância de reversão o software HELPHY usa o algoritmo que iterativamente soluciona instâncias do problema da mediana para encontrar o escore de uma determinada árvore. A rotina para solucionar o problema da mediana para reversões foi tomada do software GRAPPA. Para o problema da pequena filogenia o software HELPHY demorou 66.04 minutos e 70.52 minutos para a distância DCJ e DCJ com restrições respectivamente. O tempo total gasto para analisar o dataset Campanulaceae foi de 137.83 minutos (2.29 horas).

A Tabela 5.7 mostra os resultados do Experimento 2 e 3 para o dataset Hemiascomy-

Tabela 5.6: Tempo de Execução de HELPHY para os Problemas da Grande e Pequena Filogenia usando o Dataset Campanulaceae

Tempo (minutos)

Grande Filogenia (Reversões) 1.27

Pequena Filogenia (DCJ) 66.04

Pequena Filogenia (DCJ com restrições) 70.52

Total 137.83

(76, 77, e 78 operações DCJ) para o problema da grande filogenia (Experimento 2). A terceira e quarta colunas mostram o escore (DCJ e DCJ com restrições) encontrados por HELPHY para o problema da pequena filogenia (Experimento 3). Foi encontrada uma ár- vore (Arv4) com os seguintes melhores escores: 73 operações DCJ e 76 operações DCJ com restrições (ver Figura 5.1). Esta árvore tem melhores escores que aquelas árvores encontradas por PIVO2 (e PIVO) para a estrutura da árvore encontrada usando MrBayes.

Tabela 5.7: Árvores (e Escores) Encontrados por HELPHY para o Problema da Grande (e Pequena) Filogenia usando o Dataset Hemiascomycetes

Grande Filogenia Pequena Filogenia Pequena Filogenia

(DCJ) (DCJ) (DCJ com restrições) Arv48 76 76 82 Arv5 77 76 84 Arv20 77 75 77 Arv30 77 73 80 Arv4 78 73 76 Arv11 78 76 79 Arv22 78 74 80 Arv42 78 75 78 Arv44 78 76 79

A Tabela 5.8 mostra o tempo de execução de HELPHY para os experimentos realizados para gerar a Tabela 5.7. HELPHY demorou 38.37 minutos para encontrar uma árvore com escore de 76 operações DCJ, três árvores com escore de 77 operações DCJ, e cinco árvores com escore de 78 operações DCJ. Para o caso do problema da pequena filogenia, HELPHY demorou 19.34 minutos e 20.73 minutos para as distâncias DCJ e DCJ com restrições respectivamente. O tempo total gasto para analisar o dataset Hemiascomycetes foi de 78.44 minutos (1.31 horas).

Figura 5.1: Árvore filogenética do dataset Hemiascomycetes (Arv4 da Tabela 5.7) encon- trada pelo software HELPHY.

Tabela 5.8: Tempo de Execução de HELPHY para os Problemas da Grande e Pequena Filogenia usando o Dataset Hemiascomycetes

Tempo (minutos)

Grande Filogenia (DCJ) 38.37

Pequena Filogenia (DCJ) 19.34

Pequena Filogenia (DCJ com restrições) 20.73

Sumário do Capítulo:

Neste capítulo foram apresentados dois algoritmos para os problemas da pequena e grande filogenia. A primeira abordagem é gulosa e é usada para resolver o problema da pequena filogenia. Experimentos mostraram que esta abordagem tem tempos de execução menores que a abordagem de programação dinâmica proposta por Kováč et al. [51], mas perde precisão nos resultados. A segunda abordagem é baseada na meta-heurística de busca em vizinhança, para resolver o problema da grande filogenia. Experimentos com o dataset Campanulaceae mostraram que podem ser encontradas árvores filogenéticas com bons escores (distância de reversão) como os encontrados na literatura, em só 1.27 minutos. Logo, para o caso do dataset Hemiascomycetes, experimentos deram como resultado uma nova árvore diferente daquela usada na literatura e com um melhor escore.

Capítulo 6

Conclusões e Trabalhos Futuros

6.1

Conclusões

Em este trabalho foram propostos novos algoritmos evolutivos para o problema de orde- nação de permutações (sem sinal) por reversões: especificamente foram propostos algo- ritmos paralelos (AG-Paralelo), AG com busca local (AM), AM com busca por oposição (AMBO), e AM híbrido com busca por oposição (AMBO-Híbrido). Também foi proposto um software chamado HELPHY para construir árvores filogenéticas usando como entrada dados baseados na ordem dos genes (permutações com sinal). Nesse software foi imple- mentada uma abordagem gulosa para o problema da pequena filogenia, e uma abordagem baseada em busca em vizinhança variável para o problema da grande filogenia.

Com respeito aos algoritmos evolutivos para o problema de ordenação de permutações por reversões temos o seguinte: o AG-Paralelo usa um modelo de execuções independentes (independet runs, ver [80]); a busca local do AM é embutida nas etapas de geração e reiní- cio da população; a heurística de busca por oposição do AMBO, também é embutida nas etapas de geração e reinício da população. A última heurística usada em AMBO-Híbrido, consiste numa fase de pré-processamento da permutação de entrada onde são aplicadas reversões que eliminam dois pontos de quebra até que não possa ser mais aplicada esta heurística.

Experimentos foram realizados com permutações geradas de diferentes formas, e para que as comparações entre algoritmos sejam justas os mesmos recursos computacionais foram atribuídos a todos os algoritmos: o mesmo tamanho de população e o mesmo número de avaliações da função de aptidão.

Dos experimentos usando conjuntos de cem permutações (geradas aleatoriamente) temos que AMBO e AMBO-Híbrido têm os melhores resultados para permutações de comprimento até 120, estas instâncias podem ser consideradas como casos práticos, visto que o maior número de genes mitocondriais que foi encontrado é tamanho 97 que se

corresponde com o DNA mitocondrial do protozoário Reclinomonas americana (ver [28]). Para permutações de comprimento ≥ 130, os melhores resultados foram obtidos por AG- SA e AG-Híbrido.

Dos experimentos com permutações benchmarks temos que os resultados confirmaram aqueles obtidos com conjuntos de cem permutações: AMBO e AMBO-Híbrido são a melhor escolha para casos práticos. Para os benchmarks de comprimento 50 (1RPL50 e 2RPL50), AMBO-Híbrido e AMBO mostraram os melhores resultados para a média, respectivamente. Para os benchmarks de comprimento 100 (1RPL100 e 2RPL100) AMBO mostrou os melhores resultados para a média, respectivamente. Para os benchmarks de comprimento 150 (1RPL150 e 2RPL150), AG-Híbrido e AG-SA mostraram os melhores resultados para a média.

Dos experimentos com permutações baseadas em dados biológicos temos que para todos os casos AMBO teve os melhores resultados, em 5 de 9 casos todos os algoritmos tiveram os mesmos resultados, e em 3 de 9 casos AG-SA não teve os melhores resultados em alguma das medidas.

Tomando como base todos os resultados dos experimentos podemos concluir que AMBO e AMBO-Híbrido são algoritmos adequados para calcular a distância de rever- são de permutações sem sinal de comprimento até 120, os quais podem ser considerados casos de interesse prático. Assim, já que sabemos o tamanho da entrada a priori, o método que melhor se ajuste aos nossos interesses pode ser escolhido. Também, os resultados dos experimentos nos quais usamos os mesmos recursos para todos os algoritmos, mostraram que o AG-Paralelo só fornece melhores resultados quando o tamanho da população é in- crementado (ver [79, 74]), o que deveria acontecer com todos os algoritmos. De fato, o AG-Paralelo usa um modelo de execuções independentes ou modelo de ilha sem migração cuja contribuição real é restrita a melhorar o speed-up da sua versão sequencial (AG-SA), como visto na discussão do Capitulo 4. Um próximo passo seria explorar outros modelos de paralelização como aqueles com políticas de migração sobre diferentes topologias (ver [80]), não somente para o AG-Paralelo mas também para versões paralelas de AMBO e AMBO-Híbrido.

Com respeito à construção de aŕvores filogenéticas, dois casos importantes da lite- ratura foram abordados: os datasets Campanulaceae e Hemiascomycetes. Os resultados dos experimentos mostraram que a abordagem gulosa melhora o tempo de execução com respeito à abordagem por programação dinâmica (proposta por Kováč et al. [51]), mas perde acurácia. Baseada nestes resultados a abordagem gulosa foi usada como padrão (caso da distância DCJ) para avaliar o custo das árvores para o problema da grande filo- genia, e a abordagem de programação dinâmica foi usada como padrão (caso da distância DCJ) para o problema da pequena filogenia. Para o caso da distância de reversão foi

usado o algoritmo iterativo apresentado por Blanchette et al. [16] para avaliar o custo da estrutura de uma árvore, o qual usa como sub-rotina o algoritmo proposto por Caprara para o problema da mediana (tomado do software GRAPPA).

O software HELPHY mostrou que é adequado para analisar datasets usando as distâncias de revesão e DCJ. No caso do dataset Campanulaceae o tempo de execução foi melhorado a só 1.27 minutos para descobrir três árvores de escore 64 reversões e nove árvores de escore 65 reversões, já que o melhor tempo de execução encontrado na literatura [56] foi de uma hora para encontrar várias árvores de escore 64 reversões. Para o caso do dataset Hemiascomycetes, tomou um tempo de execução razoável de 38.37 minutos para encontrar uma árvore de escore 76 operações DCJ, três árvores de escore 77 operações DCJ, e cinco árvores de escore 78 operações DCJ. No entanto, para reduzir estes escores foi necessário executar HELPHY para o problema da pequena filogenia, incrementando o tempo de execução total a 1.31 horas, mas melhorando o escore das árvores, com uma delas tendo um escore de 73 operações DCJ (e 76 operações DCJ restritas); esta estrutura encontrada para o dataset Hemiascomycetes é diferente (e com melhores escores) daquela encontrada pelo programa MrBayes em [48] com escores de 75 operações DCJ (e 77 operações DCJ restritas) encontrados pelo software PIVO2 [48].