Você está na página 1de 186

Universidade Estadual de Campinas

Faculdade de Engenharia Eltrica e de Computao


Departamento de Engenharia de Computao e Automao Industrial



COMPUTAO EVOLUTIVA EMPREGADA NA RECONSTRUO DE
RVORES FILOGENTICAS



OCLAIR GALLACINI PRADO

ORIENTADOR: PROF. DR. FERNANDO JOS VON ZUBEN
(DCA FEEC / Unicamp)


Dissertao apresentada Faculdade de Engenharia Eltrica e de
Computao (FEEC / Unicamp) como parte dos requisitos exigidos
para obteno do ttulo de Mestre em Engenharia Eltrica.


Banca Examinadora:
Prof. Dr. Ivan Luiz Marques Ricarte (DCA - FEEC / Unicamp)
Prof. Dr. Marco Aurlio Amaral Henriques (DCA - FEEC / Unicamp)
Prof. Dr. Srgio Furtado dos Reis (Departamento de Parasitologia / IB / Unicamp)


CAMPINAS
ESTADO DE SO PAULO BRASIL
DEZEMBRO de 2001
ii

iii
Resumo
Esta dissertao apresenta um estudo a respeito de um dos problemas da bioinformtica:
a reconstruo da rvore filogentica que melhor represente um conjunto de seqncias de
bases. O espao de soluo deste problema apresenta custo fatorial. Este um problema de
otimizao combinatria. A Computao Evolutiva, um dos paradigmas que compem a
inteligncia computacional, se mostrou uma boa ferramenta para tratar este problema devido ao
seu elevado poder de explorao e explotao do espao de solues.
Para possibilitar a implementao de alguns dos mtodos de reconstruo de rvores
filogenticas disponveis, foi desenvolvida uma ferramenta computacional denominada Projeto
rvores Filogenticas, que apresenta as seguintes caractersticas:
possui interface grfica amigvel que foi projetada para facilitar sua execuo por
usurios de computador, mesmo que estes no dominem completamente as tcnicas de
computao;
permite ajuste dos principais parmetros relativos filogenia, tais como seleo do
mtodo de busca a ser utilizado (Matriz de Distncias ou Mxima Verossimilhana) e
modelo de substituio de bases (Jukes-Cantor, 1969; Felsenstein, 1981 ou Kimura,
1980);
permite ajuste dos principais parmetros relativos ao algoritmo gentico utilizado, tais
como tamanho da populao e porcentagem de mutaes;
trabalha internamente com grafos para representar as rvores e de modo a preservar
informaes relativas hierarquia (ancestrais e descendentes);
usa novos operadores especiais de mutao, desenvolvidos para trabalhar com as
matrizes de adjacncias dos grafos.
interessante ressaltar que o Projeto rvores Filogenticas utiliza um procedimento
computacional inspirado na evoluo natural para buscar uma boa explicao para os efeitos da
prpria evoluo natural, na forma de uma rvore filogentica. Este projeto se encontra
disponvel no seguinte endereo: ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/oclair/.

iv

Abstract
This dissertation presents a study about one of the bioinformatic problems: the
phylogenetic tree reconstruction. The solution space for this problem is calculated using a
factorial formula. This is a combinatorial optimization problem. Evolutionary Computation, one of
the component paradigms of computational intelligence, was proved to be a good tool to tackle
this problem, due to its high potential to explore and exploit solution spaces.
In order to allow the implementation of some methods of phylogenetic tree reconstruction,
a computational tool named Phylogenetic Tree Project, was developed and has the following
features:
has a friendly graphical user interface designed mainly to assist the user during the
execution, even the ones that do not have enough background in computer sciences;
allows the adjustment of phylogenetic special purpose parameters, such as the method
of search (Distance Matrix or Maximum Likelihood) and base substitution model (Jukes-
Cantor, 1969; Felsenstein, 1981 or Kimura, 1980);
allows the adjustment of genetic algorithm special purpose parameters, such as the
amount of individuals in the population and the mutation percentage;
works internally with graphs to represent the phylogenetic trees, and such that graph
structure is able to preserve the hierarchical information (ancestors and descendants);
new special mutation operators were developed to operate over the graphs adjacency
matrices.
It is interesting to reinforce that the software called Phylogenetic Tree Project uses a
method inspired by the natural evolution to search for a good explanation for the effects of
natural evolution itself based on a phylogenetic tree.
This toolbox is available at ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/oclair/.


v
Dedicatria




























Dedico aos meus pais,
Adauto & Amlia.

vi




vii
Agradecimentos

Em primeiro lugar agradeo minha esposa Isabel pelo apoio, carinho e dedicao
nestes ltimos anos, sem o qual eu no teria sido capaz de finalizar meus estudos. Agradeo
tambm aos meus filhos Erick e Cynthia por terem sido sempre crianas maravilhosas e por
terem respeitado a finalidade do tempo que no passei com eles.
Serei sempre grato ao meu orientador, o Professor Fernando Jos Von Zuben. O
Professor Von Zuben, com seus profundos conhecimentos na rea de inteligncia
computacional, norteou de forma decisiva este trabalho. Sua dedicao, a ateno dispensada
aos seus orientados e sua determinao para o trabalho constituem um exemplo que
certamente influenciaro o resto de minha vida.
Agradeo aos Professores Mrcio Andrade Netto e Srgio Furtado dos Reis pelo grande
incentivo e valiosas contribuies para minha formao nestes ltimos anos na Ps-Graduao
da Unicamp.
Sou grato aos colegas Marcelo Marques Gomes e Artemis Moroni que colaboraram nas
mais diversas formas para o desenvolvimento deste trabalho, desde profcuas discusses at
mesmo atravs de sua amizade e companheirismo.
Aos amigos Mrcio Henrique Zuchini e Paulo Eduardo de Campos Gaspar agradeo o
carinho e a amizade, que foram de grande importncia durante o decorrer deste trabalho.
Agradeo ao Departamento de Engenharia de Computao e Automao Industrial,
Faculdade de Engenharia Eltrica e de Computao, Unicamp, pela oportunidade de fazer o
curso de Mestrado.
Por fim, agradeo Fundao CPqD pelo auxlio e apoio concedidos aos meus estudos.









viii



ix
ndice
RESUMO................................................................................................................................................... III
ABSTRACT............................................................................................................................................... IV
DEDICATRIA.......................................................................................................................................... V
AGRADECIMENTOS ............................................................................................................................ VII
NDICE...................................................................................................................................................... IX
CAPTULO 1 INTRODUO......................................................................................................... 1
1.1 INTELIGNCIA COMPUTACIONAL................................................................................................... 2
1.2 COMPUTAO EVOLUTIVA............................................................................................................ 3
1.3 FERRAMENTA COMPUTACIONAL DESENVOLVIDA.......................................................................... 3
1.4 ORGANIZAO DA DISSERTAO.................................................................................................. 4
CAPTULO 2 COMPUTAO EVOLUTIVA.............................................................................. 7
2.1 INTRODUO.................................................................................................................................. 7
2.2 IDIAS EVOLUCIONISTAS DE DARWIN........................................................................................... 8
2.3 TEORIA DA EVOLUO NATURAL ................................................................................................. 9
2.4 COMPUTAO EVOLUTIVA.......................................................................................................... 12
2.5 ALGORITMOS GENTICOS............................................................................................................ 15
2.5.1 Codificao de indivduos: representao gentica............................................................ 16
2.5.2 Formao da populao inicial........................................................................................... 18
2.5.3 Funo de avaliao............................................................................................................ 18
2.5.4 Operadores genticos .......................................................................................................... 19
2.5.5 Valores para os diversos parmetros .................................................................................. 24
2.5.6 Tcnicas de seleo.............................................................................................................. 25
2.6 DIVERSIDADE POPULACIONAL E DERIVA GENTICA.................................................................... 27
2.7 REPRESENTAO EM RVORE E OPERADORES GENTICOS ASSOCIADOS .................................. 33
2.8 ALGORITMOS MEMTICOS ........................................................................................................... 40
CAPTULO 3 FILOGENIA............................................................................................................ 47
x
3.1 INTRODUO................................................................................................................................ 47
3.2 REPRESENTAO DA FILOGENIA.................................................................................................. 47
3.3 RVORE GNICA E RVORE DE ESPCIES ................................................................................... 48
3.4 RVORE COM RAIZ E SEM RAIZ.................................................................................................... 49
3.5 MTODOS BASEADOS E NO BASEADOS EM MODELO.................................................................. 49
3.6 MTODOS NO BASEADOS EM MODELO....................................................................................... 50
3.6.1 Matriz de Distncias ............................................................................................................ 50
3.6.1.1 Mtodo UPGMA.............................................................................................................. 50
3.6.1.2 Quadrados mnimos ......................................................................................................... 53
3.6.1.3 Evoluo Mnima............................................................................................................. 54
3.6.1.4 Neighbor-Joining............................................................................................................. 55
3.6.2 Mxima Parcimnia............................................................................................................. 56
3.7 MTODOS BASEADOS EM MODELO .............................................................................................. 60
3.7.1 Mxima Verossimilhana..................................................................................................... 60
CAPTULO 4 ANLISE FILOGENTICA................................................................................. 65
4.1 INTRODUO................................................................................................................................ 65
4.2 ESTUDO DE ALGUNS TRABALHOS SOBRE FILOGENIA................................................................... 66
4.2.1 Antes do uso de Algoritmos Genticos................................................................................. 66
4.2.2 Primeira referncia sobre Algoritmos Genticos para o problema das rvores filogenticas
68
4.2.3 Lewis (1998)......................................................................................................................... 68
4.2.4 Reijmers et al. (1999)........................................................................................................... 69
4.2.5 Skourikhine (2000)............................................................................................................... 70
4.2.6 Goloboff & Farris (2001) .................................................................................................... 70
4.2.7 Janis & Wheeler (2001) ....................................................................................................... 71
4.2.8 Moilanen (2001)................................................................................................................... 72
CAPTULO 5 RESULTADOS EXPERIMENTAIS DA PESQUISA......................................... 77
5.1 INTRODUO................................................................................................................................ 77
5.2 ESTUDO DE RVORES FILOGENTICAS USANDO COMPUTAO EVOLUTIVA.............................. 79
CAPTULO 6 CONCLUSES E PERSPECTIVAS FUTURAS .............................................. 107
6.1 COMENTRIOS GERAIS SOBRE O TRABALHO.............................................................................. 107
xi
6.2 CONCLUSES.............................................................................................................................. 110
6.3 CONTRIBUIES......................................................................................................................... 112
6.4 TEMAS SUGERIDOS COMO PERSPECTIVAS FUTURAS DA PESQUISA ............................................ 113
REFERNCIAS BIBLIOGRFICAS................................................................................................... 117
NDICE DE AUTORES.......................................................................................................................... 125
APNDICE A MANUAL DO USURIO DO PROJETO RVORES FILOGENTICAS.......... 129
APNDICE B CLCULO DO NMERO DE RVORES, RAMOS E NS DE UMA RVORE
................................................................................................................................................................... 167
APNDICE C ESTRUTURAS DE DADOS ....................................................................................... 171




















xii



1
Captulo 1


Introduo
Conforme pode ser encontrado em Haeckel (1866), desde o tempo de Charles Darwin
tem sido um sonho de muitos cientistas a reconstruo da histria evolucionria de todos os
organismos da Terra, expressando-a na forma de uma rvore filogentica.
rvore Filogentica um grafo estruturado (veja apndice C, Estruturas de dados,
para maiores detalhes) na forma de uma rvore que explica o processo evolucionrio e
construda a partir de seqncias de atributos (tais como seqncias de DNAs) obtidos de
diversos organismos (Matsuda et al., 1999).
Este trabalho procura ratificar que a Computao Evolutiva uma ferramenta muito
poderosa para auxiliar na busca de boas rvores filogenticas, de acordo com algum critrio de
desempenho. uma pretenso muito grande tentar encontrar a melhor rvore dentro de um
espao de soluo gigantesco como este. Existem 2,75 * 10
76
possibilidades quando so
estudados os DNAs de somente 50 indivduos que comporo as folhas desta rvore (Weir,
1996).
A reconstruo de rvores filogenticas um problema computacional muito difcil de ser
tratado. Para apenas 14 elementos, o nmero de rvores candidatas chega a sete trilhes. Isto
praticamente elimina a possibilidade de ser usada busca exaustiva e tambm muitos outros
paradigmas de busca. Por esta razo, os mtodos de inferncia filogenticas normalmente se
baseiam em algoritmos de agrupamento ou estratgias heursticas de busca que permitem
minimizar a quantidade de tempo gasta analisando as rvores candidatas (Lewis, 1998).
Os mtodos que so normalmente usados para estimar as rvores filogenticas podem
ser agrupados em quatro classes principais: Matrizes de Distncias, Parcimnia, Invariantes e
Mxima Verossimilhana (Swofford & Olsen, 1990). Os mtodos de agrupamentos filogenticos
estudados neste trabalho so os da primeira e quarta classes. Esta restrio foi imposta
somente pela necessidade de dimensionar adequadamente o tempo de execuo da pesquisa.
A explorao dos outros dois mtodos fica sugerida como tema para extenso desta pesquisa.
Neste trabalho, usa-se uma estratgia de busca que reduz muito o tempo computacional
necessrio para encontrar uma boa rvore filogentica, com base no critrio da Mxima
2
Verossimilhana: trata-se da Computao Evolutiva, ou mais precisamente os Algoritmos
Genticos.
Uma das vantagens de se usar os algoritmos genticos poder trabalhar com mltiplos
pontos iniciais de busca e tambm poder operar com todos eles simultaneamente (Reijmers et
al., 1999).
Apesar de se inspirar fortemente em teorias vinculadas s cincias biolgicas, os
algoritmos genticos tm contribudo muito pouco na resoluo de problemas de reconstruo
de rvores filogenticas (Lewis, 1998).
Para efeitos desta pesquisa, cada rvore candidata considerada como sendo um
indivduo em uma dada gerao do processo evolutivo, o qual deixar, em mdia, mais
descendentes do que os demais indivduos da populao se sua capacidade de resolver o
problema (fitness) for relativamente maior que a dos outros.
Ao longo desta dissertao existe o interesse em demonstrar os principais aspectos da
Computao Evolutiva, seu contexto histrico e cientfico, suas vantagens e desvantagens, bem
como algumas reas em que seu uso altamente recomendvel e outras em que ele
completamente ineficaz.
Seu alto poder de busca e explorao torna possvel encontrar uma boa soluo para o
problema de reconstruir rvores filogenticas, o qual apresenta uma exploso combinatria de
possveis candidatos, como pode ser verificado em Weir (1996). Neste cenrio, onde o uso de
tcnicas que garantem a obteno da soluo tima conduz intratabilidade computacional, a
Computao Evolutiva, um dos ramos de atuao da Inteligncia Computacional, pode se
apresentar como uma alternativa eficaz.
1.1 Inteligncia Computacional
A Inteligncia Computacional ou soft computing, usando a terminologia de Lotfy Zadeh
(Zadeh, 1965), foca os aspectos sub-simblicos do processamento de informao para criar
sistemas que exibem algum grau de adaptabilidade, tolerncia a falhas e tambm que adotam
estratgias de representao e uso do conhecimento prximas dos seres humanos, conforme
Bezdek (1994).
Esta rea de pesquisa compreende paradigmas computacionais que procuram
desenvolver sistemas que apresentam alguma forma de inteligncia similar exibida por
determinados sistemas biolgicos (incluindo seres humanos). Computao Evolutiva, Redes
3
Neurais Artificiais e Sistemas Nebulosos so os paradigmas que atualmente compem a
Inteligncia Computacional, segundo Bck et al. (1997).
Mtodos baseados nestes paradigmas, embora poderosos na abordagem de problemas
de elevada complexidade, invariavelmente demandam uma quantidade grande de recursos
computacionais, seja no desenvolvimento ou no uso das ferramentas de soluo. Entretanto,
nos ltimos anos, temos observado um desenvolvimento estrondoso da tecnologia de
microprocessadores e armazenagem de informao e, como conseqncia, temos nossa
disposio cada vez mais recursos computacionais a baixo custo. Este fato tem levado a um
interesse crescente da comunidade cientfica nos mtodos baseados em Inteligncia
Computacional, como pode ser verificado em Iyoda (2000).

1.2 Computao Evolutiva
Computao Evolutiva um termo relativamente recente. Ele foi proposto em torno de
1991, conforme Bck et al. (1997), e representa o esforo de aproximar os pesquisadores que
estavam seguindo caminhos diferentes para simular os vrios aspectos da evoluo. Os
algoritmos genticos, estratgias evolutivas e programao evolutiva possuem algo
fundamental em comum: todos eles usam (1) reproduo, (2) variaes aleatrias, (3)
competio, e (4) seleo de competidores dentro de uma populao. Estes elementos formam
a essncia da evoluo e, uma vez que estes quatro processos estejam atuando na natureza
ou em um computador, a evoluo o resultado inevitvel, segundo Atmar (1994).

1.3 Ferramenta computacional desenvolvida
Ao longo desta pesquisa de mestrado foi criado um pacote de software denominado
Projeto rvores Filogenticas, que foi desenvolvido com o propsito de se obter os resultados
experimentais para esta pesquisa e tambm visando suprir as necessidades de usurios que
necessitem reconstruir rvores filogenticas. Para tanto, esforos significativos foram dedicados
implementao da interface com o usurio. Esta interface grfica amigvel, associada ao fato
desta ferramenta fornecer sugestes para seus principais parmetros, a torna um bom apoio
mesmo para pesquisadores que no dominem completamente as tcnicas de computao.
Um ponto em comum encontrado nas ferramentas disponveis para pesquisa em
bioinformtica que elas so de difcil utilizao por no possurem facilidades como estas
4
apresentadas pelo Projeto rvores Filogenticas. Por esta razo esta ferramenta
computacional dever ser disponibilizada para outros pesquisadores desta rea.
1.4 Organizao da Dissertao
O Captulo 2 apresenta os aspectos principais relacionados Computao Evolutiva,
dando nfase aos algoritmos genticos, suas aplicaes e restries.
O Captulo 3 discute os principais aspectos relacionados s anlises filogenticas, s
estruturas de dados normalmente utilizadas e a mtodos de reconstruo das rvores baseados
em modelo (Mxima Verossimilhana) e os no baseados em modelo (Matriz de Distncias e
Mxima Parcimnia).
O Captulo 4 procura caracterizar a anlise filogentica como um problema computacional
e realiza reviso bibliogrfica das tcnicas j empregadas para reconstruo de rvores
filogenticas. Tambm apresenta vrios motivos que levam a crer que os algoritmos genticos
constituem uma boa ferramenta para este tipo de problema.
No Captulo 5 so apresentados os resultados experimentais das simulaes realizadas
com apoio do pacote de software desenvolvido para este fim. Este software apresentado mais
detalhadamente no Apndice A.
O Captulo 6 apresenta as concluses e sugere algumas perspectivas futuras para a
pesquisa.
As principais contribuies deste trabalho consistem em uma nova reflexo sobre alguns
dos principais conceitos ligados filogenia, que pertence ao campo de pesquisa da Biologia,
sob uma tica voltada para otimizao de sistemas e clusterizao, que pertencem ao campo
da Engenharia. Alguns trabalhos usados como base para esta pesquisa se mostraram
extremamente enriquecedores em relao aos conceitos ligados ao campo da Biologia mas
foram de pouco valor para o campo da Engenharia e o contrrio tambm foi sentido com
bastante freqncia. Neste trabalho, procuramos estabelecer um equilbrio entre estes dois
campos, esclarecendo os conceitos pertinentes a ambos e apontando as particularidades
relevantes para o entendimento do problema estudado: a construo de rvores filogenticas
usando computao evolutiva.
O Apndice A apresenta maiores detalhes sobre as telas da interface grfica do software
e tambm traz um exemplo que explica passo a passo os comandos e os parmetros
necessrios para o processamento de um arquivo com seqncias de DNAs, desde sua
5
confeco usando um editor de texto comum at a anlise das telas de resultados
comparativos.
As frmulas utilizadas para os clculos dos comprimentos dos ramos bem como os
algoritmos empregados para o processamento das rvores segundo os princpios da
computao evolutiva sero descritos em detalhes ao longo deste trabalho.
A Figura 1.1 apresenta uma tela do Projeto rvores Filogenticas onde exibida uma
rvore determinada pelo mtodo da Mxima Verossimilhana e que teve os comprimentos de
seus ramos calculados segundo os modelos de substituio de bases de Jukes-Cantor (1969),
Felsenstein (1981) ou Kimura (1980).

A Figura 1.2 apresenta a tela principal do Projeto rvores Filogenticas onde podem
ser conferidos os parmetros de execuo do aplicativo e os resultados do processamento
relativos ao tempo de execuo e aos critrios de parada, tais como tempo mximo permitido
para busca e quantidade mxima de geraes.
6


Ao final do Captulo 4 so apresentados alguns resultados comparativos com outras
ferramentas para este fim. Pelos motivos explicados no Captulo 4, as comparaes foram
todas realizadas de maneira indireta.

7
Captulo 2


Computao Evolutiva
2.1 Introduo
Segundo Bck et al. (1997), o termo Computao Evolutiva muito recente, tendo sido
criado em 1991. Ele representa os esforos no sentido de se definir uma rea comum de
pesquisa que englobe os pesquisadores que vinham seguindo caminhos diferentes para simular
os vrios aspectos da evoluo. As tcnicas de algoritmos genticos, estratgias evolutivas
e programao evolutiva possuem algo fundamental em comum: cada uma delas trata
reproduo, variao aleatria, competio e seleo de indivduos de uma populao. Estes
quatro elementos formam a essncia da evoluo (Atmar, 1994).
Se existir algum mtodo especfico que resolva um dado problema em estudo, estratgias
baseadas em computao evolutiva no devem ser usadas, pois provavelmente no sero
competitivas. Por no requerer informao de alta qualidade a respeito do problema, como por
exemplo um modelo paramtrico que relacione entradas e sadas, elas no conseguem resolv-
lo de maneira mais eficiente nem com menor esforo computacional. Elas somente devem ser
usadas para os problemas que no podem ser tratados com abordagens clssicas ou
dedicadas (Bck et al., 1997).
Na Seo 2.2 so apresentadas as idias mais importantes de Charles Darwin relativas
evoluo; na Seo 2.3 so discutidas algumas idias referentes teoria da evoluo natural;
na Seo 2.4 enfocada a computao evolutiva com descrio sucinta das principais
abordagens presentes na literatura; e na Seo 2.5 so enfocados os algoritmos genticos com
mais detalhes.
2.2 Idias Evolucionistas de Darwin
De acordo com Amabis & Martho (1997), as idias evolucionistas de Charles Darwin
podem ser resumidamente enunciadas em trs concluses, sendo apoiadas em quatro
observaes:
8

Primeira observao: as populaes naturais de todas as espcies tendem a
crescer rapidamente, pois o potencial reprodutivo dos seres vivos muito grande (o
potencial reprodutivo dos seres vivos deve ser maior que a taxa de mortalidade).
Isso pode ser verificado, por exemplo, quando se criam determinadas espcies em
cativeiro: ao garantir condies ambientais favorveis ao desenvolvimento, sempre
se observa a elevada capacidade reprodutiva inerente s populaes biolgicas.

Segunda observao: o tamanho das populaes naturais, a despeito de seu
enorme potencial de crescimento, se mantm relativamente constante ao longo do
tempo, devido limitao de recursos do ambiente.

Primeira concluso: em cada gerao, morre um grande nmero de indivduos,
muitos deles sem deixar nenhum descendente.

Terceira observao: os indivduos de uma populao diferem quanto a diversas
caractersticas, inclusive aquelas que influem na capacidade de explorar, com
sucesso, os recursos do ambiente e de deixar descendentes.

Segunda concluso: os indivduos que sobrevivem e se reproduzem a cada
gerao, so, provavelmente, os que apresentam mais caractersticas
relacionadas com a adaptao s condies ambientais. Esta concluso resume
o conceito darwinista de seleo natural ou sobrevivncia dos mais aptos.

Quarta observao: grande parte das caractersticas apresentadas por indivduos
de uma dada gerao herdada dos respectivos pais.

Terceira concluso: uma vez que, a cada gerao, sobrevivem os mais aptos,
eles tendem a transmitir aos descendentes caractersticas relacionadas a essa
maior aptido para sobreviver, isto , para se adaptar. Em outras palavras, a
seleo natural favorece, ao longo de geraes sucessivas, a permanncia e o
aprimoramento de caractersticas relacionadas adaptao.

9
2.3 Teoria da Evoluo Natural
A evoluo natural o processo que guia o surgimento de estruturas orgnicas
complexas e adaptadas ao ambiente (Bck et al., 1997). De forma sucinta, e com grau elevado
de simplificao, Bck et al. (1997) descreve a evoluo como o resultado da influncia mtua
entre a criao de informao gentica nova, sua avaliao e seleo. Um indivduo de uma
populao afetado por outros indivduos da populao (por exemplo, pela competio por
alimento, predadores, acasalamento, etc.) e tambm pelo ambiente em que vive (por exemplo,
pela oferta de comida, clima, etc.). Quanto maior a adaptao de um indivduo a tais condies,
maior a chance do indivduo sobreviver por mais tempo e gerar uma prole, que por sua vez
herda a informao gentica dos pais (possivelmente com algum erro de cpia e sujeita
recombinao das informaes fornecidas pelos pais). Ao longo do processo de evoluo, vai
ocorrendo na populao uma penetrao majoritria de informao gentica oriunda de
indivduos com adaptao acima da mdia. Alm disso, o carter no-determinstico da
reproduo leva a uma produo permanente de informao gentica nova e, portanto,
criao de descendentes diferenciados (para maiores detalhes veja Atmar (1994) e Fogel
(1999)).
Indivduos e espcies podem ser vistos como uma dualidade entre seu cdigo gentico
(gentipo) e suas caractersticas comportamentais, fisiolgicas e morfolgicas (fentipo) (Fogel,
1994). Em sistemas evoludos naturalmente, no existe uma relao biunvoca entre um gene
(elemento do gentipo) e uma caracterstica (elemento do fentipo): um nico gene pode afetar
diversos traos fenotpicos simultaneamente (pleiotropia) e uma nica caracterstica fenotpica
pode ser determinada pela interao de vrios genes (poligenia). Os efeitos de pleiotropia e
poligenia geralmente tornam os resultados de variaes genticas imprevisveis. Sistemas
naturais em evoluo so fortemente pleiotrpicos e altamente polignicos (Hartl & Clarck,
1989). O mesmo no ocorre em sistemas artificiais, onde uma das principais preocupaes
com o custo computacional do sistema, de modo que geralmente existe uma relao de um-
para-um entre gentipo e fentipo. Segundo Atmar (1994) e Fogel (1999), o processo de
evoluo pode ser formalizado do seguinte modo: considere dois espaos de estados distintos
um espao de estados genotpico (codificao) G e um espao fenotpico (comportamental)
F . Considere tambm um alfabeto de entrada composto de smbolos provenientes do
ambiente I .
10
O processo de evoluo de uma populao entre duas geraes consecutivas encontra-
se esquematizado na Figura 2.1 a seguir.



Existem quatro mapeamentos atuando neste processo:
F G I f :
1

F F f :
2

G F f :
3

G G f :
4

