Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas

Tamanho: px
Começar a partir da página:

Download "Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas"

Transcrição

1 UNIVERSIDADE FEDERAL DE GOIÁS UFG CAMPUS CATALÃO CaC DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DCC Bacharelado em Ciência da Computação Projeto Final de Curso Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas Autor: Eduardo Castilho Rosa Orientador: Ms. Selma Terezinha Milagre Co-Orientador: Dr. Alexsandro Santos Soares Catalão

2 Eduardo Castilho Rosa Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas Monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Universidade Federal de Goiás Campus Catalão como requisito parcial para obtenção do título de Bacharel em Ciência da Computação Área de Concentração: Bioinformática Orientador: Ms. Selma Terezinha Milagre Co-Orientador: Dr. Alexsandro Santos Soares Catalão

3 C. Rosa, Eduardo Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas. Ms. Selma Terezinha Milagre. Dr. Alexsandro Santos Soares Catalão 2007 Número de páginas: 107 Projeto Final de Curso (Bacharelado) Universidade Federal de Goiás, Campus Catalão, Curso de Bacharelado em Ciência da Computação, Palavras-Chave: 1. Algoritmos Genéticos. 2. Filogenia. 3. Matriz de Distância 4. Inteligêngia Artificial

4 Eduardo Castilho Rosa Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas Monografia apresentada e aprovada em Pela Banca Examinadora constituída pelos professores: de Ms. Selma Terezinha Milagre Presidente Dr. Alexsandro Santos Soares Vice-Presidente Dr. Roberto Mendez Finzi Neto Membro Ms. Ivan da Silva Sendin Membro

5 Dedico esse trabalho aos meus pais, irmãos, colegas e todos aqueles que direta ou indiretamente contribuiram para a realização desse trabalho.

6 AGRADECIMENTOS Agradeço primeiramente à Deus, por ter me concedido a realização desse trabalho, suportando-me nos momentos de fraqueza e falta de confiança. Sou imensamente grato ao apoio dado pela minha família, principalmente meus pais Alice e José, sem o qual teria sido difícil concluir esse trabalho. Agradeço, em especial, ao ex-diretor do campus Catalão, o professor José Vieira Neto, bem como o prefeito da cidade de Goiandira Odemir Moreira juntamente os meus professores de ensino médio Edimar, Janete e Geraldo, que se esforçaram muito para possibilitar o meu ingresso na Universidade. Agradeço também ao meu grande amigo Leonardo, que, com seus profundos conhecimentos em L A TEX me apoiou grandemente dando-me sugestões importantes para a confecção desse documento. Agradeço também aos amigos e companheiros de turma Alex, Brener, Osias, Thiago de Paulo, Thiago Alves e Rodiney. Sou grato também ao meu grande e inesquecível amigo Francisco Martins, que apesar da distância, sempre me apoiou moralmente, incentivando-me a prosseguir nos estudos mesmo diante de situações adversas.

7 Os que confiam no Senhor serão como o monte de Sião, que não se abala, mas permanece para sempre (Salmos, 125:1)

8 RESUMO Rosa, E. Computação Evolutiva Aplicada na Reconstrução de Árvores Filogenéticas. Curso de Ciência da Computação, Campus Catalão, UFG, Catalão, Brasil, 2007, 107p. A filogenia molecular é o ramo da biologia que estuda as relações evolutivas entre as espécies, com base nas moléculas de DNA. Estas relações são expressas em estruturas denominadas árvores filogenéticas. O problema de inferência filogenética consiste em determinar uma árvore que represente satisfatoriamente bem a história evolutiva para um grupo de indivíduos. Uma vez que a construção de uma árvore filogenética apresenta um alto nível de complexidade em função do número de espécies a serem analisadas, a utilização de um mecanismo de busca exaustiva para o problema se torna computacionalmente impraticável. Com isso, torna-se necessária a adoção de técnicas heurísticas, que exploram todo o espaço de soluções simultaneamente. Nesse trabalho, a técnica adotada foi a computação evolutiva. Este paradigma foi originalmente criado com base nas teorias da evolução de Darwin [Darwin, 1859], passando posteriormente a representar uma ferramenta importante em problemas de otimização. Em si, a computação evolutiva consiste num conjunto de algoritmos que representam artificialmente o processo evolucionário, apresentando com isso, os mesmos elementos existentes no meio natural, como populações, operadores genéticos e função de avaliação. As populações consistem num conjunto de indivíduos (possíveis soluções) devidamente codificados e os operadores genéticos manipulam esta população no sentido de convergir para a resolução do problema. Neste trabalho, a computação evolutiva foi usada em conjunto com técnicas de reconstruções filogenéticas já existentes, como métodos baseados em distâncias (utilizam matrizes de dissimilaridades para gerar a árvore, através de um algoritmo de agrupamento). Outras técnicas, no entanto, foram também abordadas, como o método da máxima verossimilhança (modelo probabilístico, que considera não somente as distâncias, mas também outras informações relevantes para a geração da árvore) e máxima parcimônia (procura se basear nas hipóteses mais simples para a construção da árvore em detrimento das mais complexas). Foi também desenvolvido um protótipo computacional para a implementação dos testes, onde os resultados obtidos foram comparados com os provenientes de bases de dados conhecidas. Palavras-Chaves: Algoritmos Genéticos, Filogenia, Matriz de Distância, Inteligêngia Artificial i

9 Sumário 1 Introdução Contexto Complexidade do Problema Objetivos Estrutura do Trabalho Árvores Filogenéticas Um pouco de Filogenia Histórico sobre árvores filogenéticas Definição Formal de uma Árvore Filogenética Principais Tipos de Árvores Conclusões Métodos de Reconstrução Filogenética Critérios Primitivos de Inferência Filogenética Classificação dos Métodos de Reconstrução Métodos Não Baseados em Modelo Matriz de Distâncias Máxima Parcimônia Métodos Baseados em Modelo Método da Verossimilhança Máxima Formas para o Cálculo da Distância Distância de Hamming Distância p Distância de Levenshtein Métodos de Substituição de Bases Conclusões Computação Evolutiva As Idéias Precursoras de Charles Darwin ii

10 4.2 Computação Evolutiva - Conceitos Gerais Algoritmos Genéticos Terminologia dos Algoritmos Genéticos Parâmetros de um Algoritmo Genético Codificação dos Indivíduos da População Operadores Genéticos Função de Avaliação Modelos de Seleção Conclusões Materiais e Métodos Descrição das Bases de Dados Utilizadas Principais Algoritmos Desenvolvidos Algoritmo Genético Utilizado Representação dos Indivíduos População Operadores Genéticos Função de Avaliação Modelo de Seleção O Processo Resultados Experimentais Testes Para o Conjunto de Dados Experimento Experimento Discussões Testes Para o Conjunto de Dados Experimento Experimento Discussões Conclusões 83 Referências 85 iii

11 Lista de Figuras 2.1 Uma filogenia provável para um grupo de nove primatas [Mota, 2006] Exemplo de uma árvore filogenética e a identificação de cada elemento de sua estrutura. Esta árvore é conhecida também como dendrograma, onde os nós folhas A, B, C e D são as espécies em estudo, os nós internos X e Y são os ancestrais inferidos e R é a raiz, ou seja, o ancestral comum a todos (adapdada de [Gould, 1977]) Duas árvores filogenéticas idênticas. Percebe-se que a disposição das folhas é diferente nas representações em diagrama de venn e formato newick (com comprimentos dos ramos constante), mas o que importa é que os quatro nós internos (A, B, C e D) mantiveram seus descendentes [Leite, 2005] Representação esquemática da filogenia mostrada na Figura 2.3, em diagrama de venn à esquerda e formato newick à direita Formas alternativas de se representar uma filogenia [Leite, 2005] Árvores com raiz e sem raiz citadas por [Weir, 1996] Transformação de uma árvore enraizada em uma árvore sem raiz. Note que, formalmente, para fazer isso basta remover a raiz da árvore à esquerda e combinar suas arestas em uma única (Adaptada de [Leite, 2005]) Os cinco possíveis pontos de enraizamento para os quatro táxons da Figura 2.7 (esquerda) O algoritmo UPGMA identifica a distância d 23 como sendo a menor da matriz. Sendo assim, os indivíduos 2 e 3 são agrupados [Milagre, 2003] Diferença entre uma árvore real (esquerda) e a árvore gerada pelo algoritmo UPGMA (direita) Duas representações diferentes para a mesma filogenia Primeira iteração do algoritmo Neighbor-Joining. Nesse caso, os elementos 1 e 2 foram agrupados [Schmidt, 2003] Exemplo de uma árvore gerada pelo método Neighbor-Joining [Weir, 1996] Duas possíveis mudanças de caracteres de T para A [Leite, 2005] Única topologia possível para uma árvore não-enraizada de quatro táxons. 24 iv

