algoritmo evolutivo para filogenia palestrante: alexandre c. b. delbem instituto de ciências...

32
Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

Palestrante: Alexandre C. B. Delbem

Instituto de Ciências Matemáticas e da ComputaçãoUniversidade de São Paulo

ICMC-USP

Page 2: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Resumo– Filogenia– Métodos Convencionais de Filogenia– Algoritmos Evolutivos para Filogenia– Perspectivas para AEs em Filogenia– Conclusões

Page 3: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Taxonomia– Identificação de classificação de organismos

● Filogenia– História evolutiva de uma espécie ou grupo de

organimos● Sistemática

– Estudo da diversidade biológica em um certo contexto evolutivo

– Conecta a diversidade biológica à filogenia

Page 4: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Classificação da Biodiversidade

– Fenética● Taxonomia númerica● Agrupa espécies baseada em similaridades genéticas ou

fenótipicas– Árvore construída: fenograma– Ex.: métodos baseados em distâncias genéticas

– Cladística● Sistemática Filogenética● Baseada em clados

– Representação gráfica de um grupo monofilético (constituído por um ancestral e todos os seus descendentes)

● Árvore construída: cladograma

Page 5: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Problema de determinação de árvores filogenéticas– Encontrar a melhor árvore que melhor descreve a

relação entre um conjunto de objetos (espécies ou táxons)

Cenoura Baleia Chimpanzé Humano

Page 6: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Táxons e Complexidade– 3 árvores possíveis para 4 táxons

– Para 5 táxons?

Page 7: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Táxons e Explosão Combinatorial

Page 8: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Tipos de Classificação– Métodos Baseados em Distância

● Requer definição de uma distância entre objetos– Métodos Baseados em Características

● Uma propriedade discreta de um objeto– Unicelulares (todas as espécies são unicelulares or multicelulares)

– Cor de olho (cinza, azul, verde, marrom, nenhuma), etc. – Bases– Aminoácidos

– Métodos Probabilísticos (Máxima Verossimilhança)

● Baseado na probabilidade de uma árvore explicar o conjunto dos objetos

Page 9: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Métodos de Distância– A distância evolutiva é calculada para todos os pares

de táxons– Matriz de Distâncias– A árvore filogenética é construída considerando a

relação entre esses valores de distâncias

Page 10: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Métodos de Distância– UPGMA - Unweight Pair-Group Method using an

Arithmetic Average● Par de elementos com menor distância na matriz● Processo de cluterização

– Mínimos Quadrados● Árvore com menor R = (dij - eij)2,

● dij - distância observada● eij - distância esperada

● R deve ser calculado para todas as topologias

Page 11: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Métodos de Distância

– Evolução Mínima● Soma de todos os comprimentos de ramos para cada árvore● Examinar todas as árvores ● Escolher a árvore de menor soma

– NJ - Neighbor Joining● Princípio de mínima evolução a cada estágio de

ramificação– A distância entre cada par de espécies é a soma dos comprimentos

dos ramos que os unem na árvore– Identifica o par mais próximo

● Agrupados por um nó interior ● Não examina todas as possíveis árvores

Page 12: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Métodos de Clusterização (UPGMA & NJ)– Rápidos

● Podem analisar conjuntos com muitos táxons

– Similaridade e relação evolutiva não são equivalentes● Clusterização por similaridade pode não produzir uma

árvore evolutiva● Não pode ser utilizado para análise de características● Não é bom para encontrar a melhor árvore

Page 13: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Métodos com Critério de Ótimo– Mínimos Quadrados– Evolução Mínima– Parsimônia

● A melhor árvore tem o menor número total de alterações (eventos evolutivos) para todos os sítios

● Simples e intuitivo

● Pode ser enganado por altos níveis de homoplasias

Page 14: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Métodos com Critério de Ótimo– Máxima Verossimilhança

● Determina-se a probabilidade de um modelo evolutivo gerar um certo dado

– Considera todos os sítios e todas as possibilidades de mutações em todos os nós internos da árvore proposta

● Multiplica-se a probabilidade de cada sítio– Probabilidade da árvore

● Pode ser utilizado para análises de características e de valores

● Mais consistente e com estimativas com menor variância ● Não é simples e intuitivo● Computacionalmente intenso● Pode ser enganado por altos níveis de homoplasias

Page 15: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

Leat Squares

(Characters)

Page 16: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Outros Algoritmos de Busca– Branch and Bound

● testa todas possibilidades minimizando os caminhos da raiz às folhas

– Branch Swapping● Restrutura a árvore obtida procurando uma melhor (podas e

enxertos)

– Divide and Conquer ● Divide n táxons em subconjuntos (subproblemas) Si● Encontra as melhores sub-árvores por Si e as combina em uma

Page 17: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Buscas Estocásticas– Simulated Annealing– Multistarted Hillclimbing (Bootstrapping)– Evolutionary Algorithms

● Pode ser capaz de combinar características de todas as estratégias anteriores em uma única de forma sistematizada

– Aleatoriedade– Bootstraping– Restruturação de árvores (branch swapping)– Otimização de subconjuntos (divide and conquer) – Pode conciliar mais de um dos critérios de árvore ótima apresentado– Etc.

Page 18: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Artigo Escolhido● Gaphyl: A Genetic Algorithm Approach to Cladistics

● Congdon, C. B. ● Principles and Practice of Knowledge Discovery in Databases (PKDD

2001), Freiburg, Germany, September, 2001. In L. DeRaedt, A. Siebes (eds.), Principles of Data Mining and Knowledge Discovery, Lecture Notes in Computer Science, Vol. 2168, Springer-Verlag, Berlin, pp 67-78.