O mapeamento
1
f , denominado epignese, mapeia elementos G g
1
em uma coleo
particular de fentipos
1
p do espao fenotpico F , cujo desenvolvimento modificado por seu
ambiente, um conjunto de smbolos } { I i i
k
,...,
1
. Este mapeamento inerentemente de muitos-
para-um, pois pode existir uma infinidade de gentipos que acabam resultando em um mesmo
fentipo: um conjunto de cdigos no expressos (no participantes na produo do fentipo)
podem existir em
1
g (Atmar, 1994).
O mapeamento
2
f , seleo, mapeia fentipos
1
p em
2
p . Este mapeamento descreve os
processos de seleo, imigrao e emigrao de indivduos, alm de outras influncias do
11
meio, dentro da populao local. Como a seleo natural opera apenas nas expresses
fenotpicas do gentipo, o cdigo
1
g no est diretamente envolvido no mapeamento
2
f . Atmar
(1994) enfatiza que a seleo atua apenas no sentido de eliminar as variantes comportamentais
menos apropriadas do inevitvel excesso da populao, j que se assume aqui que os recursos
provenientes do ambiente so limitados, exigindo a competio pela sobrevivncia. Neste
processo de competio, a seleo nunca opera sobre uma caracterstica simples isoladamente
do conjunto comportamental.
O mapeamento
3
f , representao (Atmar, 1994) ou sobrevivncia genotpica (Fogel,
1999), descreve os efeitos do mapeamento
2
f em G .
O mapeamento
4
f , mutao e recombinao, mapeia cdigos G g
2
em G g
1
' . Este
mapeamento descreve as operaes de mutao e recombinao, abrangendo todas as
alteraes genticas. A mutao um erro de cpia no processo de transmisso do cdigo
gentico dos pais para a sua prole. Em um universo com diferencial de entropia positivo, erros
de replicao so inevitveis e a otimizao evolutiva torna-se um efeito inerente a qualquer
populao que se reproduz em uma arena limitada (Atmar, 1994).
Com a criao da nova populao de gentipos
1
' g , uma gerao est completa, de
maneira que a adaptao evolutiva ocorre em sucessivas iteraes destes mapeamentos.
O bilogo Sewell Wright props, em 1931, o conceito de superfcie de adaptao para
descrever o nvel de adaptao de indivduos e espcies ao ambiente (Fogel, 1999). Uma
populao de gentipos mapeada em seus respectivos fentipos que, por sua vez, so
mapeados nos seus valores de adaptao. Cada pico (mximo local) da superfcie de
adaptao corresponde a um fentipo otimizado e, portanto, a um ou mais conjuntos de
gentipos otimizados. A evoluo um processo que conduz, de forma probabilstica,
populaes em direo a picos da superfcie, enquanto que a seleo elimina variantes
fenotpicas menos apropriadas. Outros pesquisadores propem uma viso invertida da
superfcie de adaptao: populaes avanam descendo picos da superfcie de adaptao at
que um ponto de mnimo seja encontrado.
Qualquer que seja o ponto de vista, a evoluo sempre um processo de otimizao.
Dadas as condies iniciais, restries ambientais e parmetros evolutivos, a seleo produzir
fentipos to prximos do timo quanto possvel. Observa-se, no entanto, que em sistemas
biolgicos reais, no existem superfcies de adaptao estticas, j que o ambiente est em
12
constante mudana, fazendo com que populaes estejam em permanente evoluo e co-
evoluo em direo a novos pontos de timo. Neste caso, assumindo que as mudanas
ambientais so significativas, embora graduais, a taxa evolutiva deve ser suficientemente
elevada para acompanhar as mudanas ambientais.

2.4 Computao Evolutiva
A computao evolutiva trata de algoritmos inspirados na teoria de evoluo natural de
Darwin, podendo desempenhar os seguintes papis bsicos: (a) ferramenta adaptativa para
soluo de problemas; (b) modelo computacional de processos evolutivos naturais.
Os sistemas inspirados em computao evolutiva mantm uma populao de solues
potenciais, aplicando processos de seleo baseados na adaptao de um indivduo e,
tambm, empregando outros operadores evolutivos. Diversas abordagens para sistemas
baseados em evoluo foram propostas, sendo que as principais diferenas entre elas dizem
respeito aos operadores genticos utilizados (uma discusso sobre operadores genticos ser
apresentada mais adiante neste captulo). As principais abordagens propostas na literatura so:
(a) algoritmos genticos; (b) estratgias evolutivas; (c) programao evolutiva.
Os algoritmos genticos foram introduzidos por J. Holland em 1973 (Holland, 1973) com o
objetivo de formalizar matematicamente e explicar rigorosamente processos de adaptao em
sistemas naturais e desenvolver sistemas artificiais (simulados em computador) que retenham
os mecanismos originais encontrados em sistemas naturais. Os algoritmos genticos
empregam os operadores de crossover e mutao (sero apresentados mais adiante neste
captulo). Os algoritmos genticos tm sido intensamente aplicados em problemas de
otimizao, apesar de no ter sido este o propsito original que levou ao seu desenvolvimento.
Uma extenso dos algoritmos genticos, denominada programao gentica, foi
introduzida por Koza (1992), em que o cdigo gentico corresponde a uma rvore de atributos,
em lugar da codificao em lista de atributos comumente empregada no caso dos algoritmos
genticos. Koza detm uma patente sobre programao gentica. A programao gentica teve
por objetivo inicial evoluir programas de computador usando os princpios da evoluo natural.
Atualmente, a programao gentica tem sido aplicada a uma grande variedade de problemas
como, por exemplo, na sntese de circuitos eltricos analgicos (Koza et al., 1997) e na
definio de arquiteturas de redes neurais artificiais (Gruau, 1994).
13
Estratgias evolutivas (Rechenberg, 1973; Schwefel, 1995) foram inicialmente propostas
com o objetivo de solucionar problemas de otimizao de parmetros, tanto discretos como
contnuos, empregando apenas o operador de mutao.
A programao evolutiva, introduzida por Fogel et al. (1966), foi originalmente proposta
como uma tcnica para criar inteligncia artificial pela evoluo de mquinas de estado finito
(empregando, tambm, apenas mutao). Recentemente, tem sido aplicada a problemas de
otimizao, sendo, neste caso, virtualmente equivalente s estratgias evolutivas. Atualmente,
existem apenas pequenas diferenas no que diz respeito aos procedimentos de seleo e
codificao de indivduos presentes nestas duas abordagens (Fogel, 1994).
Apesar das abordagens acima citadas terem sido desenvolvidas de forma independentes,
seus algoritmos possuem uma estrutura comum. O termo algoritmo evolutivo ser utilizado para
denominar todos os sistemas baseados em evoluo e a sua estrutura apresentada na Figura
2.2 (Michalewicz, 1996).

Procedimento programa evolutivo
incio
0 t
inicializar ) (t P
avaliar ) (t P
enquanto no (condio de parada) faa
incio
1 + t t
selecionar ) (t P a partir de ) 1 ( t P
aplicar operadores genticos a ) (t P
avaliar ) (t P
fim
fim

Figura 2.2 Uma proposta de um algoritmo evolutivo.

Um algoritmo evolutivo mantm uma populao de indivduos } {
t
n
t
x x t P ,..., ) (
1
na (gerao)
iterao t . Cada indivduo representa um candidato soluo do problema em questo e, em
14
qualquer implementao computacional, assume a forma de alguma estrutura de dados S .
Cada soluo
t
i
x avaliada e produz alguma medida de adaptao ou fitness. Assim, uma
nova populao (iterao 1 + t ) formada pela seleo dos indivduos com base nas medidas
de adaptao (passo de seleo). Alguns indivduos da populao so submetidos a
transformaes (passo de alterao) por meio de operadores genticos, para formar novas
solues. Existem transformaes unrias
i
m (mutao) que criam novos indivduos por meio
de pequenas mudanas em um indivduo ( S S m
i
: ) e transformaes de ordem superior
j
c (como o crossover), criando novos elementos pela combinao de dois ou mais indivduos
( S S S c
j
... : ). Uma condio de parada deve ser definida (por exemplo, um
determinado nmero de geraes) e o indivduo da populao que apresentar o melhor
desempenho ser tomado como a soluo do problema.
Todos os algoritmos evolutivos at hoje propostos diferem em diversos aspectos pontuais:
nas estruturas de dados utilizadas para codificar um indivduo, nos operadores genticos
empregados, nos mtodos para criar a populao inicial, nos mtodos para selecionar
indivduos para a gerao seguinte, etc. Entretanto, compartilham do mesmo princpio, ou seja,
uma populao sofre algumas transformaes aleatrias e durante a evoluo os seus
indivduos competem pela sobrevivncia.

2.5 Algoritmos Genticos
Os algoritmos genticos empregam uma terminologia originada da teoria da evoluo
natural e da gentica. Um indivduo da populao representado por um nico cromossomo, o
qual contm a codificao (gentipo) de uma possvel soluo do problema (fentipo).
Cromossomos so usualmente implementados na forma de vetores de atributos, onde cada
elemento do vetor denominado gene. Os possveis valores que um determinado gene pode
assumir so denominados alelos.
O processo de evoluo executado por um algoritmo gentico corresponde a um
processo de busca em um espao de solues potenciais para o problema. Como enfatiza
Michalewicz (1996), esta busca requer um equilbrio entre dois objetivos aparentemente
conflitantes: o aproveitamento das melhores solues e a explorao do espao de busca
(explotao e explorao). Mtodos de otimizao do tipo hillclimbing so exemplos de mtodos
15
que aproveitam a melhor soluo na busca de possveis aprimoramentos; em compensao,
estes mtodos ignoram a explorao do espao de busca. Mtodos de busca aleatria so
exemplos tpicos de mtodos que exploram o espao de busca, ignorando o aproveitamento de
regies promissoras do espao. Algoritmos genticos constituem uma classe de mtodos de
busca de propsito geral que apresentam um balano notvel entre aproveitamento de
melhores solues e explorao do espao de busca.
Os algoritmos genticos pertencem classe dos algoritmos probabilsticos, mas eles no
so mtodos de busca puramente aleatrios, pois eles combinam elementos de mtodos de
busca diretos e estocsticos. Outra propriedade importante dos algoritmos genticos (assim
como de todos os algoritmos evolutivos) que eles mantm uma populao de solues
candidatas enquanto que mtodos alternativos, como simulated annealing (Aarts & Korst,
1989), processam um nico ponto no espao de busca a cada instante.
O processo de busca realizado pelos algoritmos genticos multi-direcional, atravs da
manuteno de solues candidatas, e encoraja a troca de informao entre as direes. A
cada gerao, solues relativamente boas se reproduzem com maior freqncia que
solues relativamente ruins. Para fazer a distino entre diferentes solues empregada
uma funo-objetivo (de avaliao ou de adaptabilidade) que simula o papel da presso
exercida pelo ambiente sobre o indivduo.
A estrutura de um algoritmo gentico a mesma do algoritmo evolutivo apresentado na
Figura 2.2. Podemos descrever um algoritmo gentico como segue (Michalewicz, 1996).
Durante a iterao t , mantida uma populao de solues potenciais (cromossomos, vetores
de atributos), } {
t
n
t
x x t P ,..., ) (
1
. Cada soluo
t
i
x avaliada e produz uma medida de sua
adaptao, ou fitness. Uma nova populao (iterao 1 + t ) ento formada privilegiando a
participao dos indivduos mais adaptados. Alguns membros da nova populao passam por
alteraes por meio de crossover e mutao para formar novas solues potenciais. Este
processo se repete at que um nmero pr-determinado de iteraes seja atingido, ou at que
o nvel de adaptao esperado seja alcanado pelo melhor indivduo da populao.
Em resumo, um algoritmo gentico para um problema particular deve ter os seguintes
componentes:
uma representao gentica para solues candidatas ou potenciais (processo de
codificao);
uma maneira de criar uma populao inicial de solues candidatas ou potenciais;
16
uma funo de avaliao que faz o papel da presso ambiental, classificando as
solues em termos de sua adaptao ao ambiente (ou seja, sua capacidade de
resolver o problema);
operadores genticos;
valores para os diversos parmetros usados pelo algoritmo gentico (tamanho da
populao, probabilidades de aplicao dos operadores genticos, etc.);
Operadores de seleo.

2.5.1 Codificao de indivduos: representao gentica
Cada indivduo de uma populao representa um candidato em potencial soluo do
problema em questo. No algoritmo gentico clssico, proposto por Holland (1973; 1992) as
solues candidatas so codificadas em arranjos binrios de tamanho fixo. A motivao para o
uso de codificao binria vem da teoria dos esquemas (schemata theory), descrita por Holland
(1992). Holland (1992) argumenta que seria benfico para o desempenho do algoritmo
maximizar o paralelismo implcito inerente ao algoritmo gentico e prova que um alfabeto
binrio maximiza o paralelismo implcito.
Entretanto, em diversas aplicaes prticas a utilizao de codificao binria leva a um
desempenho insatisfatrio. Em problemas de otimizao numrica com parmetros reais,
algoritmos genticos com representao em ponto flutuante freqentemente apresentam
desempenho superior codificao binria. Michalewicz (1996) argumenta que a representao
binria apresenta desempenho pobre quando aplicada a problemas numricos com alta
dimensionalidade e onde alta preciso requerida. Suponha por exemplo, que temos um
problema com 100 variveis com domnio no intervalo [-500, 500] e que precisamos de seis
dgitos decimais de preciso aps vrgula. Com isso, em uma representao binria de ponto
fixo, seriam necessrios dez bits para a parte inteira com sinal e 20 bits para a parte fracionria
de cada varivel. Neste caso precisaramos de um cromossomo com 3000 bits para representar
as 100 variveis, e teramos um espao de busca de dimenso
1000 3000
10 2 . Neste tipo de
problema, o algoritmo gentico clssico apresenta desempenho pobre. Michalewicz (1996)
apresenta tambm simulaes computacionais comparando o desempenho de algoritmos
genticos com codificao binria e com ponto flutuante, aplicados a um problema de controle.
17
Os resultados apresentados mostram uma clara superioridade da codificao em ponto
flutuante para este problema.
A argumentao de Michalewicz (1996), de que o desempenho de um algoritmo gentico
com codificao binria pobre quando o espao de busca de dimenso elevada, no
universalmente aceita na literatura referente a algoritmos genticos. Fogel (1994) argumenta
que o espao de busca por si s (sem levar em conta a escolha da representao) no
determina a eficincia do algoritmo gentico. Espaos de busca de dimenso elevada podem s
vezes ser explorados eficientemente, enquanto que espaos de busca de dimenso reduzida
podem apresentar dificuldades significativas. Fogel (1994), entretanto, concorda que a
maximizao do paralelismo implcito nem sempre produz um desempenho timo.
Fica claro, portanto, que a codificao uma das etapas mais crticas na definio de um
algoritmo gentico. A definio inadequada da codificao pode levar a problemas de
convergncia prematura do algoritmo gentico, dentre outros efeitos indesejveis.
Em problemas de otimizao restrita, por sua vez, existe uma problemtica adicional, pois
a codificao adotada pode fazer com que indivduos modificados por crossover/mutao sejam
invlidos. Nestes casos, cuidados especiais devem ser tomados na definio da codificao
e/ou dos operadores (Bck et al., 1997).

2.5.2 Formao da populao inicial
O mtodo mais comum utilizado na criao da populao a inicializao aleatria dos
indivduos. Se algum conhecimento inicial a respeito do problema estiver disponvel, pode ser
utilizado na inicializao da populao. Por exemplo, se sabido que a soluo final
(assumindo codificao binria) vai apresentar mais 0s do que 1s, ento esta informao pode
ser utilizada, mesmo que no se saiba exatamente a proporo. J em problemas com
restrio, deve-se tomar cuidado para no gerar indivduos invlidos na etapa de inicializao
(Bck et al., 1997).

2.5.3 Funo de avaliao
Bck et al. (1997) nos explica que os algoritmos genticos requerem uma forma de
mapear a representao dos cromossomos (gentipo) em um valor numrico associado ao
nvel de adaptao ou fitness. Este mapeamento pode ou no requerer a produo explcita de
18
fentipo do indivduo. Os operadores de recombinao (crossover e mutao) trabalham
diretamente na representao codificada e no no fentipo (veja Figura 2.1). Para formalizar
este conceito, suponha que a funo-objetivo seja dada na forma:
M f :
representando um mapeamento do espao das solues decodificadas M para o eixo
dos reais . Esta funo de avaliao ou fitness F descrita como:
+

s f d
M R F :
d f s F o o
onde R o espao da representao do cromossomo, d uma funo de
decodificao, e s uma funo de normalizao. A funo de normalizao s
freqentemente utilizada em combinao com seleo proporcional, de modo a garantir que
os valores do fitness sero sempre de mesmo sinal e tambm para garantir a maximizao do
fitness. Por exemplo, quando uma funo-objetivo f , que mapeia n valores reais em ,
codificada usando representao binria, a funo de fitness F pode ser escrita como:
+

s f n d l l l
F } 1 , 0 { * ... * } 1 , 0 { * } 1 , 0 { :
onde l o numero de bits da representao real (Bck et al., 1997).
Bck et al. (1997) tambm nos ensina que, em contrapartida aos algoritmos genticos, as
estratgias evolutivas e a programao evolutiva trabalham diretamente no segundo espao
M. Desta forma, eles no requerem funes de decodificao d . Eles tipicamente tambm no
precisam da funo de normalizao s . Com isto a avaliao do fitness completamente
especificada pela equao
M f :
No entanto, a determinao absoluta e precisa do fitness pode no ser elementar. A
dificuldade vem da objetividade da funo de fitness, a qual freqentemente criada somente
quando se possui conhecimento significativo sobre o espao de busca (Angelini, 1993). Para
eliminar a dependncia de funes de fitness objetivas, uma competio introduzida. Funo
de fitness competitivo um mtodo para calcular fitness que dependente da populao atual,
enquanto que as funes de fitness padro retornam o mesmo valor de fitness para um
indivduo independente dos outros membros desta populao. A vantagem da competio
que os algoritmos evolucionrios no necessitam de valores precisos de fitness, porque muitos
esquemas de seleo trabalham apenas comparando os valores de fitness; ou seja, os critrios
19
melhores ou piores. Em outras palavras, no necessrio o valor da medida absoluta de
fitness, mas sua medida relativa deve ser derivada quando um indivduo confrontado com
outros indivduos. Este mtodo mostra-se bastante adequado para implementaes usando
paralelismo (Bck et al., 1997).

2.5.4 Operadores genticos
Os operadores genticos mais freqentemente utilizados so o crossover e a mutao.
Nesta seo, so apresentados os principais aspectos relacionados a estes operadores.
O operador de Crossover
O operador de crossover ou recombinao cria novos indivduos por intermdio da
combinao de dois ou mais indivduos. A idia intuitiva por trs do operador de crossover a
troca de informao entre diferentes solues candidatas. No algoritmo gentico clssico,
atribuda uma probabilidade de crossover fixa aos indivduos da populao.
O operador de crossover mais comumente empregado o crossover de um ponto. Para a
aplicao desse operador, so selecionados dois indivduos (pais) e a partir de seus
cromossomos so gerados dois novos indivduos (filhos). Para gerar os filhos, seleciona-se um
ponto de corte aleatoriamente nos cromossomos-pais, de modo que os segmentos a partir do
ponto de corte sejam trocados. Veja o exemplo a seguir:

Exemplo 1: Considere dois indivduos selecionados como pais, a partir da populao da
gerao atual de um algoritmo gentico, e suponha que o ponto de corte escolhido
(aleatoriamente) encontra-se entre as posies 4 e 5 dos cromossomos-pais:


Aps o crossover, so gerados os seguintes cromossomos-filhos:

20

Outros tipos de crossover tm sido propostos na literatura. Uma extenso simples do
crossover de um ponto o crossover de dois pontos. Neste, dois pontos de corte so
escolhidos e o material gentico ser invertido entre eles na posio de ruptura. Observe o
exemplo a seguir:

Exemplo 2: Considere os mesmos cromossomos-pais do Exemplo 1. Suponha que os
pontos de crossover escolhidos esto localizados entre as posies 3 e 4 e entre as
posies 7 e 8. Assim, os novos indivduos produzidos sero:


Outro tipo de crossover muito comum o crossover uniforme (Syswerda, 1989): para
cada bit no primeiro filho decidido (com alguma probabilidade fixa p) qual pai vai contribuir
com seu respectivo bit para aquela posio. Considere o seguinte exemplo:

Exemplo 3: Tomando como base os mesmos cromossomos-pais dos exemplos
anteriores, seja p = 0,5. Podem ser obtidos pela aplicao do crossover uniforme os seguintes
cromossomos-filhos:


Como o crossover uniforme troca bits ao invs de segmentos de bits (que aqui fazem o
papel dos genes), ele pode combinar caractersticas independentemente da sua posio
relativa no cromossomo.
Eshelman et al. (1989) relata diversos experimentos com vrios operadores de crossover.
Os resultados indicam que o operador com pior desempenho o crossover de um ponto;
entretanto, no h nenhum operador de crossover que apresente um desempenho superior aos
demais em todos os casos. Uma concluso a que se pode chegar a partir desses resultados
que cada operador de crossover particularmente eficiente para um determinado conjunto de
21
problemas e pode ser extremamente ineficiente para outros. Uma abordagem sistemtica para
definio prvia do melhor operador de crossover para cada caso representa ainda um desafio
para os pesquisadores que atuam em computao evolutiva.
Apesar disto, embora no seja uma razo determinstica para explicar o diferencial de
desempenho entre os vrios tipos de operadores de crossover, fato que, no caso de a
ordenao adotada para posicionar os genes ao longo do cromossomo no interferir no
fentipo, o crossover uniforme tende a apresentar um desempenho superior, por ser justamente
aquele que no leva em conta a ordenao dos genes, j que opera cada um individualmente.
evidente que um dado gene em um cromossomo, quando selecionado para crossover
uniforme, ser trocado pelo gene de mesma posio no outro cromossomo (aqui a ordem
importa), mas esta alterao no interfere na probabilidade de troca dos genes vizinhos ( aqui
que a ordem no importa).
Os operadores de crossover descritos at aqui tambm podem ser utilizados com
codificao em ponto flutuante, embora existam operadores de recombinao especialmente
desenvolvidos para estes casos. Um exemplo especfico para o caso de codificao em ponto
flutuante o chamado crossover aritmtico (Michalewicz, 1996). Este operador definido como
uma fuso de dois vetores (cromossomos): se
1
x e
2
x so dois indivduos selecionados para
crossover, os dois filhos resultantes sero
2 1 1
) 1 ( ' x a ax x + e
2 1 2
) 1 ( ' ax x a x + ,
sendo a um nmero aleatrio pertencente ao intervalo [0, 1]. Esse operador particularmente
apropriado para problemas de otimizao numrica com restries, onde a regio factvel
convexa. Se
1
x e
2
x pertencem regio factvel, combinaes convexas de
1
x e
2
x sero
tambm factveis, garantindo que o crossover no vai gerar indivduos invlidos para o
problema em questo. Outros exemplos de crossover especialmente desenvolvidos para
utilizao em problemas de otimizao numrica restritos e codificao em ponto flutuante so
o crossover geomtrico e o crossover esfrico, descritos em Michalewicz & Schoenauer (1996).
Um aspecto importante em um algoritmo gentico diz respeito a como escolher os
indivduos que sero submetidos recombinao. Aqui tambm existem diversas alternativas
possveis, sendo que entre as mais comuns destacam-se:
crossover entre indivduos seguindo alguma distribuio de probabilidade: so
escolhidos indivduos da populao atual aleatoriamente ou por meio de Roulette
Wheel (veja Seo 2.5.6- Tcnicas de seleo);
22
crossover entre um indivduo aleatrio e o melhor indivduo: escolhido um
indivduo da populao atual aleatoriamente ou por meio de Roulette Wheel,
sendo o outro elemento o melhor da populao.

O Operador de Mutao
O operador de mutao modifica aleatoriamente um ou mais genes de um cromossomo.
A probabilidade de ocorrncia de mutao em um gene denominada taxa de mutao.
Usualmente, so atribudos valores pequenos para a taxa de mutao. A idia intuitiva por trs
desse operador a criao de variabilidade extra na populao, mas sem destruir o progresso
j obtido no decorrer do processo evolutivo, ou seja, a variabilidade deve se comportar como
uma perturbao de efeito localizado.
Considerando codificao binria, o operador de mutao padro simplesmente troca o
valor do gene selecionado (Holland, 1992). Assim, se um gene selecionado para mutao tiver
valor 1, passar para 0 aps a aplicao do operador, e vice-versa.
No caso de problemas com codificao em ponto flutuante, o operador de mutao mais
popular a mutao gaussiana (Michalewicz & Schoenauer, 1996), modificando todos os
componentes de um cromossomo [ ]
n
x x x ...
1
na forma:
) , 0 (
'
N x x + ,
sendo ) , 0 ( N um vetor de variveis aleatrias independentes, com distribuio normal,
mdia zero e desvio padro .
Um operador importante para problemas em que os indivduos empregam codificao em
ponto flutuante a mutao uniforme (Michalewicz, 1996). Este operador seleciona
aleatoriamente um componente } ,..., 2 , 1 { n k do cromossomo ] ... ... [
1 n k
x x x x e gera um
indivduo ] ... ... [
'
1
'
n k
x x x x , onde
'
k
x um nmero aleatrio (com distribuio de probabilidade
uniforme) amostrado no intervalo [LB, UB]. LB e UB so, respectivamente, os limites inferior e
superior da varivel
k
x .
Outro operador de mutao, especialmente desenvolvido para problemas de otimizao
com restrio e codificao em ponto flutuante a chamada mutao no-uniforme
(Michalewicz, 1996; Michalewicz & Schoenauer, 1996). A mutao no-uniforme um operador
dinmico, destinado a melhorar a sintonia fina ao longo do processo evolutivo. Pode ser
definido da seguinte forma: seja ] ... [
1 n
x x x um cromossomo na gerao t e suponha que o
23
elemento
k
x ( } ,..., 2 , 1 { n k ) foi selecionado para mutao. O cromossomo resultante ser
] ... ... [ '
'
1 n k
x x x x , com
, com 50% de probabilidade

'

) , (
) , (
'
LB x t x
x UB t x
x
k k
k k
k

, com 50% de probabilidade
A funo ) , ( y t retorna um valor no intervalo ] , 0 [ y , tal que a probabilidade de ) , ( y t
ser prximo de zero aumenta medida que t aumenta. Esta propriedade faz com que este
operador explore mais amplamente o espao nas geraes iniciais (quando t pequeno) e
mais localmente em geraes avanadas (quando t grande). Michalewicz (1996) prope a
seguinte funo, sendo r um nmero aleatrio no intervalo [0, 1], T um nmero mximo de
geraes e b um parmetro que determina o grau de dependncia do nmero de iteraes
(valor proposto: b = 5):
) 1 .( ) , (
) / 1 (
b
T t
r y y t


Este operador foi usado com sucesso por de Castro et al. (1998) na evoluo de
condies iniciais para o treinamento de redes neurais artificiais. Outros exemplos de
operadores de mutao para problemas de otimizao numrica e com codificao em ponto
flutuante podem ser encontrados em Michalewicz & Schoenauer (1996).

2.5.5 Valores para os diversos parmetros
Apesar do desempenho de um algoritmo gentico depender da escolha adequada de
seus parmetros, no existem critrios sistemticos e genricos que estabeleam valores para
alguns parmetros crticos em algoritmos genticos, tais como o tamanho da populao, os
mecanismos de seleo, e os valores de taxas de crossover e mutao (Guerrero et. al., 1999).

Taxas de Crossover e Mutao
Os algoritmos evolutivos clssicos exigem definio por parte do usurio dos diversos
parmetros descritos anteriormente, como tamanho da populao e probabilidades de
crossover e mutao. Estes parmetros permanecem fixos durante toda a execuo do
algoritmo ou so alterados arbitrariamente em pontos especficos do processo evolutivo. Em
geral, os valores assumidos por estes parmetros so determinantes para que o algoritmo seja
capaz de encontrar uma soluo de qualidade, e tambm para a eficincia na busca desta
24
soluo. Entretanto, encontrar valores apropriados para estes parmetros uma tarefa custosa
em termos computacionais, pois no h uma metodologia eficiente que ajude nesta definio.
Assim, muitas abordagens tm sido propostas no sentido do ajuste destes valores durante a
execuo do algoritmo. Em Eiben et al. (1999), encontram-se diversas tcnicas para o controle
destes parmetros durante a execuo do algoritmo, mostrando-se uma das reas de pesquisa
mais promissoras em computao evolutiva. Como um exemplo mais voltado para o problema
de encontrar uma boa rvore filogentica veja Skourikhine (2000) .

Sistemas Co-Evolutivos
Em sistemas co-evolutivos, conforme descrito por Jan (1995), mais de um processo
evolutivo ocorre simultaneamente. Usualmente, consideram-se mais de uma populao (por
exemplo, uma populao de presas e outra de predadores) como parte de um processo
interativo. Em sistemas desse tipo, a funo de fitness de uma populao pode depender do
estado da outra populao (Potter & DeJong, 2000). Sistemas co-evolutivos podem ser
abordagens interessantes para problemas de larga escala, de modo que um problema
complexo decomposto em subproblemas menores. Dessa maneira, existiria um processo
evolutivo para cada subproblema e os processos estariam todos inter-relacionados. Esta parece
ser uma proposta interessante para ser aplicada na reconstruo de rvores filogenticas, onde
o espao de soluo tende a ser muito grande, como pode ser observado no Apndice B.

2.5.6 Tcnicas de seleo
O algoritmo gentico clssico utiliza um esquema de seleo de indivduos para a
prxima gerao chamado Roulette Wheel (Goldberg, 1989). O Roulette Wheel atribui a cada
indivduo de uma populao uma probabilidade de passar para a prxima gerao proporcional
ao seu fitness medido, em relao somatria do fitness de todos os elementos da populao.
Assim, quanto maior for o fitness de um indivduo, maior a probabilidade dele passar para a
prxima gerao. Na Figura a seguir, pode ser observado um exemplo de aplicao do Roulette
Wheel onde cada indivduo em uma determinada gerao recebe uma probabilidade de passar
prxima gerao proporcional ao seu fitness, medido em relao ao fitness total da
populao.

25

Como pode ser observado, a seleo de indivduos por Roulette Wheel pode fazer com
que o melhor indivduo da populao seja perdido, j que a probabilidade dele ser escolhido
para compor a prxima gerao, apesar de ser alta, menor que 1. Um recurso paliativo seria
escolher como soluo o melhor indivduo encontrado ao longo de todas as geraes do
algoritmo. Outra opo mais consistente simplesmente manter sempre o melhor indivduo da
gerao atual na gerao seguinte, estratgia esta conhecida como seleo elitista (Fogel,
1994; Michalewicz, 1996). Com isso, alm do melhor indivduo ser sempre preservado, ele vai
continuar a contribuir com seu cdigo gentico na produo de descendentes que iro compor
as prximas geraes.
Outro exemplo de mecanismo de seleo a seleo baseada em rank (Bck et al.,
1997). Esta estratgia utiliza as posies dos indivduos quando ordenados de acordo com o
fitness para determinar a probabilidade de seleo, podendo ser usados mapeamentos lineares
ou no-lineares para determinar esta probabilidade.
Um exemplo de mapeamento no-linear pode ser visto em Michalewicz (1996). Uma
variao deste mecanismo simplesmente passar os N melhores indivduos para a prxima
gerao.
A seguir, so apresentados outros possveis mecanismos de seleo. importante deixar
claro que estes mecanismos de seleo operam sobre os indivduos da populao intermediria
da gerao atual, com o objetivo de formar a populao da prxima gerao:
seleo por diversidade: so selecionados os indivduos mais diversos da
populao;
seleo bi-classista: so selecionados os P% melhores indivduos e os (100 - P)%
piores indivduos;

26
2.6 Diversidade populacional e deriva gentica
Syed (1995) apresenta um interessante estudo sobre o efeito da taxa de mutao sobre a
diversidade populacional.

Ausncia de presso seletiva e ausncia de mutao
Inicialmente supe-se que cada indivduo da populao dado por um cromossomo
haplide e que o crossover uniforme. Cada gene ser representado por um bit, no h
mutao e no h presso seletiva. Os resultados ento obtidos sero estendidos para o caso
de presena de mutao e, em seguida, presena de presso seletiva. O estudo vai se
concentrar na diversidade de um nico gene dentro da populao (Syed ,1995).
Como no est sendo considerada presso seletiva e como o crossover uniforme, esta
anlise diretamente extensvel a qualquer gene da cadeia cromossmica. O primeiro passo
definir o que se entende por freqncia de um gene numa populao. A freqncia p de
ocorrncia do alelo 1, correspondente quele gene, dada por
N
W
p
onde N o nmero total de indivduos na populao e W o nmero de indivduos que
tm o alelo 1. Logo, a freqncia q de ocorrncia do alelo 0, correspondente quele gene,
dada por
p q 1
A partir da definio da freqncia gnica, possvel estabelecer uma medida de
diversidade deste gene na populao (Syed ,1995):
| 1 2 | 1 ) ( p p d
Para p = 0 ou p = 1, resulta ) (p d = 0, o que implica que todos os indivduos
apresentam o mesmo alelo. Para p =
2
1
, resulta ) (p d = 1, ou seja, o mximo nvel de
diversidade ocorre quando metade da populao apresenta o alelo 1, e a outra metade, o alelo
0. Como no h presso seletiva, e supondo tambm ausncia de mutao, a prxima gerao
obtida pela escolha aleatria de dois pais pertencentes gerao atual, e o crossover
uniforme empregado para produzir os filhos (Syed ,1995).
Dado que p a freqncia de ocorrncia do alelo 1, correspondente a um dado gene da
populao, a probabilidade de um filho tambm apresentar este alelo 1 dada por:
27
p p p p p p p p
f f
+ + ) 1 (
2
1
) 1 (
2
1
2

Isto implica que a probabilidade de um filho apresentar um alelo 1 igual probabilidade
de selecionar um indivduo da populao atual que apresente um alelo 1. Com isso, para efeito
da anlise em questo, possvel simplificar o processo de criao da prxima gerao de
indivduos pela simples seleo de N indivduos da gerao atual (Syed ,1995).
Dada uma gerao k , e assumindo que
k
p a freqncia de ocorrncia do alelo 1
correspondente a um dado gene da populao, a probabilidade da freqncia ser
N
W
p
w
k
1
1
+
+

na prxima gerao dada por (Syed ,1995):
1 1
) 1 ( /
1
1
+ +
+
+

,
_


k k W N
k
W
k
k
k k
p p
W
N
p p P
Para uma populao de tamanho N , as probabilidades
+ k k
p p P /
1
podem ser utilizadas
para gerar uma matriz M de dimenso ) 1 ( ) 1 ( + + N x N , cujos elementos so dados por (Syed
,1995):
N
j
N
i
P m
ij
, N j i ,..., 2 , 1 , 0 ,
Para a k-sima gerao, seja
k
g um vetor-coluna de distribuio de probabilidade, de
dimenso ) 1 ( + N , e cujo i-simo elemento a probabilidade de que a freqncia gnica seja
N
i
. Se
0
g a distribuio de probabilidade para a freqncia gnica na gerao inicial, ento,
aps k geraes, a distribuio de probabilidade para a freqncia gnica dada por:
0
g M g
k
k

Para garantir o maior nvel possvel de diversidade para a populao inicial,
0
g pode ser
definido na forma:


28

Por exemplo, para 2 N , temos
1
1
1
1
1
1
]
1

1 | 1
2
1
| 1 0 | 1
1 |
2
1
2
1
|
2
1
0 |
2
1
1 | 0
2
1
| 0 0 | 0
P P P
P P P
P P P
M
1
1
1
1
]
1