12 3.8 Combinações possíveis para os elementos do sítio 1 sendo colocados nas folhas da topologia da Figura Combinações possíveis para os elementos do sítio 5 sendo colocados nas folhas da topologia da Figura Combinações possíveis para os elementos do sítio 9 sendo colocados nas folhas da topologia da Figura Resultado final do método verossimilhança máxima, após todos os passos (a) Árvore sem raiz para os quatro táxons cujas seqüências são dadas anteriormente. (b) Árvore após o posicionamento da raiz em um nó arbitrário qualquer [Martinez, 2001] Cálculo da verossimilhança para o sitio j das seqüências anteriores Taxas de transição α e de transversão β de Kimura. [Hillis, 1996] Resumo esquemático da evolução natural proposta por Darwin. (Adaptado de [Laurence, 2000] Exemplo de representação hipotética, em arranjo binário, da estrutura do cromossomo proposta por [Holland, 1973] Representação do cromossomo e seus genes, cada um dos quais associado a um parâmetro específico da solução do problema Ilustração de um crossover de um ponto para um exemplo hipotético Resultado da aplicação do crossover de um ponto. Repare que cada individuo filho manteve certas características de seus progenitores Aplicação do método da roleta para o caso da 4.1. Percebe-se nitidamente que o individuo 1, cujo valor de fitness é alto, recebeu uma proporção maior na roleta, tendo como conseqüência maior probabilidade de ser escolhido. (Adaptado de [Prado, 2003].) Árvore binária tendo o vetor [A, D, C, B] rotulado nas folhas Crossover de um ponto aplicado nos vetores v1 e v2. Observe os caracteres em destaque, que indicam condições inválidas [Syswerda, 1989] Crossover OBX aplicado nos vetores v1 e v2. Observe que agora os vetores v3 e v4 resultantes são válidos Operador de mutação aplicado nos vetores v1 e v Tela do interpretador de o caml para a execução do protótipo Árvore filogenética gerada pelo aplicativo ClustalX [Gibson, 1996], ilustrando as relações evolutivas entre espécies de proteínas da família malate synthase [NCBI, 1988] v

13 6.2 Árvore filogenética gerada por [IUBIO, 1989], ilustrando as relações entre espécies de proteínas da família malate synthase [NCBI, 1988], de acordo com os parâmetros da Tabela Árvore filogenética gerada por [IUBIO, 1989], ilustrando as relações entre espécies de proteínas da família malate synthase [NCBI, 1988], de acordo com os parâmetros da Tabela Árvore filogenética gerada pelo método neighbor-joining e desenhada por [IUBIO, 1989] Árvore filogenética com raiz gerada pelo software [IUBIO, 1989], utilizando o protótipo desenvolvido segundo os parâmetros da Tabela Árvore filogenética com raiz gerada pelo software [IUBIO, 1989], utilizando o protótipo desenvolvido segundo os parâmetros da Tabela vi

14 Lista de Tabelas 1.1 Relação entre o número de espécies e a quantidade de topologias possíveis, com raiz e rotulada nas folhas [Zuben, 2004] Seqüencias de nucleotídeos para quatro espécies hipotéticas Relação entre as possíveis probabilidades para a mudança de caractere de um estado para outro [Cantor, 1969]. Percebe-se que para qualquer par de bases diferentes, existe a mesma probabilidade de transformação Cálculo da função de fitness para cada indivíduo (Adaptado de [Prado, 2003]) Seqüência de aminoácidos para vinte espécies de proteínas retiradas do NCBI [NCBI, 1988] Código de DNA mitocondrial para 17 espécies [UFMG, 2000] Descrição de cada aminoácido e seu(s) correspondente(s) códon(s) (subseqüência de DNA) [Maia, 1998] Relação entre cada espécie e a quantidade de aminoácidos que sofreram corte, para tornar os comprimentos das seqüências uniformes Parâmetros de configuração do algoritmo genético para o experimento Parâmetros de configuração do algoritmo genético para o experimento Parâmetros de configuração do algoritmo genético para o experimento Parâmetros de configuração do algoritmo genético para o experimento vii

15 Lista de Algoritmos 3.1 Método da Média Aritmética Não-Ponderada Método da Junção de Vizinhos (Neighbor-Joining) Modelo Básico de Algoritmo Evolutivo Método da Média Aritmética Não-Ponderada Proposto Reconstrução da Matriz de Distâncias DistânciaFolhas Geração da Matriz Aleatória Recombinação de Matrizes Correção Método da Roleta Algorítmo Genético Usado viii

16 Capítulo 1 Introdução 1.1 Contexto Ao longo do tempo, muitas idéias foram propostas na literatura para tentar explicar os processos inerentes à variabilidade das espécies. A teoria atualmente aceita foi proposta pelo naturalista inglês Charles Darwin em seu livro A origem das Espécies, publicado em A idéia principal por trás dessa teoria é de que todo ser vivo descende de um ancestral comum e a variabilidade das espécies se dá por contínuos processos de mutação entre as gerações. Esses indivíduos sofrem a pressão do ambiente em que se encontram e os mais aptos sobrevivem enquanto que os menos aptos morrem e desaparecem ao longo do tempo. A isto Darwin deu o nome de Seleção Natural [Darwin, 1859]. Após a descoberta da molécula de DNA e a posterior associação desta com as características funcionais dos seres vivos, tornou-se possível desenvolver uma técnica de classificação de indivíduos mais eficiente em relação aos métodos até então usados, que se baseavam em características morfológicas (estudo da forma dos seres vivos), fisiológicas (estudo das funções mecânicas, físicas e bioquímica dos seres vivos) e paleontológicas (estudo dos fósseis ou vestígios de organismos). A filogenia, que é o ramo da biologia responsável pelo estudo das relações evolutivas entre as espécies, passou a ser uma ferramenta de suma importância para a classificação de grupos de indivíduos. Tornou-se possível então realizar experimentos com certos organismos e verificar se existia alguma relação com os princípios de Darwin [Suzuki, 1992]. As pesquisas na área de filogenia passaram então a incorporar o código genético como forma de inferir relações evolucionárias entre organismos, o que, posteriormente, impulsionou o estudo da chamada filogenia molecular. A classificação propriamente dita, ou seja, os resultados aos quais a filogenia chega, são expressos em estruturas denominadas árvores filogenéticas, que nada mais são que uma forma de representar graficamente os indivíduos e as suas relações de parentescos ao longo do tempo. 1

17 CAPÍTULO 1. INTRODUÇÃO 2 Existem várias formas de se gerar estas árvores filogenéticas a partir de dados de determinados indivíduos. As principais serão abordadas neste trabalho. Estas técnicas variam desde os métodos manuais, onde um especialista, de posse desses dados, faz hipóteses e realiza os agrupamentos que lhe for conveniente, até técnicas computacionais avançadas. Evidentemente, as técnicas computacionais podem conduzir a resultados imprecisos e até mesmo errôneos se não incluírem informações relevantes sobre a natureza dos dados e não usarem heurísticas realmente eficazes. Na maioria dos casos, é necessária a análise de um biólogo para validar os resultados provenientes de tais métodos. Neste trabalho será dada ênfase em uma técnica computacional inspirada na biologia conhecida como Computação Evolutiva [Zuben, 2001]. Este paradigma é composto por algoritmos inspirados na teoria da evolução de Darwin e tem sido muito aplicada em problemas de otimização, especialmente nos casos onde técnicas tradicionais de otimização não são aplicáveis ou apresentam desempenho insatisfatório. O interessante é que será utilizada uma ferramenta inspirada na biologia para resolver um problema da própria biologia (inferências filogenéticas). 1.2 Complexidade do Problema Uma relação direta entre a quantidade de espécies em estudo e o número de possíveis árvores para essas espécies, foi estabelecida por [Zuben, 2001], conforme ilustra a Tabela 1.1. Conforme pode-se observar, para um número relativamente pequeno de espécies a quantidade de árvores possíveis para representar a filogenia desse grupo cresce a uma velocidade muito alta. O mais poderoso computador da Terra poderia levar anos até examinar todas essas topologias, dependendo do número de espécies é claro, para então determinar a melhor árvore. Generalizando, [Zuben, 2004] estabelece uma relação matemática que mapeia o número de possíveis topologias sobre a quantidade de espécies: (2n 3) = (2n 3)! 2 n 3 (n 3) (1.1) Observando essa relação, percebe-se que este é um problema que apresenta complexidade exponencial, em função do número de espécies, o que descarta a estratégia de busca exaustiva como forma de encontrar a solução.

18 CAPÍTULO 1. INTRODUÇÃO 3 Tabela 1.1: Relação entre o número de espécies e a quantidade de topologias possíveis, com raiz e rotulada nas folhas [Zuben, 2004]. Diante disso, fica evidente a adoção de uma metaheurística para resolver o problema em questão, mesmo sabendo que a mesma não garante encontrar a solução ótima. Dentre as várias abordagens existentes na literatura, como por exemplo as técnicas GRASP [Rocha, 2006], Simulated Anneling [Anjos, 2006], Busca Tabu [Rocha, 2005] e inúmeras outras, a estratégia usada neste trabalho será a dos algoritmos genéticos. 1.3 Objetivos Conforme mencionado, este trabalho propõe uma alternativa para a reconstrução de árvores filogenéticas, baseada em algoritmos evolutivos. Tendo em vista que os resultados provenientes dessa abordagem têm se mostrado altamente promissores para uma ampla variedade de aplicações, parece plausível tentar aplicá-la ao problema em questão.

19 CAPÍTULO 1. INTRODUÇÃO 4 Uma vez que já existem vários pacotes computacionais disponíveis no mercado para essa finalidade, não parece interessante simplesmente reinventar a roda, desenvolvendose algo que já existe. O objetivo desse trabalho não é fornecer mais uma ferramenta para os filogeneticistas e sim demonstrar como mecanismos baseados em computação natural (computação evolutiva) podem ser aplicados a este problema gerando bons resultados. Sob esse ponto de vista, o escopo desse trabalho pode ser resumido em: Implementação de um algoritmo genético para o problema da reconstrução filogenética; Comparação dos resultados obtidos com os provenientes de outro software, somente para fins de validação. 1.4 Estrutura do Trabalho Este trabalho será composto por sete capítulos. O capítulo 2 trará os conceitos básicos de árvores filogenéticas. O capítulo 3 explorará mais detalhadamente os mecanismos usados para gerar as árvores filogenéticas. Já no capítulo 4 será evidenciada a metaheurística usada (computação evolutiva), em todos os seus aspectos. O capítulo 5 mostrará os algoritmos e as bases de dados utilizados na pesquisa, além de uma visão geral sobre o protótipo desenvolvido. Em seguida, o capítulo 6 mostrará os resultados obtidos e as discussões que se fizerem necessárias. Finalmente, o capítulo 7 fornecerá uma análise conclusiva, além de sugestões para trabalhos futuros.

20 Capítulo 2 Árvores Filogenéticas Todas as espécies de organismos existentes na Terra passaram por um processo de transformação ao longo dos tempos. Tal processo é chamado de evolução. Um dos problemas centrais da Biologia, conhecido como problema da filogenia, é explicar a história evolutiva das espécies que sofreram essas transformações, bem como verificar relacionamentos entre elas, a fim de determinar possíveis ancestrais comuns [Araújo, 2003]. A essa tentativa de detectar, descrever e explicar a diversidade biológica existente dá-se o nome de sistemática [Joly, 1979]. Essa questão central é respondida geralmente através de representações gráficas, por meio de estruturas conhecidas como árvores filogenéticas. Como freqüentemente não existem informações suficientes acerca dos ancestrais de espécies atuais, há a necessidade de inferir a história evolucionária desses organismos através da reconstrução de sua árvore filogenética, utilizando algum critério de comparação entre essas espécies. Em razão dessa falta de informações, é de se esperar que a árvore inferida seja diferente da real, no contexto evolutivo. O objetivo, então, é diminuir o quanto possível essa divergência. Este capítulo abordará os aspectos mais singulares no que diz respeito ao problema da filogenia e sua representação por meio das árvores filogenéticas, sendo que as informações aqui dadas servirão de base para um entendimento mais aprofundado dos métodos de reconstrução de árvores. 2.1 Um pouco de Filogenia A idéia central da filogenia molecular é o estudo da diversidade biológica, associada a um processo de evolução. Os pesquisadores dessa área devem procurar descrever essa diversidade, tentando encontrar certos mecanismos, de modo a tornar compreensíveis os processos responsáveis pelas variações ocorridas, para um grupo específico de espécies, no decorrer de um intervalo relativamente grande de tempo [Gould, 1977]. Quando se discute a relação de parentesco entre as espécies, o conceito básico em 5

21 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 6 termos de evolução é que, para quaisquer duas espécies, é necessário formular-se uma hipótese de que existiu pelo menos um ancestral comum a ambas. Já no caso de três espécies, a hipótese feita é que há um ancestral comum a duas delas que não é comum à terceira. Ampliando esse pensamento de forma a abranger todas as espécies, obtém-se uma espécie ancestral de todas as outras que sofre divisões subseqüentes até se obter as espécies atuais [Viana, 2005]. Segundo [Amorin, 1997], um grupo de espécies descende de um ancestral comum, quando compartilha alguma característica entre si. Tais ancestrais podem ser classificados em recentes ou distantes, de acordo com as taxas de dissimilaridades entre suas seqüências de DNA. Características herdadas de um ancestral recente aparecem em um número bem mais reduzido de espécies que as herdadas de ancestrais distantes, por exemplo. contrapartida, espécies que compartilham um ancestral recente são bastante similares, possuindo várias características herdadas de um ancestral comum. A relação existente entre esses grupos de espécies e seus ancestrais dá origem ao termo homologia, segundo [Gould, 1977]. Em Características conhecidas como homólogas são aquelas herdadas de uma característica ancestral comum, podendo ser qualquer uma recebida por herança. O conhecimento sobre a homologia é necessário para que, no processo de reconstrução da filogenia, não se cometa erros. Por exemplo, dois indivíduos podem ter certas características em comum, mas se não forem homólogos, não podem ser considerados próximos na cadeia de evolução. Sem esse conhecimento, pode-se cometer o erro de considerar esses indivíduos como próximos. De acordo com [Gould, 1977], essas características que se manifestam superficialmente em certos indivíduos, e que podem levar a erros, são ditas homoplásticas. De posse desses dois conceitos, pode-se então determinar os passos para se construir a filogenia de um determinado grupo: Determinar o grupo de organismos cuja filogenia se quer determinar; Escolher as características que serão usadas na análise e identificar suas possíveis formas; Determinar as características ancestral e derivada, o que geralmente é o passo mais difícil; Distinguir entre características homólogas e homoplásticas. Na Figura 2.1 pode ser visto um exemplo de filogenia, para um grupo de nove primatas. É possível notar que a filogenia, neste caso, não descreve os ancestrais, mas coloca uma data nas ramificações entre as linhagens. Essa filogenia mostra a ordem seqüencial das ramificações, isto é, as mais antigas estão em baixo e as mais recentes em cima.

22 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 7 Figura 2.1: Uma filogenia provável para um grupo de nove primatas [Mota, 2006]. 2.2 Histórico sobre árvores filogenéticas A primeira idéia de estabelecer classificações filogenéticas nasceu com o naturalista inglês Charles Darwin. Porém, ele não conseguiu aplicar a filogenia a um sistema geral, que englobasse todos os seres vivos, até mesmo porque a preocupação dele não era classificar e sim analisar classificações já existentes. Em outras palavras, Darwin só conseguiu explicar os mecanismos de evolução para um grupo restrito de espécies. Para mais informações ver [Darwin, 1859]. O primeiro diagrama representando uma árvore filogenética foi possivelmente o de Lamark, em 1809 [Burkhardt, 1995]. Darwin, inclusive, usou esse diagrama em seu livro A origem das Espécies, publicado em Já em 1866, um naturalista alemão chamado Earst Haeckel conseguiu fazer o que Darwin não realizara: uma tentativa de filogenia geral, abrangendo todas as espécies - microorganismos, plantas e animais. Ele a representou através de árvore, que foi concebida com base em aspectos muito questionáveis atualmente, em virtude das técnicas aplicadas naquela época serem rudimentares. Atualmente, com os inúmeros recursos tecnológicos à disposição, tem sido possível construir árvores filogenéticas de extrema complexidade, onde uma grande quantidade de indivíduos pode ser considerada, algo que tempos atrás nem se imaginava. 2.3 Definição Formal de uma Árvore Filogenética Uma árvore filogenética é definida como sendo uma estrutura onde cada nó folha indica uma espécie em estudo e cada nó interno um possível ancestral inferido. Os nós folhas

23 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 8 são também conhecidos por OTU (Operational Taxonomy Units - Unidade Taxonômica Operacional). Cada ramo da árvore, dependendo da aplicação, conterá um valor em ponto-flutuante que determinará uma medida de dissimilaridade entre os nós incidentes. O comprimento dessas arestas são proporcionais aos valores nelas contidos, para uma representação mais real. O fator de ramificação de uma árvore filogenética é, na maioria das aplicações, dois, supondo que para cada ancestral haja exatamente duas direções de especialização, uma para a esquerda e outra para a direita. Observe na Figura 2.2 um exemplo de árvore filogenética, com a descrição de seus elementos principais: Figura 2.2: Exemplo de uma árvore filogenética e a identificação de cada elemento de sua estrutura. Esta árvore é conhecida também como dendrograma, onde os nós folhas A, B, C e D são as espécies em estudo, os nós internos X e Y são os ancestrais inferidos e R é a raiz, ou seja, o ancestral comum a todos (adapdada de [Gould, 1977]). Em uma árvore filogenética, a ordem em que os táxons 1 aparecem não é relevante. O que importa é qual o ancestral comum mais recente. Por exemplo, as duas árvores da Figura 2.3 são idênticas em termos de filogenia. O que houve foram somente quatro rotações de ramos indicadas pelas setas. 1 Táxon (plural taxa, em latim, ou táxons, aportuguesado) é uma unidade taxônomica, essencialmente associada a um sistema de classificação. Também são denominados nós terminais. Nesse caso, são os nós folhas, que representam as espécies.

24 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 9 Figura 2.3: Duas árvores filogenéticas idênticas. Percebe-se que a disposição das folhas é diferente nas representações em diagrama de venn e formato newick (com comprimentos dos ramos constante), mas o que importa é que os quatro nós internos (A, B, C e D) mantiveram seus descendentes [Leite, 2005]. Em alguns casos, a representação de uma árvore filogenética através de estruturas como as mostradas até agora pode não ser adequada. Para os exemplos até agora tratados não há o menor problema, uma vez que a quantidade de espécies é relativamente pequena, mas para situações em que um elevado número de indivíduos são levados em conta, a representação através de diagramas como esses seria ineficiente. Para esses casos, existem outras formas de representar as relações filogenéticas entre táxons sem a necessidade de desenhar explicitamente a árvore. Entre elas temos: Diagrama de venn: Bastante usado em matemática e expressa relações entre conjuntos. Forma parentética (ou formato newick): padrão internacional criado em 1857 pelo famoso matemático inglês Arthur Cayley [Forsyth, 1895]. Consiste em representar cada nó interno por uma expressão do tipo: (filho1, filho2). Para árvores em que os comprimentos dos ramos não é constante essa estrutura seria do tipo: (filho1 : ramo1, filho2 : ramo2). Observe como seria a representação das árvores da Figura 2.3 através do diagrama de venn e formato newick, respectivamente: Figura 2.4: Representação esquemática da filogenia mostrada na Figura 2.3, em diagrama de venn à esquerda e formato newick à direita. Praticamente todos os softwares de construção de árvores filogenéticas trabalham com a representação em formato newick. Em razão de sua simplicidade (uma árvore pode ser

25 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 10 armazenada em um simples arquivo de texto), esse formato foi utilizado na elaboração desse trabalho. 2.4 Principais Tipos de Árvores Existem dois critérios básicos pelos quais uma árvore filogenética pode ser classificada. O primeiro deles diz respeito à interpretação dos comprimentos das arestas. Neste caso, segundo [Leite, 2005], podemos ter três formas distintas de se representar uma filogenia: Cladograma: É uma árvore que representa apenas os agrupamentos entre os táxons mais próximos, sem a preocupação de estabelecer métricas para explicar como ocorreu a evolução. Essa árvore, portanto, não tem valores associados às arestas. Filograma: É uma árvore que representa a filogenia com base nas mudanças de características entre as espécies. Tem, desta forma, valores variáveis para as arestas, que indicam as transformações ocorridas entre os nós incidentes. Dendrogama: É uma árvore que representa a filogenia, mas com base no tempo. Desta forma, considera-se que o valor de cada aresta representa o tempo evolutivo. Isso faz com que a distância entre cada um dos táxons folhas até a raiz sejam iguais. Esse tipo de árvore também é conhecida como ultramétrica. Observe na Figura 2.5 como seria uma filogenia para três táxons terminais A, B e C, usando cada uma das três representações acima: Figura 2.5: Formas alternativas de se representar uma filogenia [Leite, 2005]. Percebe-se que o cladograma considera apenas a topologia da árvore, não se preocupando com a quantidade de mudanças nem com o tempo transcorrido. Já o filograma considera, além da topologia, a quantidade de mudanças ocorridas. O dendrograma, por sua vez, considera que as taxas de mudanças são constantes ao longo das gerações, e isso faz com que os ramos se associem ao tempo.

26 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 11 O segundo critério de classificação de árvores filogenéticas está associado à noção de descendência e ancestrabilidade, de acordo com [Weir, 1996]. São classificadas em: Árvores com raiz: São aquelas que contêm a noção de ordem temporal, e por isso, relaciona os indivíduos em termos de ancestrais e descendentes; Árvores sem raiz: Apresentam apenas a noção de distância, sem noção alguma sobre ancestrais e descendentes. Observe a diferença dessas duas árvores na Figura 2.6: Figura 2.6: Árvores com raiz e sem raiz citadas por [Weir, 1996]. Segundo [Leite, 2005], uma árvore com raiz é como um conjunto de balões presos por linhas e seguros nas mãos de uma pessoa, como mostrado na Figura 2.7. Se a pessoa soltar a linha, os balões flutuam se transformando em uma árvore sem raiz. Figura 2.7: Transformação de uma árvore enraizada em uma árvore sem raiz. Note que, formalmente, para fazer isso basta remover a raiz da árvore à esquerda e combinar suas arestas em uma única (Adaptada de [Leite, 2005]). Intuitivamente, pela Figura 2.7, percebemos que é possível fazer a transformação inversa, ou seja, transformar uma árvore sem raiz em outra com raiz. Basta, para isso,

27 CAPÍTULO 2. ÁRVORES FILOGENÉTICAS 12 segurar novamente os balões por uma de suas linhas. Neste caso, existem vários pontos em que isso é possível. Genericamente, para uma árvore não enraizada com n táxons, existem 2n 3 possíveis topologias enraizadas [Joly, 1979]. Figura 2.8: Os cinco possíveis pontos de enraizamento para os quatro táxons da Figura 2.7 (esquerda). A escolha sobre qual tipo de árvore será usada na análise filogenética dependerá basicamente do tipo de resultado que se queira chegar e de qual(s) método(s) será(ão) utilizado(s) no processo de inferência. Essas questões serão discutidas com mais detalhes no capítulo Conclusões O presente capítulo procurou, primeiramente, definir o que é uma árvore filogenética e quais os tipos de árvores mais comuns, gerados pela maioria dos aplicativos para essa finalidade. Foram descritos também algumas formas alternativas de representação das árvores, para fins de simplificação. Todos os conceitos abordados aqui foram superficiais (maiores detalhes podem ser obtidos em [Zuben, 2004]), mas essenciais para um entendimento mais amplo de como as árvores filogenéticas são geradas, conforme será visto no capítulo 3.

28 Capítulo 3 Métodos de Reconstrução Filogenética Conforme visto no capítulo anterior, um processo de inferência filogenética consiste em analisar um determinado conjunto de espécies e, de acordo com critérios pré-estabelecidos, gerar a árvore que melhor descreva a história evolutiva para esse grupo. Este capítulo abordará que critérios são estes, e de que forma eles podem ser usados para representar de forma eficiente o processo evolutivo. 3.1 Critérios Primitivos de Inferência Filogenética É bem verdade que quando Charles Darwin propôs a teoria da evolução natural, não se tinha conhecimento algum sobre a existência da molécula de DNA. Somente tempos depois, com o estudo de Gregor Mendel, é que ficou comprovada a existência de fatores que eram transmitidos de pais para filhos e que determinavam suas características funcionais. Ainda assim, não se sabia ao certo que fatores eram esses [Vines, 1991]. Mesmo sem esse conhecimento, nessa época era possível estabelecer mecanismos para classificações entre organismos. Os primeiros sistemas de identificação e comparação dos microrganismos, por exemplo, baseavam-se num pequeno número de características, principalmente morfológicas e fisiológicas, escolhidas subjetivamente pelo taxonomista. Algumas destas características eram consideradas de maior relevância, sendo, por isso, suficientes para o estabelecimento dos agrupamentos. Deste modo, tais sistemas de classificação resultavam, normalmente, no agrupamento de organismos que não possuíam verdadeiras afinidades [Gomes, 1998]. A partir da década de 50, novos conceitos de classificação foram introduzidos. Por exemplo, o conceito de classificação natural, que descreve a formação de grupos com elementos que partilham o máximo de características fenotípicas (aquelas que se manifestam externamente), todas com a mesma relevância. Segundo [Gomes, 1998], esses sistemas de 13

29 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 14 classificação, em que o agrupamento dos organismos é baseado na similaridade dos seus indivíduos, incluindo características fenotípicas e sem referência a conceitos de ancestralidade denominam-se fenéticos. Pouco tempo depois, alguns experimentos sugeriram que as informações hereditárias não estariam guardadas nas proteínas, como até então se pensava, mas sim no DNA (Deoxyribonucleic Acid - Ácido Desoxirribonucleico). A partir disso, os filogeneticistas passaram a contar com uma ferramenta mais precisa de classificação, que se baseava na análise do código genético. Desde então, aliada ao crescimento e intensificação do uso dos computadores, métodos automáticos, baseados em seqüências de DNA, passaram a ser usados na reconstrução de árvores filogenéticas. 3.2 Classificação dos Métodos de Reconstrução Segundo [Hillis, 1996], os métodos de reconstrução filogenética podem ser divididos em duas categorias. A primeira delas ele classificou como métodos não baseados em modelo, onde deve necessariamente haver um algoritmo que conduza até a árvore desejada, determinando apenas uma árvore como solução do problema em análise. Já a segunda categoria ele classificou como métodos baseados em modelo, onde deve existir um critério pelo qual as árvores candidatas serão analisadas e avaliadas até que seja encontrada a de maior verossimilhança. Neste caso, serão examinadas uma grande quantidade de árvores candidatas durante o processo de busca [Weir, 1996]. Os métodos não baseados em modelo são ideais para casos em que uma solução teoricamente boa precisa ser encontrada num tempo razoavelmente curto. Isso porque esses métodos são simples, precisam apenas submeter as espécies em estudo a um algoritmo específico e esperar até que uma resposta seja encontrada. O resultado desses algoritmos será uma árvore específica, mas como já se sabe que esse processo consiste numa inferência, ou seja, num modelo hipotético-dedutivo, então o resultado final pode ser aceito ou refutado. Teoricamente, os métodos baseados em modelo são uma boa tentativa de contornar essa limitação. Usando um critério rígido e bem estabelecido, é possível trabalhar com várias árvores ao mesmo tempo, que permitirá uma flexibilidade maior no processo decisório (qual árvore escolher). No entanto, esses métodos trabalham com critérios definidos, que nem sempre produzirá soluções de qualidade para casos genéricos. Definiremos nas Seções 3.3 e 3.4 os principais algoritmos usados em cada um desses modelos.

30 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA Métodos Não Baseados em Modelo De acordo com [Hillis, 1996], esses métodos são baseados apenas em critérios de otimização específicos, não requerendo modelos explícitos para sua formulação. Deste modo, a tendência é de que eles sejam executados mais rapidamente que aqueles baseados em modelo. Os métodos não baseados em modelos partem de matrizes construídas a partir do cálculo das distâncias entre pares de espécies. Algoritmos de agrupamento, então, são usados para processar essa matriz até obterem a árvore final. O resultado dependerá muito de como essas distâncias são calculadas. Desta forma, é extremamente importante definir um bom critério para esse cálculo antes de aplicar o algoritmo. A maneira como essas distâncias são calculadas será vista na Seção 3.5. Descreveremos a seguir os principais métodos encontrados na literatura que se baseiam em matriz de distâncias Matriz de Distâncias Formalmente, uma matriz de distância pode ser definida como uma matriz quadrada n, n, onde n indica a quantidade de espécies em estudo. Cada entrada m ij nessa matriz conterá o valor correspondente à distância entre os indivíduos i e j. Todas essas distâncias mantêm relação de simetria entre si. Deste modo, as seguintes condições devem ser satisfeitas: Para todo M ij, com i = j, tem-se M ij = 0. Isso significa que a distância entre uma espécie e ela mesma é zero; Para todo M ij, com i j, tem-se M ij = M ji. Uma vez construída a matriz, é necessário que haja algum procedimento que gere uma árvore com base nos valores contidos nessa matriz. Para isso, existem alguns algoritmos propostos na literatura, dentre os quais serão abordados nessa Seção o UPGMA e o Neighbor-joining. Método da Média Aritmética Não-Ponderada - UPGMA O método mais simples para a construção de árvores filogenéticas, baseado na matriz de distâncias, é o Método da Média Aritmética Não-Ponderada (UPGMA - Unweighted Pair-Groups Method Average). Esse método foi desenvolvido inicialmente para a construção de fenogramas que representassem as similaridades fenotípicas (aquelas que se manifestam externamente) dos indivíduos, mas pode ser utilizado perfeitamente para a construção de árvores desde que as taxas de evolução sejam aproximadamente constantes entre diferentes linhagens [Prosdocimi, 2001].

31 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 16 Esse método identifica, no conjunto que representa as espécies, as duas OTU s que possuem maior grau de similaridade (aquelas de menor distância entre si) e, a partir daí, agrupa-as em uma nova OTU. A matriz de distância é construída novamente para o novo grupo de OTU s e os pares de menor distância são agrupados novamente. Esse processo se repete até que se tenha somente duas OTU s [Milagre, 2003], conforme pode ser visualizado no algoritmo 3.1. Algoritmo 3.1 Método da Média Aritmética Não-Ponderada Entrada: n elementos para serem agrupados. Saída: Uma árvore com raiz contendo n folhas. 1: enquanto n > 1 faça 2: Identifique no conjunto os elementos x, y mais próximos. 3: Combine estes elementos em um único z, com arestas direita e esquerda valendo d xy 2, onde d xy e a distância entre os elementos x e y. 4: Retire x e y do conjunto. 5: Adicione z ao conjunto. 6: n = n 1. 7: fim enquanto 8: retorna O elemento resultante. Após a identificação do par de elementos que possui menor distância entre si, supondo que essa distância seja d ij, então um nó interno é criado tendo como filhos os elementos i e j, com ramos de comprimento d ij. Veja a Figura Figura 3.1: O algoritmo UPGMA identifica a distância d 23 como sendo a menor da matriz. Sendo assim, os indivíduos 2 e 3 são agrupados [Milagre, 2003]. A cada iteração, a matriz de distância precisa ser recalculada. Isso é feito mantendo-se as distâncias dos indivíduos que não foram agrupados e, para o novo nó criado, deve-se calcular sua distância em relação aos demais nós. Em [Kumar, 2000], pode-se verificar que a fórmula para determinar essa distância, no caso de dois agrupamentos A e B, é dada por: d AB = ij d ij rs (3.1)

32 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 17 onde r e s são os números de elementos nos agrupamentos A e B, respectivamente, e d ij é a distância entre o elemento i no agrupamento A e o elemento j no agrupamento B. Para o exemplo da Figura 3.1, a distância entre o nó agrupado [2 3] e os demais é dada por: D = d 21 + d 24 + d 31 + d 34 4 O algoritmo UPGMA gera uma árvore ultramétrica, que, conforme definido no capítulo 2, considera que a distância entre quaisquer nós folhas até a raiz é a mesma. Esse é um dos problemas desse algoritmo que, apesar de simples, só infere a árvore correta se as taxas de evolução forem aproximadamente constantes ao longo do tempo. Para um entendimento mais claro disso, veja a Figura 3.2. Figura 3.2: Diferença entre uma árvore real (esquerda) e a árvore gerada pelo algoritmo UPGMA (direita). Os métodos mínimos quadrados e evolução mínima podem lidar melhor com essa limitação do UPGMA. Método dos Mínimos Quadrados [Simoncelli, 2003] define o método dos Mínimos Quadrados como uma técnica de otimização matemática que procura encontrar o melhor ajustamento possível para um determinado conjunto de dados, de forma a minimizar a soma dos quadrados das diferenças entre os valores esperados e aqueles obtidos por experiência. Aplicados ao problema de geração de árvores filogenéticas, este método pode ser entendido como um mecanismo de aproximar uma certa árvore canditada de uma árvore real. [Edwards, 1967], foram os primeiros a aplicar essa técnica para o problema de inferência filogenética. Eles consideravam que deveria ser analisada a seguinte expressão:

33 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 18 R s = i<j (d ij e ij ) 2 (3.2) onde d ij e e ij são as distâncias observadas e esperadas entre os elementos i e j. As distâncias esperadas são os próprios valores contidos na matriz de distância calculada previamente. Já as distâncias observadas são os valores na árvore, que deverão ser otimizados para que se aproximem dos valores esperados. Por exemplo, suponhamos a matriz de distância para três indivíduos quaisquer: Agora, suponhamos que após a aplicação de um algoritmo de agrupamento, chegamos à seguinte árvore: Desta forma, as distâncias observadas podem ser definidas como a soma dos pesos das arestas que ligam cada par de nós folhas. Podemos então ter a seguinte matriz como resultado: Assim, de acordo com o método dos quadrados mínimos (Equação 3.2), tem-se: R s = (2.2 4) 2 + (1 1) 2 + (2 2) 2 = 3.24 Note que, apesar de duas distâncias terem sido preservadas (a distância entre A e C e a distância entre B e C), uma delas (a distância entre A e B) ficou maior, fazendo com que o método gerasse um valor teoricamente alto (3.24). Percebe-se que, se as duas matrizes fossem iguais, esse método retornaria o valor zero, que é ótimo para esse caso.

34 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 19 Alguns autores, como [Ficher, 1992], utilizam um termo de ponderação para o cálculo da Equação 3.2. Deste modo, o cálculo passaria a ser feito através da Equação 3.3: R s = i<j (d ij e ij ) 2 d ij (3.3) Essa variação também é conhecida como método dos quadrados mínimos ponderados. Na prática, os valores de R s resultantes das duas fórmulas podem conduzir a topologias similares [Kumar, 2000]. Método da Evolução Mínima Um outro critério, bastante difundido na literatura, usado para inferir uma árvore filogenética a partir de distâncias previamente estabelecidas, é conhecido como evolução mínima. Como o próprio nome sugere, ele parte do princípio de que, quanto menor for o número de passos necessários para explicar a história evolutiva para um conjunto específico de espécies, mais próximo se estará da árvore verdadeira. Segundo [Kumar, 2000], para este método devem ser calculadas as somas de todas as estimativas de comprimentos de ramos para cada uma das árvores candidatas. A árvore que apresentar o menor valor será a escolhida. T S = b i (3.4) onde b i representa a estimativa de comprimento do ramo i e T é o total de ramos, ou seja, 2m 3, com m = número de folhas da árvore. Para ilustrar melhor o funcionamento desse método, observe o exemplo da Figura 3.3: i Figura 3.3: Duas representações diferentes para a mesma filogenia. Como se pode perceber pela Figura 3.3, as duas árvores representam a mesma filogenia, só diferindo por um fator constante no comprimento dos ramos (0.4). Aplicando o método

35 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 20 da evolução mínima para essas árvores tem-se: Árvore 1: = 3.4 Árvore 2: = 1.8 Apesar das duas árvores representarem a mesma filogenia, a árvore 2 apresenta valores menores nos comprimentos dos ramos, de forma que, pelo método da evolução mínima, ela se aproxima mais da árvore real. Um fator limitante para esse método, porém, é que ele requer a avaliação de todas as possíveis topologias de árvores, para então determinar o menor valor possível para o somatório dos ramos. Deste modo, ele é extremamente dispendioso em termos de tempo computacional. Método Neighbor-Joining Com o objetivo de tornar o método de evolução mínima viável em termos de implementação, [Nei, 1987] propuseram uma melhoria no mesmo. Ora, uma vez que a limitação associada ao método evolução mínima se concentra unicamente na avaliação de todas as topologias possíveis, porque não limitar o número dessas topologias? Foi partindo dessa idéia que [Nei, 1987] propuseram o método Neighbor-Joining (Junção de Vizinhos). Este método, deste modo, não examina todas as possíveis árvores, mas sim gera uma quantidade limitada de topologias, para que o princípio da evolução mínima possa ser aplicado sem demandar tempo demasiado de processamento. A idéia por trás desse método é criar uma topologia inicial, em formato estrela com um nó hipotético no centro e todas as espécies na periferia e, a partir da matriz de distâncias calculada inicialmente, realizar sucessivos agrupamentos até que todas as espécies sejam agrupadas. Para exemplificar, será examinado o funcionamento desse método para um conjunto de oito espécies quaisquer. O primeiro passo do algoritmo Neighbor-Joining é criar uma topologia em estrela para os indivíduos. Após isso, é identificado na matriz de distância o par de espécies com menor distância e então esses indivíduos são agrupados, como pode ser visualizado na Figura 3.4.

36 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 21 Figura 3.4: Primeira iteração do algoritmo Neighbor-Joining. Nesse caso, os elementos 1 e 2 foram agrupados [Schmidt, 2003]. Esse procedimento é repetido até que todos os elementos sofram agrupamentos. Um possível resultado, para esse exemplo, pode ser verificado na Figura 3.5. Figura 3.5: Exemplo de uma árvore gerada pelo método Neighbor-Joining [Weir, 1996] O algoritmo 3.2 traz os passos para a determinação de uma árvore filogenética, usando o método Neighbor-Joining [Driskell, 2003].

37 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 22 Algoritmo 3.2 Método da Junção de Vizinhos (Neighbor-Joining) Entrada: n elementos para serem agrupados. Saída: Uma árvore sem raiz contendo n folhas. 1: Crie n + 1 nós em formato estrela. 2: para (i = 1 até n) faça 3: Compute u i = M ik (n 1) k i 4: Escolha i e j para os quais M ij u i u j é mínimo 5: Una as espécies i e j em uma nova - ij. Calcule o tamanho das arestas de i e j da seguinte forma: d i(ij) = 1 2 M ij (u i u j ), d j(ij) = 1 2 M ij (u j u i ) 6: Compute as distâncias entre a nova espécie e cada outra espécie da seguinte forma: M (ij)k = M ik + M jk M ij 2 7: Exclua as espécies i e j da tabela e as substitua por (ij). 8: se (restam somente dois nós) então 9: retorna Os dois nós remanescentes conectados por uma aresta de tamanho M ij 10: fim se 11: fim para O que se pode notar é que a árvore produzida por essa metodologia não possui raiz. Deste modo, as relações entre as espécies se dão em termos de mudanças ocorridas não em termos de tempo evolutivo. Pelo exemplo da Figura 3.5, não se tem ancestral comum a todos os outros, como ocorreria em uma árvore enraizada Máxima Parcimônia O segundo método não baseado em modelo foi proposto por [Edwards, 1967], sendo conhecido na literatura como método da máxima parcimônia. Ele parte do princípio de que, diante de situações que conduzem a um mesmo objetivo, o critério de escolha deve recair sobre aquela que apresenta ser mais simples. De acordo com [Buso, 2005], a parcimônia pode ser definida de maneira formal como um método baseado no estado do caráter, que infere a árvore filogenética minimizando o número total de passos evolucionários para explicar um conjunto de dados. Isso significa, em outras palavras, que devem ser analisadas todas as topologias de árvores possíveis e, para cada uma delas, deve-se mapear um determinado valor numérico, que representa o número de passos evolucionários, tomando como solução a árvore correspondente ao menor desses valores.

38 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 23 Deste modo, os métodos baseados em parcimônia operam selecionando as árvores de menor comprimento total, dado pelo número de passos evolucionários (transformações de um caractere de um estado para outro) requeridos para explicar um conjunto de dados. De uma maneira mais formal [Prado, 2003] define o problema geral da máxima parcimônia da seguinte maneira. A partir do conjunto de todas as possíveis árvores, deve-se encontrar todas as árvores t tal que: B N L(t) = w j diff(x k j, x k j ) (3.5) k=1 j=1 seja mínimo, onde L(t) é o comprimento da árvore t, B é o número de ramos, N é o número de caracteres, k e k são dois nós incidentes em cada ramo k, x k j e x k j representam cada elemento da matriz de dados de entrada e diff(y, z) é a função que especifica o custo de transformação do estado y para o estado z ao longo de cada ramo. O coeficiente w j associa um peso a cada caractere. Todas essas relações são dadas por [Hillis, 1996]. Em geral, o método máxima parcimônia considera que o menor número de mutações explica o conjunto de dados. Por exemplo, para o caso da Figura 3.6, que representa duas possíveis mudanças de caracteres de T para A, esse método considera que a transformação direta de T para A, que tem custo um, explica melhor a história evolutiva dos indivíduos, que a mudança onde ocorreram passos intermediários, ou seja, T para G depois G para C e por último C para A, tendo como custo final três. Figura 3.6: Duas possíveis mudanças de caracteres de T para A [Leite, 2005] Para possibilitar uma melhor compreensão quanto ao princípio de funcionamento desse método, será fornecido um exemplo de como ele é aplicado na prática. Exemplo do Método Máxima Parcimônia Considere uma situação em que queremos determinar a árvore que melhor explique a história evolutiva para quatro indivíduos (táxons) quaisquer, descritos na Tabela 3.1, cada um com dez caracteres (posições), usando o princípio da máxima parcimônia. Utilizaremos, para tal, a seguinte representação:

39 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 24 Tabela 3.1: Seqüencias de nucleotídeos para quatro espécies hipotéticas. O primeiro passo desse método conciste em criar todas as topologias de árvore possíveis. Como para esse exemplo consideram-se somente árvores sem raiz, existe apenas uma topologia possível, conforme mostra a Figura 3.7. Figura 3.7: Única topologia possível para uma árvore não-enraizada de quatro táxons. Feito isso, para cada um dos dez caracteres das seqüências em estudo, devem ser realizadas todas as combinações possíveis dos quatro indivíduos, sendo os mesmos colocados nas folhas dessa topologia, como pode ser visualizado na Figura 3.8. Figura 3.8: Combinações possíveis para os elementos do sítio 1 sendo colocados nas folhas da topologia da Figura 3.7. Deste modo, a parcimônia para o sítio 1 é calculada somando-se todas as mudanças possíveis, que neste caso é dada por = 5. As Figuras 3.9 e 3.10 mostram essa mesma analogia para os caracteres 5 e 9, respectivamente.

40 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 25 Figura 3.9: Combinações possíveis para os elementos do sítio 5 sendo colocados nas folhas da topologia da Figura 3.7. Figura 3.10: Combinações possíveis para os elementos do sítio 9 sendo colocados nas folhas da topologia da Figura 3.7. Seguindo essa analogia para todos os caracteres o resultado pode ser visto na Figura 3.11: Figura 3.11: Resultado final do método verossimilhança máxima, após todos os passos. O que se pode notar é que este método requer a avaliação de todas as topologias possíveis, e ainda, para cada uma delas, todas as permutações para os indivíduos que

41 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 26 ocuparam as folhas. Desta forma, ele apresenta um elevado custo computacional, sendo inviável para uma quantidade elevada de espécies. 3.4 Métodos Baseados em Modelo Método da Verossimilhança Máxima Um problema associado aos métodos anteriores é que eles se baseiam em um único critério para a geração da árvore, que no caso são as informações de distâncias. Deste modo, o resultado final pode ser pobre e não revelar a verdadeira história evolutiva para o conjunto de espécies em estudo. Partindo dessa limitação, [Ficher, 1992] propôs uma forma de inferência filogenética que utilizasse não uma, mas todas as informações disponíveis para a construção da árvore. Essas informações estariam relacionadas ao que realmente ocorre na natureza e com isso, é esperado que a árvore final corresponda a um resultado mais confiável. Este método foi denominado Verossimilhança Máxima. Na realidade, ele realiza inferências a partir de modelos probabilísticos [Felsenstein, 1981]. Na forma como são implementados atualmente, eles supõem uma topologia para a árvore, e a partir dela selecionam os comprimentos dos ramos de maneira a maximizar a probabilidade dos dados analisados representarem a árvore em estudo. Estas probabilidades são comparadas com as de árvores de outras topologias, e aquela que apresenta a maior probabilidade é considerada a mais verossímil [Kumar, 2000][Weir, 1996]. O cálculo da Máxima Verossimilhança [Weir, 1996] leva em consideração todos os caracteres e todas as possibilidades de mutações em todos os nós internos da árvore proposta. Isso é feito, segundo [Martinez, 2001], através da Equação: N L = L (1) L (2)... L (N) = L j (3.6) onde N é o número de caracteres L i é a verossimilhança para o sitio i, calculada levando-se em conta todas as possíveis transições da topologia em estudo. j=1 Exemplo do Método Verossimilhança Máxima Considere um conjunto de seqüências de nucleotídeos alinhadas pertencentes a quatro táxons. Assim como ocorre no método da máxima parcimônia, descrito anteriormente, é necessário definir todas as topologias de árvores possíveis. Como este exemplo trabalha com apenas quatro táxons, existe somente uma topologia possível de árvore sem raiz, conforme a Figura 3.7. Entretanto, esse método requer que a análise seja feita através de uma árvore com raiz. Sendo assim, é preciso transformar a topologia sem raiz em outra

42 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 27 enraizada. Na Seção 2.4 vimos como fazer essa conversão, mas, segundo [Martinez, 2001], essa não é uma maneira interessante de fazer isso, pois como ela acrescenta mais um nó interno a árvore, tornaria o processo mais complexo, e conseqüentemente mais lento. Desta forma, propõe que seja escolhido arbitrariamente um nó interno e fazê-lo ser a raiz, conforme a Figura Figura 3.12: (a) Árvore sem raiz para os quatro táxons cujas seqüências são dadas anteriormente. (b) Árvore após o posicionamento da raiz em um nó arbitrário qualquer [Martinez, 2001]. O cálculo da verossimilhança para o sitio j, identificado nas seqüências anteriores, é feito considerando-se todas as possíveis configurações evolutivas. Figura 3.13: Cálculo da verossimilhança para o sitio j das seqüências anteriores. O cálculo da probabilidade associada a cada uma dessas topologias é realizado, primeira-

43 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 28 mente, associando um valor numérico a cada aresta sendo este referente à probabilidade de mutação das bases nos nós incidentes (essa probabilidade será vista na próxima Seção). Depois, a probabilidade P é calculada simplesmente somando-se os valores nas arestas. 3.5 Formas para o Cálculo da Distância Vimos que uma boa parte dos métodos para a reconstrução de árvores filogenéticas são baseados em distâncias. Nesta Seção discutiremos como essas distâncias podem ser calculadas, ou seja, que critérios são usados para mapear um certo valor numérico para duas seqüências quaisquer Distância de Hamming A forma mais simples para a determinação desse valor é conhecido como distância de Hamming [Kim, 1999]. Formalmente, pode se definida da seguinte maneira: sendo A e B duas seqüências definidas sobre o mesmo alfabeto e possuindo o mesmo comprimento, a distância de Hamming consiste em verificar o número de caracteres não correspondentes entre essas seqüências. Deste modo, essa distância simplesmente considera a quantidade de caracteres (posições nas seqüências) diferentes nas duas seqüências, conforme mostra a Equação 3.7. onde, n d AB = v ij (3.7) i=j=1 v ij = { 1 se Ai B j 0 caso contrário e, n = Tamanho das seqüências Veja a seguir um exemplo de distância de Hamming para duas seqüências quaisquer: Distância p Um outro critério para o cálculo da distância é conhecido como distância p. Basicamente, funciona como uma extensão da distância de Hamming, pois também contabiliza o número de caracteres diferentes nas duas seqüências. Entretando, a distância final é

44 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 29 tomada como sendo o número de caracteres diferentes dividido pelo comprimento das seqüências. Dessa forma, a distância passa a ser relativa (Equação 3.8). n v ij onde, d AB = i=j=1 n (3.8) v ij = e, n = Tamanho das seqüências { 1 se Ai B j 0 caso contrário Observe a seguir um exemplo de como essa distância pode ser calculada Distância de Levenshtein Conforme pôde ser observado nas Seções e 3.5.2, tanto a distância de hamming quanto a distância p consideram que o comprimento das seqüências devem ser iguais. Para os casos em que as seqüências têm comprimentos diferentes existe um outro método conhecido como distância de Levenshtein ou distância de Edição [Gusfield, 1993]. Essa distância define três operações de edição básica sobre as duas seqüências: Operação de Inserção: insere um novo caracter em uma determinada posição na seqüência; Operação de deleção: consiste em remover um caracter de uma determinada posição na seqüência; Operação de substituição: substitui um caracter na seqüência. De acordo com [Gusfield, 1997], essa distância pode ser definida como o número mínimo de operações necessárias para transformar uma cadeia de caracteres em outra. Por exemplo, a distância de Levenshtein entre as palavras inglesas kitten e sitting é 3 porque são necessários pelo menos 3 edições elementares para transformar uma palavra na outra.

45 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA Métodos de Substituição de Bases Para os modelos probabilísticos, como o da verossimilhanca máxima, por exemplo, existem outros critérios para se calcular a distância, como os métodos de substituição de bases. Esses modelos estabelecem estimativas sobre as probabilidades de uma determinada base sofrer mutação para alguma outra. [Cantor, 1969] propôs um modelo de substituição de bases no qual assume que as freqüências de todas as bases são iguais e que todas as substituições ocorrem na mesma taxa. Este modelo considera que a probabilidade de uma base sofrer mutação para uma outra base é a mesma, conforme especificada na Tabela 3.2: Tabela 3.2: Relação entre as possíveis probabilidades para a mudança de caractere de um estado para outro [Cantor, 1969]. Percebe-se que para qualquer par de bases diferentes, existe a mesma probabilidade de transformação. Já [Kimura, 1980] leva em consideração o fato de que transições e transversões ocorrem em taxas diferentes, mas ainda assume freqüências de bases iguais, conforme mostra a Figura Figura 3.14: Taxas de transição α e de transversão β de Kimura. [Hillis, 1996]. 3.6 Conclusões Foram apresentados neste capítulo os principais métodos de inferência usados na literatura. A intenção foi mostrar a complexidade de se gerar uma árvore filogenética a partir de seqüências de determinados organismos. O que pôde ser observado é que mesmo

46 CAPÍTULO 3. MÉTODOS DE RECONSTRUÇÃO FILOGENÉTICA 31 para os métodos mais simples (teoricamente), como o da distância por exemplo, tem-se um alto grau de dificuldade em termos de processamento. A partir desses conceitos, é possível tomar uma decisão sobre qual alternativa usar diante da necessidade de inferir uma filogenia para um grupo relativamente grande de espécies.

47 Capítulo 4 Computação Evolutiva Nos capítulos anteriores foram descritos os conceitos teóricos sobre árvores filogenéticas e os principais métodos de reconstrução existentes. A partir de agora, passaremos a mostrar como esses conceitos e técnicas podem ser implementados na prática, através de uma abordagem computacional conhecida como computação evolutiva. A computação evolutiva é um ramo da computação natural que propõe uma alternativa eficiente para a resolução de problemas complexos, que apresentam um elevado espaço de busca. Basicamente, essa abordagem atua como um sistema artificial que simula os fenômenos ocorridos na natureza, como a evolução e o comportamento adaptativo, ambos defendidos e formalizados por Charles Darwin em sua teoria da evolução natural [Smith, 2002]. Historicamente, as primeiras iniciativas na área de computação evolutiva foram de biólogos e geneticistas interessados em simular os processos vitais em computador, o que recebeu na época o nome de processos genéticos. Em sua tese de doutorado, por exemplo, o biólogo Rosenberg, em 1967, simulou uma população de seres unicelulares, estrutura genética clássica (um gene, uma enzima), com estrutura diplóide, com cromossomos de 20 genes e 16 alelos permitidos em cada um [Goldberg, 1989]. Segundo [Bäck, 1997], o termo computação evolutiva é relativamente recente, tendo sido criado por volta de Antes deste período, vários pesquisadores vinham trabalhando com sistemas evolutivos, mas seguindo caminhos diferentes. A proposição desse novo modelo veio no sentido de definir uma área comum de pesquisa que englobasse tais pesquisadores. Assim, para apresentar os conceitos sobre computação evolutiva, este capítulo é dividido da seguinte forma: Na Seção 4.1 serão mostrados alguns conceitos teóricos sobre as idéias de Charles Darwin, necessários para um entendimento mais profundo do que vem a ser computação evolutiva. Já a partir da Seção 4.2, será evidenciado com mais detalhes os algoritmos evolucionários e suas variações. 32

48 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA As Idéias Precursoras de Charles Darwin Por volta do ano de 1831, o naturalista inglês Charles Darwin iniciou uma expedição científica a bordo de um navio chamado Beagle, pela costa do Pacífico e América do sul, a procura de informações que pudessem esclarecer certas dúvidas com relação à origem das espécies. Durante esse período, Darwin colheu inúmeras amostras de rochas, plantas e animais, que posteriormente serviram para fundamentar sua teoria. Durante a viagem, Darwin observou certas peculiaridades entre espécies que viviam em regiões diferentes. Ele constatou, por exemplo, que certas aves de regiões alagadiças apresentavam pernas mais compridas em relação as que viviam em áreas de vegetação rasteira. A explicação, segundo ele, era de que as aves de pernas mais compridas teriam facilidade de andar na água, o que também auxiliaria sua alimentação, à base de peixes. Já as aves de pernas mais curtas teriam dificuldade de obter peixes mantendo o corpo fora da água e provavelmente teriam de disputar alimento com outros tipos de aves. Pernas compridas, neste caso, podem ter conferido uma vantagem para os indivíduos na obtenção de alimento, aumentando suas chances de sobrevivência. Esses indivíduos sendo mais bem alimentados têm como conseqüência maiores chances de atingir a idade adulta e reproduzir-se [Laurence, 2000]. Essas observações, juntamente com as idéias que até então se tinham (teoria de Lamark, por exemplo) [Matioli, 2001] deram origem à teoria da evolução natural de Darwin [Darwin, 1859], que é a mais aceita atualmente entre a comunidade científica. A essência dessa teoria é de que a vida na Terra é resultado de um longo processo de evolução, onde os indivíduos mais bem adaptados sobrevivem e os mais fracos desaparecem ao longo do tempo. Além disso, essa teoria afirma também que o surgimento de novas espécies está associado a contínuos processos de mutação entre as gerações. Todos esses conceitos, experimentos e conclusões foram reunidos em um livro intitulado Teoria da Evolução por Seleção Natural, cujo autor fora o próprio Darwin. A Figura 4.1 mostra como ocorre o processo de evolução natural. Figura 4.1: Resumo esquemático da evolução natural proposta por Darwin. (Adaptado de [Laurence, 2000].

49 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA Computação Evolutiva - Conceitos Gerais A computação evolutiva, conforme já mencionado, trata de algoritmos inspirados na teoria da evolução de Darwin. Uma pergunta que parece plausível a este ponto seria dizer qual é a relação que existe entre esse fenômeno natural, que nem mesmo foi comprovado cientificamente como verdadeiro (teoria) e a computação. É bem verdade que a natureza consegue resolver problemas aparentemente difíceis para nós. Como, por exemplo, controlar a quantidade de alimento disponível para certos animais herbívoros sem causar desequilíbrios entre a fauna e a flora. Existe uma relação direta entre este problema e inúmeros outros encontrados na matemática e computação e porque não tentar resolvêlos usando as mesmas estratégias que a natureza utiliza? É desta forma que surgiram os sistemas baseados em computação natural, como por exemplo, as redes neurais artificiais (se baseiam nos mecanismos de funcionamento do cérebro humano), os sistemas imunológicos (sistema imunológico humano) e é claro a computação evolutiva (se baseiam nos princípios de Charles Darwin). Em suma, os sistemas baseados em computação evolutiva mantêm uma população de soluções candidatas e, progressivamente, operações de combinação e mutação vão sendo aplicadas em cima dessas soluções até que se chegue a um estágio onde soluções viáveis possam ser encontradas. Diversas abordagens para sistemas baseados em evolução foram propostas, sendo que as principais diferenças entre elas dizem respeito aos operadores genéticos utilizados [Prado, 2003]. As principais abordagens propostas na literatura, segundo [Prado, 2003] são algoritmos genéticos, estratégias evolutivas e programação evolutiva. Os algoritmos genéticos talvez sejam os mais comuns entre essas diferentes abordagens. Eles foram propostos por Holland em 1971 [Holland, 1973] e vem sendo largamente utilizados em problemas de otimização. Esses algoritmos empregam as mesmas operações de crossover e mutação, encontradas no meio natural, evidentemente representadas aqui de forma artificial. As estratégias evolucionistas foram inicialmente propostas com o objetivo de solucionar problemas de otimização de parâmetros, usando apenas o operador de mutação. Percebese, neste caso, uma certa limitação em relação aos algoritmos genéticos [Rechenberg, 1973] [Schwefel, 1995]. A programação evolutiva, introduzida por [Fogel, 1994], foi originalmente proposta como uma técnica para criar inteligência artificial pela evolução de máquinas de estado finito (empregando, também, apenas mutação). Recentemente, tem sido aplicada a problemas de otimização, sendo, neste caso, virtualmente equivalente às estratégias evolutivas. Atualmente, existem apenas pequenas diferenças no que diz respeito aos procedimentos de seleção e codificação de indivíduos presentes nestas duas abordagens [Fogel, 1994]. Apesar dessas abordagens terem sido desenvolvidas de forma independentes, seus al-

50 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 35 goritmos possuem uma estrutura comum. De forma geral, podemos representá-las através de uma estrutura única, conforme ilustrado no algoritmo 4.1 [Schoenauer, 1996]. Algoritmo 4.1 Modelo Básico de Algoritmo Evolutivo Entrada: Um problema T. Saída: Possíveis soluções para T, próximas do resultado ótimo (pelo menos teoricamente). 1: t = 0 2: Inicializar P (t), sendo P a população. 3: Avaliar P (t) 4: enquanto (não (condição de parada)) faça 5: t = t + 1 6: Selecionar P (t) a partir de P (t 1) 7: Aplicar os operadores genéticos a P (t) 8: Avaliar P (t). 9: fim enquanto 10: retorna P. Como esse trabalho foi desenvolvido com base nos algoritmos genéticos, essa abordagem será explorada com mais detalhes. 4.3 Algoritmos Genéticos Os algoritmos genéticos empregam uma terminologia originada da teoria da evolução natural e da genética. Deste modo, assim como acontece no meio natural, os sistemas artificiais baseados nesses algoritmos mantêm uma população de indivíduos, também denominados cromossomos, em uma estrutura que simula o habitat natural. Cada um desses cromossomos é codificado através de uma determinada estrutura de dados, e representam soluções potenciais ao problema que se quer resolver. A cada passo do algoritmo, esses cromossomos vão se combinando e os melhores vão se mantendo na população enquanto aqueles que representam soluções ruins vão logo sendo eliminados. Desta forma, ao final do processo iterativo, é esperado que a população final contenha indivíduos de boa qualidade, que podem ser perfeitamente tomados como soluções para o problema em questão. As etapas mais importantes dos algoritmos genéticos são a criação da população inicial, a fase de avaliação, que desempenhará o papel da pressão que o meio ambiente exerce sobre os indivíduos e a seleção dos melhores candidatos, responsável pela convergência do algoritmo. Os algoritmos genéticos, apesar de pertencerem à classe dos algoritmos probabilísticos, não são métodos de busca puramente aleatórios, pois eles combinam elementos de métodos

51 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 36 de busca diretos e estocásticos 1 [Prado, 2003]. Esta é a razão da alta eficiência desses algoritmos em problemas de otimização combinatória. Nas Seções seguintes, serão explanadas as etapas mais importantes que um algoritmo genético deve ter, não necessariamente na ordem imposta Terminologia dos Algoritmos Genéticos Antes de explorarmos os parâmetros de um algoritmo genético, precisamos definir alguns termos usualmente empregados na biologia e que são bastante comuns nesses algoritmos: População: Conjunto de indivíduos da mesma espécie que vivem numa mesma área. Indivíduo: Membro de uma população que interage com o meio ambiente. Genes: Cada uma das unidades de natureza bioquímica presentes nos cromossomos que controlam a transmissão de características hereditárias nos seres vivos. Cromossomo: Conjunto de genes que determinam todas as características dos indivíduos. Alelo: Par de genes que ocupam posições idênticas (relativas ao mesmo tipo de característica) num par de cromossomos homólogos. Geração: Conjunto de indivíduos nascidos em um mesmo intervalo de tempo. Reprodução: Capacidade que os indivíduos tem de gerar outros da mesma espécie (semelhantes). Mutação: Pequena alteração que ocorre nos cromossomos no momento da reprodução. Como os algoritmos genéticos são baseados em teorias evolucionistas, que por sua vez estão associadas a genética, eles também apresentam os termos mencionados, só que de forma artificial. Desta forma, torna-se necessário redefinir os mesmos, agora em termos computacionais. População: Conjunto de possíveis soluções (indivíduos). Indivíduo: Uma determinada solução canditada, pertencente a população. Genes: Cada parâmetro de uma solução, ou seja, cada componente de uma solução. 1 Estocásticos são padrões que surgem através de eventos aleatórios. O lançamento de dados dará resultados numéricos estocásticos, por exemplo, pois qualquer uma de suas seis faces tem iguais probabilidades de ficar para cima quando arremessados.

52 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 37 Cromossomo: Um indivíduo (solução) codificado através de uma estrutura de dados. Alelo: Par de genes que ocupam posições idênticas (relativas ao mesmo tipo de característica) num par de cromossomos homólogos. Geração: Conjunto de indivíduos de uma determinada iteração do algoritmo genético. Reprodução: Combinação de duas soluções (indivíduos) em outros mantendo certas características. Mutação: Alteração aleatória que ocorre nos cromossomos Parâmetros de um Algoritmo Genético A idéia por trás de qualquer sistema baseado em evolução é criar uma ou mais soluções no início e realizar processamentos em cima dessas soluções sem nenhuma intervenção. Isso é necessário para que não haja qualquer interferência na direção de convergência desses sistemas. Os únicos elementos que podem sofrer mudanças são os parâmetros de entrada. Os principais deles são: Tamanho da População: indicado pelo número de cromossomos gerados inicialmente. É preciso haver uma ponderação quanto a essa quantidade. Se ela for muito pequena, pode levar à convergência do algoritmo a máximos locais devido à reduzida diversidade genética. Por outro lado, se for muito grande pode demandar mais tempo de processamento, necessário para explorar todo o espaço de procura [Rosa, 2001]. Quantidade de Gerações: determinará a quantidade de repetições que o algoritmo terá que executar. Se for muito pequena, certamente não haverá convergência e se muito grande provocará uma certa estagnação, ou seja, pouca diversidade entre os indivíduos da população. Assim como no parâmetro anterior, deve haver uma ponderação. Taxa de Recombinação: é determinado em níveis percentuais, indicando a probabilidade de reprodução de cada cromossomo. O operador de recombinação atuará mediante essa taxa. Taxa de Mutação: também é determinado em níveis percentuais, só que representando a probabilidade de um cromossomo sofrer uma alteração aleatória em sua estrutura. Quanto menor for essa taxa, menor será a diversidade da população, ao passo que aumentando essa taxa mais heterogêneos serão os indivíduos da população.

53 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 38 Alguns autores propõem uma certa correspondência de valores para cada um desses parâmetros. [Jong, 1975], por exemplo, utiliza a seguinte proporção: (N, P c, P m) = (50, 0.6, 0.001) onde N = Tamanho da população. P c = Taxa de recombinação. P m = Taxa de mutação. [Grefenstette, ] em simulações similares concluiu que para um melhor desempenho, quando a média da função objetivo de cada geração é usada como índice a ser otimizado, devem ser adotados os seguintes números: (N, P c, P m) = (30, 0.95, 0.01) Codificação dos Indivíduos da População No algoritmo genético clássico, proposto por [Holland, 1973], as soluções candidatas ou cromossomos são codificadas em arranjos binários de tamanho fixo (Figura 4.2). Assim, esse tipo de representação possibilita um certo paralelismo implícito e ele conseguiu provar que o alfabeto binário maximiza essa propriedade. Figura 4.2: Exemplo de representação hipotética, em arranjo binário, da estrutura do cromossomo proposta por [Holland, 1973]. Cada posição deste vetor é chamada alelo, e neste caso, tem apenas dois valores possíveis (0 ou 1). Como esse arranjo está associado a uma possível solução codificada, é necessário que se defina, a priori, o que cada uma de suas posições representa. Para tal, em alguns casos, esse arranjo é subdividido em n subconjuntos disjuntos e em posição contígua, representando cada gene. Cada um desses n genes estará relacionado a determinado parâmetro da solução. A Figura 4.3 traz o exemplo desse esquema para o caso do cromossomo mostrado na Figura 4.2.

54 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 39 Figura 4.3: Representação do cromossomo e seus genes, cada um dos quais associado a um parâmetro específico da solução do problema. Entretanto, em certas ocasiões, essa representação pode não levar a um desempenho satisfatório. Em problemas de otimização numérica com parâmetros reais, por exemplo, a representação em vetor de bits não consegue simular o nível de continuidade requerida, sem ter que usar bits extras para representar a parte fracionária, e isso aumenta significativamente o espaço de busca do algoritmo, tornando-o ineficiente. Para esses casos, [Schoenauer, 1996] propõe uma representação através de ponto-flutuante. Os resultados apresentados por ele mostram uma clara superioridade dessa codificação em relação a anterior, segundo [Prado, 2003]. Uma vez estabelecida a codificação dos indivíduos, a população inicial pode então ser gerada. Existem duas formas tradicionais de se gerar essa população, dependendo do conhecimento prévio que se tenha da solução final [Silva, 1998]. De modo puramente aleatório: indicado para casos em que não se tem informação alguma acerca dos resultados que se queira chegar; Utilização de Heurísticas: quando algumas informações sobre o problema são conhecidas previamente. Deste modo, é interessante utilizar essas informações na geração da população Operadores Genéticos Os operadores genéticos mais freqüentemente utilizados em algoritmos genéticos são o crossover, ou recombinação, e a mutação. Nesta Seção, serão apresentados os principais aspectos relacionados a estes operadores. Operador de Crossover O operador de crossover cria novos indivíduos através da combinação de dois ou mais indivíduos. A idéia intuitiva por trás do operador de crossover é a troca de informação entre diferentes soluções candidatas [Zuben, 2001]. No algoritmo genético clássico é atribuída uma probabilidade de crossover fixa aos indivíduos da população, conforme já mencionado. O operador de recombinação mais comumente empregado é o crossover de um ponto. Para a aplicação deste operador, são selecionados dois indivíduos (pais) e a partir de seus

55 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 40 cromossomos são gerados dois novos indivíduos (filhos). Para gerar os filhos, seleciona-se um mesmo ponto de corte aleatoriamente nos cromossomos dos pais, e os segmentos de cromossomo criados a partir do ponto de corte são trocados [Zuben, 2001]. Considere, por exemplo, dois indivíduos selecionados como pais a partir da população inicial de um algoritmo genético e suponhamos que o ponto de corte escolhido (aleatoriamente) encontra-se entre as posições 4 e 5 dos cromossomos dos pais: Figura 4.4: Ilustração de um crossover de um ponto para um exemplo hipotético. Após aplicada a operação acima, teremos os seguintes indivíduos-filhos: Figura 4.5: Resultado da aplicação do crossover de um ponto. Repare que cada individuo filho manteve certas características de seus progenitores. Muitos outros tipos de crossover têm sido propostos na literatura. Uma extensão simples do crossover de um ponto é o crossover de dois pontos, onde ao invés de um, dois pontos de corte são escolhidos e material genético são trocados entre eles. Outro tipo de crossover muito comum é o crossover uniforme [Syswerda, 1989]. Neste operador, para cada bit no primeiro filho é decidido (com alguma probabilidade fixa p) qual pai vai contribuir com seu valor para aquela posição. Como o crossover uniforme troca bits ao invés de segmentos de bits, ele pode combinar características independentemente da sua posição relativa no cromossomo. No entanto, não há nenhum operador de crossover que claramente apresente um desempenho superior aos demais. Uma conclusão a que se pode chegar, segundo [Zuben, 2001], é que cada operador de crossover é particularmente eficiente para uma determinada classe de problemas e extremamente ineficiente para outras. Operador de Mutação O operador de mutação modifica aleatoriamente um ou mais genes de um cromossomo. A probabilidade de ocorrência de mutação em um gene é denominada taxa de mutação,

56 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 41 sendo um dos elementos que compõe os parâmetros de entrada de um algoritmo genético. Usualmente, são atribuídos valores pequenos para a taxa de mutação. A idéia intuitiva por trás do operador de mutação é criar uma variabilidade extra na população, mas sem destruir o progresso já obtido com a busca [Mitchell, 1996]. Considerando codificação binária, o operador de mutação padrão simplesmente troca o valor de um gene em um cromossomo [Holland, 1973]. Assim, se um gene selecionado para mutação tem valor 1, o seu valor passará a ser 0 após a aplicação da mutação, e vice-versa Função de Avaliação Segundo [Bäck, 1997], todo algoritmo genético deve ser capaz de mapear eficientemente a representação dos cromossomos em um valor numérico, ao qual que ele deu o nome de fitness. Essa é uma das etapas mais importantes no desenvolvimento de um bom algoritmo genético, pois será ela quem determinará a qualidade das soluções, e é exatamente essa medida de qualidade que fará com que as soluções boas se sobressaiam em relação às ruins. No entanto, a determinação absoluta e precisa do fitness pode não ser elementar. A dificuldade vem da objetividade da função de fitness, a qual freqüentemente é criada somente quando se possui conhecimento significativo sobre o espaço de busca [Angelini, 1993]. Para eliminar a dependência de funções de fitness objetivas, uma competição é introduzida. Função de fitness competitivo é um método para calcular fitness que é dependente da população atual, enquanto que as funções de fitness padrão retornam o mesmo valor para um indivíduo independente dos outros membros desta população. A vantagem da competição é que os algoritmos evolucionários não necessitam de valores precisos de fitness, porque muitos esquemas de seleção trabalham apenas comparando esses valores, ou seja, os critérios melhores ou piores. Em outras palavras, não é necessário o valor da medida absoluta de fitness, mas sua medida relativa deve ser derivada quando um indivíduo é confrontado com outros indivíduos. Este método mostra-se bastante adequado para implementações usando paralelismo [Bäck, 1997] Modelos de Seleção O ciclo de execução do algoritmo genético encerra-se com a escolha, dentre os indivíduos que estão na população atual, daqueles elementos mais bem avaliados para compor a população da geração seguinte. Esse mecanismo recebe o nome de seleção, em analogia, como já se sabe, à seleção natural. O algoritmo genético clássico utiliza um esquema de seleção de indivíduos para a próxima geração chamado roulette wheel (Método da Roleta) [Goldberg, 1989]. O roulette

57 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 42 wheel atribui a cada indivíduo de uma população uma probabilidade de passar para a próxima geração, proporcional ao seu fitness medido, em relação à somatória do fitness de todos os indivíduos da população. Assim, quanto maior o fitness de um indivíduo, maior a probabilidade dele passar para a próxima geração. Sendo assim, a seleção de indivíduos por roulette wheel pode fazer com que o melhor indivíduo da população seja perdido, ou seja, não passe para a próxima geração. Segundo [Zuben, 2001], uma alternativa é escolher como solução o melhor indivíduo encontrado em todas as gerações do algoritmo. Outra opção é simplesmente manter sempre o melhor indivíduo da geração atual na geração seguinte, estratégia essa conhecida como seleção elitista [Fogel, 1994] [Schoenauer, 1996]. Na tabela 4.1 e Figura 4.6, pode ser observado um exemplo de aplicação do Roulette Wheel: Tabela 4.1: Cálculo da função de fitness para cada indivíduo (Adaptado de [Prado, 2003]). Figura 4.6: Aplicação do método da roleta para o caso da 4.1. Percebe-se nitidamente que o individuo 1, cujo valor de fitness é alto, recebeu uma proporção maior na roleta, tendo como conseqüência maior probabilidade de ser escolhido. (Adaptado de [Prado, 2003].) Outro exemplo de mecanismo de seleção é a seleção baseada em rank [Bäck, 1997]. Esta estratégia utiliza as posições dos indivíduos quando ordenados de acordo com o fitness para determinar a probabilidade de seleção. Podem ser usados mapeamentos lineares ou nãolineares para determinar a probabilidade de seleção. Para um exemplo de mapeamento linear, veja [Schoenauer, 1996]. Uma variação deste mecanismo é simplesmente passar os N melhores indivíduos para a próxima geração. De acordo com [Zuben, 2001], existem alguns outros possíveis mecanismos de seleção:

58 CAPÍTULO 4. COMPUTAÇÃO EVOLUTIVA 43 Seleção por diversidade: são selecionados os indivíduos mais diversos da população; Seleção bi-classista: são selecionados os P melhores indivíduos e os (100 P ) piores indivíduos; Seleção aleatória: são selecionados aleatoriamente N indivíduos da população. Esse tipo de seleção ainda pode ser subdividido em: Salvacionista: seleciona-se o melhor indivíduo e os outros aleatoriamente; Não-salvacionista: seleciona-se aleatoriamente todos os indivíduos. Estes mesmos mecanismos de seleção podem ser adaptados para selecionar também os indivíduos que irão sofrer crossover e mutação. Por exemplo, usando a seleção bi-classista, é possível selecionar os indivíduos que, ao se reproduzirem, irão gerar os indivíduos da próxima geração. O número de indivíduos selecionados para crossover pode ser bem menor que o total de indivíduos da população, indicando que só alguns terão chance de gerar descendentes, e em grande número. 4.4 Conclusões Este capítulo procurou evidenciar os principais aspectos concernentes a computação evolutiva, com uma ênfase maior nos algoritmos genéticos. Foram descritos alguns conceitos teóricos sobre a teoria da evolução de Darwin e como eles podem ser usados para resolver problemas de alta complexidade, através do computador.

59 Capítulo 5 Materiais e Métodos Esse trabalho foi desenvolvido com base em dois conjuntos de dados. O primeiro deles foi obtido através do Centro Nacional de Informações para Biotecnologia (National Center for Biotechnology Information - NCBI) [NCBI, 1988], que é um banco de dados de acesso público e trata-se de vinte espécies de proteínas da família malate synthases. Já o segundo conjunto foi extraído da base de dados do Instituto de Ciências Biológicas da Universidade Federal de Minas Gerais - ICB/UFMG [UFMG, 2000] e representa 17 seqüências de mtdna, que são códigos de DNA extraídos de mitocôndrias. A implementação se deu através da linguagem de programação Objective O caml [Hickey, 2006], que pertence ao paradigma funcional. O software usado para o alinhamento das seqüências foi o ClustalX [Gibson, 1996] e o software usado para desenhar as árvores foi o [IUBIO, 1989]. Os testes foram realizados em uma máquina com sistema operacional Microsoft Windows XP, com 240MB de memória RAM, 80GB de disco rígido e processador Intel(R) Celeron CPU 2.40Ghz. 5.1 Descrição das Bases de Dados Utilizadas O trabalho consiste em submeter cada um dos conjuntos de dados a um algoritmo genético, para então gerar como resultado uma árvore filogenética que descreva a história evolutiva das espécies em estudo. O primeiro conjunto de dados [NCBI, 1988], que são as vinte espécies de proteínas, pode ser visualizado na Tabela 5.1. O significado para cada um dos aminoácidos mostrados na Tabela 5.1 pode ser visualizado na Tabela 5.3. O segundo conjunto de dados trata-se de 17 seqüências de mtdna. Esse conjunto representa uma estrutura mais rígida em relação ao primeiro, pois todas as seqüências têm comprimento fixo (302 caracteres), conforme mostra a Tabela

60 CAPÍTULO 5. MATERIAIS E MÉTODOS 45 Tabela 5.1: Seqüência de aminoácidos para vinte espécies de proteínas retiradas do NCBI [NCBI, 1988]. ESPÉCIE A.nidulans SEQÜÊNCIA DE AMINOÁCIDOS MSQVDAQLKDVAILGSVSNEARKILTKEACAFLAILHRTFNPTRKALLQR RVDRQAEIDKGHLPDFLPETKHIRDDPSWKGAPPAPGLVDRRVEITGPTD RKMVVNALNSDVAPTWDNMINGQINLYDAIRRQVDFKQGQKEYKLRTDRT LPTLIARARGWHLDEKHFTVDGEPISGSLFDFGLYFFHNAKELVARGFGP YFYLPKMESHLEARLWNDVFNLAQDYIGMPRGTIRGTVLIETITAAFEME EIIYELRDHSSGLNCGRWDYIFSFIKKFRQHPNFVLPDRSDVTMTVPFMD AYVKLLIKTCHKRGVHAMGGMAAQIPIKDNAEANDKAMEGVRADKLREVR AGHDGTWVAHPALASIASEVFNKYMPTPNQMHVRREDVNITANDLLNTNV PGKITEDGIRKNLNIGLSYMEGWLRGVGCIPINYLMEDAATAEVSRSQLW QWARHGVTTSEGKKVDKAYALRLLKEQADALAAKGPKGNKFQLAGRYFAG QVTGEDYADFLTSLLYNEISSPGTASKL A.fumigatus MSQIEVQLKDVAILGAVNNEHRKILTKEACAFLAILHRTFNPTRKALLQR RIDRQAEIDKGHLPDFLPETKHIRENDAWKGAPPAPGLVDRRVEITGPTD RKMVVNALNADVWTYMADFEDSSAPTWANMINGQVNLYDAIRRQIDFKQG NKEYKLRTDRALPTLIARARGWHLDEKHFTVDGEPISGSLFDFGLYFFHN AKELVARGHGPYFYLPKMESHLEARLWNDVFNLAQDYIGMPRGTIRATVL IETITAAFEMDEIIYELRDHSSGLNCGRWDYIFSFIKKFRKHPNFVLPDR SDVTMTVPFMDAYVKLLIKTCHRRGVHAMGGMAAQIPIKDDPVANDKAME SVRADKLREVRAGHDGTWVAHPALASIASEVFNKYMPTPNQLFVRRQDVN ITANDLLNTNVPGKITEEGIRKNLNIGLSYMEGWLRGVGCIPINYLMEDA ATAEVSRSQLWQWVHHQVTSSEGKKIDKAYALRLLQEQADSLAAKSPKGN KFQLAARYFAGQVTGEDYADFLTSLLYNEISTPGTASKL A.oryzae MSQIDVQLKDVAILGAIPNDARKILTKEACAFLAILHRTFNPTRKALLQR RIDRQAELDKGHLLDFLPETKHIRENDAWKGAPPAPGLVDRRVEITGPTD RKMVVNALNADVWTYMADFEDSSAPTWENMINGQVNLYDAIRRQIDFKQG NKEYKLRTDRTLPTLIARARGWHLDEKHFTVNGEPISGSLFDFGLYFFHN AKELVARGFGPYFYLPKMESHLEARLWNDVFNLAQDYIGMPRGTIRGTVL IETISAAFEMDEIIYELREHSSGLNCGRWDYIFSFIKKFRKHPNFVLPDR SDVTMTVPFMDAYVRLLIKTCHRRGVHAMGGMAAQIPIKDNQAANDKAME SVRADKLREVRAGHDGTWVAHPALAAIASEVFNKHMPTPNQLFIRREDTH VTANDLLNTNVPGKITEEGIRKNLNIGLSYMEGWLRGVGCIPINYLM...

61 CAPÍTULO 5. MATERIAIS E MÉTODOS 46 P.nodorum MAANPDTILREVNILGELNDQNRHILSKDAAVFLALLHRTFNERRKALLQ RRVIRQAELDKGNLLDFLPETKHIRENATWRGAPPAPGLVDRRVEITGPT DRKMVVNALNSNVWTYMADFEDSSAPTWDNMINGQLNLHDAIRRQVDFKQ GEKEYKLRTDRTLPTLIARARGWHLEEKHFTVDGEPISGGLFDFGLYFFN NAHELVKRGAGPYFYLPKMESHLEARLWNDVFNLAQDYIGMKRGTIRGTV LIETITAAFEMDEIIYELRDHSSGLNCGRWDYIFSTIKRFRQNPNFVLPD RDSVTMTSPFMDAYVKLLIKTCHKRGVHAMGGMAAQIPIKNDQQANDAAM AKVRADKLREVRAGHDGTWVAHPALAAIASEIFNEHMPTPNQMHVRREDV HITANDLLNMNVPGKVTEEGIRKNLDIGLSYMEAWIRGVGCVPINYLMED AATAEVSRSQLWQWTRHSVETAEGKKVTKDYALKLLHEQAKALSQKAPKG NKFHVAEKYFAGQVTGEDYAEFLTSLLYNEITNVGPPKGA Y.lipolytica1 MQKNCTLHTNHLVTTVPSSNTDAILKGVEIRANIPANAQHIFSKEALAFI ATLHRTFDARRHELLAARVARQARIDAGEFPDFLPETKNIRDDPTWQGAP PAPGLVDRRVEITGPTDRKMVINALNSDVWTYMADFEDSSAPTWSNMVDG QVNLYDGVRRTITFQAPGGKSYKLRSDKEKLPTLIVRPRGWHLDETHFLV DGKPISGGLFDFGLYFFNNAKESVARGAGPYFYLPKMESHLEARLWNDVF KLSQDWIGMPRGTIRGTVLIETILAAFEMDEIIYELREHSSGLNCGRWDY IFSFIKKFKNHPEFVLPDRGDVTMTVPYMSAYVKLLIQTCHKRGVHAMGG MAAQIPIKNDAAANKVAMEGVYKDKLREVTAGHDGTWVAHPQLAIIASEV FNKHMPTPNQIYRRREDVHITARDLINPYIEGGKITEEGIRKNLFIGLGY MEAWLRGLGCVPINYLMEDAATAEVSRSQLHQWVKHGVTTAEGKKVTKDY AVKLLNEETDKLIKNSKPGNKFAEAAAYFKPEIVGDKYSDFLTTLLYDQI TSVGSSSKL Y.lipolytica2 MTVNSTFRSASTSPKLGKTSQADILSPEAQKFLVELHSNFNQRRLELLDL RQKNQLKLDAGEIPTYPTETADIRADKSWTGPSLAPGLHDRRVEITGPPD RKMIINALNTNVATYMSDFEDSQAPTWDNCLDGQVNLYDAIRNQVDFDTE KKPYKLTTKKWTEGTYSRGSTDTRPTLLVRPRGWHMLESHVQIDGQSMSG SLFDFGLFFFNNAKALIEAGRGPYFYLPKMEHYLEARLWNDVFVFSQNYC GIPQGTIRATCLIETLPAALHMEEIIYELRDHSAGLNCGRWDYMFSVIKR FRNQPEKLLPDRKMITMTVPFMNAYVTRLVHVCHKRKVHAMGGMAAIIPL KDAAENALAMEKVKADKHREASAGCDGTWIAHPGLAETATKEFDELMPGE NQFDFVGEDVPSEKLLDTTIEGFAITKEGLQENVYIGLRYMEAWLRGLGC VPINNLMEDAATAEVSRAQLWQWTKHGKFTKEEVLEMISQEAEKLGNTDS VKRAGELLGSEIGGDFAEFLTDLLYPDLVEQ

62 CAPÍTULO 5. MATERIAIS E MÉTODOS 47 P.angusta MAQINPTTLDNVKILGEVSDKPLLSKATPRDILTKDALKFIVLLHRSFNE TRKQLLENRQKVQERLDAGESLHFLEETKYIREDPNWKCLPTHPKLQCRK IEITGPPDAKMIVNAFNTDVFTYMTDFEDSCSPTWNNMIYGQVNLYDAIR DRIDFTNEATGKRYKINREGRRVPVMIVRPRGWHMVDKHILVDGEPISAS IMDFGLFFFHNAKFLLSQGLAPFFYLPKMEHYKEAQLWNDIFCVAQDCLE IPRGTIKATVLIETLPISYQLDEVLYALRDHSAGLNCGRWDYMFSTIKRL RNQKQHILPDRHQVTMTVPFMTNYVKQLIKICHKRGVHAMGGMAATIPIKD DPEKNAAAMEAVRQDKLREVLAGHDGTWIAHPGLLPTALSVFQEHMPTPNQ IHVQKNVEITEADLVDTNIPDGKITMKGVSANIYIGLNYMESWLRGLGCVP INNLMEDAATAEVSRLQLYSWCKHAVKMDDTGKTITPEFISKLIDEEAERC AANKPNNKFKIAADCLKKEINGHTEVAEFLTTLLYDDIVTIGPEVDISSLK E.gossypii MNHCPDHWLVGRKGQESVIVAPDDAWQPIRAGGQQEAGGRQAPGWARAGA RSYISAAGAGREAAGAASSAMVAVSLERVQVLGQIDAEPRFKPSTTTVAD IVTKEALEFVVLLHRTFNGRRKDLLARRQELQQRLDSGEATLDFLPETRA IREDPTWQGPPLAPGLVNRSTEITGPPLRNMLINALNADVNTYMTDFEDS LAPTWENITYGQVNLYDLIRSRADFAVGSKQYQLRDRFERLATLLVRPRG WHMVDKHVLVDDEPISASILDFGLYFFHNAAKLVEVGKGPYFYLPKMEHH LEAKLWNDIFNVAQDYIGMRRGTVRATVLIETLPASFQMDEIIWQLRQHS AGLNCGRWDYIFSTIKKLRGQSQHVLPDRDQVTMTSPFMDAYVKSLIRTC HRRGVHAMGGMAAQIPIKDDPAANEAALAKVRADKIRELQNGHDGSWVAH PALVPICNEVFRNMGTPNQIHVVPEVHIGARDLVNTSISGGRVTIAGIRQ NLDIGLQYMEAWLRGSGCVPINNLMEDAATAEVSRCQLHQWVRHRVKLAD TGENVTPDLVRGLLRERTDALARASRAGSSNKFALAAKYLEPEITAERFT DFLTTLLYDEIVTPTNASKSRL K.lactis MVKKNLENVQLLVDVDTKPQFSPSTTTVADILTKDALEFVVLLHRTFNKT RLQLLENRQIVQQKIDSGEYEFNFLKETEAIRNDPTWQGPPLAPGLIDRS TEITGPPLRNMLVNALNSDVKTYMTDFEDSASPTWVNVIYGQVNLYDAIR DQIDFVTPRKEYKLRGKIADLPTLIVRPRGWHMVDNHILVDGEPISASIL DFGLYFYHNAKKLIEIGKGPYFYLPKMEHHLEAKLWNDVFQVAQDSLAIP RGTIRATVLIETLPAAFQMEEIIWQLRQHSSGLNCGRWDYIFSTIKRLRN KPEHVLPNRDQVTMTSPFMNAYVKRLIKICHGRGVHAMGGMAAQIPIKDNE EANNAAMTKVRNDKIRELTNGHDGSWVAHPALAAICNEVFAEMGTPNQIYF VPETSVAASDLLNTNIEGGEITTAGIKQNLDIGLQYMEAWLRGSGCVPINN LMEDAATAEVSRCQLHQWVKHKIVLKDTGKQVTPALAKEILYQQAKELAAK SPVGDANKFELAATYFEPEITGEKFSEFLTTLLYEEIITVNSTPYDLSKLK

63 CAPÍTULO 5. MATERIAIS E MÉTODOS 48 S.cerevisieae1 MVKVSLDNVKLLVDVDKEPFFKPSSTTVGDILTKDALEFIVLLHRTFNNK RKQLLENRQVVQKKLDSGSYHLDFLPETANIRNDPTWQGPILAPGLINRS TEITGPPLRNMLINALNAPVNTYMTDFEDSASPTWNNMVYGQVNLYDAIR NQIDFDTPRKSYKLNGNVANLPTIIVRPRGWHMVEKHLYVDDEPISASIF DFGLYFYHNAKELIKLGKGPYFYLPKMEHHLEAKLWNDVFCVAQDYIGIP RGTIRATVLIETLPAAFQMEEIIYQLRQHSSGLNCGRWDYIFSTIKRLRN DPNHILPNRNQVTMTSPFMDAYVKRLINTCHRRGVHAMGGMAAQIPIKDD PAANEKAMTKVRNDKIRELTNGHDGSWVAHPALAPICNEVFINMGTPNQI YFIPENVVTAANLLETKIPNGEITTEGIVQNLDIGLQYMEAWLRGSGCVP INNLMEDAATAEVSRCQLYQWVKHGVTLKDTGEKVTPELTEKILKEQVER LSKASPLGDKNKFALAAKYFLPEIRGEKFSEFLTTLLYDEIVSTKATPTD S.cerevisieae2 MVKISLDNTALYADIDTTPQFEPSKTTVADILTKDALEFIVLLHRTFNST RKQLLANRSNLQSKLDSGEYRFDFLPETEQIRNDPTWQGAIPAPGLINRS SEITGPPLRNMLVNDLNAEVTTYMTDFEDSSSPTWENMIYGQVNLYDAIR NQIDFKTPRKEYRLKGDISRLPTLIVRPRGWHMVEKHLYIDDEPISASIF DFGLYFYHNAKELVKIGKGPYFYLPKMEHHMEVKLWNDIFCVAQDFIGMP RGTIRATVLIETLPAAFQMEEIIYQIREHSSGLNCGRWDYIFSTIKKLRN LNEHVLPNRDLVTMTSPFMDAYVKRLINTCHRRGVHAMGGMAAQIPIKDD PKANEAAMNKVRNDKIREMKNGHDGSWVAHPALAPICNEVFSNMGTANQI YFVPDVHVTSSDLLNTKIQDAQVTTEGIRVNLDIGLQYMEAWLRGSGCVP INHLMEDAATAEVSRCQLYQWVKHGVVLSDTGDKVTPELTAKILNEETAK LASASPLGEKNKFALAAKYFLPEVTGKIFSDFLTTLLYDEIIKPSAKPVD C.glabrata MVKISLDNVKLLVDIDDKPQFEPSKTTVKTILTKEALEFIVLLHRTFNAR RKQLLENRQEVQKKLDSGNFKLDFLPETANIRNDPTWQGPTLAPGLIDRS TEITGPPLRNMLINALNADVKTYMTDFEDSASPTWLNQIYGQVNLYDAVR NQIDFKTPRKEYKLRDRFENLPTIIVRPRGWHMVEKHLYVDDEPISASIF DFGLFFFHNAKELIKLGKGPYFYLPKMEHHLEAKLWNDIFNVSQDYIAIP RGTIRATVLIETLPAAFQMEEIIYQLRQHSSGLNCGRWDYIFSTIKRLRN LPEHVLPNRDLVTMTSPFMDAYVKRLINTCHRRGVHAMGGMAAQIPIKDD PVANEKALAKVRNDKIRELTNGHDGSWVAHPALAPICNEVFINMGTPNQI HFVPENEVTAQDLVNTNITDAAVTLDGIRQNLDIGLQYMEAWIRGSGCVP INNLMEDAATAEVSRCQLYQWVHHGVKLSDTGDKVTPDLTQKILEERVQK LSKESPLGDKNKFALAAKYFLPEIRGEKFSEFLTTLLYDEIVTANSSATD

64 CAPÍTULO 5. MATERIAIS E MÉTODOS 49 C.albicans MSSPFPKTADKIKGVQILGPVPESAKHIFNQETLAFVATLHRGFEARRQE LLNNRKEQQKLRDQGFLPDFLPETEYIRNDATWTGPPLAPGLVDRRCEIT GPTDRKMVINALNSNVATYMADFEDSLTPAWKNLVEGQVNLYDGVRRNLT ANINGKNYALNLDKGRHIPTLIVRPRGWHLDEKHVLVDGKPVSGGIFDFA VYFFNNAQETLARGFGPYFYLPKMEHHLEAKLWNDIFNYAQDYIGLRRGT IRASVLIETIPAVFQMDEIIYQLREHSAGLNCGRWDYIFSYIKCLRNHPD FILPDRSQVTMAAPFMSSYVKLLVHTTHKRKVHALGGMAAQIPIKDDEER NRAALANVTKDKLREVTLGCDSCWVAHPALVPVVLKVFNENMKGPNQISL PPKEPFKPITQRDLLSPFVPNAKITEQGIRANIIIGISYIEAWLRNVGCV PINYLMEDAATAEVSRTQIWQWVTHGAKTDTGKVIDKQYVKQLLDEEYAK LVKSAKPGNKFKRAFEYFAPEALGEKYSDFVTTLIYDDITTIGRSLPGERL C.tropicalis MSTPFPKTADKVKGVQILGPIPDEAKHIFNQETLAFVATLHRGFEARRQE LLNNRKEQQKLRDQGFLPDFLPETEYIRNDSTWTGPALAPGLIDRRCEIT GPTDRKMVINALNSNVATYMADFEDSLTPAWKNLVEGQVNLYDAVRRNLS ATINGKQYNLNLEKGRHIPTLIVRPRGWHLTEKHVLVDGTPVSGGIFDFA VYFYNSAKEAIAQGFGPYFYLPKMEHHLEAKLWNDIFNYSQDYIGLKRGT IRASVLIETIPAVFQMDEIIYQLREHSAGLNCGRWDYIFSYIKCLRNHPD FILPDRSQVTMAAPFMSSYVKLLVHTTHKRKVHALGGMAAQIPIKDDEAR NRAALENVTKDKLREVTLGCDSCWVAHPALVPVVLKVFNEHMKGPNQISL PPKEPFKPITQRDLLSPFVPGAKITEQGIRANIVIGISYIEAWLRNVGCV PINYLMEDAATAEVSRTQIWQWVTHGAKTDTGKVITKEYVKQLLDEEYAK LTKNAKPGNKFKRAFEYFAPEALGEKYSDFVTTLIYDDVTTIGRALPGERL N.crassa MASVETLLQGVTISGPIEEHQRKILTPQALSFVALLHRSFNQTRKNLLER RQLRQAEIDRGVLPDFLPETKHIRENPTWKGAPPAPGLVDRRVEITGPTD RKMVVNALNSDVYTYMADFEDSSAPTWANMVNGQVNLYDAIRRQIDFKQG PKEYKLRTDRTLPTLIVRPRGWHLEEKHVTIDGEPVSGSLFDFGLYFFHN AKELVQRGFGPYFYLPKMESHLEARLWNDAFNLAQDYVGIPRGTIRGTVL IETILAAFEMDEIIYELREHSSGLNCGRWDYIFSTIKKFRNHSSFVLPDR SCVTMTVPFMDAYVKLLIQTCHKRGVHAMGGMAAQIPIKDDKAANDKAME GVRADKLREARAGHDGTWVAHPALASIALEVFNKHMPTPNQLFNRREDVK IGQQDLLNMNVPGSITEEGIRKNLNIGLGYMEAWIRGVGCVPINYLMEDA ATAEVSRSQLWQWVKHGVTTAEGKRVDKSYALKLLKEQTDELASKAPQGN KFNLAAQYFATQVTGEDYADFLTSLLYNEITSAGNSLPASKL

65 CAPÍTULO 5. MATERIAIS E MÉTODOS 50 C.neoformans MSLPQGIYLTAPIPKGGEHILSTEALEFLALLHRTFNKRRLELLKNREKV QAELDQGKPLSFLPETREIRENLAWNCAPPGPGLEDRRVEITGPTDRKMV INALNSGAKTFMADFEDSNSPTWSNMVLGQVNLYDAIRRQIDFEINGKAY KLSEKPAVLLVRPRGWHLPEPRLIIDGTPMSGSLFDFGLYFFHNARELIS RGSGPYFYLPKMEHHLEARLWNDAFCLATSHLGVQQGVIRATVLIETLPA AFQMEEILYELKEHSAGLNCGRWDYIFSFIKKQRAHKNCVFPDRSDVTMT VPFMDAYVRLLIQTCHKRKVAAMGGMSAQIPIKNDPAANERAMSKVRADK LREVTAGHDGTWVAHPALISIALEIFNQHMPGPNQYHIRREDVTVTDKQI ADPSVPGKITEQGLRDNVSAALSYCAAWISGNGCVPINHLMEDAATAEIA RVQLWQWCKYGSKTDSGKDINPSYVQTILSEEASKVSKLPGIDPSHVKIA SEYMAQQVKAQWPSDFLTSDLLGYLEGVGTKGGAKASL L.biocolor MVAVIQIHSKSLKRLKQAMHRMAHSSSSAALHRTFESTRQNLLVARENAQ RRYDAGVPLDFAPETAHIRAEASWHCAPPAPELEDRRVKITGPTDRKMVI NALNSGAKTFMADFEDSSAPTFANMVNGQINLRDAIRRQIDFEVGGKSYK LSQNPAVLIVRPRGWHLDEPRVTVDNAPVSGSIFDFALYFYHNAHELVKR GSGPYFYLPKMEHYLEARLWNDIFVFSQSYIGMPHNTIRGTVPIETLPAA FQMEEILFELRNHSSGLNCGRWDYIFSFIKKRRADRSAVFPDRKDITMTV GFMDSYVRLLIQTCHKRKVAAMGGMSAQIPIKDDPKANEVAMAKVRSDKL REVTAGHDGTWIARPPDNKIAREVFDENMLGPNQYHVLRQEVKVAASDLL NTKVPGQITLEGLRENVSTCLAYTAAWVGGNGCIPLNYLMEDAATAEITR VQLWQWVRYGSRISDTGELITVEFVDKLVGELAPGIKGLVAGVKEENVKL AMEYLKGQIRRQWPSEFLTSDLMPYLAIADGVEPSRQRVAAL G.zeae MASLDSVLQGVSVSGKVDEIHRKILTPEALGFLALLHRSFNERRKNLLER RKARQAELDRGVLPDFLPETKHIRENPTWKGAAPAPGLVDRRVEITGPTD RKMVVNALNANVYTYMADFEDSSAPTWDNMINGQVNLYDANRRQVDFSQG PKEYKLRTDRKLPTLIVRPRGWHLEERHVTVDGEPISGSLFDFGLYFFHN AFETQRQGFGPYFYLPKMESHLEARLWNDAFNLAQDYIGMPRGTIRGTVL IETILAAFEMDEIIYELRDHSSGLNCGRWDYIFSVIKKFRNNPNFVLPDR SAVTMTVPFMESYVKLLIQTCHKRGVHAMGGMAAQIPIKNDDAANDKAME GVRADKLREVRAGHDGTWVAHPALASIATEIFDKHMPTPNQLFVRRDDVT IGQNDLLNMNVPGTITEEGIKKNLNIGLGYMEAWIRGVGCVPINYLMEDA ATAEVSRSQLWQWVKHGVSTADGKRVDKSYALKLLKETADQLAASGPKGN KYHLAAQYFSGQVTGEDYADFLTSLLYNEITQAGPPSPASKL

66 CAPÍTULO 5. MATERIAIS E MÉTODOS 51 F.neoformans MSLPQGIYLTAPIPKGGEHILSTEALEFLALLHRTFNKRRLELLKNREKV QAELDQGKPLSFLPETREIRENLAWNCAPPGPGLEDRRVEITGPTDRKMV INALNSGAKTFMADFEDSNSPTWSNMVLGQVNLYDAIRRQIDFEINGKAY KLSEKPAVLLVRPRGWHLPEPRLIIDGTPMSGSLFDFGLYFFHNARELIS RGSGPYFYLPKMEHHLEARLWNDAFCLATSHLGVQQGVIRATVLIETLPA AFQMEEILYELKEHSAGLNCGRWDYIFSFIKKQRAHKNCVFPDRSDVTMT VPFMDAYVRLLIQTCHKRKVAAMGGMSAQIPIKNDPAANERAMSKVRADK LREVTAGHDGTWVAHPALISIALEIFNQHMPGPNQYHIRREDVTVTDKQI ADPSVPGKITEQGLRDNVSAALSYCAAWISGNGCVPINHLMEDAATAEIA RVQLWQWCKYGSKTDSGKDINPSYVQTILSEEASKVSKLPGIDPSHVKIA SEYMAQQVKAQWPSDFLTSDLLGYLEGVGTKGGAKASL P.brasiliensis1 MAYVDTLLKDVAILGPLNGTRRKILTKEATAFLALLHRTFNPTRKALLQR RSDRQAELDRGSLLDFLPETKHIRDNDAWKGAPPAPGLVDRRVEITGPTD RKMVVNALNSDVYTYMADFEDSSAPTWDNMVNGQVNLYDAIRRQVDFKQG GKDYKLRTDRKLPTLIARARGWHLDEKHLTVDGEPMSGSLFDFGLYFFHN AKELVKRGAGPYFYLPKMESHLEARMWNDVYNLAQDYIGMPRGTIRATVL IETISAAFEMDEIIYELRDHSSGLNCGRWDYIFSFIKKFRQNPSFVLPDR SDVTMTVPFMDAYVKLLIKTCHRRGVHAMGGMAAQIPIKDDPKANEAAMA SVRADKLREVRAGHDGTWVGHPALAKIATDVFDQYMPTPNQLFVRREDVH ITANDLLNTNVPGRITEDGIRKNLNIGLSYMEGWLRGVGCIPINYLMEDA ATAEVSRSQLWQWVKHNVTTAEGKRVDKAYALKLLQEQTDELASKAPKGN RYQLAARYFAGQVAGEDYADFLTSLLYNEISAPGSAAKL

67 CAPÍTULO 5. MATERIAIS E MÉTODOS 52 Tabela 5.2: Código de DNA mitocondrial para 17 espécies [UFMG, 2000]. ESPÉCIE Neander CÓDIGO DE DNA TATTGACTCACCCATCAGCAACCGCTATGTATCTCGTACATTACTGTTAG TTACCATGAATATTGTACAGTACCATAATTACTTGACTACCTGCAGTACA TAAAAACCTAATCCACATCAAACCCCCCCCCCCATGCTTACAAGCAAGCA CAGCAATCAACCTTCAACTGTCATACATCAACTACAACTCCAAAGACGCC CTTCACCCACTAGGATATCAACAAACCTACCCACCCTTGACAGTACATAGC ACATAAAGTCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGC Asian1 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCACAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Asian2 TATTGACTCACCCATCAACAACCGCCATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCACAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT NatAmer1 TATTGACTCACCCATCAACAACCGCCATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAA-CCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT

68 CAPÍTULO 5. MATERIAIS E MÉTODOS 53 Asian3 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAACCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Asian4 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Brasil3 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAGCTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT NatAmer2 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAA-CCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTCACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT

69 CAPÍTULO 5. MATERIAIS E MÉTODOS 54 NatAmer3 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAACCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT NatAmer4 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCCCCCCATGCTTACAAGCAAGTA CAGCAACCAACCCTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Europa1 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACAGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCTCCCCATGCTTACAAGCAAGTA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCTACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGC Europa3 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACAGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCTCCCCATGCTTACAAGCAAGTA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT

70 CAPÍTULO 5. MATERIAIS E MÉTODOS 55 Europa4 TATTGACTCACCCATCAACAACCGCCATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACAGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCTCCCCATGCTTACAAGCAAGTA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Africa1 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG TCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCCCCTCCCCATGCTTACAAGCAAGTA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGC ACATAAAGCCATTTATCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Africa2 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACTCCCTCCCCATGCTTACAAGCAAGTA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGC ACATAAAGCCATTTATCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Africa3 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACCTCCTCCCCATGCTTACAAGCAAGCA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGC ACATAAAGCCATTTATCGTACATAGCACATTACAGTCAAATCCCTTCTCGT

71 CAPÍTULO 5. MATERIAIS E MÉTODOS 56 Africa4 TATTGACTCACCCATCAACAACCGCTATGTATTTCGTACATTACTGCCAG CCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACA TAAAAACCCAATCCACATCAAAACTCCCTCCCCATGCTTACAAGCAAGCA CAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCACC CCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGT ACATAAAGCCATTTATCGTACATAGCACATTACAGTCAAATCCCTTCTCGT Tabela 5.3: Descrição de cada aminoácido e seu(s) correspondente(s) códon(s) (subseqüência de DNA) [Maia, 1998]

72 CAPÍTULO 5. MATERIAIS E MÉTODOS Principais Algoritmos Desenvolvidos Ao longo desse trabalho, foram analisados os algoritmos UPGMA e neighbor-joining, todos viáveis para a implementação de um protótipo de geração de árvores. Um trabalho que se mostrou interessante foi o de [Reijmers, 1999], onde foi desenvolvido um algoritmo genético em conjunto com o método neighbor-joining. A idéia então foi utilizar o mesmo princípio, mas com base no algoritmo UPGMA. Em essência, [Reijmers, 1999] utilizou matrizes de dissimilaridades para representar as árvores. O procedimento adotado por ele era criar n matrizes de distâncias aleatórias, aplicar o método neighbor-joining nessas matrizes, gerando n árvores e então recalcular novas matrizes para finalmente comparar com a matriz de resultados esperados e tirar alguma medida de qualidade. Entretanto, como [Reijmers, 1999] utilizou o algoritmo neighbor-joining, que por sua vez gera uma árvore sem raiz e aditiva (comprimento das arestas variáveis), a adoção do algoritmo UPGMA em sua forma original não se mostrou adequada em razão da propriedade de ultrametricidade (a distância entre qualquer folha até a raiz é a mesma) que esse método possui. Por isso, foi proposto um algoritmo alternativo, baseado no UPGMA, mas que gera uma árvore não ultramétrica. A principal alteração em relação ao UPGMA foi modificar a maneira de se definir os comprimentos dos ramos após realizado o agrupamento. Conforme pode ser observado na linha 3 do algoritmo 3.1 (Seção 3.3.1), o UPGMA estima que os comprimentos dos ramos à esquerda e à direita devem ser a metade da distância dos nós sendo agrupados. Evidentemente, essa distância pode variar e o algoritmo proposto 5.1 parte desse princípio. Algoritmo 5.1 Método da Média Aritmética Não-Ponderada Proposto Entrada: n elementos para serem agrupados. Saída: Uma árvore com raiz contendo n folhas. 1: enquanto n > 1 faça 2: Identifique no conjunto os elementos x, y mais próximos. 3: Combine estes elementos em um único z, com arestas direita e esquerda. 4: Seja g um valor qualquer no intervalo [0 + e, d xy ], onde e é uma constante real relativamente pequena e d xy ] a distância entre x e y. 5: Faça o ramo direito valer g e o ramo esquerdo d xy g 6: Retire x e y do conjunto. 7: Adicione z ao conjunto. 8: n = n 1. 9: fim enquanto 10: retorna O elemento resultante.

73 CAPÍTULO 5. MATERIAIS E MÉTODOS 58 Um dos passos mais importantes para o cálculo da função de fitness é a etapa de reconstrução de uma matriz de resultados observados a partir de uma árvore. Desse modo, um importante algoritmo desenvolvido nesse trabalho foi o de recriar uma matriz de distância a partir de uma árvore binária. Esse algoritmo foi dividido em duas etapas. A primeira delas é descrita pelo algoritmo 5.2. A segunda pode ser verificada pelo algoritmo 5.3. Algoritmo 5.2 Reconstrução da Matriz de Distâncias Entrada: Uma árvore binária A. Saída: Uma matriz quadrada M n,n. 1: Seja M n,n uma matriz com entradas nulas. 2: Seja V um vetor com todas as folhas de A. 3: para i de 1 até n faça 4: para j de 1 até n faça 5: se i j então 6: M i,j = DistânciaFolhas A V i V j 7: fim se 8: fim para 9: fim para 10: retorna M. onde, sla =subárvore l da árvore A. rea =ramo esquerdo da árvore A. rda =ramo direito de A. sea =subárvore esquerda de A. sda =subárvore direita de A. 5.3 Algoritmo Genético Utilizado Representação dos Indivíduos Cada possível solução candidata foi codificada através de uma 2-tupla, contendo uma matriz quadrada (n, n) e um vetor de dimensões n, sendo n a quantidade de espécies. ( ) M n,n, V n A matriz M contém entradas m ij reais que indicam as prováveis distâncias entre os elementos i e j. Essa matriz apresenta a propriedade de simetria, isto é, para qualquer entrada na matriz, a relação d ij = d ji é válida. Além disso, para todo i, j tal que i = j, tem-se d ij = 0, ou seja, a distância entre qualquer espécie e ela mesma é nula. Já o vetor V representa a rotulagem das folhas, ou seja, as espécies que ocuparão os nós terminais da árvore, da esquerda para a direita. Por exemplo, para um vetor contendo a seqüência [A, D, C, B], pode-se ter a árvore da Figura 5.1.

74 CAPÍTULO 5. MATERIAIS E MÉTODOS 59 Algoritmo 5.3 DistânciaFolhas Entrada: Árvore binária A. Folha a. Folha b. Saída: Distância entre a e b em A. 1: se A não é folha então 2: se a e b estão em um único lado l de A então 3: DistânciaFolhas sla a b 4: senão 5: se a e b ainda não foram encontrados então 6: se a está na sea então 7: se b ainda não foi encontrado então 8: rea + (DistânciaFolhas sea a b) + rda + (DistânciaFolhas sda a b) 9: senão 10: rea + (DistânciaFolhas sea a b) 11: fim se 12: senão 13: se b ainda não foi encontrado então 14: rda + (DistânciaFolhas sda a b) + rea + (DistânciaFolhas sea a b) 15: senão 16: rda + (DistânciaFolhas sda a b) 17: fim se 18: fim se 19: senão 20: se a encontrado então 21: se b está na esquerda então 22: rea + (DistânciaFolhas sea a b) 23: senão 24: rda + (DistânciaFolhas sda a b) 25: fim se 26: senão 27: se a está na esquerda então 28: rea + (DistânciaFolhas sea a b) 29: senão 30: rda + (DistânciaFolhas sda a b) 31: fim se 32: fim se 33: fim se 34: fim se 35: senão 36: 0. 37: fim se

75 CAPÍTULO 5. MATERIAIS E MÉTODOS 60 Figura 5.1: Árvore binária tendo o vetor [A, D, C, B] rotulado nas folhas População A população foi gerada da seguinte maneira: primeiramente, foi criado um vetor contendo p matrizes, criadas aleatoriamente, sendo p um parâmetro de entrada que indica o tamanho da população. Depois, um segundo vetor foi criado, contendo p vetores de rotulagem, cada um deles de tamanho n, sendo n a quantidade de espécies. Esses vetores também foram gerados de forma aleatória. O procedimento para a geração da matriz aleatória pode ser visto no algoritmo 5.4. Algoritmo 5.4 Geração da Matriz Aleatória Entrada: mo: matriz original. q:quantidade de espécies. t:tamanho das bases. Saída: Uma matriz com entradas reais M q,q. 1: Seja M q,q uma matriz com entradas reais nulas. 2: para i de 1 até q faça 3: para j de 1 até q faça 4: se i < j então 5: M ij = Número aleatório entre 0 e (2 mo ij ). 6: M ji = M ij. 7: fim se 8: fim para 9: fim para 10: retorna M Operadores Genéticos Foram usados dois tipos de operadores genéticos: o de recombinação (crossover) e o de mutação. Como cada indivíduo da população é composto por uma 2-tupla, contendo uma matriz e um vetor, foram usados dois operadores diferentes de recombinação e mutação.

76 CAPÍTULO 5. MATERIAIS E MÉTODOS 61 Operadores para Matriz O operador de crossover para combinar 2 matrizes M 1 e M 2 quaisquer foi utilizado de acordo com o algoritmo 5.5. Algoritmo 5.5 Recombinação de Matrizes Entrada: Matrizes quadradas M 1 e M 2 de dimensões iguais. Saída: Matrizes recombinadas M 3 M 4. 1: Seja p um ponto de corte no intervalo [1, m], sendo m o número de linhas. 2: Seja M 3 uma matriz gerada pela concatenação das p primeiras linhas de M 1 e as m p últimas linhas de M 2. 3: Seja M 4 uma matriz gerada pela concatenação das p primeiras linhas de M 2 e as m p últimas linhas de M 1. 4: retorna M 3 e M 4. Um problema associado a esse tipo de crossover é que a propriedade de simetria não se mantém para os indivíduos-filhos. Por exemplo, considere duas matrizes M 1 e M M1 = M2 = Agora supondo que o ponto de corte seja 2, o resultado retornado pelo algoritmo 5.5 será: M3 = M4 = Percebe-se nesse caso que as matrizes M3 e M4 não são simétricas. Desse modo, foi desenvolvido um algoritmo corretivo para tornar essas matrizes simétricas.

77 CAPÍTULO 5. MATERIAIS E MÉTODOS 62 Algoritmo 5.6 Correção Entrada: Matrizes quadradas M1 n,n e M2 n,n de dimensões iguais. Saída: M1 e M2 simétricas (já corrigidas). 1: para i de 1 até n faça 2: para j de 1 até n faça 3: se i < j então 4: M1 ij = M1 ji 5: M2 ji = M2 ij 6: fim se 7: fim para 8: fim para 9: retorna M1 e M2. O operador de mutação para uma matriz qualquer simplesmente foi usado escolhendose de forma aleatória um elemento m ij, com i j, e fazendo m ij = valor aleatório no intervalo [0 + e, 2 m ij ], sendo e uma constante real relativamente pequena. Essa constante é necessária somente para evitar a geração de uma distância nula. Operadores para Vetor Inicialmente, pensou-se em utilizar o operador de crossover descrito na Seção (Figuras 4.4 e 4.5). Porém, da forma como está implementado, aquele operador para esse caso condiciona indivíduos-filhos inválidos. Isso porque cada vetor deve necessariamente conter todas as espécies, sem repetições. Observe que essas restrições não são satisfeitas se aquele operador for aplicado, conforme pode ser especificado no exemplo da Figura 5.2: Figura 5.2: Crossover de um ponto aplicado nos vetores v1 e v2. Observe os caracteres em destaque, que indicam condições inválidas [Syswerda, 1989]. Como se pode perceber, os dois indivíduos-filhos apresentam caracteres repetidos em suas estruturas (caracter E para v3 e caracter F para v4), além de alguns estarem ausentes (caracter F em v3 e caracter E em v4). Desse modo, ao fazer a rotulagem desses vetores para uma topologia de árvore qualquer, teremos árvores com folhas repetidas (espécies) e árvores sem determinadas folhas, o que não é permitido. Assim sendo, torna-se necessário a adoção de um operador de crossover que lida me-

78 CAPÍTULO 5. MATERIAIS E MÉTODOS 63 lhor com esse problema. Foi usado então o operador de crossover baseado em ordem (OBX - Order Based Crossover), que atende as restrições impostas, mencionadas acima. Esse operador, segundo [Rodrigues, 2000], funciona da seguinte forma: Escolhidos dois cromossomos pais, um primeiro pai é selecionado e dele são escolhidos k genes. Gera-se então um descendente, substituindo os genes do pai escolhido nas posições ocupadas pelos genes de mesmo valor no outro pai, mas mantendo a mesma ordem que ocupavam no primeiro. A seguir, completa-se o descendente com os elementos do segundo cromossomo pai, evitando cromossomos inválidos. Aplicando esse operador para o exemplo da Figura 5.2, considerando k = 3, tem-se: Figura 5.3: Crossover OBX aplicado nos vetores v1 e v2. Observe que agora os vetores v3 e v4 resultantes são válidos. O operador de mutação usado também se baseia no OBX. Nesse caso, são escolhidas duas posições aleatórias i e j, com i j, e os elementos do vetor nas posições i e j são trocados, conforme pode ser visto na Figura 5.4. Figura 5.4: Operador de mutação aplicado nos vetores v1 e v Função de Avaliação O princípio usado para o cálculo da função de avaliação (fitness) foi baseado no método dos mínimos quadrados, de acordo [Reijmers, 1999]. rms = ( ) D r 2 i D i (5.1) n(n 1) 1 D 2 i i onde n indica a quantidade de espécies, D r distâncias observadas) e D a matriz de distâncias esperadas. representa a matriz reconstruída (as Modelo de Seleção O método de seleção usado foi o roulette wheel (Método da Roleta) [Goldberg, 1989]. A implementação desse modelo se deu da seguinte forma: a roleta foi representada através de um vetor de 1000 posições. Cada indivíduo da população, como se sabe, apresenta

79 CAPÍTULO 5. MATERIAIS E MÉTODOS 64 uma probabilidade de ser escolhido para a próxima geração. Dessa forma, foi definido uma variável s como sendo o somatório de todas essas probabilidades (fitness). Após isso, para cada indivíduo da população foi calculado um valor t que representa uma proporção entre o fitness e a roleta. Esse valor é usado para fazer com que cópias do indivíduo ocupem as t posições contíguas da roleta. Esse cálculo pode ser verificado através da equação 5.2. p = 1000f i (5.2) s onde f i é o fitness do indivíduo i e s é o somatório das probabilidades de todos os indivíduos. Esse procedimento pode ser melhor explicado por meio do algoritmo 5.7. Algoritmo 5.7 Método da Roleta Entrada: População de indivíduos. Saída: Indivíduos inseridos na roleta. 1: Seja R um vetor de 1000 posições que representa a roleta. 2: Seja s o valor correspondente ao somatório de todas os valores de fitness da população. 3: Para cada indivíduo i da população calcule onde f i é o fitness do indivíduo i. p i = 1000f i s 4: Para cada indivíduo i da população faça i ocupar as p i posições contíguas de R. 5: retorna R. 5.4 O Processo Foi desenvolvido um protótipo em linguagem o caml [Hickey, 2006] para a reconstrução de árvores filogenéticas com base em seqüências de DNA e aminoácidos. Esse protótipo é executado em linha de comando e apresenta a seguinte sintaxe: #entrada nomes bases tam_pop taxa_r taxa_m num_ger onde, entrada: nome da função principal do programa. nomes: vetor no formato ( nome1 ; nome2 ;... ; nomen ) representando os nomes das espécies que serão submetidas ao programa.

80 CAPÍTULO 5. MATERIAIS E MÉTODOS 65 bases: vetor no formato ( base1 ; base2 ;... ; basen ) representando as seqüências das espécies em estudo. tam pop: valor inteiro indicando o tamanho da população de soluções (parâmetro de entrada do algoritmo genético). taxa r: valor em ponto-flutuante no intervalo (0...1) indicando a probabilidade de recombinação (parâmetro de entrada do algoritmo genético). taxa m: valor em ponto-flutuante no intervalo (0...1) indicando a probabilidade de mutação (parâmetro de entrada do algoritmo genético). num ger: valor inteiro indicando a quantidade máxima de iterações (gerações) a que o algoritmo genético executará (parâmetro de entrada do algoritmo genético). A tela para execução desse protótipo pode ser visualizada na Figura 5.5. Figura 5.5: Tela do interpretador de o caml para a execução do protótipo.

81 CAPÍTULO 5. MATERIAIS E MÉTODOS 66 Após serem fornecidos os dados de entrada, o programa inicialmente cria uma matriz de resultados esperados m, calculada através da distância de Hamming. A razão de se escolher essa distância é que ela é de fácil implementação e consome pouco poder de processamento. Com base nessa matriz, a população é criada como descrito na Seção Após isso, cada matriz da população é submetida ao algoritmo 5.1 proposto. Neste ponto, uma segunda população de árvores é gerada. Cada elemento dessa segunda população é então submetido ao algoritmo 5.2, gerando uma terceira população de matrizes reconstruídas. O passo seguinte é mapear a função de fitness descrita na Seção para cada matriz reconstruída, de acordo com a matriz m. Após isso, a população é repassada para a roleta e finalmente são selecionados os melhores, de acordo com a função de aptidão e a taxa de seleção definida como parâmetro de entrada. Esses passos representam a iteração 1 do algoritmo, correspondendo à primeira geração. Esses passos serão repetidos g vezes, onde g é a quantidade de gerações definida como parâmetro de entrada. Esses passos podem ser melhor explicados por meio do algoritmo 5.8. Algoritmo 5.8 Algorítmo Genético Usado Entrada: Vetor V de nomes. Vetor B de bases. Tamanho n da população. Taxa de Saída: Seleção ts. Taxa de Mutação tm. Número de Gerações g. Árvore no formato newick. 1: Seja m uma matriz quadrada gerada através da distância de Hamming para cada um dos n(n 1) 2 pares de espécies em B. 2: Seja pmv uma população de matrizes e vetores gerados aletoriamente. 3: Seja r um valor de referência com valor inicial 1. 4: enquanto r < g faça 5: Seja pa uma população de árvores geradas pelo algorítmo : Seja pmvr uma população de matrizes reconstruídas. 7: Seja fi um vetor de tamanho n contendo os valores de fitness para cada elemento da população, calculado através da equação : Insere os elementos da população corrente em uma Roleta R de tamanho n. 9: Selecione os melhores indivíduos de R e os coloque em S. 10: Faça pmv = S. 11: Faça r = r : fim enquanto 13: Ordene a população final P em ordem decrescente em relação ao fitness. 14: Seja rs o resultado da conversão das folhas de P 1 para os nomes em B. 15: retorna rs.

82 CAPÍTULO 5. MATERIAIS E MÉTODOS 67 Todo o processamento é feito através da representação em formato newick para as árvores. Ao final das iterações, a população é ordenada de forma decrescente em relação ao fitness e a primeira árvore é tomada como solução. Cada folha dessa árvore é então substituída pelo nome fornecido como entrada e o resultado final é retornado.

83 Capítulo 6 Resultados Experimentais Esse trabalho se caracteriza por apresentar uma alternativa à resolução do problema de inferência filogenética, com base na computação evolutiva, especificamente algoritmos genéticos. Foi desenvolvido, para tal, um protótipo computacional baseado em linha de comando, que gera uma árvore filogenética com base em um conjunto de seqüências previamente definidas. Foram analisados dois conjuntos de dados, definidos no capítulo 5. Ao todo foram realizados quatro experimentos, dois para cada conjunto de dados. Para cada experimento, foram utilizados parâmetros de entrada diferentes no algoritmo genético. 6.1 Testes Para o Conjunto de Dados 1 Esse experimento foi realizado com base no primeiro conjunto de dados, que são as vinte espécies de proteínas da família malate synthase [NCBI, 1988]. Esse conjunto de dados apresenta seqüências de comprimento variável, conforme especificado na Tabela 6.1. Como as distâncias foram calculadas por meio do método distância de Hamming (ver Seção 3.5.1), foi realizado um corte nas seqüências com comprimento superior a 528 (comprimento da menor seqüência). Fazendo uma média dos valores percentuais de corte para todas as seqüências, chega-se a um valor relativamente baixo (3.72%), significando que na média cada seqüência sofreu um corte de 3.72%. Desta forma, esses cortes não comprometem o resultado final. Inicialmente, essas seqüências foram submetidas ao programa ClustalX [Gibson, 1996], que gerou como resultado a árvore filogenética mostrada na Figura

84 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 69 Tabela 6.1: Relação entre cada espécie e a quantidade de aminoácidos que sofreram corte, para tornar os comprimentos das seqüências uniformes.

85 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 70 Figura 6.1: Árvore filogenética gerada pelo aplicativo ClustalX [Gibson, 1996], ilustrando as relações evolutivas entre espécies de proteínas da família malate synthase [NCBI, 1988] Experimento 1 Nesse experimento, foram utilizados os parâmetros descritos na Tabela 6.2. Tabela 6.2: Parâmetros de configuração do algoritmo genético para o experimento 1. O resultado retornado pelo protótipo desenvolvido pode ser visualizado a seguir: "(((Y.lipolytica2: ,A.nidulans: ): , (Y.lipolytica1: ,(C.neoformans: ,F.neoformans: ): ): ): ,((((A.fumigatus: ,P.brasiliensis1: ): ,(A.oryzae: ,N.crassa: ): ): ,

86 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 71 G.zeae: ): ,(((((K.lactis: , S.cerevisieae1: ): ,(E.gossypii: , C.glabrata: ): ): ,S.cerevisieae2: ): ,(P.angusta: ,(C.albicans: ,C.tropicalis: ): ): ): ,(P.nodorum: ,L.biocolor: ): ): ): )" Essa seqüência em formato newick foi submetida ao aplicativo Pylodendron [IUBIO, 1989] e gerou como resultado a árvore filogenética da Figura Experimento 2 Nesse experimento, as seqüências foram submetidas ao algoritmo genético de acordo com os parâmetros da Tabela 6.3. Tabela 6.3: Parâmetros de configuração do algoritmo genético para o experimento 2. A representação da árvore final gerada pelo protótipo desenvolvido pode ser visualizada em formato newick a seguir: "(((((K.lactis: ,S.cerevisieae2: ): , (S.cerevisieae1: ,C.glabrata: ): ): ,(C.neoformans: ,F.neoformans: ): ): ,(((C.albicans: ,C.tropicalis: ): ,P.angusta: ): ,(P.nodorum: ,Y.lipolytica1: ): ): ): ,(((E.gossypii: ,N.crassa: ): , (G.zeae: ,(P.brasiliensis1: ,(A.oryzae: , A.fumigatus: ): ): ): ): ,((L.biocolor: ,Y.lipolytica2: ): , A.nidulans: ): ): )"

