Академический Документы
Профессиональный Документы
Культура Документы
por serem hereditárias, serão transmitidas aos seus Como resultado do seu trabalho, em 1975, Holland edita
filhos; [2] e, em 1989, David Goldberg edita [1], hoje
6. Através dessa seleção natural, as espécies serão considerados os livros mais importantes sobre AG’s.
representadas por indivíduos cada vez mais adaptados.
O principal problema da teoria darwiniana foi a falta de V. O ALGORITMO GENÉTICO
uma teoria satisfatória que explicasse a origem e a Os Algoritmos Genéticos ocupam lugar de destaque
transmissão das variações. entre os paradigmas da Computação Evolutiva devido a
Darwin não conseguiu responder adequadamente estas uma série de razões dentre as quais:
críticas e, somente com a posterior descoberta das Leis de 1. Apresentam-se como o paradigma mais completo da
Mendel e das Mutações, foi que esses problemas puderam Computação Evolutiva visto que englobam de forma
ser resolvidos. Apesar disso, não há dúvida de que a teoria simples e natural todos os conceitos nela contidos;
moderna da evolução deve mais a Darwin do que a 2. Apresentam resultados bastante aceitáveis, com
qualquer outro cientista, e seu conceito de seleção natural relação à precisão e recursos empregados (fáceis de
continua válido até hoje. implantar em computadores domésticos de porte
B. Seleção Natural médio), para uma ampla gama de problemas de difícil
resolução por outros métodos;
A idéia básica de seleção natural foi apresentada por
3. São muito flexíveis, aceitam sem grandes dificuldades
Charles Darwin e representa uma das maiores conquistas
uma infinidade de alterações na sua implementação e
no campo científico, particularmente, na ciência biológica.
permitem fácil hibridização (vantagem importante no
É o mecanismo de seleção que impõe uma certa ordem ao
caso de aprendizagem) inclusive com técnicas não
processo de evolução.
relacionadas à Computação Evolutiva;
A primeira parte do processo, se caracteriza pela
4. Em relação aos outros paradigmas da Computação
obtenção de variedade genética e é realizada ao acaso. Já a
Evolutiva, são os que exigem menor conhecimento
Segunda parte, composta pela seleção, é em certo grau
específico do problema em questão para o seu
determinada pelos fatores ecológicos do ambiente.
funcionamento , o que os torna altamente versáteis e,
Através da seleção natural, a freqüência de um gene
além disso, agregam conhecimento específico com
vantajoso aumenta gradativamente na população. A
pouco esforço;
vantagem conferida pelo gene pode se refletir em um
5. São o paradigma mais usado dentro da Computação
maior tempo de sobrevivência do indivíduo, aumentando
Evolutiva e, junto com as Redes Neurais, os mais
assim a quantidade de filhos que ele produz. Pode implicar
usados de toda a Computação Natural.
também uma fertilidade maior do indivíduo que, mesmo
Na prática, nós podemos implementar facilmente um
sobrevivendo menos tempo, poderá deixar um número
AG com o simples uso de strings de bits, no caso da
maior de filhos que seu competidor. Finalmente, o gene
codificação binária, ou caracteres para representar os
poderá aumentar a sua freqüência se ele fornecer ao
cromossomos e, com simples operações de manipulação de
indivíduo maior capacidade de proteção. Assim, mesmo se
bits podemos implementar cruzamento, mutação e outros
ele tiver menos filhos, suas chances de atingir a época de
operadores genéticos. Na fig. 1, podemos ver a
reprodução serão maiores.
simplicidade de representação de um indivíduo composto
por cinco cromossomos (as variáveis do problema), cada
IV. REVISÃO HISTÓRICA
um composto por seis genes (codificação binária
A. Precursores dos AG’s utilizando-se seis bits), por meio de uma string de valores
binários.
A primeira tentativa de representação, por meio de um
modelo matemático, da teoria de Darwin, surgiu com o
110000 010101 101001 110100 001101
livro The Genetic Theory of Natural Selection, escrito pelo
Fig. 1. Representação binária de um indivíduo de cinco cromossomos (cinco
biólogo evolucionista R. A. Fisher. A evolução era, tal variáveis), cada cromossomo contendo seis genes.
como a aprendizagem, uma forma de adaptação, diferindo
apenas na escala de tempo. Em vez de ser o processo de O pseudocódigo de um AG básico é mostrado a seguir.
uma vida, era o processo de gerações. Como era feita em Nele podemos ver que os AG’s começam com uma
paralelo por um conjunto de organismos, tornava-se mais população de N estruturas aleatórias (indivíduos), onde
poderosa que a aprendizagem. cada estrutura codifica uma solução do problema. O
A seguir, John Holland dedicou-se ao estudo de desempenho de cada indivíduo é avaliado com base numa
processos naturais adaptáveis, tendo inventado os AG’s em função de avaliação de aptidão. Os melhores tenderão a ser
meados da década de 60. Ele desenvolveu os AG’s em os progenitores da geração seguinte, melhorando, de
conjunto com seus alunos e colegas da Universidade de geração para geração, através da troca de informação.
Michigan nos anos 60 e 70, com o objetivo de estudar
Algoritmo Genético:
formalmente o fenômeno da adaptação como ocorre na t 0;
natureza, e desenvolver modelos em que os mecanismos da IniciaPopulação P(t);
adaptação natural pudessem ser importados para os Avalia P(t);
enquanto não parada faça
sistemas computacionais. t t+1;
P’ SelecionaPares P(t);
Recombina P’;
Muta P’;
3
do AG em relação às outras técnicas é o uso do métodos de seleção que força os AG’s a reterem um certo
cruzamento. número de “melhores” indivíduos em cada geração. Tais
O operador Cruzamento é utilizado após o de seleção. indivíduos podem ser perdidos se eles não forem
Esta fase é marcada pela troca de segmentos entre “casais” selecionados para reprodução ou se eles forem destruídos
de cromossomos selecionados para dar origem a novos por cruzamento ou mutação. Muitos pesquisadores têm
indivíduos que formarão a população da próxima geração. encontrado no elitismo vantagens significativas para a
A idéia central do cruzamento é a propagação das performance dos AG’s [3].
características dos indivíduos mais aptos da população por O Elitismo consiste basicamente em realizar a etapa de
meio de troca de informações entre os mesmos o que dará seleção em duas partes:
origem a novos indivíduos. 1. Seleciona-se uma elite de E membros entre os
Existem dois tipos mais comuns de reprodução sexual melhores da população inicial, os quais serão
em AG’s, que dependem do tipo de representação das incorporados diretamente à população final, sem
variáveis. passar pela população auxiliar;
1) Cruzamento Binário 2. A população auxiliar é selecionada entre os N - E
Na representação binária pode-se escolher um ponto de membros restantes da população inicial.
“quebra” da string de bits e trocar os segmentos entre os Em geral, a elite tem um tamanho reduzido, 1 ou 2 para
dois indivíduos, gerando dois indivíduos diferentes. N=50, e a sua amostragem pode ser direta, escolhendo-se
2) Cruzamento Real simplesmente os melhores, ou por sorteio, escolhendo-se
No cruzamento real é traçado um segmento de reta os melhores entre os melhores da população. O esquema
unindo os dois pontos (indivíduos). São gerados gráfico do Elitismo pode ser visualizado na fig. 3.
aleatoriamente dois novos indivíduos sobre este segmento
População
de reta. Seleção Auxiliar
Pode-se criar um mecanismo de extrapolação, em que
este segmento de reta tem suas extremidades não em cima
de cada parceiro, mas um pouco além destes. Podemos Elite
também aplicar maior probabilidade dos descendentes População Transformação
C. Mutação
Fig. 3. Esquema gráfico da estrutura de um AG com Elitismo.
A mutação é geralmente vista como um operador de
“background”, responsável pela introdução e manutenção VII. O PROBLEMA DA DIVERSIDADE DOS AG’S
da diversidade genética na população [2]. Ela trabalha
Um ponto fundamental para o bom funcionamento de
alterando arbitrariamente um ou mais componentes de
um AG é a existência de diversidade entre os indivíduos.
uma estrutura escolhida entre a descendência, logo após o
Ou seja, deve existir um certo grau de diversidade entre as
cruzamento, fornecendo dessa forma meios para a
aptidões dos indivíduos que compõe o conjunto de
introdução de novos elementos na população. Assim, a
possíveis soluções pois, do contrário, com um conjunto de
mutação assegura que a probabilidade de se chegar a
indivíduos muito semelhantes, o operador de cruzamento
qualquer ponto do espaço de busca nunca será zero. O
perde em muito a capacidade de troca de informações úteis
operador de mutação é aplicado aos indivíduos com uma
entre os indivíduos da população o que faz a busca em
probabilidade dada pela taxa de mutação. Como foi visto
certos casos progredir muito lentamente ou praticamente
no item Parâmetros Genéticos, geralmente se utiliza uma
estacionar.
taxa de mutação pequena, justamente por ser um operador
A necessidade de ter a diversidade controlada dentro de
genético secundário. O operador de mutação também
uma determinada população tem, como um dos seus
depende do tipo de representação utilizada.
maiores obstáculos, a necessidade de populações finitas e
1) Mutação Binária
não muito grandes. Caso contrário, uma técnica de AG
Na representação binária podemos realizar a mutação
poderia tornar-se não aplicável na prática, visto que,
simplesmente escolhendo aleatoriamente um bit para
controlar uma população absurdamente grande, a qual
sofrer mutação, ou seja, ser mudado. A mudança de um bit
tenha cálculos muito complexos para determinar a aptidão,
no indivíduo pode fazê-lo representar outro ponto
poderia ocasionar um esforço computacional muito grande.
completamente diferente do espaço.
Devemos lembrar que o esforço computacional será
2) Mutação Real
relativo ao tipo de aplicação pois, por exemplo, se tratando
Na representação real, podemos realizar a mutação
do controle de um robô móvel que dependa de respostas
mudando o indivíduo para outro ponto do espaço de acordo
em tempo real para desvio de obstáculos, um atraso de 1
com uma probabilidade gaussiana de média no próprio
segundo na tomada de uma decisão pode ser catastrófico.
indivíduo e com um certo desvio padrão dado.
Em suma, para que a seleção seja efetiva, a população
D. Elitismo deve conter, a todo instante, uma certa variedade de
O método mais utilizado para melhorar a convergência aptidões, o que, como foi visto com relação ao tamanho da
dos AG’s é o Elitismo. Ele foi primeiramente introduzido população, implica também em não ter uma disparidade
por Kenneth De Jong em 1975 e é uma adição aos vários muito grande de aptidões, pois costuma afetar
6
1.5 X. COMPARAÇÃO
1 Vamos comparar a técnica de geração da população
0.5
inicial que propusemos na seção anterior com a
Inicialização Aleatória. Vamos submeter dois algoritmos
0
0 1 2 3 4 5 6 7 genéticos, que diferem na maneira de gerar a população
Coordenada x1
inicial, à seguinte função teste, ilustrada na fig. 6.
Fig. 5. População após a perturbação aleatória.
Amostras
30
população cobre todo o espaço de busca e não há
concentração de indivíduos em uma determinada região. 20
Evoluç ã o da Populaç ã o Inicial para a Final
3
10
0
0 20 40 60 80 100 120 140 160 180 200
1 Nú m e r o d e G e r a ç õ e s
da população.
0
XII. CONCLUSÕES [3] MITCHELL, Melanie. “An Introduction to Genetic Algorithms” MIT
Press Massachusetts, 1996.
A partir dos resultados podemos observar que a técnica [4] JANG, Jyh-Shing R., SUN, Chuen-Tsai, MIZUTANI, Eiji. “Neuro-
proposta neste trabalho para gerar a população inicial do Fuzzy and Soft Computing” Prentice Hall, Inc., 1997.
[5] Notas de Aula da disciplina “Otimização”
algoritmo genético contribui para uma melhor eficiência
do algoritmo. Conforme se pode observar nos dados
anteriores, a técnica proposta obteve, na média, um
número menor de gerações para atingir a solução do
problema. Além disso, entre as cem rodadas do algoritmo,
o maior número de gerações obtido foi menor do que na
inicialização aleatória. A solução ótima foi encontrada, no
geral, com um número menor de gerações na maioria das
vezes, mostrando que a técnica proposta possui uma
convergência mais rápida para o ótimo global. Isto pode
ser visualizado nos histogramas da fig. 8 e da fig. 9.
Entretanto, apesar de ser importante para o desempenho
do AG, o método de geração da população inicial não é o
fator mais significativo. Os componentes estruturais do AG
mais significativos em relação ao desempenho são os
critérios de seleção, substituição, mutação e cruzamento.
Estes componentes são os que mais fortemente influem no
resultado do AG pois afetam diretamente a evolução da
população em direção à solução do problema.
Porém, a inicialização proposta neste trabalho tem a
vantagem de cobrir todo o espaço solução, mas mantendo a
variabilidade característica da inicialização aleatória. O
fato de já cobrir inicialmente todo o espaço solução,
aumenta a probabilidade de termos pelo menos um
indivíduo próximo ou dentro da bacia do ótimo global. A
convergência se torna mais rápida pois, a população não
necessita “migrar” rumo ao mínimo global caso a geração
aleatória tenha, por azar, colocado os indivíduos distantes
do ponto ótimo. O processo de evolução se reduz a apenas
convergir a população para a região do ótimo através do
cruzamento dos indivíduos. Como o operador de
cruzamento tem o efeito de reduzir a região de abrangência
da população, se já garantirmos inicialmente que a
população está distribuída por todo o espaço solução,
podemos iniciar com uma taxa de cruzamento mais alta e
uma taxa de mutação mais baixa, pois estaremos
interessados apenas em concentrar a população e não mais
em explorar o espaço de busca.
A importância de diminuir o número de gerações, ou
seja, de iterações, para se alcançar a solução e, portanto,
aumentar a velocidade de convergência do AG é que
necessitaremos de menos avaliações da função objetivo.
Isso representa uma redução no custo computacional
inerente a certos problemas de otimização e do tempo de
execução do algoritmo.
Por fim, para se obter conclusões mais concretas testes
mais exaustivos, com um maior número de amostras, e
com funções objetivo diversas deveriam ser realizados.
Porém, com base no teste feito neste trabalho, podemos ver
que a técnica de inicialização da população sugerida
contribui para a melhora do desempenho do AG e para
uma redução do número de avaliações da função objetivo.
XIII. REFERÊNCIAS
[1] GOLDBERG, David E. “Genetic Algorithms in Search, Optimization
and Machine Learning” Addison-Wesley Co. Massachusetts, 1989.
[2] HOLLAND, John H. “Adaptation in Natural and Artificial Systems”
University of Michigan Press Ann Arbor, 1975.