1
1
1
1
1
1
]
1





) 1 (
)
2
1
(
) 0 (
.
1 | 1
2
1
| 1 0 | 1
1 |
2
1
2
1
|
2
1
0 |
2
1
1 | 0
2
1
| 0 0 | 0
0
0
0
0 1
g
g
g
P P P
P P P
P P P
Mg g
1
1
1
1
1
1
]
1

+ +
+ +
+ +

1
1
1
1
]
1

) 1 ( 1 | 1 )
2
1
(
2
1
| 1 ) 0 ( 0 | 1
) 1 ( 1 |
2
1
)
2
1
(
2
1
|
2
1
) 0 ( 0 |
2
1
) 1 ( 1 | 0 )
2
1
(
2
1
| 0 ) 0 ( 0 | 0
) 1 (
)
2
1
(
) 0 (
0 0 0
0 0 0
0 0 0
1
1
1
1
g P g P g P
g P g P g P
g P g P g P
g
g
g
g
A seguir, apresentado o primeiro elemento do vetor
0
2
1 2
g M Mg g , mosrando
explicitamente o efeito das vrias probabilidades condicionais sobre a distribuio de
probabilidade inicial.
+ + + ) 0 ( 1 | 0 1 | 0 ) 0 ( 0 |
2
1
2
1
| 0 ) 0 ( 0 | 0 0 | 0 ) 0 (
0 0 0 2
g P P g P P g P P g
+ + + + )
2
1
(
2
1
| 1 1 | 0 )
2
1
(
2
1
|
2
1
2
1
| 0 )
2
1
(
2
1
| 0 0 | 0
0 0 0
g P P g P P g P P
) 1 ( 1 | 1 1 | 0 ) 1 ( 1 |
2
1
2
1
| 0 ) 1 ( 1 | 0 0 | 0
0 0 0
g P P g P P g P P + + +
A diversidade da populao aps k geraes, dado que a distribuio de probabilidade
inicial
0
g , pode ser encontrada na forma:

,
_


,
_

N
i
ki
N
i
ki
N
i
g
N
i
d g k D
0 0
1 2 1 ) (
29
Tomando valores diferentes para o tamanho N da populao, o grfico da evoluo da
diversidade D em funo das geraes apresentado a seguir (Syed ,1995).

Observa-se neste grfico que a diversidade decresce mais rapidamente para tamanhos
menores de populao.
O grfico a seguir mostra mais precisamente que a taxa de decrescimento da diversidade
inversamente proporcional ao tamanho da populao. No eixo x temos agora
populao da tamanho
geraes
para os casos de N 10, 20, 40 e 80 (Syed ,1995).

30
De acordo com este ltimo grfico, para qualquer tamanho de populao, a diversidade
se anula em aproximadamente 6N geraes. Observe que a perda de diversidade ocorre
mesmo na ausncia de presso seletiva. Este fenmeno conhecido como deriva gentica
(genetic drift).

Ausncia de presso seletiva, mas presena de mutao
Com a introduo do efeito de mutao, necessrio rever a construo da matriz de
distribuio de probabilidade M. A taxa de mutao definida como a probabilidade com
que qualquer bit do recm criado indivduo mude de 0 para 1, ou vice-versa. Assim, quando a
mutao est presente, a probabilidade de que um indivduo da prxima gerao tenha um
alelo 1, correspondente a um dado gene da populao, dada por (Syed ,1995):
+ + p p p q p p
f
2
Dada uma gerao k, e assumindo que
k
p a freqncia de ocorrncia do alelo 1,
correspondente a um dado gene da populao, a probabilidade da freqncia ser
N
W
p
w
k
1
1
+
+

na prxima gerao agora dada por:
1 1
) 2 1 ( ) 2 ( /
1
1
+ +

+
+
+ +

,
_


k k
W N
k k
W
k k
k
k k
p p p p
W
N
p p P
Esta formulao modificada para a distribuio de probabilidade pode agora ser utilizada
para construir a matriz M e calcular a diversidade em funo das geraes, como feito
anteriormente. Usando N 20 para o tamanho da populao e adotando diferentes taxas de
mutao, o grfico a seguir mostra o comportamento da diversidade para cada caso (Syed
,1995).
31

Pode-se concluir que a introduo de mutao (no importa a que taxa) provoca uma
desacelerao da queda da diversidade e finalmente uma estabilizao em um nvel de
diversidade mnima. Taxas de mutao maiores resultam em nveis maiores de diversidade
mnima. O grfico a seguir mostra, para tamanhos distintos de populao, como uma mesma
taxa de mutao influencia o nvel de diversidade (Syed ,1995).

Pode-se observar que uma mesma taxa de mutao conduz a nveis de diversidade
mnima maiores para populaes maiores. Portanto, dada a taxa de mutao e o tamanho da
populao possvel calcular o nvel de diversidade para o qual a populao vai convergir
(Syed ,1995).
32

Presena de presso seletiva: efeito na diversidade
A introduo de presso seletiva provoca invariavelmente um aumento da taxa de
decrescimento da diversidade, ocasionando possivelmente um nvel mais baixo para a
diversidade mnima (Syed ,1995).
Os efeitos da presso seletiva so produzidos por dois fatores completamente
independentes (Syed ,1995):
1. reduo do tamanho efetivo da populao pois nem todos os indivduos iro gerar
descendentes e alguns indivduos com maior nvel de adaptao vo gerar vrios
descendentes;
2. tendncia de que um alelo em particular de um dado gene seja favorecido pelo
processo de seleo, baseado na funo de adaptao (fitness).

2.7 Representao em rvore e Operadores Genticos Associados
Como pode ser observado em Foster (2001), para o caso de encontrar a rvore com
maior probabilidade de reconstruir a filogenia de um conjunto de seqncias de DNAs, os
cromossomos desta populao deveriam ser estruturas de dados com ramificaes (rvores) e
no as tradicionais estruturas lineares usualmente empregadas (listas).
Conforme anteriormente exposto na seo 2.5.4 (Operadores genticos) e em Foster
(2001), a recombinao em algoritmos genticos ocorre com a seleo e troca de um
subconjunto de genes de dois indivduos, geralmente isolando uma seqncia de cada e
trocando entre eles os fragmentos resultantes, de maneira a formar dois novos indivduos. Esta
tcnica bastante simples e intuitiva para estruturas lineares mas quando usamos estruturas de
dados mais complexas para sua representao, este mecanismo no permanece to simples.
Para cromossomos na forma de rvore, necessrio criar operadores especiais para
mutao e recombinao (Foster, 2001).
Conforme Manber (1989), uma rvore pode ser considerada como sendo um grafo
dirigido acclico e assim podemos representar uma rvore com uma matriz de adjacncias. Vide
Apndice C para maiores detalhes.
Adotando a representao na forma de matriz de adjacncias para as rvores estudadas,
podemos propor trs tipos de operadores de mutao:
(a) um para permutao entre folhas;
33
(b) outro para permutao entre ramos e
(c) outro para permutao de ramos com folhas.
Para ajudar a melhorar o entendimento sobre como os trs operadores propostos
funcionam, considere a rvore e sua respectiva representao em forma de matriz de
adjacncias das Figuras 2.7 e 2.8 a seguir.



A raiz um n especial que no possui pai (Manber, 1989). Por isto a coluna 9 da matriz
de adjacncias da Figura 2.8 possui apenas zeros. Por exemplo, o algarismo 1 no cruzamento
da coluna E 2 com a linha A 4 significa que o elemento E 2 descendente do elemento A
4.

34
Operador de permutao entre folhas
O operador de permutao entre folhas (ou espcies) trabalha trocando duas colunas
posicionadas esquerda da coluna da raiz. Todas as folhas encontram-se posicionadas nestas
colunas iniciais.


No exemplo das Figuras 2.9 e 2.10, foram trocadas as colunas 2 e 4. Isto significa que
aps a troca, o elemento E 2 passou a ser descendente do elemento A 5 e o elemento E 4
passou a ser descendente do elemento A 4. Antes desta troca, o elemento E 2 era
descendente do elemento A 4 e o elemento E 4 era descendente do elemento A 5, como
pode ser observado na Figura 2.7.

35
Operador de permutao entre ramos
O operador de permutao entre ramos (ou sub-rvores) trabalha trocando duas colunas
posicionadas direita da coluna da raiz. Todas as sub-rvores encontram-se posicionadas
nestas colunas finais.


No exemplo das Figuras 2.11 e 2.12, foram trocadas as colunas 13 e 15. Isto significa que
aps a troca, a sub-rvore A 5 passou a ser descendente da sub-rvore A 3 e a sub-rvore
A 7 passou a ser descendente da sub-rvore A 2. Antes desta troca, a sub-rvore A 5 era
descendente da sub-rvore A 2 e a sub-rvore A 7 era descendente da sub-rvore A 3.
O prximo exemplo mostra que possvel trocar ramos de nveis diferentes da rvore.
Isto provoca grande alterao na topologia da rvore. Retomando a rvore da Figura 2.7 e
trocando as colunas 10 e 15, teremos a rvore representada na Figura 2.11a.
36


No exemplo das Figuras 2.11a e 2.12a, foram trocadas as colunas 10 e 15. Isto significa
que aps a troca, a sub-rvore A 7 passou a ser descendente direta da raiz A 1 e a sub-
rvore A 2 passou a ser descendente da sub-rvore A 3. Antes desta troca, a sub-rvore A
2 era descendente da raiz A 1 e a sub-rvore A 7 era descendente da sub-rvore A 3. Este
exemplo refora o poder deste operador para alterar a topologia de uma rvore.

Operador de permutao de ramos com folhas
O operador de permutao entre folhas (ou espcies) e ramos (ou sub-rvores) trabalha
trocando duas colunas sendo uma posicionada esquerda da coluna da raiz e a outra
posicionada direita da coluna da raiz.
37


No exemplo das Figuras 2.11 e 2.12, foram trocadas as colunas 1 e 15. Isto significa que
aps a troca, o elemento E 1 passou a ser descendente da sub-rvore A 3 e a sub-rvore A
7 passou a ser descendente da sub-rvore A 4. Antes desta troca, o elemento E 1 era
descendente da sub-rvore A 4 e a sub-rvore A 7 era descendente da sub-rvore A 3.

38
2.8 Algoritmos memticos
Introduo
Os cinco anos em que Charles Darwin atuou como bilogo em sua viagem a bordo do
navio Beagle, permitiram que ele coletasse uma grande quantidade de informao e material
biolgico. Toda essa massa de dados, em conjunto com as suas observaes, certamente
contriburam para a formulao das suas idias sobre os mecanismos da evoluo (Silva &
Sasson, 1996). Pode-se inferir que Darwin, ao elaborar a sua Teoria da Evoluo, tambm
exps suas idias (um conjunto de observaes, conhecimento adquirido, genialidade e
concluses) a um processo de seleo. Ele construiu uma pr-histria sempre confrontando
as concluses obtidas com os fatos observados e com os dados coletados. Este mtodo de
trabalho fez com que as caractersticas em comum fossem mantidas, e as outras, descartadas.
Na verdade, Darwin trabalhava com uma populao de idias, ou em outras palavras,
indivduos de concepo mental que passavam por um processo de busca pelo melhor
entendimento dos dados coletados. tambm provvel que, com o conhecimento adquirido ao
longo do tempo, ele tenha aperfeioado seus mecanismos de busca e seus critrios de
avaliao. Este processo de busca pela melhor resposta somente pode ser concebido dentro
dos limites do campo do conhecimento, na forma de um processo iterativo aplicado por um
indivduo para a melhoria continuada de suas idias. Este processo sofisticado de refinamento
do conhecimento se justifica no caso de problemas que envolvem um grande nmero de
possibilidades de interpretao e formalizao.

Memes
No campo da computao evolutiva, o refinamento do conhecimento pode ser
incorporado como uma etapa de apoio ao processo evolutivo. Moscato & Norman (1992)
introduziram o termo algoritmo memtico para descrever um processo evolutivo que possua
uma busca local como parte decisiva na evoluo. Essa busca pode ser caracterizada como
sendo um refinamento local dentro de um espao de busca, de modo que um indivduo pode ter
seu nvel de adaptao aumentado aps este refinamento. O termo meme foi idealizado por
Dawkins (1976) como sendo uma unidade de informao que se reproduz durante um processo
argumentativo e de transmisso de conhecimento (Radcliffe & Surry, 1994). Portanto, pode-se
dizer que, enquanto o algoritmo memtico est relacionado com a evoluo cultural, o algoritmo
gentico est baseado na evoluo biolgica dos indivduos.
39
Uma diferena marcante entre genes e memes est no processo de transmisso aos seus
descendentes. Quando o meme transmitido, ele ser adaptado pela entidade que o recebe
com base no seu conhecimento e para melhor atender a suas necessidades. Quanto aos
genes, no processo de evoluo eles so transmitidos de uma maneira tal que o descendente
gerado vai herdar muitas habilidades e caractersticas presentes em seus progenitores. Dessa
maneira, o algoritmo gentico inspirado na tentativa de emulao computacional da evoluo
biolgica e o algoritmo memtico tenta fazer o mesmo em relao evoluo cultural.
interessante lembrar que na evoluo biolgica a informao est codificada nos genes
por uma seqncia de nucleotdeos, de modo que a transmisso influenciada pela presena
de mutao, recombinao e pela seleo natural em relao aos indivduos geneticamente
melhor adaptados. Na evoluo cultural, a informao envolvida est nos memes, de modo que
as alteraes surgem pela combinao, criao e reorganizao das representaes mentais
(conscientes ou no) e pela possvel ineficcia dos mecanismos de transmisso de informao.
A replicao (fentipo) ocorre quando essas representaes mentais so transformadas em
aes passveis de imitao ou expressas atravs de alguma linguagem. A incorporao dessa
nova informao por parte de algum indivduo certamente alterar a presso seletiva e a
influncia vinculada s limitaes impostas pelo ambiente quele indivduo.

Aspectos de implementao de algoritmos memticos
De acordo com Moscato (1999), o uso genrico da denominao de Algoritmo Memtico
feito para a identificao de uma classe de meta-heursticas, constituindo um dos
procedimentos de maior sucesso para problemas de otimizao combinatria.
A caracterstica principal, presente em muitas implementaes que utilizam algoritmos
memticos, o uso de processos de busca dedicados. Esses processos pretendem utilizar toda
a informao disponvel sobre o problema, de modo que este conhecimento seja incorporado
sob a forma de heursticas, tcnicas de busca local, operadores especializados de
recombinao e muitas outras maneiras.
Em essncia, os algoritmos memticos podem ser interpretados como um conjunto de
estratgias que implementam a competio e a cooperao entre diferentes mecanismos de
otimizao (Moscato & Norman, 1992). Sendo assim, o sucesso obtido pode ser explicado
como sendo uma conseqncia direta da sinergia dos diferentes processos de busca utilizados.
A idia geral dos algoritmos memticos a utilizao dos operadores evolutivos que
determinam regies promissoras no espao de busca, combinados com busca local nestas
40
regies (este processo tem sido aplicado com sucesso em vrios problemas de otimizao
Merz & Freisleben, 1999). Tambm se pode dizer que algoritmos memticos correspondem
unio de um mtodo de busca global e uma heurstica local aplicada a cada indivduo, de modo
que um algoritmo memtico , na verdade, um tipo especial de hillclimbing.
Conforme Merz & Freisleben (1999), em um ambiente que emprega algoritmo memtico,
os operadores de recombinao e mutao agem como estratgias de diversificao. Os
indivduos da populao podem estar localizados em uma regio do espao de busca contendo
um timo local, chamada base de atrao do timo local. Utilizando a informao contida na
populao, novos pontos de partida podem ser descobertos aps a busca local. Os operadores
de recombinao e mutao podem gerar indivduos da populao que estejam localizados em
bases de atrao de timos locais ainda no explorados, de modo que um novo pico deva ser
alcanado (maximizao) ou um vale deva ser explorado (minimizao). Utilizando o conceito
de superfcie de adaptao (fitness), a Figura 2.15 ilustra estes eventos, no caso da
maximizao. Aps a recombinao, o filho gerado pode possuir um fitness baixo, mas um
grande potencial para crescimento, de modo que uma busca local pode levar o descendente a
assumir um valor de fitness elevado. A mutao, por sua vez, pode levar a um pequeno
aumento (ou decrscimo) do fitness, por representar uma perturbao local junto
representao do indivduo.

Na presena de restries, os operadores genticos de recombinao e mutao podem
produzir solues que esto fora da regio factvel do espao de busca. Entretanto, um
algoritmo de reparao (factibilizao) pode ser elaborado para remeter o descendente gerado
para uma regio factvel (Radcliffe & Surry, 1994). A razo para a distino entre uma busca
local realizada por um algoritmo memtico e a busca realizada por um algoritmo de reparao
41
que este ltimo no investe no aumento da qualidade da soluo, mas apenas na garantia de
sua factibilidade.
No caso de problemas de otimizao irrestritos, a gerao da populao inicial realizada
em duas etapas. A primeira, consiste na gerao de indivduos que procuram explorar
amplamente o espao de busca, caracterizando-os como solues candidatas. Na segunda
etapa, procedimentos de busca local so implementados para a obteno de um timo
associado regio do espao em que se encontra cada indivduo. Esse mesmo processo de
busca empregado aps a aplicao de qualquer operador gentico (Merz & Freisleben, 1999),
procurando remeter o descendente gerado a um timo local.
No caso de problemas de otimizao com restries, j na gerao da populao inicial
podem surgir indivduos infactveis, no porque possuam um gentipo mal formado ou porque o
algoritmo de soluo utilizado contenha erros, mas sim por violarem restries impostas ao
problema. H, portanto, a necessidade de algum dispositivo de seleo que seja capaz de
discernir entre indivduos factveis ou no. Em algumas aplicaes, possvel implementar
algoritmos de reparao para levar indivduos factibilidade (eventualmente regio factvel
mais prxima). Uma vez tendo essa necessidade atendida, uma conseqncia natural o
emprego de uma busca local sobre os indivduos factveis, fazendo com que eles possam
atingir um timo local dentro da regio factvel. Portanto, resulta como abordagem de soluo
um algoritmo memtico (ou algoritmo gentico associado a mecanismos de busca local) aliado
a etapas de reparao, tanto para conduzir os indivduos factibilidade como para aumentar o
seu fitness.

Formalizao do Processo de Busca Local
Aarts & Verhoeven (1997) consideram a busca local como sendo uma aproximao geral
para problemas de otimizao combinatria baseados na explorao de vizinhanas (para
maiores detalhes veja Aarts & Lenstra, 1997).
De maneira genrica, um algoritmo de busca local comea com um indivduo S s
0
e
tenta continuamente encontrar melhores elementos dentre os vizinhos. Em outras palavras, a
finalidade ser remeter esse indivduo para um local onde a funo de fitness tenha um valor
melhor que o atual (Figura 2.15). Essa busca dever ser realizada at que uma condio de
parada seja satisfeita, sendo que essa condio deve ser atendida sempre que o processo de
42
busca no tenha mais a capacidade de melhorar a soluo atual. Observe o algoritmo
representativo de um processo de busca na Figura 2.16
















Moscato (1999) apresenta uma definio formal de busca local que ser apresentada a
seguir.
Um problema computacional P tem domnio de entrada
p
I , com
p
I x , podendo ser
estabelecido um conjunto ) (x ans
p
de respostas correspondentes. Entretanto, preciso garantir
que exista um subconjunto ) ( ) ( x ans x sol
p p
que identifica as solues factveis de P . Um
algoritmo soluciona um problema P se, para a entrada
p
I x , apresentar como sada
) (x sol y
p
soluo factvel ou, no caso de { } ) (x sol
p
, indicar que no existe y . A
otimizao combinatria um tipo especial de problema de busca, em que cada
p
I x tem um
conjunto ) (x sol
p
de cardinalidade finita e cada soluo ) (x sol y
p
tem um valor de fitness
) , ( x y m
p
. A busca, nesse tipo de problema, ser responsvel por encontrar uma soluo factvel
) (
*
x sol y
p
que maximize o fitness ) , ( x y m
p
.

Procedimento busca local
Incio
Repita
Final falso
Para i 1 at nmero de indivduos faa
Incio
Elemento indivduo(i)
Aplicar busca local(elemento)
Se fitness pior ento Final verdadeiro
Fim
At Final = falso
Figura 2.16 Algoritmo genrico representativo de uma busca local.

43
Uso de memticos para busca de rvores
A ferramenta computacional desenvolvida para esta pesquisa de mestrado (Projeto
rvores Filogenticas) explora tcnicas apresentadas nesta seo quando est preparando a
populao intermediria. medida que novos elementos so gerados, realizada busca local
tentando melhorar seu fitness, e somente se o novo elemento apresentar alguma melhora em
relao a seus ancestrais, ele passado para a prxima gerao. Para que no haja problemas
de terminao junto aos procedimentos de busca local, causado por exemplo pela presena de
mnimos locais, existe um limite de tentativas por elemento, que pode ser configurado pelo
usurio na tela de opes da ferramenta. O nmero padro dez tentativas e vem
apresentando bons resultados at o momento.
A implementao destas tcnicas no Projeto rvores Filogenticas foi fundamental para
acelerar o tempo de convergncia do algoritmo gentico. Quando o parmetro que limita as
tentativas para melhorar cada novo elemento deixado em zero, o tempo de convergncia e o
nmero de geraes necessrio para encontrar uma boa rvore sobem consideravelmente.

Darwinismo x Lamarkismo
Aps a busca local tentando melhorar cada novo elemento, no realizada nenhuma
operao diretamente sobre seu gentipo, por isto, a abordagem adotada pela ferramenta foi o
darwinismo.
Teria sido o lamarkismo se, aps a busca local, fosse alterado o gentipo de algum
elemento.

Concluses
Os trs operadores de mutao propostos (permutao de ramos com ramos, de ramos
com folhas e de folhas com folhas) so capazes promover qualquer tipo de alterao junto
estrutura de uma rvore, sem oferecer grandes riscos sua integridade. Com seu apoio,
possvel explorar adequadamente o espao de soluo do problema das rvores filogenticas,
em busca de uma boa soluo para o conjunto de seqncias em anlise. O uso destes
operadores genticos, associado a procedimentos de busca local visando melhorar os
resultados parciais, forneceu grande poder de busca e bom desempenho ao Projeto rvores
Filogenticas. Os conceitos apresentados neste captulo foram utilizados, direta ou
indiretamente, no projeto de software e na anlise dos resultados obtidos.

44





45
Captulo 3


Filogenia
3.1 Introduo
Segundo a Enciclopdia Mirador Internacional (1995), a palavra Filogenia foi criada pelo
naturalista alemo Ernst Heinrich Haeckel (1834 1919).
Para alguns autores, filogenia o estudo da evoluo dos grupos dos seres vivos; para
outros, a histria evolucionria desses grupos; outros por fim preferem defini-la como histria
da vida (Enciclopdia Mirador Internacional, 1995).
A idia de estabelecer classificaes filogenticas nasceu realmente com Darwin.
Ningum mais empenhado do que ele em revelar a verdade da origem das espcies e a
eficcia da seleo natural, como seu principal mecanismo. Mas, embora tenha sugerido
ramificaes que poderiam ter ocorrido em diversos grupos, no cuidou de organizar num todo
coerente as possveis alteraes evolutivas e assim aplicar a filogenia a um sistema geral de
classificao. No lhe interessava muito, alis, o trabalho de classificar; preocupava-se mais em
analisar classificaes j existentes, realizadas antes da sua teoria, para mostrar que a
diversificao dos grupos bem poderia ter sido originada por evoluo (Enciclopdia Mirador
Internacional, 1995).

3.2 Representao da filogenia
O primeiro diagrama foi possivelmente o de Lamark, em 1809. Um diagrama desse
gnero o nico desenho que se encontra na Origem das Espcies (1859) de Darwin. Em
1866, E. Haeckel fez o que Darwin no realizara: uma tentativa de filogenia geral, abrangendo
todos os grupos de seres vivos microorganismos, plantas e animais; representou-a por uma
rvore, que foi concebida com base em aspectos muito questionveis do ponto de vista
cientfico e que no pode comparar-se tecnicamente s que modernamente se organizam
(Enciclopdia Mirador Internacional, 1995).
46
Para Reijmers et al. (1999), filogenia pode ser melhor explicada como sendo uma
estrutura em forma de rvore que define certos relacionamentos ancestrais entre conjuntos
relacionados de objetos (protenas, espcies, etc.). O n na base da rvore, denominado raiz,
representa o ancestral em comum a todos os objetos relacionados.

3.3 rvore Gnica e rvore de Espcies
Segundo Nei & Kumar (2000), os evolucionistas esto geralmente interessados em uma
rvore filogentica que represente a histria evolucionria de um grupo de espcies ou
populaes. Este tipo de rvore chamado rvore de espcies ou rvore de populaes.
Entretanto, quando uma rvore filogentica construda a partir de genes de cada espcie, a
rvore obtida no necessariamente coincide com a rvore de espcies. Para distinguir esta
rvore da anterior, ela chamada rvore gnica.
A primeira distino entre estes dois tipos de rvores foi feita por Tateno et al. (1982). Na
Figura 3.1, a espcie B ancestral de X e Y e a espcie A ancestral de B e Z (Weir, 1996).



A rvore de espcies une as espcies A, B, X, Y e Z. Trs possveis rvores gnicas,
indicadas pelas linhas slidas, ligam os genes indicados pelos crculos slidos (Nei, 1987; Nei &
Kumar, 2000; Weir, 1996).
As rvores gnicas da esquerda e do centro possuem genes nas espcies X e Y mais
proximamente relacionados uns com os outros do que os genes na espcie Z enquanto que na
47
rvore gnica da direita os genes das espcies Y e Z esto mais proximamente relacionados
(Weir, 1996).

3.4 rvore com raiz e sem raiz
No apndice B so comentados brevemente os clculos que conduzem aos nmeros de
rvores, de ramos e de ns a partir da quantidade de folhas em anlise.
Na Figura 3.2, podem ser observadas duas das 15 possveis rvores com raiz e que
apresentam quatro folhas. Elas contm a noo de ordem temporal, enquanto que a nica
rvore sem raiz dentre as trs possveis, apresenta apenas a noo de distncia sem noo
alguma sobre ancestrais ou descendentes (Weir, 1996).



Ao longo deste trabalho sempre sero consideradas rvores com raiz.

3.5 Mtodos baseados e no baseados em modelo
A distino entre os tipos de mtodos utilizados para busca das rvores filogenticas foi
feita por Swofford et al. (1996). Ele estabeleceu que, para os mtodos no baseados em
modelo, deve haver um algoritmo que conduza at a rvore desejada. Para os mtodos
baseados em modelo deve existir um critrio pelo qual as rvores candidatas sero analisadas
e avaliadas at que seja encontrada a de maior verossimilhana.
Uma caracterstica dos mtodos no baseados em modelo que eles determinam apenas
uma rvore como soluo do problema em anlise, e no fornecem informaes sobre outras
48
rvores candidatas que poderiam representar outras boas solues para o problema. Os
mtodos baseados em modelo geralmente examinam grande quantidade de rvores candidatas
durante o processo de busca daquela que maximiza o critrio (Weir, 1996).

3.6 Mtodos no baseados em modelo
So mtodos baseados apenas em critrios de otimizao especficos. Eles no
requerem modelos explcitos para sua formulao (Swofford et al., 1996).

3.6.1 Matriz de Distncias
Os mtodos que empregam matriz de distncias so baseados nos conjuntos de
distncias evolucionrias calculadas entre cada par de espcies. A rvore filogentica
construda levando em considerao os relacionamentos entre estas distncias. Estas
distncias geralmente se referem ao nmero de alteraes entre as espcies. A qualidade das
rvores resultantes depende da qualidade das distncias estimadas (Nei & Kumar, 2000; Weir,
1996).
O processo de busca da melhor rvore filogentica tambm pode ser entendido como um
processo de agrupamento. Agrupamento pode ser definido, a grosso modo, como sendo o
processo de organizar objetos em grupos cujos membros so similares de alguma forma. Para
maiores informaes especificamente sobre Clusterizao, veja os trabalhos de Everitt (1993),
Rasmussen (1992), Kaufman & Rousseeuw (1990), Jain & Dudes (1988) e Gordon (1981).

3.6.1.1 Mtodo UPGMA
O mtodo mais simples deste grupo (baseado em matriz de distncias) conhecido como
unweighted pair-group method using an arithmetic average. Conforme Nei & Kumar (2000), este
mtodo atribudo a Sneath & Sokal (1973).
A rvore construda baseada neste mtodo tambm conhecida como fenograma,
porque ela foi originalmente utilizada para representar a extenso das similaridades fenotpicas
de um grupo de espcies em taxonomia numrica. Entretanto, ela tambm pode ser usada para
construir filogenias moleculares quando a taxa de substituio de gene for mais ou menos
constante. Particularmente quando dados de freqncia gentica so usados para reconstruo
49
filogentica, este modelo produz bons e confiveis resultados comparados com outros mtodos
baseados em matriz de distncias (Nei et al., 1983; Takezaki & Nei, 1996).
O UPGMA se prope a construir rvores de espcies, embora decises incorretas na
construo da rvore freqentemente ocorram quando a taxa de substituio de gene no
constante ou quando o nmero de genes ou nucleotdeos pequeno (Nei & Kumar, 2000).

Algoritmo
Segundo Nei & Kumar (2000), neste mtodo uma medida da distncia evolucionria
computada para todos os pares de seqncias, e os valores destas distncias so
apresentados em formato matricial, como mostrado a seguir, onde
ij
d representa a distncia
entre o i-simo e o j-simo elementos.
1
1
1
1
1
1
]
1

45 35 25 15
34 24 14
23 13
12
5
4
3
2
4 3 2 1
d d d d
d d d
d d
d

O processo de clusterizao comea com o par de elementos que apresentar a menor
distncia. Supondo que
12
d seja a menor distncia encontrada na matriz anterior, os elementos
1 e 2 sero agrupados com um ramo de comprimento
2
12
1
d
b . Os elementos 1 e 2 so agora
combinados em um nico agrupamento [u = (1-2)], e a distncia entre u e outros elementos
calculada por
2
2 1 k k
uk
d d
d
+
. Desta operao resulta a matriz a seguir.
1
1
1
1
]
1


45 35 5
34 4
3
5
4
3
4 3 ) 2 1 (
d d d
d d
d
u
u
u
u

Agora supondo que a distncia
3 u
d seja a menor da matriz, os elementos u e 3 so
combinados em um novo agrupamento [v = (1-2-3)], com um ramo de comprimento
50
2 * 2 2
23 13 3
2
d d d
b
u
+
. A distncia entre v e outros elementos calculada por
3
3 2 1 k k k
uk
d d d
d
+ +
. A nova matriz apresentada a seguir.
1
1
1
]
1