87 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 72 Figura 6.2: Árvore filogenética gerada por [IUBIO, 1989], ilustrando as relações entre espécies de proteínas da família malate synthase [NCBI, 1988], de acordo com os parâmetros da Tabela 6.2.

88 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 73 A árvore filogenética gerada por [IUBIO, 1989], a partir da representação em formato newick, pode ser visualizada na Figura 6.3. Figura 6.3: Árvore filogenética gerada por [IUBIO, 1989], ilustrando as relações entre espécies de proteínas da família malate synthase [NCBI, 1988], de acordo com os parâmetros da Tabela 6.3.

89 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS Discussões Uma análise inicial que se pode fazer sobre esses resultados é com relação ao tempo de processamento. Foram gastos aproximadamente 3 minutos para que o algoritmo genético explorasse todo o espaço de busca até encontrar a solução para o experimento 1 e cerca de 8 minutos e 10 segundos para o experimento 2. Esse tempo se justifica em virtude da complexidade associada ao algoritmo genético, que precisa processar uma grande quantidade de matrizes, de dimensões relativamente grandes (20, 20), repetidas vezes. A diferença entre esses tempos, evidentemente, está associada ao tamanho da população (50 no experimento 1 e 110 no experimento 2) e ao número de gerações (25 no experimento 1 e 200 no experimento 2). Uma segunda análise que pode ser feita é com relação aos parâmetros do algoritmo genético. A árvore gerada no experimento 1, como se pode notar, apresenta diferenças consideráveis em relação ao resultado obtido diretamente pelo aplicativo ClustalX [Gibson, 1996]. Essas diferenças podem ser notadas pelas posições relativas entre as espécies que ocupam as folhas das árvores. Na realidade, a árvore gerada pelo experimento 1 está longe de representar a filogenia correta para o conjunto de dados analisado, considerando a árvore gerada pelo aplicativo ClustalX [Gibson, 1996] como modelo. Isso decorre do fato de que foi usado um número pequeno de gerações (somente 25), o que impossibilitou o algoritmo chegar em uma solução boa. Em outras palavras, com 25 gerações o algoritmo ainda estava em fase de exploração do espaço de busca, sendo o mesmo interrompido sem haver convergência. Já para o caso do experimento 2, houve uma melhora significativa no resultado obtido. Como se pode notar, praticamente todas as espécies que estão próximas entre si na árvore gerada pelo ClustalX [Gibson, 1996], mantiveram essa relação na árvore obtida por esse experimento. Como o algoritmo genético se baseia em um mecanismo probabilístico, é de se esperar que ocorram situações inesperadas, como por exemplo, a diferença entre a posição relativa das espécies E.gossypii e N.crassa na árvore gerada pelo ClustalX (estão próximas) e a posição delas na árvore gerada pelo experimento em questão (estão distantes). A razão dessa melhora no resultado advém, principalmente, de uma quantidade maior de iterações, ou gerações, que o algoritmo teve (200), que possibilitou uma maior exploração do espaço de busca. Os outros parâmetros também tiveram uma relação direta com essa melhora. Como se pode notar, o experimento 1 utilizou uma taxa de mutação relativamente baixa (0.01), sendo um forte indício de que houve a ocorrência de um ótimo local, ou seja, as soluções mantidas pela população já não apresentavam diferenças significativas entre si, não havendo praticamente contribuição alguma para a melhora da função de fitness. Já no caso do experimento 2, como foi usada uma taxa de mutação maior (0.5), a possibilidade de