● Metodologia relativamente simples● Suficiente para mostrar as idéias mais relevantes envolvendo AE

para Filogenia

Page 19: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Problema

– Cladística● Uma técnica para determinar hipóteses de relações

evolutivas entre organismos● Diferentes espécies

– Valores de atributos (características)● Constrói cladogramas

– Filogenias: representações de possíveis relações ancestrais– Ancestral comum

● Árvore– Avaliação das Árvores

● Métrica ● Parsimônia

Page 20: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Soluções

● Buscas exaustivas– Evol. Mín., Mín. Quadrados, Máx. Parcimônia, Máx. Verossimilhança– Impraticáveis em domínios com grande número de táxons

● Busca heurística– Tipicamente utilizada por cladistic softwares– Hillclimbing

● Encontram ótimos locais, pode ser uma representação pobre● NJ, UPGMA

● AEs– Tem mostrado para vários problemas melhor desempenho que abordagens

hillclimbing – Concilia busca em profundidade e em largura em grandes espaços de busca – Gaphyl

● AG como técnica de busca para encontrar cladogramas● Métrica de avaliação de árvores (Phylip)

Page 21: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Fatores para verifica a adequação do uso de AEs– Há uma forma mais direta de encontrar a solução do

problema?● Se houver

– Não utilize AEs

– É possível representar soluções potenciais do problema com estruturas de dados simples?

● Se não for– Pode ser difícil trabalhar com os operadores genéticos

Page 22: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

– É possível obter uma métrica para avaliar a qualidade de cada solução potencial?

● Se não for– Não será possível determinar as soluções mais promissoras

– Pode-se inventar operadores que produzam soluções filhas viáveis?

● Se os filhos não retiverem parte das características que tornam seus pais 'bons', o AE poderá não ser melhor do que um procedimento de tentativa e erro randômico

Page 23: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Para Cladística– Abordagens Hillclimbing podem ficar presas a ótimos

locais– Técnicas de AEs são resistentes a este fenômeno– Dificuldade em implementar cladística por AE

● Elaborar operadores capazes de produzir descendentes que retenham informações importantes de seus pais

Page 24: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Operadores para Cladística– Operador de Crossover

● Pai1– Escolha aleat. uma espécia

● Selecione aleat. uma sub-árvore S1 com este nó● Pai2

– Encontre a menor sub-árvore S2 contendo todas as espécies da S1 ● Descendente

– Troque S1 no Pai1 por S2 – Corte a nova árvore removendo as espécies duplicadas

● Repita o processo trocando Pai1 por Pai2– Para gerar dois descendentes

Page 25: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Exemplo

A B C D EGF

S1

Pai1

C

D

E

G

S2

Pai2

A

BF

C D EGF

S2

Pai1

A

BF

A

BF

Podar

Page 26: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Operadores de Mutação– M1

● Selecione duas folhas (espécies) aleat. ● Troque suas posições na árvore

– Este operador não altera a estrutura da árvore

A B C D EGF

Pai

C B A D EGF

Filho

Page 27: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● M2● Selecione uma espécie aleat.● Corte a espécie da árvore ● Inclua de volta como irmã do resto da árvore

– Criando uma nova raiz

A B C D EGF

Pai

Filho

A B C D EGF

B

Page 28: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Resultados Experimentais– Comparação com Phylip

● Possui componente estocástica– Requer várias execuções

● Para cada uma as espécies são listadas em uma ordem diferente

● Gaphyl– Vários efeitos de geração de números aleatórios

● Construção da população inicial● Seleção de pais● Seleção de pontos de crossover e mutação

Page 29: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Resultados Experimentais– Conjunto de Dados

● Lamiiflorae - 23 espécies– Em 1,5h. de processamento

● Phylip e Gaphyl encontraram 45 árvores diferentes com parsimônia 72

● Phylip encontra a primeira árvore com 72 mais rapidamente● Angiosperm - 49 espécies

– Phylip encontra primeiramente a árvore com melhor parsimônia (279)

– Para um mesmo tempo de computação● Gaphyl encontrou 222 árvores diferentes com parsimônia 279● Phylip encontrou 40 árvores diferentes com parsimônia 279

Page 30: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Conclusões

– Gaphyl aparenta ser capaz de encontrar um conjunto mais completo de árvores

● Quando o número de espécies é maior

– Sugerindo que Gaphyl possa encontrar soluções melhores que Phylip para conjuntos de dados com um número maior de espécies e atributos

● Aparentemente explora melhor o espaço de busca● Mais adequado para avaliação das hipóteses filogenéticas obtidas -

agrupamentos na árvore– Bootstrapping

● Jackknifing– Análise de Decaimento (Suporte de Bremer)

Page 31: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia

● Conclusões– Mais testes precisam ser feitos– Mais operadores devem ser testados

● Outros trabalhos têm apresentado resultados semelhantes

Page 32: Algoritmo Evolutivo para Filogenia Palestrante: Alexandre C. B. Delbem Instituto de Ciências Matemáticas e da Computação Universidade de São Paulo ICMC-USP

Algoritmo Evolutivo para Filogenia● Problemas com os operadores

– É possível utilizar estruturas de dados mais eficientes● Kershenbaum● Gen● Knowles● Prado & Von Zuben● Delbem

– Resultados obtidos● Algumas dessas técnicas resolveram problemas similares com

centenas de nós

– Proposição: explorar e compara essas alternativas no problema de filogenia

● Requerem adaptações para o problema de Filogenia