45 5
4
5
4
4 ) 3 2 1 (
d d
d
v
v
v

Supondo, a partir deste ponto, que a menor distncia da matriz acima seja
4 v
d ,
necessrio combinar v com 4, com ramo de comprimento
2 * 3 2
34 24 14 4
3
d d d d
b
v
+ +
. Como s
restou um elemento, ele deve ser agrupado com os demais, e o comprimento de seu ramo ser
dado por
2 * 4
45 35 25 15
4
d d d d
b
+ + +
. Na Figura 3.3, pode ser visualizada uma representao
grfica para estes agrupamentos.


Em Nei & Kumar (2000), pode-se verificar que a frmula para se determinar a distncia
entre dois agrupamento A e B dada por:

ij
ij
AB
rs
d
d
onde r e s so os nmeros de elementos nos agrupamentos A e B, respectivamente, e
ij
d
a distncia entre o elemento i no agrupamento A e o elemento j no agrupamento B.
3.6.1.2 Quadrados mnimos
Quando a taxa de substituio de nucleotdeos varia de uma linhagem evolucionria para
outra, UPGMA geralmente encontra topologias incorretas. Nestes casos, devem ser usados
51
mtodos que permitem taxas diferentes de variaes de substituio de nucleotdeos para
ramos diferentes. Uma alternativa usar o mtodo dos quadrados mnimos. Existem vrios
mtodos baseados em quadrados mnimos, mas os mais comuns so o ordinrio e o ponderado
(Nei & Kumar, 2000).
Ordinrio
No mtodo dos quadrados mnimos ordinrio para inferncia filogentica (Cavalli-Sforza &
Edwards, 1967), deve-se analisar a seguinte soma residual dos quadrados:
2
) (

<

j i
ij ij s
e d R
onde
ij
d e
ij
e so as distncias observadas e esperadas entre os elementos i e j,
respectivamente. A distncia esperada entre os elementos i e j a soma das estimativas dos
comprimentos de todos os ramos conectando os dois elementos em uma rvore. Por exemplo,
a distncia esperada entre homens e gorilas na rvore da Figura 3.4 110 , 0 + + d c a .



No mtodo dos quadrados mnimos ordinrios,
s
R deve ser calculado para todas as
possveis topologias e a topologia que apresentar o menor valor para
s
R deve ser escolhida
como sendo a rvore final (Nei & Kumar, 2000).

Ponderado (Fitch-Margoliash)
Fitch & Margoliash (1967) usaram a seguinte frmula para
s
R :
2
) (

<

j i ij
ij ij
s
d
e d
R
52
onde
ij
d
1
o termo de ponderao. Com isso, uma medida de erro absoluto passa a
ganhar caractersticas de uma medida de erro relativo.
Este mtodo tambm conhecido como quadrados mnimos ponderados. Na prtica, os
valores de
s
R resultantes das duas frmulas anteriores podem conduzir a topologias similares
(Nei & Kumar, 2000).
3.6.1.3 Evoluo Mnima
Segundo Nei & Kumar (2000), para este mtodo devem ser calculadas as somas (S) de
todas as estimativas de comprimentos de todos os ramos para cada uma das rvores
candidatas. A rvore que apresentar o menor valor de S ser a escolhida.

T
i
i
b S
^
, onde:
^
i
b representa a estimativa de comprimento do ramo i e;
T o total de ramos, ou seja, 2m-3;
m o nmero de folhas da rvore.

Este mtodo foi inicialmente proposto por Edwards & Cavalli-Sforza (1963), mas sua
fundamentao terica foi feita por Rzhetsky & Nei (1993), onde eles demonstraram que o valor
esperado de S se torna menor para a verdadeira topologia, independente do nmero de
seqncias estudadas (Nei & Kumar, 2000).
Entretanto, como este mtodo necessita examinar todas as rvores candidatas, ele
excessivamente dispendioso em termos de tempo computacional, e foi por esta razo que
Rzhetsky & Nei (1993) sugeriram que primeiro fosse construdo um menor nmero de rvores
candidatas baseadas no mtodo Neighbor-Joining, para depois submeter as selecionadas ao
mtodo da evoluo mnima (Nei & Kumar, 2000).
3.6.1.4 Neighbor-J oining
Saitou & Nei (1987) desenvolveram um eficiente mtodo de construo de rvores
filogenticas baseado no princpio da evoluo mnima. Este mtodo no examina todas as
possveis topologias, mas em cada estgio de ramificao da rvore o princpio da evoluo
53
mnima utilizado. Este mtodo considerado uma simplificao do mtodo da evoluo
mnima, descrito anteriormente neste captulo (Nei & Kumar, 2000).
Saitou & Nei (1987) descreveram um mtodo para identificar os pares mais prximos de
elementos ou vizinhos (neighbors), de forma a minimizar o comprimento total da rvore
construda. Um par de vizinhos definido como sendo formado por dois elementos conectados
por um ramo em uma rvore sem raiz bifurcada (dois ramos unidos por um n interior). Na
Figura 3.5, homem e chimpanz so vizinhos, mas homem e gorila no so. Se homem e
chimpanz forem combinados em um nico n, ento esta combinao e gorila se tornam
vizinhos. Em geral possvel determinar a topologia de uma rvore por unies sucessivas de
pares de vizinhos (Weir, 1996).


Este mtodo comea com uma estrutura em forma de estrela, como a mostrada na Figura
3.6. Os vizinhos so os pares de espcies que, quando combinados, resultam em uma rvore
de menor comprimento total. Eles devem ser unidos a fim de formar uma nova unidade
(composta pelos dois vizinhos identificados). Este processo de identificao de vizinhos
repetido at que existam apenas trs elementos (combinados) na estrutura (Weir, 1996).


54
Saitou & Nei (1987) mostraram que este mtodo produz a uma boa rvore por pura
adio de dados, onde a distncia entre cada par de espcies a soma dos comprimentos dos
ramos que os unem na rvore (Weir, 1996).
Kumar (1996), desenvolveu um algoritmo baseado neste mtodo que capaz de gerar
mais de uma topologia, levando em considerao no apenas os melhores candidatos a
vizinhos mas tambm alguns outros prximos do mnimo. Com esta alterao, possvel gerar
tantas topologias quanto se queira e a melhor delas pode ser escolhida ao final do processo
levando em considerao que este mtodo baseado na anlise das distncias entre
seqncias sendo que os pares que apresentarem a menor distncia entre si ser considerado
como sendo um par de vizinhos e sero agrupados por um ancestral em comum. Este um
mtodo hbrido que combina os mtodos da Evoluo Mnima e Neighbor-Joining (Nei & Kumar,
2000).
Conforme demonstrado por Rzhetsky & Nei (1993), esperado que este mtodo fornea
a topologia correta se o nmero de atributos examinados junto a cada elemento que compe as
folhas da rvore for suficientemente elevado (Nei & Kumar, 2000).
3.6.2 Mxima Parcimnia
Dentre os mtodos numricos existentes, usados para inferir topologias diretamente a
partir da matriz de disncias, os mais utilizados so baseados no princpio da Mxima
Parcimnia (Swofford et al., 1996).
Segundo Nei & Kumar (2000), Eck & Dayhoff (1966) parecem ter sido os primeiros a
utilizar este mtodo para construo de rvores filogenticas a partir de seqncias de
aminocidos.
A noo de parcimnia na Cincia essencialmente recomenda conservar a hiptese mais
simples em detrimento das mais complexas e que as hipteses ad hoc devem ser evitadas
sempre que possvel. Os mtodos baseados em parcimnia assumem que atributos
compartilhados por alguns elementos so aqueles herdados de um ancestral em comum.
Entretanto, quando ocorrem conflitos junto s caractersticas dos atributos no possvel evitar
as hipteses ad hoc (Swofford et al., 1996). Este mtodo baseado na filosofia de William de
Ockham, que afirma que a melhor hiptese para explicar um processo aquela que requer a
menor quantidade de assunes (Ockham, 1964).
55
Estes mtodos no requerem modelos explcitos de alteraes evolucionrias e foram
introduzidos por Edwards & Cavalli-Sforza (1963), para estudo de freqncia gentica (Weir,
1996).
Para cada topologia possvel, o nmero de seqncias em cada n inferido de modo a
requerer o menor nmero de alteraes para gerar as seqncias de cada um dos dois ns
descendentes. O nmero total de alteraes necessrias para atravessar a rvore toda ento
encontrado, e a rvore que leva a um menor nmero de alteraes escolhida como sendo a
de mxima parcimnia. Na ocorrncia de mltiplas solues, outros critrios de desempate
devem ser empregados (Swofford et al., 1996). Para ilustrar este procedimento, considere o
exemplo da Figura 3.7, dado por Fitch (1971).


Seqncias de seis espcies , A at F, esto disponveis para anlise. Cada n de 1 a 5
deve ser analisado, um de cada vez, comeando com aqueles que ocupam posies mais
prximas das seqncias ainda existentes. Os ns internos (ancestrais) so apenas hipotticos,
apenas os ns externos (descendentes) esto disponveis para anlise. Em cada n, a
parcimnia das duas seqncias dos descendentes deve ser anotada. Esta operao,
representada por , uma operao de conjuntos definida como sendo a interseo de dois
conjuntos, desde que no resulte um conjunto vazio, ou a unio de dois conjuntos, caso sua
interseo resulte em um conjunto vazio. Para ilustrar, considere o ancestral (hipottico) 1
relativo aos descentes A e B da Figura 3.7. A sua parcimnia dever ser o conjunto (C,T), ou
seja, a unio das bases de seus descendentes. Considerando agora o ancestral (hipottico) 4,
podemos ver que sua parcimnia (T), ou seja, a interseco das bases de seus descendentes
(Weir, 1996).
56
Este processo deve ser repetido desde as folhas (descendentes atuais) at a raiz,
passando por todos os ns interiores (ancestrais hipotticos) registrando sua parcimnia. Em
seguida caminha-se no sentido contrrio, descendo da raiz at as folhas a fim de verificar qual o
caminho mais curto para percorrer toda a rvore, ou seja qual a menor quantidade de
alteraes necessrias para gerar toda a rvore. A rvore de menor comprimento total ser
considerada a mais parcimoniosa. Caso existam vrias alternativas, deve-se adotar algum
critrio de desempate (Weir, 1996). Este processo deve ser repetido para todos os stios das
seqncias analisadas, pois a rvore escolhida deve ser a mais parcimoniosa para as
seqncias inteiras e no somente para um stio em particular (Weir, 1996).
Para efeito de comparao, so apresentadas a seguir algumas operaes tradicionais de
conjuntos e a operao de parcimnia (Weir, 1996).

Interseo: ] [ ] , [ ] , [ X Z X Y X ] [ ] [ Y X
Unio: ] , , [ ] , [ ] , [ Z Y X Z X Y X ] , [ ] [ ] [ Y X Y X
Parcimnia: ] [ ] , [ ] , [ X Z X Y X ] , [ ] [ ] [ Y X Y X

O menor nmero de alteraes na rvore montada o nmero de unies nos seus ns
internos. O menor nmero de alteraes para esta rvore ser quatro se todos os ns internos
assumirem o valor T. Este processo deve ser repetido para outras topologias e para outros
stios, e a topologia que requerer o menor nmero total de alteraes, aps analisar cada rvore
para o total de stios, ser considerada como sendo a escolha final do processo (Weir, 1996).
Em geral, os mtodos baseados em parcimnia operam selecionando as rvores de
menor comprimento total, dado pelo nmero de passos evolucionrios (transformaes de um
caractere de um estado para outro) requeridos para explicar um conjunto de dados. De uma
maneira mais formal, pode-se definir o problema geral da mxima parcimnia da seguinte
maneira. A partir do conjunto de todas as possveis rvores, deve-se encontrar todas as
rvores tal que

B
k
N
j
j k j k j
x x diff w L
1 1
" '
) , ( * ) (
seja mnimo, onde ) ( L o comprimento da rvore , B o nmero de ramos, N o
nmero de caracteres, k e k so dois ns incidentes em cada ramo k,
j k
x
'
e
j k
x
"
representam
cada elemento da matriz de dados de entrada e diff(y,z) a funo que especifica o custo de
57
transformao do estado y para o estado z ao longo de cada ramo. O coeficiente
j
w associa
um peso a cada caractere (Swofford et al., 1996).

Mxima Parcimnia Ponderada e no Ponderada
Nei & Kumar (2000) afirmam que possvel dividir as muitas verses de mtodos
baseados em Mxima Parcimnia em dois grupo: Mxima Parcimnia Ponderada e Mxima
Parcimnia no Ponderada. Nos mtodos no ponderados, as substituies de nucleotdeos ou
de aminocidos podem ocorrer em todas as direes com a mesma probabilidade.
No entanto, sabido que as substituies de transio ( ) ocorrem com maior freqncia
do que as de transverso ( ). Segundo Swofford et al. (1996), a proporo entre transio e
transverso

2
R . A Figura 3.8 ilustra estes tipos de alteraes.


Por isto, parece ser razovel dar pesos diferentes para alteraes diferentes. Os mtodos
que incorporam esta caracterstica so os do tipo Mxima Parcimnia Ponderada. esperado
que estes mtodos produzam topologias mais confiveis que os outros (Nei & Kumar, 2000).
Os mtodos baseados em Mxima Parcimnia ignoram informaes sobre os
comprimentos dos ramos das rvores durante o processo de busca da melhor rvore,
justamente por no recorrerem a nenhum modelo evolutivo, o qual pode levar a uma estimativa
do comprimento dos ramos (Swofford et al., 1996).
3.7 Mtodos baseados em modelo
So mtodos que requerem modelos explcitos para sua formulao (Swofford et al.,
1996).
58
3.7.1 Mxima Verossimilhana
Os mtodos baseados em Mxima Verossimilhana para construo de rvores
filogenticas evitam as limitaes dos outros mtodos; entretanto eles requerem capacidade
computacional muito maior para seu processamento. Ao contrrio dos mtodos baseados em
Matriz de Distncias, os mtodos baseados em Mxima Verossimilhana tentam usar explcita e
eficientemente todas as informaes disponveis, ao invs de reduzi-las a um conjunto de
distncias. Eles so baseados em modelos probabilsticos de evoluo (Felsenstein, 1981).
Na forma como so implementados atualmente, os mtodos baseados em Mxima
Verossimilhana supem uma topologia para a rvore, e selecionam os comprimentos dos
ramos de maneira a maximizar a probabilidade dos dados analisados em funo da rvore em
estudo. Estas probabilidades so comparadas com as de rvores de outras topologias, e aquela
que apresenta a maior probabilidade considerada a mais verossmil (Nei & Kumar, 2000;
Weir, 1996).
O clculo da Mxima Verossimilhana (Weir, 1996) leva em considerao todos os stios
e todas as possibilidades de mutaes em todos os ns internos da rvore proposta.
Observando a Figura 3.9, vamos obter a verossimilhana da rvore considerada.


A Mxima Verossimilhana ser o resultado do clculo de:


N
i
i n
L L L L L
1
2 1
* ... * * , onde:
N o nmero de stios,
i
L a verossimilhana para o stio i, calculada levando-se em conta todas as possveis
transies da topologia em estudo.

59
Os ns externos (folhas da rvore) contm as bases C, T e C mas no possvel determinar
com certeza quais so as bases dos ns internos (ancestrais hipotticos). O mtodo da Mxima
Verossimilhana analisa todas as hipteses possveis. Baseado em algum dos modelos de
substituio de bases, comentados mais a frente neste captulo, atribuda uma probabilidade
para cada possvel alterao, ou seja, leva-se em considerao a probabilidade da base A no
sofrer alterao alguma (permanecer em A), a probabilidade da base A sofrer alterao para a
base C e assim sucessivamente at chegar na probabilidade da base T no sofrer alterao
alguma (permanecer em T). A Figura 3.10 a seguir ilustra graficamente estas probabilidades.


) ( )... ( ) ( ...
4
1
4
1
4
1
n zn j lj i kl
k l z
k i
v P v P v P L


.
i
L verossimilhana da rvore em estudo, dado um
stio em particular, onde:
25 , 0
k
, segundo o modelo de substituio de Jukes-Cantor (1969) ou o fator relativo
freqncia das bases nas cadeias estudadas, segundo o modelo de substituio de Felsenstein
(1981):
) (T P
ij
a probabilidade da base i mudar para a base j aps o tempo T .
i i i ii
p p P + ) 1 ( , a probabilidade da base i no sofrer alterao alguma.
j i ij
p P ; j i , a probabilidade da base i sofrer alterao para a base j.
60
i
v
i
e p

1 , onde
i
v representa o relgio molecular ou o comprimento do ramo i.
Como os valores de L tendem a ser muito pequenos, comum o uso do logaritmo natural
de L, conforme indicado a seguir:

+ + +
N
i
i N
L L L L L
1
2 1
ln ln ... ln ln ln
A seguir sero apresentados trs modelos de substituio de bases mais comuns para
anlise da Mxima Verossimilhana.

Comentrios sobre os modelos substituio de bases de Jukes-Cantor (1969),
Kimura (1980) e Felsenstein (1981)
Se assumirmos que as freqncias de equilbrio de todas as bases so iguais,
( 25 , 0
T G C A
) e que todas as substituies ocorrem na mesma taxa ( ,
conforme ilustrado na Figura 3.8), ento as freqncias de equilbrio e taxas de substituio
podem ser combinadas em um nico parmetro. Este modelo o mais simples de todos e
conhecido como modelo de Jukes-Cantor (1969) e normalmente referenciado de maneira
abreviada por JC-1969 (Swofford et al., 1996).
1
1
1
]
1





3
3
3
3

O modelo de Kimura (1980) leva em considerao o fato de que transies () e
transverses () ocorrem em taxas diferentes (veja Figura 3.8), mas ainda assume freqncias
de bases iguais (Swofford et al., 1996). Se considerarmos , este modelo se converte no
modelo proposto por Jukes-Cantor (1969).
1
1
1
]
1









2
2
2
2


Felsenstein (1984) usou um mtodo diferente para acomodar freqncias de bases
diferentes em um modelo de dois parmetros que hoje conhecido como F84. Seu modelo
divide o processo de substituio em dois componentes: uma taxa de substituio geral capaz
de produzir todos os tipos de substituies, e uma taxa de substituio interna que produz
somente transies (Swofford et al., 1996), produzindo:
61
1
1
1
]
1

+
+
+
+
G Y C A
T C R A
Y T G A
T R G C
K
K
K
K




) / 1 (
) / 1 (
) / 1 (
) / 1 (

onde K o parmetro que determina a taxa de transies:transverses,
G A R
+ ,
T C Y
+ e os elementos da diagonal principal so a soma dos elementos j definidos de
cada linha, multiplicados por 1.

De acordo com Swofford et al. (1996) e com Weir (1996), este modelo pode ser reduzido
ao de Kimura (1980) quando todos os valores de so iguais, e tambm pode ser reduzido ao
modelo de Felsenstein (1984) quando as diferenas entre transies e transverses so
ignoradas ( ). Quando estas duas simplificaes so utilizadas, resulta o modelo de
Jukes-Cantor (1969). A matriz a seguir representa a composio dos trs modelos de
substituio estudados e a partir dela possvel obter qualquer um dos trs modelos fazendo
as simplificaes explicadas.
1
1
1
1
]
1





G C A G C A
T T C A C A
T G T G A A
T G C T G C






Concluses
Ao longo deste captulo, foi realizada uma breve reviso e discusso sobre os principais
conceitos necessrios para o entendimento do problema das rvores filogenticas em geral e
dos principais mtodos disponveis para sua reconstruo. A ferramenta computacional
desenvolvida ao longo desta pesquisa foi baseada nos mtodos da Matriz de Distncias e da
Mxima Verossimilhana. O uso dos outros mtodos fica como sugesto para extenso do
presente trabalho.






62


63
Captulo 4


Anlise Filogentica
4.1 Introduo
Um ponto em comum identificado nos trabalhos estudados a seguir o reconhecimento
da dificuldade de ser encontrada uma boa soluo dentro do espao de busca das rvores
candidatas. Todos deixam claro que busca exaustiva invivel quando a quantidade de
elementos estudados passa de uma ou duas dezenas. Para apenas 14 elementos, o nmero de
rvores candidatas chega a sete trilhes e para 50, este nmero salta para a casa de 2,75 *
10
76
possibilidades. Para maiores detalhes, veja apndice B.


64
Uma tcnica comum tomar uma estimativa inicial de uma rvore, e fazer pequenos
rearranjos em seus ramos, de modo a alcanar as rvores vizinhas. Se qualquer uma destas
vizinhas for melhor que a original, ela passa a ocupar o posto de referncia no lugar da rvore
original, e o processo de rearranjos prossegue at que no seja mais possvel encontrar outra
rvore melhor do que a que ocupa o posto de referncia. A rvore encontrada ocupa uma
posio de timo local no espao de rvores. Entretanto, no existem garantias que esta seja
tambm uma posio de timo global. A figura 4.1 representa uma ilustrao do problema, para
o caso de busca em espao de coordenadas bi-dimensional. Neste diagrama, a busca foi
iniciada em um ponto da superfcie, e depois todas as rvores vizinhas foram examinadas
(neste exemplo so quatro). Uma delas melhor que a original, ento ela passa a ocupar o
posto de referncia. O processo de analisar os vizinhos continua at que se alcance o ponto
mais alto desta montanha (hill). Como pode ser observado neste diagrama, esta estratgia
incapaz de escapar dos mximos locais (Felsenstein, 1997).
Uma grande vantagem de se usar computao evolutiva a possibilidade de se trabalhar
com muitos pontos de partida simultaneamente, alm da disponibilidade de mecanismos de
recombinao das solues existentes. Com isso aumentam-se as chances de escapar de
mximos locais ruins e atingir o mximo global ou pelo menos um bom mximo local.
A seguir, sero apresentados alguns trabalhos mais recentes que tentam contornar o
problema da dimenso do espao de solues. As estratgias mais promissoras se concentram
em torno do uso combinado de Computao Evolutiva com algum mtodo de busca local.
4.2 Estudo de alguns trabalhos sobre Filogenia
4.2.1 Antes do uso de Algoritmos Genticos
Matsuda et al. (1993)
Neste trabalho de 1993, Matsuda e outros se mostraram muito preocupados com o
elevado custo computacional imposto pelo mtodo da Mxima Verossimilhana, apesar de
acreditarem que este mtodo seja superior aos outros por fazer uso explcito de todos os dados
disponveis para anlise e por se basear em um modelo evolutivo. Os autores afirmaram que o
custo de processamento para mais de 20 elementos se torna invivel.
Eles no aceitavam trabalhar com apenas 20 elementos quando j era possvel trabalhar
com vrias centenas que estavam disponveis em bancos de dados de genes, como por
exemplo, GenBank (Burks et al., 1992) e EMBL (Higgins et al., 1992). Eles buscaram uma
65
alternativa que superasse as limitaes dos algoritmos usados naquela poca. O algoritmo
estudado foi baseado na idia proposta por Felsenstein (1990) e Olsen et al. (1993), que
consiste basicamente em inserir o elemento i na rvore j existente contendo i - 1 elementos at
que todos os n elementos sejam inseridos na rvore.
A maneira proposta para contornar o limite de 20 elementos foi utilizar processamento
paralelo, distribudo pelos processadores de um computador, conforme exemplificado na figura
a seguir.


O master tem funo de criar as rvores candidatas, o dispatcher se encarrega de
distribuir as rvores criadas para os slaves, que por sua vez tm a funo de calcular os
comprimentos dos ramos e verossimilhana da rvore. O merger se encarrega de recolher as
rvores, os comprimentos dos ramos e os ndices calculados para serem enviados de volta ao
master. muito interessante a maneira como esta idia se assemelha ao princpio geral dos
algoritmos genticos, onde os candidatos gerados e analisados segundo a funo de fitness se
assemelham ao trabalho realizado pelos slaves e merger. Aqui, poderia estar a semente que
viria a gerar os trabalhos de Matsuda de 1995 e 1996, onde ele j prope o uso de algoritmos
genticos para o estudo das rvores filogenticas.
4.2.2 Primeira referncia sobre Algoritmos Genticos para o problema das
rvores filogenticas
Matsuda (1996)
Neste trabalho de 1996, Matsuda descreve seu mtodo de construo e anlise de
rvores filogenticas baseado em algoritmos genticos. Uma grande diferena de seu mtodo
66
em relao aos algoritmos genticos tradicionais da poca foi o uso de codificao do DNA em
forma de grafo, contra os binrios normalmente utilizados. Outra grande contribuio de seu
mtodo foi o esquema criado para realizar o crossover de duas rvores existentes para formar
uma nova, baseada em um critrio dividido em trs passos. O fato de ele ter usado rvores sem
raiz tornou o crossover menos complicado do que se ele estivesse usando rvores com raiz,
pois seriam necessrios muitos ajustes para evitar a gerao de rvores desconexas.
Neste trabalho, Matsuda no comenta sua idia apresentada em 1993 que consistia em
dividir o trabalho de clculo dos comprimentos dos ramos e do valor da Mxima
Verossimilhana pelos vrios processadores de um computador paralelo. Parece ser
interessante empregar vrios processadores associado ao uso de algoritmo gentico. O
trabalho de analisar os vrios candidatos gerados poderia ser distribudo entre os
processadores paralelos e assim poderia ser acelerado o processo de busca.
A comparao realizada por Matsuda apresenta este mtodo como sendo igual ou
superior aos mtodos existentes em sua poca.
4.2.3 Lewis (1998)
Neste trabalho, os princpios dos algoritmos genticos so explicados mais
detalhadamente do que nos trabalhos anteriores e de outros autores.
comentada a impossibilidade de serem analisadas todas as rvores candidatas quando
o nmero de indivduos envolvidos se encontra em torno de algumas centenas. Nestes casos,
necessrio usar alguma heurstica para acelerar o processo e no se pode esperar encontrar o
melhor elemento mas algum bom elemento como resposta para o conjunto de elementos
estudados.
Outra observao interessante encontrada neste trabalho que, embora os algoritmos
genticos se baseiem muito em conceitos de evoluo, seu uso para resolver problemas de
evoluo e outras reas da biologia est apenas comeando.
justificado o uso de algoritmos genticos para o problema das rvores filogenticas por
causa de sua habilidade de encontrar solues quase timas rapidamente, mesmo quando
muitos elementos esto envolvidos, ou modelos evolucionrios complexos so utilizados, como
o caso da Mxima Verossimilhana. Outro ponto forte o paralelismo implcito que permite
analisar DNAs de centenas de indivduos simultaneamente. Os computadores com vrios
processadores paralelos podero acelerar o processo de busca. A possibilidade de distribuir os
67
processos de busca em relao aos stios pelos processadores pode vir a permitir que centenas
ou milhares de elementos possam ser analisados simultaneamente no futuro.
Uma diferena interessante neste mtodo em relao aos anteriores que, no incio do
processo de busca, ele usa um valor fixo para os comprimentos dos ramos (por exemplo 0,05) e
calcula a verossimilhana dos candidatos sem realizar otimizao alguma neste ponto. Esta
otimizao o que mais consome recursos computacionais e este o grande avano
proporcionado por este mtodo. A ferramenta computacional desenvolvida neste trabalho de
mestrado (veja Captulo 5) tambm faz algo semelhante. Nenhuma otimizao realizada
quanto aos comprimentos dos ramos at que a melhor rvore candidata seja encontrada. Neste
momento, realizada a otimizao dos comprimentos dos ramos da melhor rvore candidata e
em seguida calculada sua verossimilhana.
4.2.4 Reijmers et al. (1999)
Neste trabalho, foi usado algoritmo gentico para a otimizao de rvores filogenticas,
com o critrio de avaliao baseado no mtodo da Matriz de Distncias.
A estratgia utilizada consiste em determinar a topologia inicial usando o mtodo
Neighbor-Joining (Saitou & Nei, 1987), determinar os comprimentos dos ramos de acordo com o
mtodo de Fitch & Margoliash (1967) usando a matriz de distncias original. Aps encontrar a
topologia inicial e os comprimentos dos ramos, uma nova matriz de distncias pode ento ser
deduzida. Pela comparao desta nova matriz de distncias com a original, uma medida da
qualidade pode ser determinada para esta rvore.
Para uma dada matriz de distncias, a topologia da rvore corrigida aplicando uma
matriz de correes com pequenas alteraes em relao aos valores existentes. Os elementos
desta matriz de correes so otimizados com o uso de um algoritmo gentico. Isto
automaticamente far com que o algoritmo gentico execute busca de carter
predominantemente local pela matriz de correes tima, que resultar em uma rvore com boa
topologia.
4.2.5 Skourikhine (2000)
Neste trabalho, o autor informa que foram experimentadas modificaes no algoritmo
gentico padro, com amplo uso de idias extradas dos algoritmos evolucionrios para a busca
das rvores filogenticas usando mxima verossimilhana. Em particular, foi usado o conceito
68
de auto-adaptao de parmetros do algoritmo gentico, diferentes esquemas de seleo,
mutao e recombinao, que proporcionaram ganho em eficincia e desempenho.
esclarecido que a verossimilhana de uma rvore no a probabilidade de que esta
rvore seja correta. Ao contrrio, ela apenas a probabilidade dos dados observados caso a
rvore e os comprimentos dos ramos estejam corretos. Os mtodos de inferncia evolucionria
baseados em Mxima Verossimilhana avaliam uma hiptese sobre a histria evolucionria que
seja a mais consistente com os dados observados nos termos do modelo evolucionrio
proposto.
Tambm informado que, para mais de dez elementos, quando a busca exaustiva
usando o mtodo da Mxima Verossimilhana se torna proibitiva, necessrio usar alguma
forma de heurstica que tentar encontrar uma boa resposta e no a tima. Um dos mtodos
mais promissores neste caso o algoritmo gentico.
A idia bsica do algoritmo gentico auto-ajustado partir do controle global do
mecanismo usado no algoritmo gentico padro e distribu-lo pelos indivduos da populao em
estudo. Desta forma, tambm os controles so evoludos ao longo das geraes e de forma
independente para cada indivduo.
O uso de muitos parmetros auto-ajustveis pode ser mais eficiente, pois com seu uso
possvel atingir um maior grau de explorao do espao de soluo do problema, em
comparao com o uso de apenas um parmetro auto-ajustvel. Entretanto, pode-se tambm
verificar a reduo da velocidade de convergncia, caso os parmetros sejam determinados de
forma inadequada. Maior robustez pode ser alcanada pela aplicao de tipos especiais de
seleo.
4.2.6 Goloboff & Farris (2001)
Neste trabalho, os autores no usaram Mxima Verossimilhana nem algoritmos
genticos, mas foram capazes de obter bons resultados com a estratgia adotada. Esta
estratgia bem similar ao princpio bsico dos algoritmos genticos, por utilizar uma srie de
buscas simples e depois analisar os resultados destas buscas para criar uma soluo mais
apropriada em relao ao problema em estudo.
Conforme informado pelo autor, Rice et al. (1997) no foram capazes de encontrar a
rvore mais adequada para 500 elementos mesmo aps 11,5 meses de busca usando PAUP
(Swofford, 1993). Em contraste, Nixon (1999) usando NONA (Goloboff, 1994) foi capaz de
encontrar as rvores de mnimo comprimento em uma mdia de quatro horas e Goloboff et al.
69
(1999), usando TNT e estratgias combinadas de busca foram capazes de completar a busca
em uma mdia de dez minutos.
Seu mtodo consiste em comparar os resultados de buscas diferentes e independentes.
As rvores encontradas nestas buscas so condensadas, resultando em uma rvore de estrito
consenso. O consenso obtido pela anlise das melhores rvores encontradas pelas buscas
anteriores. Este mtodo assume que os resultados recuperados pela maioria das buscas so
mais provveis de serem suportados pelos dados.
Apesar de no usarem algoritmos genticos, os autores geram vrias rvores candidatas
que so avaliadas por uma regra (regra da maioria) para produzir o que eles chamaram de
rvore de estrito consenso.
4.2.7 Janis & Wheeler (2001)
Neste trabalho, os autores tambm no usaram algoritmos genticos nem o mtodo da
Mxima Verossimilhana, porm eles conseguiram bons resultados devido ao uso de
processamento paralelo.
Tambm comentado o tremendo avano que os algoritmos de busca de rvores
filogenticas experimentaram nos ltimos dois anos. Estes avanos incluem o uso de algoritmos
genticos, fuso de rvores (Goloboff, 1999), buscas setoriais (Goloboff, 1999) e simulated
annealing (Nixon, 1999; Goloboff, 1999).
A maneira como o mtodo da Mxima Verossimilhana foi implementado por Janis e
Wheeler um pouco parecida com a que foi usada por Matsuda et al. (1993). Um processo
principal utilizado para distribuir as tarefas pelos processos escravos que se encarregam de
completar suas tarefas e devolver o resultado para o processo principal. O processo principal
recebe os retornos, analisa os resultados e decide sobre os prximos passos, passando em
seguida as novas tarefas de volta para os processos escravos. Este ciclo se repete at que uma
boa resposta seja encontrada para o problema.
Ao contrrio de Matsuda et al. (1993), que usou Mxima Verossimilhana, neste trabalho
foi usada uma recente adaptao do mtodo da Parcimnia chamada Ratchet (Nixon, 1999),
que se mostrou muito eficiente para explorar o espao de solues das rvores filogenticas,
usando o artifcio de analisar mltiplas ilhas de rvores, enquanto que o mtodo tradicional
utiliza apenas uma ilha para sua busca.
70
4.2.8 Moilanen (2001)
Apesar de neste trabalho tambm no ser abordado o uso do mtodo da Mxima
Verossimilhana, importantes resultados so alcanados em termos de tempo de busca e
qualidade da resposta encontrada, devido combinao de algoritmos de busca global
(algoritmo gentico) com algoritmos de busca local (branch swapping). Moilanen utilizou em
sua pesquisa uma variao do mtodo da Parcimnia chamada Ratchet (Nixon, 1999) para a
busca global e branch swapping para as buscas locais.
Conforme demonstrado, os algoritmos de busca local so muito rpidos e eficientes para
encontrar solues, porm no conseguem escapar dos timos locais. Os algoritmos de busca
global so capazes de escapar dos timos locais, porm necessitam de maior tempo de
processamento do que os anteriores. Por isto, parece que a combinao destes dois tipos de
algoritmos constitui uma forma de busca muito poderosa pela unio das boas qualidades dos
dois tipos primitivos.
Neste trabalho, tambm comentado a respeito dos provveis ganhos com uso de
processamento paralelo, distribuindo as cargas de processamento por vrios processadores.
Parece que esta opinio vem se tornando cada vez mais popular nos ltimos anos.
Segundo este autor, os mtodos hbridos que combinam algoritmos de busca global com
algum algoritmo de busca local vm sendo usados para resolver vrios problemas, e em todos
estes estudos foi constatado que esta combinao era mais eficiente do que os mtodos
primitivos separados.