90 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 75 ocorrência de um ótimo local reduziu drasticamente, pois nesse caso a população já apresentava uma certa heterogeneidade, que permite o escape desses ótimos locais. Com relação a esses resultados, não se pode deixar de considerar o fato de que as seqüências sofreram cortes em sua estrutura, o que, de alguma forma, pode ter contribuído para que o resultado não saísse ainda mais próximo do esperado. 6.2 Testes Para o Conjunto de Dados 2 Esses testes foram baseados no segundo conjunto de dados utilizado nessa pesquisa, que são as 17 seqüências de mtdna retiradas do Instituto de Ciências Biológicas da Universidade Federal de Minas Gerais [UFMG, 2000]. Conforme especificado na Tabela 5.2, cada seqüência desse conjunto apresenta comprimento fixo de 302 caracteres, ou bases nitrogenadas. Nesse caso, também foi utilizada a distância de Hamming (Seção 3.5.1) para computar a matriz dos resultados esperados. Como o comprimento é fixo, não houve necessidade de corte nas seqüências. Na Figura 6.4 está sendo representada uma provável filogenia para o conjunto de dados em análise. Essa árvore foi gerada pelo método neighbor-joining e a representação gráfica foi feita utilizando-se [IUBIO, 1989]. A matriz de distâncias para esse conjunto de dados pode ser vista a seguir. As linhas e colunas seguem a ordem descrita pela Tabela

91 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 76 Figura 6.4: [IUBIO, 1989]. Árvore filogenética gerada pelo método neighbor-joining e desenhada por

92 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 77 Nos testes relacionados ao primeiro conjunto de dados, conforme visto na Seção 6.1, foram realizados inicialmente o experimento com parâmetros simples e depois com os parâmetros mais elaborados. Já para o segundo conjunto de dados descrito nessa Seção, a ordem de complexidade dos experimentos foram trocadas, ou seja, foram realizados primeiro o experimento com parâmetros mais elaborados e depois o experimento com parâmetros simples, só por questão de consenso Experimento 3 Esse experimento foi realizado submetendo-se as seqüências de mtdna ao algoritmo genético, segundo os parâmetros da Tabela 6.4. A diferença em relação aos parâmetros utilizados no primeiro conjunto de dados está associada ao fato de que foram realizados mudanças graduais naqueles parâmetros até se atingir essa configuração, no sentido de buscar uma melhoria nos resultados. Tabela 6.4: Parâmetros de configuração do algoritmo genético para o experimento 3. O protótipo desenvolvido gerou como resultado a seguinte representação em formato newick: "(Neander: ,((((Asian1: ,Asian2: ): ,(((Asian4: ,Brasil3: ): , NatAmer4: ): ,(NatAmer3: ,Asian3: ): ): ): ,(NatAmer2: ,NatAmer1: ): ): ,(((Europa1: ,Europa4: ): ,Europa3: ): ,((Africa2: ,Africa1: ): ,( Africa3: ,Africa4: ): ): ): ): )" Submetendo esse resultado à [IUBIO, 1989], obteve-se a árvore filogenética da Figura 6.5.