Resultados obtidos como Projeto rvores Filogenticas
Ainda no foi possvel realizar comparaes diretas entre os resultados obtidos com o
Projeto rvores Filogenticas com os resultados obtidos com outras ferramentas. Alguns
autores estudados apresentam seus resultados, mas no fornecem as seqncias de bases
utilizadas em suas pesquisas. Outros apresentam algumas seqncias de bases, mas
trabalham com rvores sem raiz. At o momento, no foi possvel reunir todas as caractersticas
necessrias para comparaes diretas.
A tabela a seguir mostra os resultados obtidos para trs conjuntos de seqncias
hipotticas que foram submetidas a trs ferramentas para anlise filogentica: PAML (Yang,
1999), Phylip (Felsenstein, 1990) e o Projeto rvores Filogenticas.

71
4 seqncias 5 seqncias
Phylip -130,74914 -163,87052
Projeto rvores Filogenticas -136,14495 -171,11214
PAML -136,19721 -174,34676

Como o mtodo da Mxima Verossimilhana busca maximizar a probabilidade de uma
rvore dada uma seqncia de bases, os maiores valores sero os melhores. Em todas as
colunas da tabela acima os resultados obtidos com Phylip de Felsenstein foram os melhores por
serem sempre os maiores. Uma leitura rpida pode confundir os leitores que no atentarem
para o fato destes resultados serem todos negativos. Levando em considerao que as
topologias das rvores utilizadas pelas ferramentas Phylip e PAML no possuem raiz, seria
normal esperar que seus valores de Mxima Verossimilhana fossem melhores do que o obtido
com o Projeto rvores Filogenticas onde so utilizadas rvores com raiz e por isto, existe uma
quantidade maior de ramos a serem considerados nos clculos.
Os resultados so apenas prximos e nem poderiam ser iguais, pois as trs ferramentas
apresentam caractersticas diferentes. O Projeto rvores Filogenticas analisa todas as bases
das seqncias e trabalha com rvores com raiz, enquanto que PAML apenas analisa as bases
nos stios onde exista alguma diferena entre as seqncias e trabalha com rvores sem raiz;
Phylip analisa todas as bases das seqncias mas trabalha com rvores sem raiz.

Concluses
Conforme observado nos trabalhos estudados anteriormente, a idia de usar algoritmos
genticos para o problema das rvores Filogenticas est se solidificando como til, prtica e
robusta. Apesar de seu incio relativamente recente (Matsuda, 1995), esta estratgia vem sendo
explorada cada vez mais intensamente com o passar dos anos. A quantidade de trabalhos
publicados em 2001 aumentou significativamente em relao aos anos anteriores.
A tendncia mais recente usar os algoritmos genticos associados a algum tipo de
busca local. Desta forma possvel unir as boas caractersticas das duas estratgias: a
capacidade de evitar os mximos locais dos algoritmos genticos unida com a rapidez e
agilidade dos mtodos de busca local.
As obras utilizadas ao longo desta pesquisa de mestrado no forneceram informaes
detalhadas sobre todos os passos necessrios para a soluo do problema de reconstruir uma
72
boa rvore filogentica. Este um grande diferencial deste trabalho em relao aos demais
pesquisados. Aqui se procurou fornecer viso holstica do problema de reconstruo das
rvores filogenticas, desde a anlise das seqncias de bases at o ajuste dos comprimentos
dos ramos, que foi implementado baseado em um mtodo numrico de primeira ordem
conhecido como Mtodo do Gradiente.
Outro ponto que merece ser destacado o uso de tcnicas de Computao Evolutiva,
que se mostrou uma poderosa ferramenta para ajudar no problema de encontrar uma boa
rvore filogentica, a partir de uma seqncia de bases analisadas, devido ao seu elevado
poder de explorao e explotao de vastos espaos de soluo.
Tambm foi apresentado o uso de codificao do DNA (usado pelo algoritmo gentico)
baseado em grafo, por ser capaz de preservar as informaes relativas hierarquia (ancestrais
e descendentes) em relao s estruturas tradicionalmente utilizadas, que normalmente so
baseadas em listas e preservam apenas informaes lineares.
Novos operadores especiais de mutao para o algoritmo gentico foram propostos,
baseados em trocas de colunas da matriz de adjacncias do grafo utilizado para representar a
rvore filogentica candidata. Uma nova ferramenta computacional (Projeto rvores
Filogenticas) foi desenvolvida e disponibilizada para outros pesquisadores contendo as
seguintes caractersticas:
o Possui interface grfica amigvel, projetada especialmente para facilitar seu uso por
usurios que no dominem completamente as tcnicas de computao;
o Permite ajuste dos principais parmetros relativos a filogenia, tais como seleo do
mtodo de busca a ser utilizado (Matriz de Distncias ou Mxima Verossimilhana) e
modelo de substituio de bases (Jukes-Cantor, 1969; Felsenstein, 1981 ou Kimura,
1980);
o Permite ajuste dos principais parmetros relativos ao algoritmo gentico utilizado,
tais como tamanho da populao e porcentagem de mutaes.

73
Captulo 5


Resultados Experimentais da Pesquisa
5.1 Introduo
Ao longo deste trabalho de mestrado procurou-se ratificar que a Computao Evolutiva
uma ferramenta muito poderosa para auxiliar na busca de boas rvores filogenticas. Uma
grande dificuldade que impede o tratamento deste problema com tcnicas convencionais a
dimenso do espao de solues que cresce em escala fatorial. Como j foi exposto
anteriormente, uma pretenso muito grande tentar encontrar a melhor rvore dentro de um
espao de soluo gigantesco, que pode facilmente atingir a casa de 2,75 * 10
76
possibilidades,
quando so estudados os DNAs de somente 50 indivduos que comporo as folhas desta
rvore (Weir, 1996). Neste cenrio, os algoritmos genticos vm se mostrando como sendo
uma alternativa muito boa para auxlio aos pesquisadores por causa de seu elevado poder de
explorao e explotao (Bck et al., 1997).
Tcnicas de otimizao com caractersticas de busca global, como aquelas que trabalham
com uma populao de candidatos soluo a cada iterao, se mostraram eficazes em muitos
problemas em que uma boa soluo deve ser encontrada dentre uma enorme quantidade de
candidatos, apesar de no oferecerem garantias de encontrar a soluo tima (Massart et al.,
1997). Uma das tcnicas de otimizao global mais freqentemente utilizadas a dos
algoritmos genticos (Holland, 1973; Goldberg, 1989; Holland, 1992).
Algoritmos genticos j foram utilizados para otimizao de rvores filogenticas por
Matsuda (1995), onde ele empregou algoritmos genticos na busca de rvores filogenticas
construdas a partir de seqncias de aminocidos. Em outro trabalho sobre este assunto,
Matsuda (1996) tambm usou algoritmos genticos para encontrar as rvores filogenticas,
baseado no mtodo da Mxima Verossimilhana.
A ferramenta computacional que foi criada para os testes ao longo desta pesquisa adota a
estratgia de evoluir muitas rvores candidatas simultaneamente. Este o maior trunfo dos
algoritmos genticos para resolver problemas deste tipo, pois existe uma quantidade muito
74
grande de possveis caminhos a serem pesquisados. impossvel determinar em princpio qual
dos caminhos levar at a rvore de melhor qualidade. Para reduzir as chances de uma busca
intil, a melhor alternativa analisar vrios deles em paralelo.
A parte fundamental da ferramenta computacional constituda pelo mdulo dos
algoritmos genticos. O algoritmo pode ser ajustado para trabalhar somente com o modelo da
Matriz de Distncias, somente com o modelo da Mxima Verossimilhana ou com ambos,
situao em que ele apresenta seu melhor desempenho. Com esta ltima opo, vrias
geraes de rvores candidatas so analisadas usando o mtodo da Matriz de Distncias e
somente quando a rvore mais promissora for encontrada sistema ajusta os comprimentos de
seus ramos baseado nas frmulas de Weir (1996), descritas mais adiante neste captulo. Este
programa capaz de trabalhar com os modelos de substituio de bases de trs grandes
autores: (a) Jukes-Cantor (1969), onde a probabilidade de ocorrer mutao () a mesma para
as quatro bases hidrogenadas (A, G, C e T), ou seja, 25%; (b) Felsenstein (1981), onde a
probabilidade de ocorrer mutao () equivalente quantidade atualmente encontrada nas
amostras e; (c) Kimura (1980), onde a probabilidade de ocorrer mutao () a mesma para as
quatro bases, como em Jukes-Cantor (1969), porm Kimura introduz dois novos fatores:
para as alteraes dentro dos mesmos tipos de bases (Pirimidinas para Pirimidinas ou Purinas
para Purinas) e para as alteraes de um tipo para outro (Pirimidinas para Purinas ou
Purinas para Pirimidinas). A Figura 5.1 ilustra graficamente estas transies de bases. Esta
figura j foi apresentada no Captulo 3 com o ttulo Figura 3.8 e est sendo repetida aqui
apenas para facilitar a leitura do trabalho.

Como recurso adicional, o programa capaz de comparar e exibir os resultados obtidos
com os trs modelos, baseado no princpio LRT (Likelihood Ratio Test) descrito por Weir
(1996). Maiores informaes sobre esta ferramenta podem ser obtidas no Apndice A.
75
5.2 Estudo de rvores filogenticas usando Computao Evolutiva
Observaes sobre o Modelo Evolucionrio
Segundo Nei & Kumar (2000), a estrutura bsica de todos os seres vivos escrita com
cido Desoxirribonuclico (DNA). Por causa disto, pode-se estudar o relacionamento
evolucionrio entre organismos pela comparao de seu DNA. Esta maneira apresenta vrias
vantagens em relao maneira clssica, na qual caractersticas morfolgicas e fisiolgicas
so usadas:
Primeiro, o DNA composto por quatro tipos de nucleotdeos, adenina (A), timina (T),
citosina (C) e guanina (G), e pode ser usado para comparar qualquer grupo de organismos,
inclusive bactrias, plantas e animais;
Segundo, como as alteraes evolucionrias no DNA seguem um padro regular, possvel
usar um modelo matemtico para comparar DNAs de organismos pouco relacionados;
Terceiro, o genoma de todos os organismos consiste de longas seqncias de nucleotdeos
e contm quantidade muito maior de informao filogentica do que poderia ocorrer no
estudo de caractersticas morfolgicas.
Por estas razes, esperado que a filogenia molecular venha a esclarecer muitos
padres de ramos da rvore da vida que tm sido difceis de resolver com mtodos baseados
em caractersticas morfolgicas e fisiolgicas. No se pode ignorar, no entanto, a existncia de
uma dificuldade intrnseca: dada uma seqncia de nucleotdeos, no se constitui uma tarefa
simples a atribuio de grau de funcionalidade a cada elemento da seqncia, que conduziria a
uma anlise filogentica ponderada. O que se faz geralmente, e tambm ser adotado aqui,
atribuir o mesmo grau de funcionalidade a todos os elementos da seqncia de nucleotdeos.
Devido s dificuldade e limitaes apresentadas, esperado que as trs alternativas
existentes hoje (baseadas em Filogenia, Morfologia e Fisiologia), vo coexistir complementando
umas s outras.
O que se conclui, portanto, que todos os mtodos j propostos para realizar anlise
filogentica vo subsistir e devem ser considerados conjuntamente, sempre que possvel. As
vantagens e desvantagens de cada mtodo devem ser devidamente investigadas,
principalmente na ausncia de consenso entre as respostas fornecidas para um dado conjunto
de dados de entrada.
O modelo mais aceito hoje para estudo das rvores filogenticas o baseado na Teoria
da Evoluo de Darwin. Este modelo prope que todos os seres atuais descendem de
76
organismos em comum. Se voltarmos o suficiente no passado, chegaremos a um nico
organismo que conseguiu copiar a si prprio, dando incio a processos primitivos de
reproduo.
Conforme explicado em Nei & Kumar (2000), a reproduo nem sempre fiel e a cpia
pode conter alteraes em relao ao original (crossover e/ou mutao; transverso e/ou
transcrio).
A taxa de erro na cpia, no entanto, muito baixa. necessrio grande intervalo de
tempo e condies apropriadas para que uma espcie sofra alteraes suficientes para produzir
outras espcies.
Baseado nesta teoria possvel afirmar que as espcies atuais no descendem umas das
outras. Elas provavelmente surgiram em algum momento no passado de outras espcies em
comum e esto gerando outras novas com o passar do tempo, caso fatores vinculados
seleo natural estejam atuando de forma significativa.
Um exemplo: Considere o organismo A1, com DNA AACCGGTT. Ele gerou dois
descendentes, o B1, com DNA ATCCGGTT, e o B2, com DNA AACGGGTT. O elemento B1
gerou os descendentes C1, com DNA ATCCGTTT, e o C2, com DNA ATTCGGTT. A rvore
filogentica que melhor representa estes elementos apresentada na Figura 5.2, a seguir:



A estratgia de busca para encontrar a melhor rvore filogentica para estes elementos
deve iniciar com a anlise dos DNAs dos elementos atuais, ou seja, as folhas da rvore.
Considerando-se que a taxa de alteraes genticas baixa, parece coerente propor que os
elementos com DNA mais parecidos devem estar mais prximos nesta rvore, e aqueles com
mais diferenas devem se encontrar mais distantes.
77
Os elementos A1 e B1 so ancestrais que no mais existem (ou mesmo que existam no
h conhecimento a priori para supor que sejam ancestrais de outras espcies) e seu DNA,
neste caso, no pode ser determinado com absoluta certeza.
Como a probabilidade de no ocorrer alteraes genticas maior que a de ocorrer,
fcil perceber que os elementos C1 e C2 da Figura 5.3 a seguir esto mais prximos um do
outro do que o elemento C1 de B2 ou C2 de B2, pois a probabilidade da primeira combinao
maior que as outras duas, uma vez que os primeiros contm mais bases em comum que os
demais, para a seqncia de bases em estudo.



Encontrar a rvore que melhor represente a situao acima nitidamente um problema
do tipo NP-Completo (Day, 1987) e a quantidade de rvores candidatas para soluo do
problema pode ser obtida com a seguinte frmula (Nei & Kumar, 2000) (vide Apndice B para
maiores detalhes)
)! 2 ( 2
)! 3 2 (
2

n
n
n

Como pode ser observado, para n = 3, 5 e 9, temos trs, 105 e 2.027.025 rvores sem
raiz, respectivamente. Ainda no existe nenhuma soluo eficiente para esta classe de
problemas. Isto significa que, mesmo usando algum critrio de otimizao relativamente rpido
(por exemplo, mxima parcimnia), ser necessrio tempo excessivamente longo para avaliar
todas as rvores candidatas quando for necessrio analisar os DNAs de algumas centenas de
elementos (Lewis, 1998). A Figura 5.4, baseada em Nei & Kumar (2000), ilustra a quantidade de
topologias possveis para quatro folhas.
78

O grfico a seguir apresenta, com escala logartmica no eixo y, os valores para os
primeiros 50 elementos desta srie.


79
Observaes sobre o mtodo da Matriz de Distncias (no baseado em modelo)
O mtodo da Matriz de Distncias (Nei & Kumar ,2000) calcula as diferenas entre os
DNAs dos elementos estudados e atribui um valor para cada diferena encontrada entre os
pares de elementos. Quanto mais bases iguais nos mesmos stios genticos encontrados,
menor ser a distncia entre os elementos. A rvore filogentica ser montada baseada nas
distncias encontradas entre cada par de elementos. Como este mtodo no pretende calcular
o tamanho dos ramos e trabalha apenas com uma matriz de nmeros, ele requer menos
processamento que o mtodo da Mxima Verossimilhana, porm ele no apresenta todas as
informaes que aquele mtodo capaz de disponibilizar, alm do resultado depender do tipo
de norma empregada no clculo da distncia.
Conforme descrito anteriormente, neste mtodo so calculadas as distncias dos DNAs
de cada stio e somadas as distncias encontradas para cada par de elementos. Estas
distncias so tratadas de forma matricial e usadas para encontrar a melhor rvore para
representar os elementos estudados.
Os elementos com menos diferenas so considerados mais prximos geneticamente do
que aqueles que apresentam mais diferenas. Deste modo, supe-se que os elementos com
mais diferenas esto mais distantes na linha da evoluo das espcies. Na presena de
distncias idnticas, algum critrio auxiliar de deciso deve ser adotado. Para efeito desta
pesquisa, foi adotado o critrio de usar o primeiro elemento dentre todos os que apresentem o
mesmo valor.
Os grficos a seguir exibem os resultados de simulaes realizadas com a ferramenta
computacional desenvolvida para esta pesquisa. Em todos os casos, foram utilizadas
seqncias de DNAs hipotticas de comprimento curto (por exemplo, dez bases) e o mtodo da
Matriz de Distncias. A ferramenta computacional, baseada em algoritmos genticos, foi capaz
de encontrar uma boa rvore filogentica dentre todas as possibilidades contidas no espao de
soluo, em todos os testes efetuados.
Foram necessrias duas figuras apenas por uma questo de escala. Os valores iniciais
desapareceriam se todos os valores fossem exibidos no mesmo grfico.
80

81


Foi utilizado um microcomputador com processador Intel Pentium II de 300 Mhz com 128
megabytes de memria RAM.
Como pode ser observado no segundo grfico, o tempo necessrio para encontrar uma
boa rvore filogentica para 50 elementos foi de aproximadamente 26 horas. Este resultado
aceitvel considerando-se que o tempo necessrio para efetuar busca exaustiva trabalhando
com 25 elementos ou mais proibitivo (Reijmers et al., 1999).
Nas figuras a seguir sero exibidas algumas telas da ferramenta computacional,
capturadas durante os processamentos de algumas seqncias de bases.
Nas figuras 5.7 a 5.9, sero exibidos os resultados obtidos referentes a cinco seqncias
de DNAs.
82



A Figura 5.8 mostra como ficou montada a rvore mais adequada para o conjunto de
seqncias de DNAs estudado.
83


Nas Figuras 5.10 a 5.12, sero exibidos os resultados obtidos referentes aos DNAs de
dez seqncias de bases.

84

85

Nas Figuras 5.13 a 5.16 sero exibidos os resultados obtidos referentes aos DNAs de 20
seqncias hipotticas de 40 bases cada.
86

Para tornar mais fcil a avaliao dos resultados, estas seqncias hipotticas de bases
foram especialmente criadas contendo diferenas variando de duas em duas unidades entre si,
como pode ser observado na Figura 5.13, a seguir.
87

88

89

O n em negrito o ponto onde a rvore foi cortada para a diviso em duas partes. Na
Figura 5.15 este n se encontra na parte inferior da tela.

Nas Figuras 5.17 a 5.20, sero exibidos os resultados obtidos referentes aos DNAs de 50
seqncias compostas por 150 bases cada.
Como a recuperao de seqncias de bancos de genes tais como o GenBank foi muito
difcil e tambm para tornar mais fcil a avaliao dos resultados, seqncias hipotticas de
bases foram especialmente criadas contendo diferenas variando de trs em trs unidades
entre si, como pode ser observado na Figura 5.17, a seguir. Sem estas seqncias
especialmente criadas no seria possvel avaliar e ratificar os resultados das simulaes. Como
as seqncias apresentadas so bem conhecidas o resultado pode facilmente ser comprovado.
Em todos os casos estudados o resultado obtido foi sempre o esperado, o que serviu para
aumentar ainda mais nossa confiana nesta ferramenta computacional.
90

91


92


Os ns em negrito (26) so os pontos de referncia onde a rvore foi cortada para a
diviso nas quatro partes apresentadas nas Figuras 5.19 e 5.20.

Observaes sobre o mtodo da Mxima Verossimilhana (baseado em modelo)
A reconstruo de rvores filogenticas usando o mtodo da Mxima Verossimilhana
requer que em algum momento sejam otimizados os comprimentos dos ramos das topologias
analisadas. Em nossa pesquisa de mestrado foi usado um mtodo de primeira ordem conhecido
como Mtodo do Gradiente para otimizar numericamente os comprimentos dos ramos. O
Mtodo do Gradiente foi aplicado conforme descrito por de Castro (1998) , onde se procura
maximizar a superfcie da mxima verossimilhana atravs dos ajustes realizados nos
comprimentos dos ramos das rvores, efetuados de acordo com o sentido do gradiente.
A seguir, apresentado o vetor gradiente G (informao de 1
a
ordem) para um exemplo
considerando uma rvore de quatro folhas:
93
1
1
1
1
1
1
1
1
1
]
1

1
1
1
1
1
1
1
1
1
]
1

1
1
1
1
]
1