93 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS 78 Figura 6.5: Árvore filogenética com raiz gerada pelo software [IUBIO, 1989], utilizando o protótipo desenvolvido segundo os parâmetros da Tabela 6.4.

94 CAPÍTULO 6. RESULTADOS EXPERIMENTAIS Experimento 4 O último experimento foi realizado de acordo com os parâmetros da Tabela 6.5. Tabela 6.5: Parâmetros de configuração do algoritmo genético para o experimento 4. O resultado representado em formato newick pode ser visto a seguir: "((((((NatAmer3: ,Asian1: ): , (Asian4: ,Brasil3: ): ): , Asian3: ): ,((NatAmer1: ,NatAmer2: ): ,(Asian2: ,NatAmer4: ): ): ): ,(((Africa3: ,Africa4: ): ,(Africa2: ,Africa1: ): ): ,(Europa4: ,(Europa3: , Europa1: ): ): ): ): ,Neander: )" A árvore filogenética resultante pode ser visualizada na Figura Discussões Uma análise preliminar sobre esses resultados pode ser feita com relação ao tempo de processamento. O experimento 3 gastou cerca de 9 minutos e 6 segundos para encontrar a melhor solução, dentro dos parâmetros considerados. Em relação ao experimento 2, que também foi baseado em um elevado número de gerações (200) e consumiu um tempo equivalente a pouco mais de 8 minutos, houve uma leve melhoria em termos de tempo computacional. Isso se deve, principalmente, ao fato de um número menor de espécies estarem sendo consideradas (17 ao invés de 20), possibilitando uma redução nas dimensões das matrizes geradas, tendo como conseqüência um menor consumo tanto em termos de memória quanto de tempo computacional. Uma outra razão advém do comprimento das seqüências. No caso do experimento 2, as seqüências eram todas de comprimento 528, enquanto que no experimento 3 as seqüências apresentavam comprimento 302. Isso

PAULO EDUARDO BRANDÃO, PhD DEPARTAMENTO DE MEDICINA VETERINÁRIA PREVENTIVA E SAÚDE ANIMAL FACULDADE DE MEDICINA VETERINÁRIA E ZOOTECNIA UNIVERSIDADE

PAULO EDUARDO BRANDÃO, PhD DEPARTAMENTO DE MEDICINA VETERINÁRIA PREVENTIVA E SAÚDE ANIMAL FACULDADE DE MEDICINA VETERINÁRIA E ZOOTECNIA UNIVERSIDADE CONCEITOS EM EPIDEMIOLOGIA E FILOGENIA MOLECULARES PAULO EDUARDO BRANDÃO, PhD DEPARTAMENTO DE MEDICINA VETERINÁRIA PREVENTIVA E SAÚDE ANIMAL FACULDADE DE MEDICINA VETERINÁRIA E ZOOTECNIA UNIVERSIDADE DE

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Contexto e histórico. Árvores filogenéticas. Leitura de Cladograma. Construção de cladograma

Contexto e histórico. Árvores filogenéticas. Leitura de Cladograma. Construção de cladograma Contexto e histórico Árvores filogenéticas Leitura de Cladograma Construção de cladograma Classificação biológica A taxonomia diz respeito às regras de nomenclatura, tais como: dar nomes às espécies, gêneros

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