j
j
j
j
p
j L
j L
p
j L
j L
p
j L
j L
p
j L
j L
p
L
p
L
p
L
p
L
G
G
G
G
G
4
3
2
1
4
3
2
1
4
3
2
1
) (
) (
1
) (
) (
1
) (
) (
1
) (
) (
1
ln
ln
ln
ln
, onde

k l
ls
ls
ks kl k
p P
p
p P
p P p P
p
j L
) (
) (
) ( ) (
) (
2
1
1
3 4
1
2
1
3
;

k l
ls
ls ks kl k
p
p P
p P p P p P
p
j L
2
2
1 3 4
2
) (
) ( ) ( ) (
) (
2
1 3
;

k l
ls ls
ks
kl k
p P p P
p
p P
p P
p
j L
) ( ) (
) (
) (
) (
2 1
3
3
4
3
2 1
3
;

k l
ls ls ks
kl
k
p P p P p P
p
p P
p
j L
) ( ) ( ) (
) ( ) (
2 1 3
4
4
4
2 1 3
;
Para k j ,
k
i
i kk
p
p P
+

1
) (
e
Para k j ,
j
i
i kj
p
p P

) (
.

Algoritmo para mtodo de 1
a
ordem:
Para encontrar os valores dos comprimentos dos ramos das rvores, foi utilizado o
Mtodo do Gradiente (de Castro, 1998), conforme descrito a seguir:

defina valores iniciais para o vetor p;
defina um escalar > 0 arbitrariamente pequeno;
tome 0 < r < 1 e q > 1; sugesto:
2
1
r e 1 . 1 q
faa = 1;
calcule ( ) ) ( ln j L ;
calcule G;
94
enquanto G , faa:
o
G
G
p p
provisrio

+

;
o calcule ( )
provisrio
j L ) ( ln ;
o enquanto ( ) ( ) ) ( ln ) ( ln j L j L
provisrio
faa:
; r

G
G
p p
provisrio

+

;
calcule ( )
provisrio
j L ) ( ln ;
o fim
o
provisrio
p p ;
o ( ) ( )
provisrio
j L j L ) ( ln ) ( ln
o ; q
o calcule G;
fim

Este algoritmo ajusta os valores dos comprimentos dos ramos da rvore analisada de
maneira a maximizar a superfcie de verossimilhana. Para uma ilustrao grfica do
processo, vide a Figura 4.1 no Captulo 4. A idia bsica consiste em realizar pequenos ajustes
nos comprimentos dos ramos da rvore de acordo com o sentido do gradiente, de modo a
maximizar a superfcie de verossimilhana.
Conforme j descrito no Captulo 3, devem ser calculadas as verossimilhanas de todas
as rvores candidatas e a rvore que apresentar a mxima verossimilhana ser considerada
como sendo a rvore filogentica dos elementos analisados (Weir, 1996).
Nas figuras a seguir so exibidas algumas telas da ferramenta computacional, capturadas
durante os processamentos de algumas seqncias de bases.
Na Figura 5.21 so apresentados os DNAs utilizados nos processamentos.
95

Na Figura 5.22 so exibidos os resultados obtidos referentes aos DNAs das cinco
seqncias de bases listadas na Figura 5.21 (Weir, 1996), usando o mtodo da Mxima
Verossimilhana com apoio de duas ferramentas diferentes. A primeira (a) foi obtida com
PHYLIP de Felsenstein (Felsenstein, 1990; Weir, 1996) e o valor de sua mxima
verossimilhana -163,87052. A segunda (b) foi obtida com a ferramenta computacional
desenvolvida ao longo desta pesquisa, chamada Projeto rvores Filogenticas e o valor de
sua mxima verossimilhana -171,11214.


Como a Figura 5.22 (a) apresenta uma rvore sem raiz e a Figura 5.22 (b) apresenta uma
rvore com raiz no possvel comparar diretamente os resultados dos comprimentos dos
ramos.
96
A tabela a seguir apresenta as distncias somando os ramos de um elemento at outro.
Distncias Parte (a) Parte (b)
Gorila Gibo 0,183 0,1825
Gorila Orangotango 0,096 0,1075
Gorila Homem 0,045 0,0483
Gorila Chimpanz 0,030 0,0241
Gibo - Orangotango 0,189 0,1898
Gibo Homem 0,228 0,2308
Gibo Chimpanz 0,213 0,2066
Homem - Chimpanz 0,015 0,0242

Levando em considerao que as topologias das duas rvores so diferentes, as
distncias no so muito diferentes. Como a rvore sem raiz da parte (a) possui uma
quantidade menor de ramos para serem otimizados, no surpreende o fato de sua mxima
verossimilhana ser maior que o da parte (b).
A Figura 5.23 apresenta a tela do Projeto rvores Filogenticas com o resultado do
processamento para estas seqncias de DNAs.

Nas Figuras 5.24 e 5.25 so exibidos mais alguns dos resultados obtidos referentes aos
DNAs de quatro seqncias, retiradas do quadro da Figura 5.21, usando somente o mtodo da
97
Mxima Verossimilhana e os modelos de substituio de bases de Jukes-Cantor (1969),
Felsenstein (1981) e Kimura (1980).
A Figura 5.24 apresenta os resultados obtidos ao se calcular os comprimentos dos ramos
da rvore montada com estas quatro seqncias de bases. Nesta simulao, o modelo de
substituio de bases de Felsenstein (1981) mostrou-se bem melhor que os outros dois. A
comparao entre os resultados foi realizada utilizando a frmula LRT descrita mais adiante
neste captulo. Esta frmula utilizada para comparar os resultados obtidos por modelos
diferentes. Neste caso, ela foi utilizada para comparar os resultados obtidos pelos trs modelos
de substituio de bases pesquisados (Jukes-Cantor, 1969; Felsenstein, 1981 e Kimura, 1980).


As diferenas encontradas para os comprimentos dos ramos das trs rvores so
esperadas porque cada uma delas foi calculada seguindo um modelo de substituio de bases
98
diferente. Estes modelos j foram comentados nos captulos anteriores. O quadro no alto da
Figura 5.24 foi calculado usando a frmula Likelihood Ratio Test (Wu & Li, 1985):

,
_


b
a
L
L
LRT ln * 2
Esta frmula utilizada para comparar os resultados do emprego de modelos diferentes
para construo de rvores filogenticas. Neste exemplo o melhor resultado foi obtido com o
emprego do modelo de Felsenstein (1981) em relao a Kimura (1980). Esta frmula sempre
compara um modelo em relao a outro. Caso existam mais de dois modelos em anlise, eles
devem ser medidos e comparados dois a dois. Maiores esclarecimentos sobre este conceito
podem ser obtidos em Muse & Weir (1992).
A Figura 5.25 apresenta uma parte das seqncias utilizadas e alguns dos parmetros
usados nesta busca. No foi possvel mostrar as seqncias inteiras por causa de seu tamanho
bem superior ao limite da tela. Tambm so mostrados mais alguns dados interessantes sobre
o conjunto de seqncias pesquisado, tais como o nome dado ao conjunto pelo pesquisador
que exibido no campo Seqncias de DNA em anlise e neste caso contm o nome DNA
de Mitocndrias (Weir, 1996). Logo abaixo deste campo pode ser encontrado o campo onde
informada a estratgia selecionada para a busca (Matriz de Distncias, Mxima
Verossimilhana ou uma composio das duas que foi chamada de Estratgia Mista), e logo
abaixo se encontra o campo onde informado o modelo de substituio de bases utilizado.
Esto disponveis no momento os modelos de Jukes-Cantor (1969), Felsenstein (1981) e
Kimura (1980);. Neste caso foi selecionado que, aps o final da busca pela topologia mais
adequada, a ferramenta apresente os resultados comparativos obtidos pelos trs modelos
(Mtodo comparativo).
99

Nas Figuras 5.26 e 5.27 so exibidos os resultados obtidos referentes aos mesmos DNAs
de quatro espcies, mas usando agora a estratgia mista: iniciar processamento usando o
mtodo da Matriz de Distncias e finalizar calculando os comprimentos dos ramos da melhor
rvore encontrada, utilizando o mtodo da Mxima Verossimilhana.
A Figura 5.26 apresenta os resultados obtidos usando a estratgia mista (incio da busca
com Matriz de Distncias e finalizao da busca com Mxima Verossimilhana) e uma
comparao dos resultados obtidos utilizando os trs modelos de substituio de bases
disponveis.
100


Nesta simulao o modelo de substituio de bases de Felsenstein (1981) tambm
obteve o melhor resultado usando a frmula LRT, j comentada anteriormente. Este resultado
comparado ao da Figura 5.24 serve para ressaltar a superioridade do mtodo da Mxima
Verossimilhana em relao a outros, mesmo em relao a este mtodo alternativo que inicia a
busca com Matriz de Distncias e termina com a determinao dos comprimentos dos ramos
usando as tcnicas da Mxima Verossimilhana, descritas por Weir (1996) .
O software utilizado para estas simulaes (Projeto rvores Filogenticas) permite que o
pesquisador decida qual mtodo dever ser utilizado para a anlise das seqncias de bases
(Matriz de Distncias ou Mxima Verossimilhana ou uma combinao de ambos) e permite
tambm combinar as opes anteriores com um dos trs modelos de substituio de bases
estudados ao longo deste trabalho de mestrado (Jukes-Cantor, 1969; Felsenstein, 1981 e
Kimura, 1980). Alm destes parmetros especficos sobre filogenia, este software permite
101
tambm ajustar os parmetros especficos do algoritmo gentico, tais como, porcentagem de
mutaes, tamanho da populao, quantidade de iteraes e tempo mximo de busca. Como
estes parmetros podem no ser bem compreendidos por todos os pesquisadores que vierem a
utilizar este software, foi fixado um conjunto de valores iniciais (default) que podem ser
alterados sempre que necessrio. A inteno em fornecer estes valores iniciais foi somente
facilitar o uso desta ferramenta e evitar que todos os parmetros devam sempre ser digitados
antes de cada execuo. Estes valores foram otimizados ao longo desta pesquisa de mestrado
e se mostraram muito bons na maioria dos casos analisados.
A Figura 5.27 apresenta basicamente as mesmas informaes que a Figura 5.25, pois
foram utilizadas as mesmas seqncias de bases, apenas alterando a estratgia de busca.
Neste teste foi utilizada a estratgia mista, que inicia a busca com o mtodo Matriz de
Distncias e finaliza com Mxima Verossimilhana.


102
Concluses
Todos os resultados apresentados neste trabalho de mestrado foram obtidos com o uso
de uma nica ferramenta computacional. Este software (Projeto rvores Filogenticas) foi
desenvolvido e utilizado ao longo desta pesquisa de mestrado e oferece ao pesquisador grande
variedade de opes para trabalhar. possvel alterar os parmetros sobre filogenia, tais como
estratgia de busca (Matriz de Distncias ou Mxima Verossimilhana) e modelo de transio
de bases (Jukes-Cantor, 1969; Felsenstein, 1981 e Kimura, 1980) e tambm possvel alterar
os parmetros sobre o algoritmo gentico utilizado internamente. No necessria a digitao
de todos estes parmetros, pois a ferramenta possui um conjunto de valores iniciais que se
mostraram bastante eficientes na maioria dos testes realizados.
A interface grfica deste software foi projetada para facilitar seu uso por parte do usurio,
mesmo que este no domine completamente as tcnicas de computao. No Apndice A, pode
ser encontrado um exemplo completo de seu uso, passo a passo, onde so explicados
detalhadamente todos os campos de suas telas e todas as opes disponveis para sua
execuo. necessrio ressaltar que este software foi projetado para auxiliar e orientar o
usurio durante o processo de execuo. Sempre que um dado for necessrio ou um parmetro
for indispensvel e no estiver nos valores iniciais, o usurio ser solicitado a fornecer este
dado ou informao faltante. Por exemplo, o nome do arquivo que contm o conjunto de
seqncias a serem analisadas no pode fazer parte do conjunto de valores iniciais, razo pela
qual ele solicitado sempre que o usurio ordenar o incio de execuo. Uma tela especfica de
busca de arquivos no padro Windows ser exibida para que o usurio aponte para o arquivo
desejado.
Os recursos e as facilidades disponveis nesta ferramenta ajudaram muito o
desenvolvimento deste trabalho de mestrado e podero ser teis tambm para novas pesquisas
sobre Filogenia e sobre Computao Evolutiva.

103
Captulo 6


Concluses e Perspectivas Futuras
6.1 Comentrios gerais sobre o trabalho
Ao longo desta pesquisa de mestrado, foi possvel estudar, analisar e experimentar
algumas tcnicas e conceitos muito teis e interessantes voltados para filogenia. Foram
explorados basicamente os mtodos da Matriz de Distncias e da Mxima Verossimilhana,
alm dos modelos de substituio de bases de Jukes-Cantor (1969), Felsenstein (1981) e
Kimura (1980), que so os mais comumente encontrados na literatura especializada.
O desejo de reconstruir uma rvore para representar, de maneira hierrquica (ancestrais
e descendentes), todos os organismos do planeta bem antigo, sendo que o primeiro diagrama
conhecido sobre este assunto o que Lamark criou em 1809. Darwin usou um diagrama deste
tipo em seu livro Origem das Espcies (1859), mas foi somente em 1866 que E. Haeckel
apresentou um diagrama em forma de rvore abrangendo todos os grupos de seres vivos. Sua
rvore filogentica foi concebida com base em aspectos muito questionveis do ponto de vista
cientfico e no pode ser comparada tecnicamente s que modernamente se organizam
(Enciclopdia Mirador Internacional, 1995).
Os mtodos mais aceitos para estudo sobre filogenia se apiam no modelo evolucionrio,
como j foi explicado em captulos anteriores (Nei & Kumar, 2000). Espera-se que a filogenia
molecular venha a esclarecer muitos padres de ramos da rvore da vida que tm sido difceis
de resolver com mtodos baseados em caractersticas morfolgicas e fisiolgicas. No se pode
ignorar, no entanto, a existncia de uma dificuldade intrnseca: dada uma seqncia de
nucleotdeos, no se constitui uma tarefa simples a atribuio de grau de funcionalidade a cada
elemento da seqncia, que conduziria a uma anlise filogentica ponderada. O que se faz
geralmente, e tambm foi adotado nesta pesquisa, atribuir o mesmo grau de funcionalidade a
todos os elementos da seqncia de nucleotdeos.
O que se conclui, portanto, que todos os mtodos j propostos para realizar anlise
filogentica (baseados em Filogenia, Morfologia e Fisiologia) vo subsistir e devem ser
104
considerados conjuntamente, sempre que possvel. As vantagens e desvantagens de cada
mtodo devem ser devidamente investigadas, principalmente na ausncia de consenso entre as
respostas fornecidas para um dado conjunto de dados de entrada.
Baseado no modelo evolucionrio, possvel reconstruir uma rvore filogentica a partir
de um conjunto de seqncias de bases de algumas espcies. Existem diversos mtodos para
realizar esta reconstruo, sendo que eles podem ser divididos em dois tipos fundamentais:
No baseados em modelo, representado pelo mtodo da Matriz de Distncias, que
apenas leva em considerao as distncias apuradas entre as seqncias de
bases analisadas;
Baseados em modelo, representado pelo mtodo da Mxima Verossimilhana.
Este mtodo faz uso explcito de todas as informaes disponveis nas seqncias
de bases analisadas, com apoio de algum modelo probabilstico, e no se
restringe somente s distncias entre os pares de bases (Cavalli-Sforza &
Edwards, 1967).
Os detalhes sobre cada um destes dois mtodos, bem como suas vantagens e
desvantagens, alm de alguns outros mtodos, foram amplamente discutidos nos Captulos 3 e
5.
Para auxiliar o estudo e tambm para permitir realizar experimentos sobre alguns dos
mtodos disponveis, foi desenvolvida uma ferramenta computacional denominada Projeto
rvores Filogenticas, que apresenta as seguintes caractersticas:
Sua interface grfica amigvel e foi projetada para facilitar seu uso por parte de
usurios, mesmo que estes no dominem completamente as tcnicas de computao;
Permite ajuste dos principais parmetros relativos filogenia, tais como seleo do
mtodo de busca a ser utilizado (Matriz de Distncias ou Mxima Verossimilhana) e
modelo de substituio de bases (Jukes-Cantor, 1969; Felsenstein, 1981 ou Kimura,
1980);
Permite ajuste dos principais parmetros relativos ao algoritmo gentico utilizado, tais
como tamanho da populao e porcentagem de mutaes.
Os detalhes sobre este software e as orientaes sobre sua utilizao encontram-se no
Apndice A.
As seguintes caractersticas no foram implementadas nesta verso do Projeto rvores
Filogenticas:
105
Possibilidade de escolher algum outro mtodo de busca diferente dos dois
estudados (Matriz de Distncias e Mxima Verossimilhana);
Possibilidade de escolher algum outro modelo de substituio de bases diferente
dos trs disponveis (Jukes-Cantor, 1969; Felsenstein, 1981 ou Kimura, 1980);
Possibilidade de execuo do software em algum outro sistema operacional
diferente de MS Windows.
Apoiado por este software, foi possvel constatar o poder da Computao Evolutiva para
resolver este complexo problema, cujo espao de soluo cresce com velocidade fatorial em
funo do nmero de seqncias de bases analisadas.
Problemas complexos como este impedem o uso de tcnicas convencionais para sua
soluo. praticamente impossvel analisar todas as rvores candidatas (busca exaustiva)
quando o nmero de seqncias de bases for superior a umas poucas dezenas (Lewis, 1998).
Esta foi a principal motivao que levou ao uso de Computao Evolutiva nesta pesquisa de
mestrado. As tcnicas de Computao Evolutiva permitem explorar e explotar de maneira muito
eficiente o espao de soluo e, geralmente, uma boa resposta pode ser encontrada em tempo
razovel (Bck et al., 1997). preciso ressaltar que no existem garantias de ser encontrada a
melhor soluo para o problema: o que se garante uma boa soluo, caso se proceda a uma
escolha adequada de parmetros estabelecidos para a busca. As tcnicas relativas
Computao Evolutiva foram discutidas no Captulo 2.
O primeiro trabalho publicado sobre o uso de Computao Evolutiva para reconstruo de
rvores filogenticas foi o de Matsuda (1995) . Existem mais algumas publicaes sobre este
assunto, como pode ser verificado ao longo do Captulo 4. A principal diferena entre os
trabalhos analisados e esta dissertao de mestrado a maneira como o assunto foi abordado.
Enquanto as outras obras tratam o problema de maneira polarizada, se concentrando
fortemente nos aspectos relacionados Biologia e muito pouco nos aspectos relacionados
Engenharia, neste trabalho se buscou tratar o problema de maneira holstica, detalhando e
explicando todos os passos necessrios para a reconstruo de uma boa rvore filogentica, a
partir de uma seqncia de bases, sem deixar de levar em considerao todos os aspectos
mais relevantes em relao Biologia e Engenharia. Foram esclarecidos todos os passos
necessrios para esta busca: desde o modelo evolucionrio, passando pelos mtodos de busca
disponveis, comentando os modelos de substituio de bases normalmente empregados, at
chegar ao mtodo do gradiente (mtodo de otimizao de primeira ordem), que foi utilizado
106
para o ajuste dos comprimentos dos ramos das rvores. Em nenhum dos trabalhos analisados
foi encontrada uma descrio completa de todos os passos necessrios. Foi preciso consultar
diversas obras para poder chegar ao entendimento deste processo inteiro.
Os detalhes sobre o algoritmo gentico utilizado e sobre o mtodo de otimizao de
primeira ordem utilizado (gradiente) podem ser encontrados no Captulo 5. Neste captulo,
tambm foram exibidos alguns dos resultados da pesquisa.
6.2 Concluses
Apesar do mtodo da Mxima Verossimilhana ter sido proposto em 1967 (Cavalli-Sforza
& Edwards, 1967), somente em meados da dcada de 1990 ele se tornou vivel, em virtude de
seu elevado custo computacional. Durante muito tempo os mtodos baseados em Matriz de
Distncias foram muito utilizados por sua facilidade de implementao e reduzido custo
computacional (Nei & Kumar, 2000).
Os dois mtodos (Matriz de Distncias e Mxima Verossimilhana) so teis e eficientes
dentro de seus limites de ao, potencialidade e finalidade. Cada um deles pode ser aplicado
com sucesso, desde que se tenha em mente o que se deseja obter.
Caso o interesse seja apenas o de encontrar uma rvore filogentica que represente as
seqncias de bases analisadas, sem levar em considerao os comprimentos dos ramos, e
que represente os graus de parentesco, sem se preocupar com qual ramo mais comprido ou
mais curto do que outro, pode-se usar o mtodo da Matriz de Distncias, que bem mais
econmico em termos de processamento. A busca mais rpida e a rvore encontrada
geralmente possui uma topologia prxima, quando no coincidente, quela encontrada usando
Mxima Verossimilhana.
Caso o interesse seja estudar as distncias entre os elementos, alm de seus graus de
parentesco, ento o mtodo da Mxima Verossimilhana deve ser empregado, mesmo sendo
mais caro em termos de processamento, pois somente com ele possvel calcular os
comprimentos dos ramos da rvore encontrada.
Filogenia no um assunto recente, desde os tempos de Darwin se procura montar a
rvore das espcies. Como o espao de solues deste problema gigantesco (apresenta
custo fatorial), o emprego de algoritmos genticos se apresenta como sendo uma boa
alternativa para sua explorao. Este espao de soluo atinge a ordem de 10
76
para apenas
50 seqncias de bases analisadas. O uso de Computao Evolutiva se mostrou muito eficiente
107
e eficaz em sua explorao ao longo desta pesquisa. Em todas as simulaes, sempre foi
obtido um bom resultado dentro de um perodo de tempo razovel.
Os aspectos relacionados com o ajuste dos comprimentos dos ramos foram os menos
esclarecidos em todas as obras consultadas para a realizao desta pesquisa. A maioria dos
autores apenas informa que estes comprimentos podem ser obtidos com apoio de algum
mtodo numrico mas nenhum deles chega a detalhar uma soluo completa do incio ao fim.
Neste trabalho, ao longo do Captulo 5, foram apresentados em detalhes todos os passos
necessrios para o ajuste dos comprimentos dos ramos, baseado no mtodo de primeira ordem
conhecido como mtodo do gradiente.
Ainda existe grande carncia de ferramentas computacionais disposio dos
pesquisadores desta rea (filogenia) e as atualmente disponveis apresentam interface grfica
pouco amigvel. A ferramenta computacional desenvolvida ao longo desta pesquisa de
mestrado procurou simplificar ao mximo a interface grfica com o usurio de modo a viabilizar
seu uso por profissionais que no dominem as tcnicas de computao. A maioria de seus
parmetros no precisa ser alterada e j inicializada de maneira automtica quando o
software executado. Contudo, estes parmetros podem ser alterados caso o pesquisador
esteja interessado em estudar o efeito no resultado final provocado por alguma alterao em
algum destes parmetros.
O Projeto rvores Filogenticas trabalha internamente com as rvores usando uma
estrutura matricial de dados, normalmente empregada para a descrio de grafos, por
fornecerem tambm informaes a respeito de hierarquia (ancestrais e descendentes), ao
contrrio das implementaes tradicionais de algoritmos genticos, que trabalham com
estruturas de dados do tipo lista (apenas informaes ordenadas linearmente). Maiores
informaes sobre estruturas de dados podem ser encontradas no Apndice C. Estes grafos
so manipulados pelo software usando sua representao baseada em matriz de adjacncias.
Isto permitiu o desenvolvimento e emprego dos operadores especiais de mutao utilizados
pelo algoritmo gentico, baseados em trocas de colunas desta matriz de adjacncias. Esta
abstrao simplificou bastante sua implementao.
O mtodo de busca Mxima Verossimilhana bastante sensvel em relao ao modelo
de substituio de bases empregado. Isto ficou bem evidenciado ao longo dos estudos pelos
resultados experimentais apresentados no Captulo 5. Neste trabalho, foram estudados apenas
os modelos de substituio de bases de Jukes-Cantor (1969), Felsenstein (1981) e Kimura
(1980), por serem os mais freqentemente encontrados na literatura. O uso de outros modelos
108
de substituio de bases fica indicado como perspectiva futura de pesquisa e poder ser
explorado em conjunto com outros mtodos de busca alternativos em relao ao da Matriz de
Distncias e Mxima Verossimilhana, aqui apresentados.
6.3 Contribuies
Neste trabalho, foi possvel ratificar que a Computao Evolutiva constitui uma ferramenta
de boa qualidade para bioinformtica. Sua capacidade de explorar vastos espaos de soluo,
aliada ao seu elevado desempenho, produziram excelentes resultados durante as simulaes
computacionais.
As principais contribuies apresentadas por este trabalho foram:
Apresentar as tcnicas de Computao Evolutiva como uma poderosa ferramenta
para ajudar no problema de encontrar uma boa rvore filogentica, a partir de uma
seqncia de bases analisadas, devido ao seu elevado poder de explorao e
explotao de vastos espaos de soluo;
Fornecer uma viso holstica do problema de reconstruo das rvores
filogenticas, desde a analise das seqncias de bases at o ajuste dos
comprimentos dos ramos, que foi implementado baseado em um mtodo numrico
de primeira ordem conhecido como gradiente;
Mostrar que, para este problema, o uso de codificao de uma rvore em uma
matriz de adjacncias uma boa alternativa, por preservar as informaes
relativas hierarquia (ancestrais e descendentes), o que no ocorre com as
estruturas de dados tradicionalmente utilizadas, normalmente baseadas em listas;
Desenvolver novos operadores especiais de mutao para o algoritmo gentico,
baseados em trocas de colunas da matriz de adjacncias utilizada para
representar a rvore filogentica candidata;
Oferecer aos pesquisadores da rea uma ferramenta computacional (Projeto
rvores Filogenticas) com interface grfica amigvel e uma srie de recursos j
mencionados em sees anteriores.
6.4 Temas sugeridos como perspectivas futuras da pesquisa
Como sugestes para extenses desta pesquisa podemos citar os tpicos a seguir:
Ajuste automtico dos parmetros usados nos critrios de gerao de novas populaes
(reproduo, mutao e crossover);
109
Alguns trabalhos estudados que exploraram estas caractersticas obtiveram ganhos
relevantes relativos a desempenho do software e qualidade final do resultado esperado. Parece
ser promissor unir estas caractersticas aos outros tpicos apresentados nesta dissertao, tais
como os novos operadores de mutao e as estruturas de dados internas do Projeto rvores
Filogenticas.

Auto-ajuste nos critrios empregados na seleo dos novos elementos a serem levados
para a prxima gerao em um algoritmo gentico;
Assim como os parmetros relativos s taxas de mutao, parece ser bastante promissor
o emprego de parmetros auto-ajustveis relativos aos critrios de seleo.

Trabalhar com vrias populaes candidatas, simulando nichos ecolgicos, com
migraes eventuais entre eles;
Este item parece ser particularmente interessante devido ao fato das populaes
perderem sua capacidade de evoluir aps algum tempo de processamento. Trabalhar com
populaes distintas e permitir migraes eventuais poderia restituir a capacidade de evoluo
a estas populaes.

Utilizar as tcnicas de co-evoluo associadas com o conceito de nichos ecolgicos;
Este item parece ser promissor devido aos motivos esclarecidos no item anterior e
tambm pelo fato da co-evoluo aumentar as presses seletivas, acelerando o processo de
busca mas tambm acelerando o processo de perda da capacidade de evoluir das diferentes
populaes.

Tcnicas alternativas de agrupamento de dados para acelerar o processo de
convergncia do algoritmo gentico;
Existem outros mtodos que no foram explorados por no estarem dentro dos propsitos
inicialmente estabelecidos para esta pesquisa. Seria interessante estender o potencial da
ferramenta computacional desenvolvida para poder trabalhar tambm com outros mtodos tais
como neighbor-joining e mxima parcimnia. Como eles se baseiam em princpios diferentes, a
comparao do resultado final seria enriquecedora para os pesquisadores da rea. Poderia
110
inclusive tornar possvel a validao dos resultados obtidos com um mtodo pelo emprego dos
demais.

Utilizar algum mtodo de segunda ordem para o ajuste dos comprimentos dos ramos em
comparao com o de primeira ordem utilizado;
Existe a possibilidade de se empregar mtodos de segunda ordem para o ajuste nos
comprimentos dos ramos das rvores. Esperamos que o emprego deste tipo de mtodo de
otimizao traga ganhos significativos tanto em termos de desempenho da ferramenta quanto
em termos de qualidade final dos dados, por usar informaes de segunda ordem que
geralmente so mais ricas que as de primeira ordem, utilizadas ao longo de nossa pesquisa de
mestrado.

Utilizar modelos alternativos de substituio de bases e comparar com os trs utilizados
(Jukes-Cantor, 1969; Felsenstein, 1981 ou Kimura, 1980);
Os trs modelos de substituio de bases utilizados em nossa pesquisa so os mais
utilizados nesta rea mas no so os nicos. Existem alguns outros que no foram analisados
mas que podem trazer resultados muito interessantes para o problema de reconstruo de
rvores filogenticas. Felsenstein e Kimura possuem outros modelos com dois parmetros que
poderiam ser acrescentados ao escopo da ferramenta computacional para comparao dos
resultados. sabido que trabalhar com mais parmetros pode aumentar a qualidade do
resultado final mas tambm aumenta o risco de piorar o resultado devido possibilidade de
inserir maior grau de incerteza nos clculos. Seria muito interessante comparar os resultados
obtidos com os modelos de um parmetro, utilizados em nossa pesquisa de mestrado, com os
resultados obtidos com os modelos de dois parmetros, para poder analisar os custos e os
ganhos obtidos.

Utilizar outro mtodo de busca, diferente dos dois implementados (Matriz de Distncias
e Mxima Verossimilhana);
Devido aos propsitos inicialmente estabelecidos para esta pesquisa de mestrado, no foi
possvel explorar todas as tcnicas disponveis nem todos os mtodos existentes para
reconstruo das rvores filogenticas. Exploramos aqui apenas os mtodos conhecidos como
Matriz de Distncias e Mxima Verossimilhana. Existem alguns outros muito bons que tambm
111
poderiam ser explorados e que provavelmente traro resultados interessantes sob o ponto de
vista cientfico.

Realizar experimentos utilizando computador com processadores paralelos;
Durante todo o desenvolvimento do Projeto rvores Filogenticas no foi possvel utilizar
outro tipo de computador. Sempre usamos um computador comum com apenas um
processador e portanto no investigamos os ganhos que poderiam ser obtidos com o uso de
mquinas com vrios processadores paralelos. Como os algoritmos genticos processam
populaes com diversos indivduos, seria interessante tentar dividir uma frao destes
elementos para cada processador e analisar os resultados em funo do tempo de
processamento. Imaginamos que este tipo de paralelismo possa acelerar muito o processo de
busca de uma boa rvore filogentica.

Promover uma interao continuada com pesquisadores da rea de biologia molecular e
gentica.
Os cientistas de cada rea tm muito a contribuir com os de outras. Citamos aqui apenas
duas mas poderiam ser muitas outras. Os conhecimentos que os cientistas de algumas reas
podem obter facilmente podem ser obtidos pelos cientistas de outras com um custo muito
maior. Durante nossa pesquisa de mestrado, foi fundamental o apoio e a ajuda do Professor
Srgio Furtado dos Reis pelo seu amplo conhecimento na rea de Biologia Molecular, sem o
qual no seria possvel atingir os resultados que conseguimos em to pouco tempo de
pesquisa. Este tipo de experincia deve ser incentivado sempre que possvel.











112





113
Referncias Bibliogrficas
Aarts, E. & Korst, J. 1989. Simulated Annealing and Boltzmann Machines A Stochastic
Approach to Combinatorial Optimization and Neural Computing, John Wiley & Sons.
Aarts, E. & Verhoeven, M. 1997. Operations Research, in Bck, T., Fogel, D. B. & Michalewicz,
Z. Handbook of Evolutionary Computation, Oxford University Press.
Aarts, E. & Lenstra, J. K. 1997. Local Search in Combinatorial Optimization, Wiley.
Amabis, J. M. & Martho, G. R. 1997. Biologia Populaes Gentica, Evoluo e Ecologia,
Editora Moderna Ltda., vol. 3.
Angelini, P. J. 1993. Evolutionary Algorithms and Emergent Intelligence. Doctoral Dissertation,
Ohio State University.
Atmar, W. 1994. Notes on the simulation of evolution. IEEE Trans. Neural Networks NN-5:130-
47.
Bck, T.; Fogel, D. B. & Michalewicz, Z. 1997. Handbook of Evolutionary Computation. Institute
of Physics Publishing and Oxford University Press.
Bertoni, A. & Dorigo, M. 1993. Implicit Parallelism in Genetic Algorithms, Artificial Intelligence,
61(2): 307-314.
Bezdek, J. C. 1994. What is computational Intelligence? Computational Intelligence: Imitation
Life.
Burks, C.; Cinkosky, M. J.; Fischer, W. M.; Gilna, P.; Hayden, J. E. D.; Keen, G. M.; Kelly, M.;
Kristofferson, D. & Lawrance, J. 1992. GenBank, Nucleic Acids Research. 20:2065-2069.
Cavalli-Sforza, L. L. & Edwards, A. W. F. 1964. Analysis of Human Evolution.In Proc. 11
th
Intl.
Cong. Genet., pp. 923-933. Pergamon, New York.
Cavalli-Sforza, L. L. & Edwards, A. W. F. 1967. Phylogenetic analysis: Models and estimation
procedures. Am. J. Hum. Genet. 19:233-257.
Dawkins, R. 1976. The Selfish Gene, Oxford: Oxford University Press.
Day, W. H. E. 1987. Computational complexity of inferring phylogenies from dissimilarity
matrices. Bull. Math. Biol. 49:461-467.
114
de Castro, L. N. 1998. Anlise e Sntese de Estratgias de Aprendizado para Redes Neurais
Artificiais, Dissertao de Mestrado, Faculdade de Engenharia Eltrica e de Computao,
Unicamp.
de Castro, L. N., Iyoda, E. M., Von Zuben, F. J. & Gudwin, R. 1998. Feedforward Neural
Network Initialization: an Evolutionary Approach, Proceedings of the Vth Brazilian
Symposium on Neural Networks, vol. 1, pp. 43-48.
Eck, R. V. & Dayhoff, M. O. 1966. Atlas of protein sequence and structure. National Biomedical
Research Foundation. Silver Spring, MD.
Edwards, A. W. F. & Cavalli-Sforza, L. L. 1963. The reconstruction of evolution. Heredity 18:553.
Eiben, A. E., Hinterding, R. & Michalewicz, Z. 1999. Parameter Control in Evolutionary
Algorithms. IEEE Transactions on Evolutionary Computation, 3(2): pp. 124-141.
Enciclopdia Mirador Internacional. 1995. 9:4592-4599.
Eshelmann, L. J., Caruana, R. A. & Schaffer, J. D. 1989. Biases in the Crossover Landscape, in
Schaffer, J. (ed.), Proceedings of the Third International Conference on Genetic
Algorithms, Morgan Kaufmann Publishers, 10-19.
Everitt, B. S. 1993. Cluster Analysis. Halsted Press, third edition.
Felsenstein, J. 1981. Evolutionary trees from DNA sequences: A maximum likelihood approach.
J. Mol. Evol. 17:368-376.
Felsenstein, J. 1984. PHYLIP: Phylogeny inference package, version 2.51. University of
Washington, Seattle, WA.
Felsenstein, J. 1990. PHYLIP Manual Version 3.3 University Herbarium, University of California,
Berkeley.
Felsenstein, J. 1997. An alternating least squares approach to inferring phylogenies from
pairwise distances. Syst. Biol. 46:101-111.
Fitch, W. M. 1971. Toward defining the course of evolution: Minimum change for a specific tree
topology. Syst. Zool. 20:406-416.
Fitch, W. M. & Margoliash, E. 1967. Construction of phylogenetic trees. Science 155:279-284.
Fogel, L. J., Owens, A. J. & Walsh, M. J. 1966. Artificial Intelligence Through Simulated
Evolution, John Wiley.
Fogel, D. B. 1994. An Introduction to Simulated Evolutionary Computation, IEEE Transactions
on Neural Networks, 5(1): pp. 3-14.
Fogel, D. B. 1999. Evolutionary Computation Toward a New Philosophy of Machine
Intelligence, 2
a
edio, IEEE Press.
115
Foster, J. 2001. Evolutionary Computarion. Nature Reviews / Genetics 2:428-436.
Goldberg, D. E. 1989. Genetic Algorithm in Search, Optimization and Machine Learning.
Addison-Wesley. Reading. MA.
Goloboff, P. 1994. NONA: A tree searching program. Program and documentation, available at
ftp.unt.edu.ar/pub/parsimony.
Goloboff, P. 1999. Analysing large data sets in reasonable times: Solutions for composite
optima. Cladistics 15:415-428.
Goloboff, P.; Farris, J. & Nixon, K. 1999. T.N.T.: Tree Analysis Using New Technology. Program
available at www.cladistics.com.
Goloboff, P. & Farris, J. 2001. Metods for Quick Consensus Estimation. Cladistics 17:S26-S34.
Gordon, A. D. 1981. Classification: Methods for the Exploratory Analysis of Multivariate Data.
Chapman and Hall.
Gruau F. 1994. Genetic Micro Programming of Neural Networks, in Kinnear Jr., K. (ed.),
Advances in Genetic Programming, The MIT Press, pp. 495-518.
Guerrero, J. A. S.; Surez, L. L. & Gudwin, R. 1999. Anlise da Importncia de Parmetros num
Algoritmo Gentico por meio de sua Aplicao no Aprendizado de uma Rede Neural. II
ENIA:1-6.
Haeckel, E. 1866. Generelle Morphologie der Organismen. George Riemer, Berlin.
Hartl, D. L. & Clark, A. G. 1989. Principles of Population Genetics, Sinauer.
Higgins, D. G.; Fuchs, R.; Stoehr, P. J. & Camerson, G. N. 1992. The EMBL Data Library.
Nucleic Acids Research. 20:2071-2074.
Holland, J. H. 1973. Genetic algorithms and the optimal allocation of trials. SIAM J. Comput.
2:88-105.
Holland, J. H. 1992. Adaptation in Natural and Artificial Systems. MIT Press. Cambridge.
Horowitz, E.& Sahni, S. 1984. Fundamentos de Estruturas de Dados. Editora Campus.
Iyoda, E. M. 2000. Inteligncia computacional no projeto automtico de redes neurais hbridas e
redes neurofuzzy heterogneas. Dissertao de Mestrado, Faculdade de Engenharia
Eltrica e de Computao, Unicamp.
Jain, A. K. & Dudes, R. C. 1988. Algorithms for Clustering Data. Prentice Hall.
Jan, P. 1995. Coevolutionary Computation. Artificial Life 2:355-375.
Janis, D. A. & Wheeler, W. 2001. Efficiency of Parallel Direct Optimization. Cladistics 17:S71-
S82.
Jukes, T. H. & Cantor, C. R. 1969. Evolution in protein molecules. Academic Press, New York.
116
Kaufman, L. & Rousseeuw, P. J. 1990. Finding Groups in Data: An Introduction to Cluster
Analusis. John Wiley and Sons, Inc.
Kimura, M. 1980. A simple method for estimating evolutionary rates of base substitutions through
comparative studies of nucleotide sequences. Journal of Molecular Evolution 16:111-120.
Koza, J. R. 1992. Genetic Programming: on the Programming of Computers by Means of
Natural Selection, MIT Press.
Koza, J. R.; Bennet III, F. H.; Andre, D.; Keane, M. A. & Dunlap, F. 1997. Automated Synthesis
of Analog Electrical Circuits by Means of Genetic Programming, IEEE Transactions on
Evolutionary Computation, 1(2): pp. 109-128
Kumar, S. 1996. A stepwise algorithm for finding minimum evolution tress. Mol. Biol. Evol.
13:584-593.
Lewis, Paul, O. 1998. A Genetic Algorithm for Maximum-Likelihood Phylogeny Inference Using
Nucleotide Sequence Data. Mol. Biol. Evol. 15:277-283.
Manber, U. 1989, Introduction to Algorithms. A Creative Approach. Addison-Wesley Publishing
Company.
Massart, D. L.; Vandeginste, B. G. M.; Bydens, L. M. C.; de Jong, S.; Lewis, P. J. & Smeyers-
Verbeke, J. 1997. Genetic algorithms and other global search strategies. Handbook of
Chemometrics and Qualimetrrics: Part A. Elsevier, Amsterdam. 805-845.
Matsuda, H.; Olsen, G. J.; Hagstrom, R.; Overbeek, R. & Kaneda, Y. 1993. Implementation of a
Parallel Processing system for Inference of Phylogenetic Trees. IEEE. 280-283.
Matsuda, H. 1995. Construction of phylogenetic trees from amino acid sequences using a
genetic algorithm. Procedings of Genome Informatics Workshop. Universal Academy
Press. Tokio, pp. 19-28.
Matsuda, H. 1996. Protein phylogenetic inference using maximum likelihood with a genetic
algorithm. Pacific Symposium on Biocomputing. World Scientific, London, pp. 512-523.
Matsuda, H.; Yoshikawa, T.; Tabe, T.; Kishinami, R. & Hashimoto, A. 1999. On the
Implementation of a Phylogenetic Tree Database. IEEE, 42-45.
Merz, P. & Freisleben, B. 1999. A Comparison of Memetic Algoritms, Tabu Search, and Ant
Colonies for the Quadratic Assignment Problem, Congress on Evolutionary Computation,
vol. 3, pp. 2063-2070.
Michalewicz, Z. 1996. Genetic Algorithms + Data Structures = Evolution Programs, 3 edio,
Springer.
117
Michalewicz, Z. & Schoenauer, M. 1996. Evolutionary Algorithms for Constrained Parameter
Optimization Problems, Evolutionary Computation, 4(1): 1-32.
Moilanen, A. 2001. Simulated Evolutionary Optimization and Local Search: Introduction and
Application to Tree Search. Cladistics 17:S12-S25.
Moscato, P. 1999. Memetic Algorithms: A Short Introduction, in Corne, D., Dorigo, M. & Glover,
F. (eds.) New Ideas in Optimization, McGraw-Hill, pp. 219-234.
Moscato, P. & Norman, M. G. 1992. A memetic approach for the travelling salesman problem
implementation of a computational ecology for optimisation on message-passing systems,
Proceedings of the International Conference on Parallel Computing and Transputer
Applications, Amsterdam, IOS Press.
Muse, S. V. & Weir, B. S. 1992. Testing for equality of evolutionary rates. Genetics 132:269-276.
Nei, M. 1987. Molecular evolutionary genetics. Columbia University Press, New York.
Nei, M.; Tajima, F. & Tateno, Y. 1983. Accuracy of estimated phylogenetic trees from molecular
data. II. Gene frequency data. J. Mol. Evol. 19:153-170.
Nei, M. & Kumar, S. 2000. Moledular Evolution and Phylogenetics. Oxford University press.
Nixon, K. 1999. The parsimony ratchet, a new method for rapid parsimony analysis. Cladistics
15:407-414.
Olsen, G. J.; Matsuda, H.; Hagstrom, R. & Overbeek, R. 1993. fastDNAml: A Tool for
Construction of Phylogenetic Trees of DNA Sequences Using Maximum Likelihood.
Compute Applications in Biological Sciences.
Ockham, W. 1964. "Philosophicall Writings", Traduo Philotheus Boehner. Indianpolis, Bobbs-
Merrill.
Potter, M. & DeJong, K. 2000. Cooperative coevolution: An architecture for evolving coadapted
subcomponents. Evolutionary Computation, 8(1):1-29.
Radcliffe, N. J. & Surry, D. P. 1994. Formal Memetic Algorithms, Evolutionary Computing:
AISB Workshop, Ed: T. Forgaty, Springer-Verlag.
Rasmussem, E. 1992. Information Retrieval, chapter Clustering Algorithms, pages 419-442.
Prentice Hall.
Rechenberg, I. 1973. Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der
biologischen Evolution, Frommann-Holzboog.
Reijmers, T.H.; Wehrens, R.; Daeyaert, F. D.; Lewi, P. J. & Buydens, L. M. C. 1999. Using
genetic algorithms for the construction of phylogenetic trees: application to G-protein
coupled receptor sequences. Biosystems. 49:31-43.
118
Rice, K.; Donoghue, M. & Olmstead, R. 1997. Analysing large data sets: rbcL 500 revisited.
Syst. Biol. 46:554-563.
Rzhetsky, A & Nei, M. 1993. Theoretical foundation of the minimum-evolution method of
phylogenetic inference. Mol. Biol. Evol. 10:1073-1095.
Saitou, N.& Nei, M. 1987. The neighbor-joining method: A new method for reconstructing
phylogenetic trees. Mol. Biol. Evol. 4:406-425.
Schwefel, H. P. 1995. Evolution and Optimum Seeking, John Wiley.
Skourikhine, A. 2000. Phylogenetic Tree Reconstruction Using Self-Adaptive Genetic Algorithm.
Proceedings of the 1st IEEE International Symposium on Bioinformatics and Biomedical
Engineering, Arlington, Virginia, USA. 129-134.
Syed, O. 1995. Applying Genetic Algorithms to Recurrent Neural Networks for Learning Network
Parameters and Architecture. Master Thesis, Case Western Reserve University.
Silva JR., C. & Sasson, 1996. S. Biologia, Editora Saraiva, vol. 3.
Sneath, P. H. A & Sokal, R. R. 1973. Numerical taxonomy. Freeman, San Francisco, CA.
Sokal, R. R. & Sneath, P. H. A. 1963. Principles of Numerical Taxonomy. Freeman, San
Francisco, CA.
Swofford, D. L. 1993. PAUP: Phylogenetic Analysis Using Parsimony, version 3.1. Program and
documentation, Laboratory of Molecular Systematics, Smithsonian Institute, Washington,
DC.
Swofford, D. L. & Olsen, G. J. 1990. Phylogeny reconstruction. Molecular Systematics. Sinauer,
Sunderland, MA.
Swofford, D. L.; Olsen, G. J.; Wadell, P. J. & Hillis, D. M. 1996. Phylogeny inference. Molecular
systematics. Sinauer, Sunderland, MA, pp. 407-514.
Syswerda, G. 1989. Uniform Crossover in Genetic Algorithms, em Schaffer, J. D. (ed.),
Proceedings of the Third International Conference on Genetic Algorithms, Morgan
Kaufmann Publishers, 2-9.
Takezaki, N. & Nei, M. 1996. Genetic distances and reconstruction of phylogenetic trees from
microsatellite DNA. Genetics 144:389-399.
Tateno, Y.; Nei, M. & Tajiima, F. 1982. Accuracy of estimated phylogenetic trees from molecular
data. I. Distantly related species. J. Mol. Evol. 18:387-404.
Weir, B. S. 1996. Genetic Data Analysis II. Sinauer, Sunderland, MA.
Wu, C-I. & Li, W-H. 1985. Evidence for higher rates of nucleotides substitution in rodentes than
in man. Proc. Natl. Acad. Sci. U.S.A. 82:1741-1745.
119
Yang, Z. 1999. PAML: Phylogenetic analysis by maximum likelihood, ver. 2.0 University College
London, London.
Zadeh, L. A. 1965. Fuzzy Sets, Information and Control, 8: 338-353, re-impresso em Klir, G. J.
& Juan, B. (eds.), Fuzzy Sets, Fuzzy Logic and Fuzzy Systems: Selected Papers by Lotfi
A. Zadeh, World Sci, 1996.




























120






121
ndice de Autores
Aarts & Korst (1989) ................................................................................................................................... 15
Aarts & Lenstra (1997) ................................................................................................................................ 43
Aarts & Verhoeven (1997)........................................................................................................................... 43
Amabis & Martho (1997) .............................................................................................................................. 8
Angelini (1993)............................................................................................................................................ 19
Atmar (1994).............................................................................................................................. 3, 7, 9, 10, 11
Bck et al. (1997)........................................................................................... 3, 7, 9, 18, 19, 26, 77, 109, 149
Bezdek (1994)................................................................................................................................................ 2
Burks et al. (1992) ....................................................................................................................................... 66
Cavalli-Sforza & Edwards (1967) ....................................................................................... 53, 108, 110, 169
Dawkins (1976)............................................................................................................................................ 40
Day (1987) ................................................................................................................................................... 81
de Castro (1998)..................................................................................................................................... 96, 97
de Castro et al. (1998).................................................................................................................................. 24
Eck & Dayhoff (1966) ................................................................................................................................. 57
Edwards & Cavalli-Sforza (1963) ......................................................................................................... 54, 57
Enciclopdia Mirador Internacional (1995)................................................................................... 47, 48, 107
Eshelman et al. (1989) ................................................................................................................................. 21
Everitt (1993)............................................................................................................................................... 50
Felsenstein (1981).... 5, 60, 62, 63, 74, 78, 101, 102, 104, 105, 106, 107, 108, 109, 112, 114, 134, 135, 143
Felsenstein (1984).................................................................................................................................. 63, 64
Felsenstein (1990)............................................................................................................................ 67, 73, 99
Felsenstein (1997)........................................................................................................................................ 66
Fitch & Margoliash (1967) .................................................................................................................... 54, 69
Fitch (1971).................................................................................................................................................. 57
Fogel (1994)................................................................................................................................. 9, 13, 17, 26
Fogel (1999)....................................................................................................................................... 9, 10, 11
Fogel et al. (1966)........................................................................................................................................ 13
122
Foster (2001).......................................................................................................................................... 33, 34
Goldberg (1989)............................................................................................................................. 25, 77, 149
Goloboff & Farris (2001)............................................................................................................................. 70
Goloboff (1994) ........................................................................................................................................... 71
Goloboff (1999) ........................................................................................................................................... 71
Goloboff et al. (1999) .................................................................................................................................. 71
Gordon (1981).............................................................................................................................................. 50
Gruau (1994)................................................................................................................................................ 13
Guerrero et. al. (1999) ................................................................................................................................. 24
Haeckel (1866)............................................................................................................................................... 1
Hartl & Clarck (1989).................................................................................................................................... 9
Higgins et al. (1992) .................................................................................................................................... 67
Holland (1973)................................................................................................................................. 12, 16, 77
Holland (1992)................................................................................................................................. 16, 23, 77
Horowitz & Sahni (1984) .................................................................................................................. 176, 177
Iyoda (2000)................................................................................................................................................... 3
Jain & Dudes (1988) .................................................................................................................................... 50
Jan (1995) .................................................................................................................................................... 25
Janis & Wheeler (2001) ............................................................................................................................... 71
Jukes-Cantor (1969)......... 5, 62, 63, 64, 74, 78, 101, 102, 104, 106, 107, 108, 109, 112, 114, 134, 135, 143
Kaufman & Rousseeuw (1990).................................................................................................................... 50
Kimura (1980)........................ 5, 63, 64, 74, 78, 101, 102, 105, 106, 107, 108, 109, 112, 114, 134, 135, 143
Koza (1992) ................................................................................................................................................. 13
Koza et al. (1997) ........................................................................................................................................ 13
Kumar (1996)............................................................................................................................................... 56
Lewis (1998) .......................................................................................................................... 1, 2, 68, 81, 109
Manber (1989) ............................................................................... 34, 35, 173, 174, 175, 176, 178, 179, 180
Massart et al. (1997) .................................................................................................................................... 77
Matsuda (1995) .............................................................................................................................. 73, 77, 109
Matsuda (1996)..................................................................................................................................... 68, 77
Matsuda et al. (1993)...................................................................................................................... 66, 71, 72
Matsuda et al. (1999) ..................................................................................................................................... 1
Merz & Freisleben (1999)...................................................................................................................... 42, 43
123
Michalewicz & Schoenauer (1996) ................................................................................................. 22, 23, 24
Michalewicz (1996) ................................................................................... 13, 15, 16, 17, 22, 23, 24, 26, 149
Moilanen (2001) .......................................................................................................................................... 72
Moscato & Norman (1992).................................................................................................................... 40, 41
Moscato (1999) ...................................................................................................................................... 41, 44
Muse & Weir (1992).................................................................................................................................. 102
Nei & Kumar (2000).................. 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 79, 80, 81, 83, 107, 110, 169
Nei (1987) .................................................................................................................................................... 48
Nei et al. (1983) ........................................................................................................................................... 51
Nixon (1999).......................................................................................................................................... 71, 72
Ockham (1964) ............................................................................................................................................ 57
Olsen et al. (1993) ....................................................................................................................................... 67
Potter & DeJong (2000)............................................................................................................................... 25
Radcliffe & Surry (1994) ....................................................................................................................... 40, 43
Rasmussen (1992)........................................................................................................................................ 50
Rechenberg (1973)....................................................................................................................................... 13
Reijmers et al. (1999) .................................................................................................................. 2, 48, 69, 85
Rice et al. (1997) ......................................................................................................................................... 71
Rzhetsky & Nei (1993) .................................................................................................................... 54, 55, 56
Saitou & Nei (1987)......................................................................................................................... 55, 56, 69
Schwefel (1995)........................................................................................................................................... 13
Silva & Sasson (1996) ................................................................................................................................. 40
Skourikhine (2000) ................................................................................................................................ 25, 70
Sneath & Sokal (1973)................................................................................................................................. 51
Swofford & Olsen (1990) .............................................................................................................................. 1
Swofford (1993)........................................................................................................................................... 71
Swofford et al. (1996)........................................................................................ 49, 50, 56, 57, 59, 60, 63, 64
Syed (1995).................................................................................................................... 27, 28, 30, 31, 32, 33
Syswerda (1989) .......................................................................................................................................... 21
Takezaki & Nei (1996) ................................................................................................................................ 51
Tateno et al. (1982)...................................................................................................................................... 48
Weir (1996).................... 1, 2, 48, 49, 50, 55, 56, 57, 58, 59, 61, 64, 77, 78, 98, 99, 104, 133, 135, 143, 151
Wu & Li (1985) ......................................................................................................................................... 102
124
Yang (1999) ................................................................................................................................................. 73
Zadeh (1965).................................................................................................................................................. 2

125
Apndice A


Manual do Usurio do Projeto rvores Filogenticas
Projeto rvores Filogenticas

Manual do Usurio


Verso 1.0.3


126

APNDICE A MANUAL DO USURIO DO PROJETO RVORES FILOGENTICAS 129
A.1. INTRODUO............................................................................................................................ 131
A.2. HISTRICO................................................................................................................................ 131
A.3. DESCRIO GERAL .................................................................................................................. 132
A.7. CONTROLE DE ACESSO EXTERNO............................................................................................ 132
A.8. REQUISITOS DE DESEMPENHO.................................................................................................. 133
A.9. REQUISITOS FUNCIONAIS......................................................................................................... 133
A.10. EQUIPAMENTO CLIENTE (MNIMO) ........................................................................................ 142
A.11. TELAS DO SISTEMA................................................................................................................ 143
A.12. UMA OPERAO COMPLETA, PASSO A PASSO ...................................................................... 157
A.13. CONFIGURAO DO ARQUIVO COM AS SEQNCIAS DE DNA.............................................. 164


127
A.1. Introduo
A.1.1. Objetivos
Este documento tem o objetivo de apresentar instrues sobre a forma de utilizao do
Projeto rvores Filogenticas para avaliao de seqncias de DNA a fim de encontrar as
rvores filogenticas que melhor exprimem os graus de parentesco entre as espcies.
Este trabalho foi baseado em Weir (1996). Grande parte das informaes necessrias
para implementar o mtodo da Mxima Verossimilhana no Projeto rvores Filogenticas,
foram encontradas em seu livro.

A.1.2. Pblico alvo deste documento
Este documento se destina s pessoas envolvidas em pesquisa gentica que requer a
realizao de inferncia filogentica.

A.2. Histrico
Data Verso Responsvel Alterao
16/02/2001 1.0.0 Oclair Prado Verso original deste documento
26/02/2001 1.0.1 Oclair Prado Incluso da operao passo a passo
10/08/2001 1.0.2 Oclair Prado Incluso da opo de gravar evoluo de fitness ao
longo das geraes
11/11/2001 1.0.3 Oclair Prado Alteraes realizadas aps reviso do Prof. Dr. Von
Zuben


128

A.3. Descrio Geral
Este sistema nasceu como uma forma de contribuio para o trabalho de pesquisadores
que buscam as rvores filogenticas que melhor expliquem os graus de parentesco entre as
espcies, baseados na anlise de seqncia de DNA.

A.4. Produtos do Sistema
Este sistema fornece as melhores rvores filogenticas para um grupo de seqncias de
DNAs.

A.5. Funcionalidades do Sistema
Busca as rvores filogenticas que melhor expliquem os graus de parentesco entre os
elementos pesquisados;
Efetua comparaes entre os trs modelos mais conhecidos: Jukes-Cantor (1969),
Felsenstein (1981) e Kimura (1980);
L e grava arquivos em formato texto com as seqncias de DNA dos elementos em
anlise;
Permite interromper a busca, gravar os dados e continuar em outra data;
Permite alterao de grande parte de seus parmetros de busca, podendo ser customizado
para melhor adequao aos objetivos do pesquisador.

A.6. Caractersticas do usurio
Todos os usurios do sistema devem ter noes bsicas do uso de microcomputador com
sistema operacional semelhante ao Windows da Microsoft.

A.7. Controle de Acesso Externo
O sistema no possui mdulo especfico para tratamento de segurana de acesso de
usurios.

129
A.8. Requisitos de Desempenho
A quantidade de elementos que o sistema pode tratar limitada apenas pela mquina
utilizada. Um equipamento com processador rpido e boa quantidade de memria RAM
recomendado.

A.9. Requisitos Funcionais
A.9.1. Busca as rvores filogenticas que melhor expliquem os graus de parentesco entre
os elementos pesquisados
A.9.1.1. Descrio
Conforme descrito por Weir (1996), a busca das melhores rvores filogenticas depende
muito do modelo de substituio de bases a ser utilizado. Atualmente, os principais modelos
so os de Jukes-Cantor (1969), Felsenstein (1981) e Kimura (1980).
Este sistema permite que a busca seja realizada pelo mtodo da Matriz de Distncias
(mtodo no baseado em modelo) ou pelo mtodo da Mxima Verossimilhana (mtodo
baseado em modelo).

A.9.1.2. Processamento
Primeiro, deve-se preparar o arquivo com os elementos a serem pesquisados com seus
nomes e seqncias de DNA. Depois de se iniciar o sistema, deve-se clicar no boto Iniciar
processamento. Esta busca ser realizada baseada no modelo solicitado na tela de parmetros
e ser realizada com apoio de tcnicas de Computao Evolutiva, o que permite maior agilidade
e rapidez na busca de boas solues dentre um grande nmero de candidatas. No entanto, no
h garantia de obteno da soluo tima.
Os resultados so apresentados nas abas Matriz de distncias e rvores da tela
principal do sistema.

A.9.1.3. Critrio de parada adotado pelo algoritmo gentico
Nesta verso do Projeto rvores Filogenticas, o algoritmo gentico encerra suas
iteraes quando as trs rvores com os maiores ndices de fitness forem iguais. Isto equivale a
dizer que ele para quando os trs melhores elementos forem idnticos. As simulaes
130
apresentadas a seguir, mostram que a populao perde sua capacidade de evoluir aps algum
tempo de processamento.
Em todos os casos analisados, este ponto de mximo sempre foi encontrado quando os
trs melhores elementos se tornaram iguais. A partir deste momento, nenhum elemento da
populao conseguiu ultrapassar os melhores elementos. A nica alterao visvel aps este
ponto, foi a melhora dos outros elementos da populao que tenderam a se aproximar do ponto
de mximo encontrado.
Todas as simulaes foram realizadas mantendo a populao fixa em 100 elementos para
a populao total e 100 elementos para a populao intermediria. A nica diferena que se
percebe entre os dois conjuntos de simulaes, foi o nmero da iterao em que os trs
melhores elementos foram encontrados. Este nmero variou em funo do nmero de folhas
(seqncias) analisadas e no em funo do critrio de parada selecionado.

Resultados encontrados com dez folhas (seqncias)
Na figura a seguir, pode ser observado que o ponto onde a populao perde sua
capacidade de evoluir coincide com o ponto onde os trs melhores elementos so iguais, ou
seja, na terceira gerao. Este comportamento se repetir ao longo das prximas figuras.


A prxima figura ressalta que no possvel melhorar o resultado aps o ponto em que
os trs melhores elementos so iguais. Nesta simulao, o critrio de parada foi alterado para
131
que o algoritmo gentico encerrasse suas iteraes quando os seis melhores elementos fossem
iguais. Novamente, aps a terceira gerao, a populao parou de evoluir.


Na figura a seguir, observamos que, aps a terceira gerao, a populao no mais
evoluiu. Tivemos apenas um aumento na quantidade de elementos que ocuparam a primeira
posio (fitness mais elevado). Nesta simulao, o critrio de parada foi alterado para que o
algoritmo gentico encerrasse suas iteraes quando os nove melhores elementos fossem
iguais.

132

Resultados encontrados com vinte folhas (seqncias)
Na figura a seguir, pode ser observado que o ponto onde a populao perde sua
capacidade de evoluir coincide com o ponto onde os trs melhores elementos so iguais. Este
comportamento j foi ressaltado para o caso de dez folhas e se repetir ao longo das prximas
figuras. Neste caso, a populao parou de evoluir aps a stima gerao.


Assim como foi encontrado no caso das dez folhas, descrito anteriormente, nesta figura
visualizamos que no possvel melhorar o resultado aps o ponto em que os trs melhores
elementos so iguais. Nesta simulao, o critrio de parada foi alterado para que o algoritmo
gentico encerrasse suas iteraes quando os seis melhores elementos fossem iguais. A nica
diferena em relao ao resultado apresentado para dez folhas foi a gerao em que os trs
melhores elementos se tornaram iguais. Neste caso, isto ocorreu na stima gerao.
133


Na figura a seguir, observamos que, aps a stima gerao, a populao no mais
evoluiu. Tivemos apenas um aumento na quantidade de elementos que ocuparam a primeira
posio (fitness mais elevado). Nesta simulao, o critrio de parada foi alterado para que o
algoritmo gentico encerrasse suas iteraes quando os nove melhores elementos fossem
iguais.


134
A.9.1.4. Concluses sobre o critrio de parada adotado pelo algoritmo gentico
A anlise dos dois conjuntos de simulaes permite concluir que o critrio de parada
adotado apresenta bons resultados, considerando a qualidade do resultado obtido e o tempo de
processamento necessrio.
Em todas as simulaes, tivemos apenas alteraes no nmero de geraes necessrias
para atingir o critrio de parada. O ponto de mximo se manteve constante, independente de se
parar quando encontrar os trs, seis ou nove primeiros elementos iguais.
Os grficos a seguir resumem os resultados encontrados em funo da quantidade de
geraes necessrias para atingir o critrio de parada e do tempo de processamento associado
ele.


necessrio ressaltar a alterao na escala de tempo do grfico relativo aos resultados
obtidos com as simulaes relativas s vinte folhas. O custo em funo do tempo de
processamento se mostrou muito alto nos dois casos, das dez de das vinte folhas. Isto era um
resultado esperado, pois foram necessrias mais iteraes (geraes) para que os elementos
medianos das populaes evolussem at alcanar o melhor elemento.
Devidos aos resultados apresentados, o algoritmo gentico encerra suas iteraes ao
quando os trs melhores elementos da populao forem iguais.

135
A.9.1.5. Diagrama de blocos do sistema
Esta verso do sistema foi totalmente realizada usando a linguagem Visual Basic 6, da
Microsoft.
A figura a seguir apresenta seus blocos funcionais.


Interface Homem-Mquina
A Interface Homem-Mquina bastante intuitiva, seguindo o padro Windows de controle
de botes e janelas. Esta a parte da ferramenta que interage diretamente com o usurio.
Serve como uma camada destinada a facilitar sua utilizao. Atravs dela, o usurio pode
selecionar os arquivos de seqncias a serem analisadas, o mtodo de busca, o modelo de
substituio de bases e os diversos parmetros do algoritmo gentico. Tambm este mdulo
que se encarrega de apresentar o resultado final do processamento ao usurio e permite sua
impresso e sua gravao em arquivo texto.

I/O Externo
Este o mdulo responsvel por administrar as atividades de leitura e gravao em
arquivo texto. O sistema deve ler as seqncias de bases a serem analisadas a partir de um
arquivo texto e, ao final do processamento, possvel gravar os resultados tambm em arquivo
texto. Este o mdulo que se encarrega de realizar estas operaes de entrada e sada de
informaes externas.

GA
O mdulo GA a parte central do Projeto rvores Filogenticas. Nele foi implementado o
algoritmo gentico que controla todo o processo de busca das rvores filogenticas. Para o
136
clculo do fitness de cada elemento, ele utiliza um dos seguintes mdulos, dependendo dos
parmetros configurados pelo usurio. Caso seja selecionado o mtodo da matriz de distncias,
ele usa o mdulo Matriz Distncias, caso seja selecionado o mtodo da mxima
verossimilhana, ele utiliza o mdulo Mxima Verossimilhana. Os operadores genticos, a
seleo natural, o critrio de parada tambm fazem parte deste mdulo.

Matriz Distncias
Este mdulo calcula o fitness das rvores usando o mtodo da matriz de distncias. Para
realizar esta tarefa, ele usa intensamente a teoria dos grafos. Os grafos foram implementados
internamente usando sua representao baseada em matriz de adjacncias. Isto permitiu obter
bom desempenho do sistema, pois os operadores de alteraes genticas foram preparados
para realizar suas operaes trabalhando sobre as colunas destas matrizes.

Mxima Verossimilhana
Este mdulo calcula o fitness das rvores usando o mtodo da mxima verossimilhana.
Este o mdulo que mais consome tempo de processamento em todo o sistema. Ele
encarregado de calcular a verossimilhana das rvores candidatas. Para esta operao,
necessrio otimizar os comprimentos dos ramos da rvore candidata. Isto realizado com o
uso de um mtodo de otimizao de primeira ordem, conhecido como Gradiente.
Este mdulo ser oportunamente convertido para a linguagem C, para melhorar o
desempenho global do sistema.

Estruturas de dados internas
Este mdulo representa as variveis e demais estruturas que o sistema utiliza durante o
processamento das seqncias de DNA. A mais relevante a matriz de adjacncias que
representa a rvore montada a partir das seqncias de DNA analisadas.

Consideraes sobre uso de memria em tempo de execuo
Como o tamanho da populao no varia ao longo da busca, o espao de memria
necessrio para o processamento tambm no sofre alteraes ao longo do processamento.
No foram observados excessivos acessos a disco em nossas execues utilizando um
Pentium II com 128 Megabytes de memria RAM.

137
Consideraes sobre a plataforma do sistema operacional
A verso atual do Projeto rvores Filogenticas est restrita aos sistemas operacionais do
tipo Windows da Microsoft.
A.9.2. Efetua comparaes entre os trs modelos de substituio de bases mais
conhecidos: Jukes-Cantor (1969), Felsenstein (1981) e Kimura (1980)
A.9.2.1. Descrio
A pesquisa pode ser realizada por um dos trs modelos, ou pelos trs, com posterior
avaliao dos resultados. A comparao realizada pelo clculo do Likelihood Ratio Test
(LRT) (Weir, 1996) dos melhores resultados encontrados em cada modelo.

A.9.2.2. Processamento
O sistema pesquisa as rvores que melhor expliquem os graus de parentesco entre os
elementos usando o modelo de Felsenstein (1981), e em seguida calcula os comprimentos dos
ramos da melhor rvore pelos modelos de Jukes-Cantor (1969) e de Kimura (1980).
Os resultados so apresentados na tela de Comprimentos do sistema.

A.9.3. L e grava arquivos em formato texto com as seqncias de DNA dos elementos
em anlise
A.9.3.1. Descrio
Para maior versatilidade, os dados so gravados em formato texto seguindo a sintaxe
descrita no final deste manual.

A.9.3.2. Processamento
Para realizar o processamento, o sistema necessita que os dados sejam informados na
ordem especificada no final deste manual. Como as informaes so gravadas em formato
texto, possvel disponibiliz-las usando qualquer editor de texto, o que simplifica o processo
de gerao de novas massas de dados para testes.

138
A.9.4. Permite interromper a busca, gravar os dados e continuar em outra data
A.9.4.1. Descrio
Como este processamento pode ser demorado, principalmente quando a quantidade de
elementos a ser pesquisada for muito grande, possvel que o processo de busca seja
interrompido e seus dados possam ser gravados em disco para posterior reincio da busca.

A.9.4.2. Processamento
Durante o processo de busca, permitido ao usurio interromper a execuo do
programa. Ele pode gravar os dados atuais em arquivo e recuperar este arquivo em outro dia
para dar seguimento aos trabalhos de sua pesquisa. Para estas operaes, foram criados os
botes de Leitura e Gravao de arquivos, alm dos botes de Iniciar e Parar a busca.

A.9.5. Permite alterao de grande parte de seus parmetros de busca, podendo ser
customizado para melhor adequao aos objetivos do pesquisador
A.9.5.1. Descrio
Como este sistema foi construdo baseado em Computao Evolutiva, ele requer a
definio de parmetros de busca e seleo de candidatos. Ele foi preparado com alguns
valores default, mas todos eles podem ser alterados para melhor atender s necessidades do
pesquisador. Em alguns casos, os valores default podem no ser os mais adequados e
precisam ser alterados para acelerar o processo de busca.

A.9.5.2. Processamento
Antes de iniciar o processamento, ou entre um processamento e outro, possvel acionar
a tela de parmetros e alterar seus valores. Deve-se tomar muito cuidado com estas alteraes
pois o efeito delas pode comprometer os resultados. Como a busca realizada usando tcnicas
de Computao Evolutiva, um ajuste, ainda que de pequeno valor, pode ter grande impacto no
resultado do processamento. Uma maneira de se minimizar os riscos alterar somente um
parmetro de cada vez e estudar os resultados.

A.10. Equipamento Cliente (mnimo)
1. Caractersticas: microprocessador Intel Pentium II, 300 Mhz, 128 Mbytes RAM, 1Gb de disco;
139
2. Sistema Operacional: Windows.

Esta configurao se mostrou suficiente para processar rvores com at 100 folhas (ou
espcies). Deve ser enfatizado que o nmero de folhas a ser analisado limitado apenas pela
quantidade de memria RAM disponvel. O espao em disco recomendado para armazenar
as seqncias e os resultados obtidos.

A.11. Telas do Sistema
A.11.1. Tela Principal
A.11.1.1. Entrada
Esta a tela principal do sistema. Nesta aba, so apresentados os elementos em anlise
e algumas informaes sobre a busca, tais como estratgia selecionada, tempo decorrido
durante o processamento, tempo limite para busca e outras informaes relevantes para o
acompanhamento da pesquisa.

140
A.11.1.2. Matriz de Distncias
Esta aba apresenta a matriz de distncias encontradas a partir das seqncias de DNA
dos elementos em anlise. A comparao sempre realizada tomando os elemento dois a dois.
Com isto, a diagonal principal ter sempre valor zero.


141
A.11.1.3. rvores
Os resultados da busca sero apresentados nesta aba. Para analisar os melhores
elementos, pode-se alterar a rvore apresentada nesta janela digitando a classificao do
elemento que se deseja examinar no quadro Classific.: na sua parte inferior ou alterando a
barra de rolagem de elementos. O fitness da rvore apresentada exibido no quadro Fitness
ao lado do quadro de classificao. As rvores, aps sua anlise, recebem um valor
correspondente ao seu fitness. Em seguida, elas so ordenadas e podem ser examinadas
usando os controles no final desta tela.


142
A.11.1.4. Likelihood Ratio Test (LRT)
Quando o usurio selecionar a estratgia de busca Comparativa na tela de parmetros,
os resultados podero ser visualizados em parte nesta aba e em parte na tela de
Comprimentos. Quando outra estratgia de busca for selecionada, estas telas ficaro em
branco.
A tela de Comprimentos pode ser ativada a partir desta aba clicando no boto
Comprimentos.


A.11.2. Tela de Parmetros
A.11.2.1. Estratgias globais
Nesta aba, pode ser selecionada a estratgia de busca a ser adotada, a quantidade limite
de geraes a serem criadas pelo sistema durante a busca, o tempo limite para esta busca e o
critrio de finalizao da busca.
O critrio de fitness automtico foi otimizado para atender maioria das necessidades e
fortemente recomendado. Caso se queira alterar para parar o processamento quando o sistema
atingir um fitness limite, deve-se tomar o cuidado de observar a alterao implcita contida na
estratgia de busca. Quando se utiliza a estratgia da matriz de distncias, o fitness tende a
diminuir e sempre positivo. Quando se utiliza a estratgia da mxima verossimilhana, o
143
fitness tende a crescer e sempre negativo. Quando se utiliza a estratgia mista, deve-se
utilizar o critrio automtico.



A.11.2.2. Processamento
Nesta aba, encontram-se os parmetros especficos para a Computao Evolutiva.
Maiores esclarecimentos podem ser encontrados na literatura especializada, como, por
exemplo, em Goldberg (1989), Michalewicz (1996) e Bck et al. (1997). Em particular, o
Captulo 2 desta dissertao apresenta os conceitos necessrios para identificar o papel de
cada parmetro.


144

O operador crossover para alteraes genticas requer dois elementos para combinar seu
DNA e gerar um terceiro com partes das seqncias de DNA dos anteriores. Este tipo de
operador no foi implementado neste software por necessitar de cuidados especiais a fim de
no comprometer a integridade dos novos elementos.
Os operadores implementados nesta verso, foram os relativos mutao de folhas (ou
elementos) e os relativos mutao entre sub-rvores. Os operadores de mutao executam
pequenas transformaes na seqncia de DNA de um elemento a fim de gerar um novo
descendente. Estes operadores foram implementados baseados em trocas de colunas da
matriz de adjacncias dos elementos.
O conceito da roleta foi aplicado desconsiderando o valor relativo dos elementos dentro
da populao a ser utilizada. Isto foi realizado utilizando um gerador de nmeros randmicos
que so utilizados para selecionar qualquer um dos elementos dentro da populao total. Os
operadores que atuam sobre o melhor elemento no utilizam este gerador de nmeros
randmicos uma vez que eles sempre operam sobre o melhor elemento da populao total.

A.11.2.3. Interface
Nesta aba, esto os parmetros para o limite de elementos nas populaes total e
intermediria que o sistema dever gerar durante o processo de busca das melhores rvores.
No existe restrio quanto ao valor de uma ser maior ou menor que o valor da outra. Uma vez
que estes valores estejam definidos, eles se mantm at o final do processamento. No existe
flutuao relativa quantidade de elementos das populaes. A partir da populao fixa, os
operadores de mutao geram os elementos da populao intermediria. Ao final de uma
iterao, os elementos das duas populaes so avaliados em funo de seu fitness e so
transferidos para a populao total da gerao seguinte, at que seja encontrada a situao de
parada.
145
Tambm esto aqui as opes para mostrar ou no a barra de botes e para mostrar ou
no a tela de parmetros no incio e reincio do processamento. Outra opo desta tela permite
determinar se o sistema dever armazenar os valores de fitness, ao longo das geraes, do
melhor elemento, do pior elemento e da mdia da populao.


A.11.2.4. Mtodo
O sistema permite que o usurio selecione um dos trs modelos mais conhecidos para a
pesquisa, ou selecione o mtodo Comparativo, o qual encontra os comprimentos pelos trs
modelos e executa a comparao descrita em Weir (1996) como Likelihood Ratio Test (LRT).
Os parmetros e somente sero habilitados quando for selecionado o mtodo
Somente Kimura ou Comparativo, pois no fazem sentido para os demais.

146


A.11.3. Tela de Comprimentos
Quando o usurio selecionar a estratgia de busca Comparativa na tela de parmetros,
os resultados podero ser visualizados em parte na aba Likelihood Ratio Test (LRT) da tela
principal e na tela de Comprimentos, apresentada a seguir. Quando outra estratgia de busca
for selecionada, estas telas ficaro em branco.
A tela de Comprimentos ser ativada automaticamente ao final do processamento, ou a
partir da aba Likelihood Ratio Test (LRT) da tela principal, clicando no boto Comprimentos.

147


A.11.4. Ler Arquivos
O sistema permite ler arquivos com os dados necessrios para a busca.
Todos os elementos devem estar relacionados neste arquivo, junto com suas respectivas
seqncias de DNA. Caso existam opes de execuo previamente selecionadas e gravadas
neste arquivo, elas sero armazenadas na tela de parmetros e sero utilizadas na continuao
da busca.

148



Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Ler arquivo no menu Arquivo.

A.11.5. Gravar Arquivos
O sistema permite que sejam gravados em arquivo todos os dados utilizados at o
momento na busca. Todos os elementos e todas as opes definidas na tela de parmetros
sero armazenados para futura consulta ou reincio da execuo.

149

Esta uma tela padro do Windows e no requer maiores explicaes. Ela permite
navegar pelo sistema de arquivos da mquina do usurio para a seleo do diretrio onde o
arquivo ser gravado.


Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Gravar arquivo no menu Arquivo.

A.11.6. Gravar Evoluo
O sistema permite que sejam gravados em arquivo todos os valores de fitness do melhor
elemento, do pior elemento e da mdia da populao ao longo de todas as geraes
processadas. Este arquivo, do tipo texto, pode ser facilmente importado pelo Excel para criar
grficos sobre o histrico do processo evolutivo.

150

Esta uma tela padro do Windows e no requer maiores explicaes. Ela permite
navegar pelo sistema de arquivos da mquina do usurio para a seleo do diretrio onde o
arquivo ser gravado.
Esta funcionalidade pode ser ativada pela opo Gravar evoluo no menu Arquivo.

A.11.7. Imprimir rvores
Esta opo ativada a partir do boto indicado na figura acima.


A tela a seguir no deve ser exibida para o usurio, ela ser copiada para a impressora
ativa e deve conter a rvore que estiver sendo exibida na aba rvores da tela principal.

151


A.11.8. Iniciar Busca das Melhores rvores
Esta opo inicia o processo de busca pelas melhores rvores para os DNAs dos
elementos informados. Esta busca dever parar quanto encontrar o critrio de parada definido
na tela de parmetros, ou quando for acionado o comando para interromper o processo,
conforme descrito na prxima seo.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Iniciar no menu Executar.
152

A.11.9. Parar Busca das Melhores rvores
O processo de busca das melhores rvores pode ser longo e alguns ajustes nos
parmetros podem ajudar a melhorar o desempenho do sistema. Para interromper o
processamento, foi criado o boto assinalado na figura a seguir. Aps o encerramento o
processo pode ser reiniciado novamente sem prejuzo das informaes encontradas at o
momento.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Parar busca no menu Executar.

A.11.10. Modificar Parmetros
Como este sistema foi construdo baseado em Computao Evolutiva, ele sensvel aos
parmetros de busca e seleo de candidatos. Ele foi preparado com alguns valores default,
mas todos eles podem ser alterados para melhor atender s necessidades do pesquisador. Em
alguns casos, os valores default podem no ser os mais adequados e precisam ser alterados. A
figura a seguir assinala o boto que aciona esta funcionalidade.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Parmetros no menu Executar.

153
A.11.11. Encerrar Sistema
Para encerrar o sistema, foi criado o boto assinalado na figura a seguir. O sistema ainda
far mais uma pergunta pedindo confirmao do usurio antes de tir-lo do ar.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Sair no menu Arquivo.

A.12. Uma Operao Completa, Passo a Passo
O incio de operao de um sistema normalmente um desafio para o qual contamos
com pouco apoio e escassa documentao. Esta seo foi preparada para ajudar nos primeiros
passos com todos os detalhes e explicaes necessrias para cada passo a ser seguido at a
obteno da rvore filogentica e demais resultados associados.

A.12.1. Preparar o Arquivo com as Seqncias de DNA
As seqncias de DNA devem ser escritas em formato texto, obedecendo sintaxe
apresentada no ltimo tpico deste manual.
Os tpicos obrigatrios so somente os dois primeiros do arquivo: [Cabec] e [DNA].
Quando no for possvel determinar algum dos parmetros do sistema deve-se informar
apenas at o tpico [Parametros] (exclusive). A partir deste ponto o sistema assume os
valores default e permite que o usurio os altere quando necessrio.
Como este o primeiro arquivo a ser processado, ele deve ser criado da seguinte
maneira.
Primeiro copie o texto do final deste manual at o tpico [Parametros] (exclusive) e
cole em um editor de texto qualquer. O arquivo resultante deve ficar com o contedo a seguir:
[Cabec]
Projeto rvores Filogenticas
Versao: 1.4 - Demonstrao
154
Data: 15/jan/2001
Autor: Oclair Prado
Seqncia em anlise: DNA de Mitocndrias
Elementos: 3
[DNA]
Sequencia_1
GTAAATGACA
Sequencia _2
ATAAATGACA
Sequencia _3
CTAAACAACA

O campo Seqncia em anlise: deve ser alterado de modo a informar o contedo da
seqncia de DNA em anlise. Esta informao ser mostrada na tela principal do aplicativo, j
comentada em sees anteriores.
O campo Elementos: deve conter a quantidade de elementos a serem estudados. Neste
caso temos trs elementos.
O tpico DNA contm as informaes sobre os elementos em anlise, sendo a primeira
linha reservada para a identificao do elemento e a segunda linha reservada para seu DNA.
muito importante para o sistema que este tpico esteja em estreita sintonia com o
anterior. Ele deve conter exatamente a quantidade de elementos informada para poder executar
a busca.
Aps os ajustes necessrios preciso gravar o arquivo. Como o sistema busca primeiro
no diretrio raiz do drive C:, recomendvel que este arquivo seja gravado em
C:\Entrada3_V14.arv. No existem restries quanto ao nome do arquivo, alm daquelas
impostas pelo sistema de arquivos do sistema operacional que estiver sendo utilizado. Ele pode
ser escolhido da maneira que melhor apoiar o trabalho do pesquisador.
O nmero de elementos e a quantidade de stios de DNA informados no tm limite, mas
afetam diretamente o desempenho do sistema, conforme j comentado em sees anteriores.

155
A.12.2. Iniciar a Busca
Aps preparar e gravar o arquivo com as seqncias de DNA, j estamos prontos para
iniciar a busca pelas melhores rvores.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Iniciar no menu Executar.

A.12.3. Ajustar os Parmetros
Em seguida, apresentada a tela de parmetros para que o pesquisador possa ajustar os
detalhes da busca. Ela aparece preenchida com os valores default para acelerar o trabalho.
importante ressaltar que o sistema dar maior prioridade para os parmetros gravados
no arquivo de dados e ir ignorar qualquer configurao diferente da que estiver gravada.
Para alterar os parmetros de um arquivo existem duas opes:
(a) Carregar o arquivo desejado no sistema, alterar os parmetros desejados e grav-lo
novamente ou
(b) Carregar o arquivo desejado no sistema, executar o processamento completa ou
parcialmente e alterar os parmetros desejados. Na prxima execuo quando o sistema
perguntar se deve ou no ler o arquivo de dados basta dizer no e ele ir respeitar os
parmetros alterados. Se for desejado, pode-se gravar o arquivo com os novos parmetros para
futura execuo.
156
Esta tela ir aparecer em todas as execues, at que seja desmarcada a opo que
pede para que ela aparea, conforme descrito na tela a seguir:

Como pode ser observado, a barra de botes tambm pode ser removida a critrio do
usurio que estiver operando o sistema. Caso o usurio queira ver novamente a barra de
botes, ele deve ativar a opo Parmetros no menu Executar e marcar esta opo
novamente.
Os detalhes desta tela encontram-se na seo A.11.3 Tela de Comprimentos deste
manual.

157
A.12.4. Ler Arquivo de Dados
A seguir, o sistema solicita o nome do arquivo de dados para a busca.

Esta uma tela padro do Windows e no requer maiores explicaes. Ela permite
navegar pelo sistema de arquivos da mquina do usurio para a seleo do arquivo desejado.
Se o usurio clicar no boto Cancel o sistema pra a busca e aguarda o prximo
comando.
Para prosseguir deve-se selecionar o arquivo de dados e clicar no boto Open.

A.12.5. Examinar os Resultados
Dependendo das opes selecionadas, os resultados sero apresentados somente na
tela principal ou tambm na tela de Comprimentos.
Se no for selecionado o mtodo de clculo Comparativo na tela de parmetros, os
resultados sero mostrados somente na tela principal, sendo que a aba Likelihood Ratio Test
(LRT) desta tela e a tela Comprimentos ficaro em branco.
Se for selecionado o mtodo de clculo Comparativo na tela de parmetros, todas as
telas de resultados sero preenchidas com informaes relevantes para a pesquisa.
Maiores detalhes sobre os resultados podem ser obtidos na seo A.11. Telas do Sistema
deste manual.

158
A.12.6. Imprimir Uma rvore
O sistema permite impresso de uma rvore. Ser impressa a rvore que estiver ativa na
aba rvores da tela principal do sistema.

Esta opo do sistema tambm pode ser ativada pela opo Imprimir do menu
Arquivo.

A.12.7. Gravar Arquivo Com os Dados
O sistema permite que sejam gravados em arquivo todos os dados utilizados at o
momento na pesquisa. Todos os elementos e todas as opes definidas na tela de parmetros
sero armazenados para futura consulta ou reincio da pesquisa.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Gravar arquivo no menu Arquivo.

159
A.12.8. Parar a Busca
O processo de busca das melhores rvores pode demorar e alguns ajustes nos
parmetros podem ajudar a melhorar a performance do sistema. Para interromper o
processamento foi criado o boto assinalado na figura a seguir. Aps o encerramento o
processo pode ser reiniciado novamente sem prejuzo das informaes encontradas at o
momento.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Parar busca no menu Executar.

A.12.9. Reiniciar a Busca
O reincio e incio so ativados pelo mesmo boto, assinalado na figura a seguir.
O sistema permite que a busca seja reiniciada aps sua interrupo ou finalizao. Esta
funcionalidade particularmente til quando se deseja estudar o impacto causado pela
alterao de algum parmetro ou quando se deseja examinar um novo conjunto de elementos.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Iniciar no menu Executar.

160
A.12.10. Encerrar Sistema
Para encerrar o sistema foi criado o boto assinalado na figura a seguir. O sistema ainda
far mais uma pergunta pedindo confirmao do usurio antes de tir-lo do ar.

Esta funcionalidade pode ser ativada a partir do boto assinalado na figura anterior e
tambm pela opo Sair no menu Arquivo.

A.13. Configurao do Arquivo com as Seqncias de DNA
Os tpicos obrigatrios so somente os dois primeiros do arquivo: [Cabec] e [DNA].
Quando no for possvel determinar algum dos parmetros do sistema deve-se informar
apenas at o tpico [Parametros] (exclusive). A partir deste ponto, o sistema assume os valores
default e permite que o usurio os altere quando necessrio.

[Cabec]
Projeto rvores Filogenticas
Versao: 1.4 - Demonstrao
Data: 15/jan/2001
Autor: Oclair Prado
Seqncia em anlise: DNA de Mitocndrias
Elementos: 3
[DNA]
Sequencia_1
GTAAATGACA
Sequencia_2
ATAAATGACA
Sequencia_3
CTAAACAACA
[Parametros]
Metodo: 3
Alfa: .6
Beta: .3
161
Pop. total: 3
Pop. interm.: 3
Limite de iterac.: 100
Melhores elementos: 40
Piores elementos: 10
Mostrar param.: 0
Mostrar bot.: 1
Estrat. busca.: 2
Fit. ideal: .1
Troca folha RW: 20
Troca folha ME: 30
Troca arv. RW: 20
Troca arv. ME: 30
Limite horas: 10
Limite minutos: 0
[Populacao]
4*3*.232334734391942*4*5*.264756190936621*5*1*8.26909161713267E-
02*5*2*9.21986494892598E-02*
4*3*0*4*5*0*5*1*0*5*2*0*
4*3*0*4*5*0*5*1*0*5*2*0*

A populao gravada usando o conceito de matriz de adjacncias. Cada elemento
representado internamente por um grafo e as coordenadas de sua matriz de adjacncias so
gravadas nesta parte do arquivo. Eles so gravados em conjuntos de trs informaes,
separadas por um asterisco, sendo que a primeira corresponde ao n pai, a segunda
corresponde ao n filho e a terceira corresponde ao comprimento da aresta que une pai e filho.
Por exemplo, o primeiro conjunto, representado por 4*3*.23233473439142, informa ao
sistema que o n 4 pai do n 3 e a aresta que os une tem comprimento igual a
0,23233473439142.












162






















163
Apndice B


Clculo do nmero de rvores, ramos e ns de uma rvore
B.1 Clculo do nmero de rvores, ramos e ns de uma rvore dado o nmero de
folhas
Segundo Nei & Kumar (2000), em geral, o nmero de possveis topologias para uma
rvore bifurcada com raiz, de tamanho igual a n elementos (ou folhas), dado por:
)! 2 ( 2
)! 3 2 (
] 5 ) 1 ( 2 [ ) 3 2 ( ... 5 3 1
2
2

n
n
i n
n
n
i

para 2 n (Cavalli-Sforza & Edwards, 1967). Isto indica que os nmeros de topologias
para n 2, 3, 4, 5 e 6 so 1, 3, 15, 105 e 945, respectivamente. Quando n 10, temos
425 . 459 . 34 17 15 13 11 9 7 5 3 1 .
Em uma rvore bifurcada com raiz, o nmero de ramos internos e o de ns internos so
2 n e 1 n , respectivamente, e o nmero total de ramos 2 2 n .

Demonstrao
Para duas folhas (n = 2) existe apenas uma topologia possvel.

A terceira folha a ser inserida pode se combinar com cada um dos trs ns, formando
sempre rvores diferentes
164

A quarta folha a ser inserida pode se combinar com cada um dos cinco ns, e assim
sucessivamente, at a ensima folha que poder se combinar com cada um dos 3 2 n ns.
Este processo pode ser representado pelo produtrio que foi simplificado usando fatorial,
conforme exibido a seguir.


n
i
i n
2
] 3 2 [ ) 3 2 ( ... 5 3 1

Multiplicando o numerador e o denominador da expresso anterior por
) 2 ) 1 ( 2 ( * ) 2 ) 2 ( 2 ( * ... * 8 * 6 * 4 * 2 ] 2 2 [
1
2

n n k
n
k
, teremos:

) 4 2 ( * ) 6 2 ( * ... * 6 * 4 * 2
) 3 2 ( * ) 4 2 ( * ... * 6 * 5 * 4 * 3 * 2 * 1
) 2 ) 1 ( 2 ( * ) 2 ) 2 ( 2 ( * ... * 6 * 4 * 2
) 3 2 ( * ) 2 ) 1 ( 2 ( * ... * 6 * 5 * 4 * 3 * 2 * 1



n n
n n
n n
n n


O numerador pode agora ser substitudo por )! 3 2 ( n .

) 4 2 ( * ) 6 2 ( * ... * 6 * 4 * 2
)! 3 2 (

n n
n


Como temos 2 n fatores no denominador onde aparece o 2, podemos realizar seu
isolamento, que passar a valer
2
2
n
, e a frmula pode ser escrita da seguinte maneira:

)] 2 ( * ) 3 ( * ... * 2 * 1 [ * 2
)! 3 2 (
2

n n
n
n


165
Finalmente, substituindo no denominador )] 2 ( * ) 3 ( * ... * 3 * 2 * 1 [ n n por )! 2 ( n ,
retornamos frmula que gostaramos de demonstrar:

)! 2 ( 2
)! 3 2 (
] 3 2 [ ) 3 2 ( ... 5 3 1
2
2

n
n
i n
n
n
i

































166







167
Apndice C


Estruturas de dados
C.1 Introduo
Estruturas de dados so os blocos construtores (building blocks) dos algoritmos de
computadores (Manber, 1989). O projeto de um algoritmo parecido com o de um edifcio.
necessrio colocar todos os aposentos juntos, da maneira mais eficiente possvel, de acordo
com o propsito do edifcio. Para atender neste requisito, no basta somente o conhecimento
sobre funcionalidade, eficincia, forma e beleza. necessrio conhecimento completo sobre as
tcnicas de construo. Projetar um quarto flutuando no ar pode atender ao resultado esperado
mas sua implementao na prtica impossvel. Outras idias mirabolantes podem at ser
possveis, porm muito caras. Da mesma forma, o projeto de um algoritmo deve ser baseado
em slida compreenso das tcnicas de estruturas de dados e seus custos (Manber, 1989).
Neste apndice, ser realizada uma reviso das estruturas de dados bsicas
normalmente utilizadas em informtica e que serviram de base para o desenvolvimento do
Projeto rvores Filogenticas, utilizado para esta pesquisa.
C.2 Estruturas de dados elementares
C.2.1 Elemento
A noo de elemento neste apndice a de um nome genrico para um tipo de
dado no especfico. Um elemento pode ser um inteiro, um conjunto de inteiros, um
arquivo no formato texto ou outra estrutura de dados. Ser usada a noo de elemento
em todas os lugares onde o tipo de dado for irrelevante (Manber, 1989).






168
C.2.2 Vetor
Um vetor uma linha de elementos do mesmo tipo. O tamanho do vetor igual ao
nmero de seus elementos e deve ser fixo. A rea de memria alocada para um vetor
sempre consecutiva. Se o primeiro byte de um vetor estiver alocado na posio X da
memria, ento o K-simo byte deste vetor estar alocado na posio X + K - 1.
Conseqentemente, fcil calcular a posio inicial de cada elemento de um vetor
(Manber, 1989).
De acordo com Manber (1989), vetores so muito eficientes e muito comuns. Todo
elemento de um vetor apresenta tempo de acesso constante, independente de ser o
primeiro ou o ltimo. As principais desvantagens do uso de vetores so:
(a) no possvel armazenar elementos de tipos diferentes em um mesmo
vetor e
(b) o tamanho de um vetor no pode ser alterado dinamicamente.

Ao contrrio de vetor, a lista pode ter seu tamanho alterado em tempo de execuo
de um programa. Este tipo de estrutura de tamanho varivel ser analisado no item C.2.4
Lista Ligada.
C.2.3 Registro
Registros so semelhantes aos vetores, exceto por no assumirmos que todos os
seus elementos sejam do mesmo tipo. Assim como nos vetores, o tamanho necessrio
para o armazenamento de um registro conhecido a priori. Qualquer elemento de um
registro pode ser acessado em tempo constante, ou seja, o tempo de acesso o mesmo
para qualquer elemento de um registro. Semelhante aos vetores, os registros tambm so
armazenados em pores consecutivas de memria e tambm no podem ter seu
tamanho alterado de maneira dinmica (Manber, 1989).




169


C.2.4 Lista ligada
As listas ligadas so as mais simples formas de estruturas de dados dinmicas.
Existem muitas aplicaes em que o nmero de elementos de uma lista deve ser alterado
dinamicamente. possvel definir todos os elementos como sendo vetores (ou registros)
grandes o bastante para assegurar espao de memria suficiente para todos os
elementos a serem usados. Esta freqentemente uma boa soluo, mas, claro, isto
no muito eficiente por necessitar de espao em memria de acordo com o pior caso (e,
em muitos casos, o pior caso nem conhecido). Complementando, existem casos em que
necessrio inserir ou remover um novo elemento no meio da lista. Se estivermos
usando vetores e for necessrio inserir um novo elemento no meio, teremos que mover
todos os outros elementos (Manber, 1989).
Para inserir novos elementos ou remover os j existentes necessrio abandonar a
representao consecutiva dos vetores. Ao contrrio, cada elemento deve ser
representado separadamente, e todos os elementos so conectados atravs do uso de
apontadores (ou ponteiros). Um apontador simplesmente uma varivel que contm o
endereo de outro elemento. Uma lista ligada uma lista de pares, sendo que cada um
composto por um elemento e um apontador, de modo que cada apontador contenha o
endereo do prximo par. Cada um destes pares representado por um registro. Uma
lista ligada pode ser percorrida seguindo os endereos dos apontadores. Este percurso
dever ser sempre linear. Isto significa que no possvel acessar diretamente cada um
dos elementos, necessrio percorrer a lista ordenadamente iniciando pelo primeiro
elemento at chegar no elemento desejado (Manber, 1989).




170
Segundo Manber (1989), existem duas grandes desvantagens com esta
representao de lista ligada:
(a) Ela requer mais espao por necessitar de um apontador para cada
elemento da lista e
(b) Se desejarmos verificar o contedo do trigsimo elemento, deveremos
iniciar a busca pelo incio da lista e passar pelos outros 29 elementos
anteriores, um de cada vez.


C.3 Pilha
Conforme pode ser verificado em Horowitz & Sahni (1984), pilha (stack) uma das
estruturas de dados mais comuns nos algoritmos de computao.
Pilha uma lista ordenada na qual todas as inseres e retiradas so feitas numa
extremidade, chamada topo (Horowitz & Sahni, 1984).
A restrio de uma estrutura de dados do tipo pilha implica que os seus elementos A, B,
C, D e E so acrescentados nesta ordem pilha e ento o primeiro elemento a ser
retirado/suprimido deve ser E. Em outras palavras, podemos dizer que o ltimo elemento a ser
inserido na pilha ser o primeiro a ser retirado. Por esta razo, as pilhas tambm podem ser
referenciadas como listas Last In First Out (LIFO) (Horowitz & Sahni, 1984).
Um exemplo natural do uso de pilha que surge na programao de computador o
processamento de chamadas de sub-rotinas e seus retornos. Quando o processo principal
executa uma rotina, ele primeiro empilha o endereo de retorno para que o processador possa
saber para onde dever devolver o controle de execuo aps terminar a execuo da rotina
invocada (Horowitz & Sahni, 1984). Esta implementao usando pilha permite o uso de
subrotinas recursivas.




171


C.4 Fila
Conforme descrito por Horowitz & Sahni (1984), fila (queue), assim como pilha, um dos
tipos mais comuns de estruturas de dados usados em algoritmos de computao.
Fila uma lista ordenada na qual todas as inseres ocorrem numa extremidade, a
frontal, enquanto que todas as retiradas ocorrem na outra extremidade, a traseira (Horowitz &
Sahni, 1984).
As restries sobre uma estrutura de dados do tipo fila exigem que o primeiro elemento
inserido na fila seja o primeiro a ser removido. Assim, as filas so conhecidas como listas Fist In
Last Out (FILO) (Horowitz & Sahni, 1984).
Um exemplo muito comum do uso de estruturas de dados do tipo fila o de planejar
servios. Em processamento de lotes, os servios so enfileirados na medida em que so
preparados na entrada, e executados um aps o outro, na mesma ordem em que foram
recebidos (Horowitz & Sahni, 1984).






172
C.5 rvores
A nica forma de organizao que vetores e listas ligadas so capazes de representar a
ordenao de seus elementos. Existem muitas aplicaes que requerem outras formas de
organizao. rvores tambm so capazes de representar hierarquia. Elas tambm servem
como uma estrutura de dados mais eficiente para certas operaes que requerem estruturas
lineares (Manber, 1989).
Uma rvore com raiz um conjunto de elementos chamados ns (ou vrtices) junto com
um conjunto de arestas que conectam os elementos de uma forma especial (veja Figura C.7).
Um n a raiz (o topo da hierarquia). A raiz conectada aos outros ns, que representam o
nvel 1 da hierarquia; eles, por sua vez, so conectados aos ns no nvel 2, e assim por diante.
Todas as conexes so entre ns e seus superiores diretos (normalmente chamados pais).
Somente a raiz no possui pai. A principal propriedade das rvores que elas no possuem
ciclos. Como um resultado, existe somente um caminho entre qualquer par de ns de uma
rvore (Manber, 1989).
Um n conectado ao seu pai e a alguns filhos. O nmero mximo de filhos de qualquer
n chamado de grau da rvore. O caso especial de rvore de grau 2 chamado de rvore
binria e identificamos os filhos por esquerdo e direito. Um n sem filhos chamado de
folha. Um n que no folha chamado simplesmente de n interior. A altura de uma rvore
igual ao seu nvel mximo, tambm chamado de distncia mxima entre a raiz e as folhas
(Manber, 1989).


C.6 Grafos
Um grafo ) , ( E V G consiste em um conjunto V de ns (tambm chamados vrtices) e
de um conjunto E de arestas. Cada aresta corresponde a um par de ns. As arestas
representam relacionamentos entre os ns. Por exemplo, um grafo pode representar um




173
conjunto de pessoas e as arestas podem conectar duas pessoas que se conheam. Um grafo
pode ser dirigido ou no dirigido. As arestas em um grafo dirigido so pares ordenados pois a
ordem entre dois ns conectados pela aresta importante. Neste caso representamos a aresta
como sendo uma seta apontando de um n (cauda) para outro (cabea). Os ns em um grafo
no dirigido so pares desordenados. rvores so exemplos de grafos com um caminho nico
entre os ns. A Figura C.8 apresenta as principais representaes grficas de grafos. A primeira
representao a matriz de adjacncias de um grafo (Figura C.8 (a)). Seja n V | | , a matriz
de adjacncias de G uma matriz
nxn
A tal que 1
ij
a se e somente se E v v
j i
) , ( , caso
contrrio 0
ij
a . A maior desvantagem da matriz de adjacncias o espao de memria
necessrio para sua representao. Ser sempre
2
n , independente do nmero de vrtices ou
de arestas. Por exemplo, o nmero de arestas em uma rvore 1 n e estas arestas podem
ser representadas por um ou dois apontadores por vrtice. Usando matriz de adjacncias, cada
vrtice possui um vetor associado de tamanho n . Se o nmero de arestas for pequeno, a
maioria dos elementos da matriz de adjacncias ser zero (Manber, 1989).


O grafo representado na Figura 8 (b), do tipo dirigido, pois suas arestas indicam uma
direo nica entre os ns. Por exemplo, possvel caminhar do n 2 at o n 1, mas no
possvel ir direto do n 1 para o n 2.
C.7 Concluses
As estruturas de dados podem ser divididas em estticas e dinmicas. Vetores so
estruturas estticas. O tamanho de um vetor deve ser conhecido antes de iniciarmos seu uso e
ele no pode ser estendido. Por outro lado, acessar um vetor muito eficiente. Listas ligadas




174
so estruturas dinmicas. Elas podem facilmente ter seu tamanho estendido ou reduzido. Elas
podem ter qualquer tamanho dentro dos limites do sistema operacional e do total de memria
disponvel (Manber, 1989).
Estruturas de dados podem tambm ser divididas em unidimensionais e
multidimensionais. Vetores e listas ligadas so unidimensionais. A nica forma de organizao
que eles podem representar uma possvel ordenao entre seus elementos. rvores
representam um pouco mais do que somente uma forma de organizao, elas podem
representar hierarquia. Grafos podem representar formas de ordenao ainda mais elaboradas
do que as rvores (Manber, 1989).

Você também pode gostar