Inferências evolutivas através de árvores

Inferências evolutivas através de árvores Universidade Federal do Paraná Departamento de Genética Setor Ciências Biológicas Inferências evolutivas através de árvores danielpachecobruschi@gmail.com / danielbruschi@ufpr.br Prof. Dr. Daniel Pacheco

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos 46 4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos Para definir a representação de um modelo para problemas de planejamento

Leia mais

Universidade Estadual do Rio Grande do Sul Curso Superior de Tecnologia em Gestão Ambiental Biologia Aplicada Aula 10

Universidade Estadual do Rio Grande do Sul Curso Superior de Tecnologia em Gestão Ambiental Biologia Aplicada Aula 10 Universidade Estadual do Rio Grande do Sul Curso Superior de Tecnologia em Gestão Ambiental Biologia Aplicada Aula 10 Professor Antônio Ruas 1. Créditos: 60 2. Carga horária semanal: 4 3. Semestre: 1 4.

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

Introdução Seres Vivos

Introdução Seres Vivos A diversidade de seres vivos variou ao longo do tempo geológico em nosso planeta. Algumas linhas de pensamento acreditam que os seres vivos são imutáveis (fixismo), mas desde Darwin acredita-se que ocorrem

Leia mais

Disciplina Evolução Módulo II. Prof. Carolina Voloch. Filogenia

Disciplina Evolução Módulo II. Prof. Carolina Voloch. Filogenia Disciplina Evolução Módulo II Prof. arolina Voloch Filogenia A sistemática é a ciência que une a taxonomia, ou seja, a ciência da classificação dos organismos, com a filogenia, a ciência que traça a história

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Edirlei Soares de Lima Algoritmos Genéticos Método de busca local. Boa abordagem para lidar com espaços de busca muito

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

Realimentação de Relevância

Realimentação de Relevância Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Ciclo de realimentação onde uma consulta q recebida do usuário é transformada em uma consulta modificada

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

3 Metaeurísticas e Resolvedores MIP

3 Metaeurísticas e Resolvedores MIP 3 Metaeurísticas e Resolvedores MIP A combinação entre metaeurísticas e resolvedores MIP é uma estratégia relativamente recente, tendo seus primeiros estudos realizados ao longo da última década. O survey

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Introduzindo filogenias

Introduzindo filogenias Introduzindo filogenias Um olhar íntimo nos sistemas vivos Os sistemas vivos apresentam as seguintes características básicas Se reproduzem (com o sem sexo); Mantém a informação que carregam ao longo das

Leia mais

Biotecnologia Bioinformática IMS029 ROTEIRO DE AULA PRÁTICA CONSTRUÇÃO DE ÁRVORES FILOGENÉTICA

Biotecnologia Bioinformática IMS029 ROTEIRO DE AULA PRÁTICA CONSTRUÇÃO DE ÁRVORES FILOGENÉTICA Biotecnologia Bioinformática IMS029 ROTEIRO DE AULA PRÁTICA CONSTRUÇÃO DE ÁRVORES FILOGENÉTICA Introdução Vamos usar métodos para reconstrução de árvores filogenéticas e de similaridade. Usaremos o programa

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

Tópicos Especiais em Inteligência Artificial COS746. Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro

Tópicos Especiais em Inteligência Artificial COS746. Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro Tópicos Especiais em Inteligência Artificial COS746 Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro Agradecimento Copiado dos slides de Mark Craven/C. David Page para BMI/CS 576,

Leia mais

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Árvores Conceitos gerais

Árvores Conceitos gerais http://www.mysticfractal.com/ FractalImaginator.html Árvores Conceitos gerais 9/11 Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são

Leia mais

FILOGENIA. Leva em consideração as relações de ancestralidade comum entre grupos de espécies, representando uma hipótese das relações evolutivas

FILOGENIA. Leva em consideração as relações de ancestralidade comum entre grupos de espécies, representando uma hipótese das relações evolutivas FILOGENIA File ou Filon = tribo ou raça Genético = origem ou nascimento Definição: FILOGENIA Leva em consideração as relações de ancestralidade comum entre grupos de espécies, representando uma hipótese

Leia mais

Sistemática dos seres vivos

Sistemática dos seres vivos Sistemática dos seres vivos O mundo vivo é constituído por uma enorme variedade de organismos. Para estudar e compreender tamanha variedade, idd foi necessário agrupar os organismos de acordo com as suas

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

Algoritmos Evolutivos para Otimização

Algoritmos Evolutivos para Otimização Algoritmos Evolutivos para Otimização A área de aplicação que tem recebido mais atenção é a otimização. Uma das razões é que existem uma variedade de problemas de otimização e a maioria deles sem solução

Leia mais

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO METAHEURÍSTICAS: É uma das primeiras metaheurísticas que foi utilizada com muito sucesso nos problemas complexos de pesquisa operacional. O S.A surgiu do campo

Leia mais

Texto Base: Aula 10 Sistemática Filogenética

Texto Base: Aula 10 Sistemática Filogenética Texto Base: Aula 10 Sistemática Filogenética Sônia Lopes Escolas de classificação baseadas em princípios evolutivos Há duas escolas principais que se pautam no princípio evolutivo central de descendência

Leia mais

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada 4 Códigos de Huffman 4.1 Árvores de código Numa árvore qualquer, os nós que não têm filhos são chamados de folhas e os demais nós são chamados de nós internos. Se um nó de uma árvore é filho de outro,

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística José Edson Rodrigues Guedes Gondim 1 Joab de Oliveira Lima 2 1 Introdução

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Algoritmos Genéticos Algoritmos Genéticos (AGs) constituem um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de seleção natural e reprodução genética [101]. AGs são tipicamente empregados

Leia mais

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 1.7. Outras Metaheurísticas Populacionais 1.7.1. Metaheurísticas Populacionais

Leia mais

Árvores Filogenéticas

Árvores Filogenéticas Árvores Filogenéticas 1 Introdução todos os fundamentos da biologia moderna estão associados à teoria da evolução de Darwin. de aspectos de anatomia, passando por comportamento e chegando à genética, toda

Leia mais

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

Leia mais

Aprendizado por Reforço usando Aproximação

Aprendizado por Reforço usando Aproximação Aprendizado por Reforço usando Aproximação de Funções Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aproximação de Funções 2. Do the evolution 1 Aproximação de Funções Função Utilidade

Leia mais

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva Estratégias Evolutivas EEs Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan Estratégias Evolutivas Desenvolvidas por Rechenberg e Schwefel, e estendida por Herdy, Kursawe

Leia mais

3 Extensões dos modelos matemáticos

3 Extensões dos modelos matemáticos 3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através

Leia mais

Algoritmos Genéticos 1

Algoritmos Genéticos 1 Algoritmos Genéticos 1 Esquema de um GA Algoritmos Genéticos são um ramo da computação evolucionária Seu funcionamento pode ser resumido algoritimicamente através dos seguintes passos: Inicialize a população

Leia mais

P E R N AMBUCO UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

P E R N AMBUCO UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO U NIVERSIDADE FEDERAL DE P E R N AMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno Ranieri Valença

Leia mais

3 Aprendizado por reforço

3 Aprendizado por reforço 3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina

Leia mais

Descreve a história da vida na Terra Investiga os processos responsáveis por essa história

Descreve a história da vida na Terra Investiga os processos responsáveis por essa história Aula 1 Evolução Biologia Evolutiva x Evolução Biológica O termo Evolução biológica refere-se ao processo de modificação e surgimento das espécies na Terra Biologia Evolutiva refere-se à disciplina que

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

Teorias evolucionistas

Teorias evolucionistas Teorias evolucionistas A vida em evolução Se o problema da origem da vida não tem resposta definitiva, há muitos estudos tentando resolver outra questão levantada pela biogênese: se todo ser vivo se origina

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

7.1 Código Excesso de 3

7.1 Código Excesso de 3 Capítulo 7 Códigos Binários Códigos binários são esquemas especiais de representação em binário. Eles servem diversos propósitos. Note que um código binário nada mais é que uma sequência finita de bits

Leia mais

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA Marlon Luiz Dal Pasquale Junior, UNESPAR/FECILCAM, jr.marlon@hotmail.com Solange Regina dos Santos (OR), UNESPAR/FECILCAM, solaregina@fecilcam.br

Leia mais

)XQGDPHQWRVGHSUREDELOLGDGHHHVWDWtVWLFD

)XQGDPHQWRVGHSUREDELOLGDGHHHVWDWtVWLFD )XQGDPHQWRVGHUREDELOLGDGHHHVWDWtVWLFD,QWURGXomR A história da estatística pode ser dividida em três fases. De acordo com PEANHA (00), a estatística inicialmente não mantinha nenhuma relação com a probabilidade,

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 02 Representação do Conhecimento Prof. Max Pereira Para que um computador possa solucionar um problema

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados Otimização Jaime Arturo Ramírez Conteúdo 1. Introdução 2. Analogia de mecanismos de seleção natural com sistemas artificiais 3. Algoritmo genético modelo 4. Um GA simples 5. Representação, genes e cromossomos

Leia mais

TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO DE GRADUAÇÃO

TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO DE GRADUAÇÃO 1 U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 6. 1 TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

Dados Moleculares x Morfológicos

Dados Moleculares x Morfológicos Evolução Molecular Dados Moleculares x Morfológicos Hereditários Descrição não ambígua Mais fácil estabelecer homologia Permite comparações de espécies distantes Abundantes Fatores ambientais Diferenças

Leia mais

Árvores Filogenéticas. Cladogramas 06/06/2012. Nomenclaturas

Árvores Filogenéticas. Cladogramas 06/06/2012. Nomenclaturas Cladogramas Cladogramas - relações filogenéticas apenas entre os táxons terminais evidenciadas por sinapomorfias (as conexões são artifícios gráficos indicando uma história comum). Nunca inclui indicação

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP) Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante

Leia mais

2

2 1 2 3 4 5 Figura: Evolução do cromossomo X humano, segundo Lahn e Page (1999). No cromossomo X atual, apresentado à direita, 19 genes (marcados a-s) distribuem-se em quatro faixas de antiguidade, conforme

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo marcone.freitas@yahoo.com.br tulio@toffolo.com.br Departamento de Computação

Leia mais

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Otimização de horários Seminário. Clarisse Resende 25/01/2013 Otimização de horários Seminário Clarisse Resende 25/01/2013 O problema dos horários consiste numa sequência de atividades de programação, satisfazendo um conjunto de restrições de recursos. Pretende-se

Leia mais

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino * e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda ** e-mail: valentin@sel.eesc.sc.usp.br

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 04 Representações e Programação Genética Max Pereira Representações A representação cromossômica é completamente arbitrária.

Leia mais

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 1 Revisão da aula passada: Busca A * Idéia: evitar expandir caminhos que já são caros Função de avaliação f(n) = g(n) + h(n)

Leia mais

Aula 3- Codificação de Canal. October 18, 2017

Aula 3- Codificação de Canal. October 18, 2017 ELE-32 Introdução a Comunicações Aula 3- Codificação de Canal October 18, 2017 1 Introdução Em muitas situações, a mensagem a ser transmitida por um sistema de comunicações é uma sequência de bits. Entretanto,

Leia mais

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010 Inteligência Artificial Busca Competitiva Aula 5 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia-pos Capítulo 6 Russell & Norvig Seção 6.1 a 6.5 2 Até aqui... Problemas sem interação com outro agente.

Leia mais

Metodologia de inversão

Metodologia de inversão 6 Metodologia de inversão Nesta tese, a transformação de velocidades em pressão de poros é encarada como um problema de inversão. Pela natureza do problema, essa transformação apresenta caráter não único

Leia mais

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1 1 Algoritmo genético 13-1 2 Capítulo 13-Algoritmo genético 13.1 Introdução As tecnologias recentes para dimensionamento de redes de água são: Algoritmo genético Programação Dinâmica Decision Support System

Leia mais

8 Conclusões e Trabalhos Futuros

8 Conclusões e Trabalhos Futuros 8 Conclusões e Trabalhos Futuros Este trabalho propôs investigar o apoio das técnicas de Inteligência Computacional no desenvolvimento da Nanociência e Nanotecnologia. Tal apoio é aqui denominado de Nanotecnologia

Leia mais

UM ESTUDO SOBRE A DEFLEXÃO DE VIGAS USANDO COMO FERRAMENTAS MATEMÁTICAS A TRANSFORMADA DE LAPLACE E O SOFTWARE GEOGEBRA

UM ESTUDO SOBRE A DEFLEXÃO DE VIGAS USANDO COMO FERRAMENTAS MATEMÁTICAS A TRANSFORMADA DE LAPLACE E O SOFTWARE GEOGEBRA UM ESTUDO SOBRE A DEFLEXÃO DE VIGAS USANDO COMO FERRAMENTAS MATEMÁTICAS A TRANSFORMADA DE LAPLACE E O SOFTWARE GEOGEBRA José Ivelton Siqueira Lustosa; Fabiana Dantas da Costa; Orminda Heloana Martins da

Leia mais

5 Agregação das Reservas das Entidades

5 Agregação das Reservas das Entidades 5 Agregação das Reservas das Entidades Neste capítulo é apresentado o procedimento de agregação das reservas das entidades. É importante ressaltar que as entidades probabilísticas sofrem agregação probabilística,

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

Leia mais