Escolar Documentos
Profissional Documentos
Cultura Documentos
Exerci Cio 02
Exerci Cio 02
Etapa 3 Crie uma nova população repetindo as etapas a seguir até que a nova população seja
concluída
Selecione dois cromossomos parentais de uma população de acordo com suas fitness (quanto
melhor fitness, maior a chance de ser selecionado)
Com uma probabilidade de cruzamento, cruze os pais para formar novos filhos (filhos). Se
nenhum cruzamento foi realizado, a prole é a cópia exata dos pais.
(posição no cromossomo).
Etapa 4 Use a nova população gerada para uma nova geração (iteração) do algoritmo
Etapa 5 Se a condição de término for satisfeita, pare e retorne a melhor solução na população
atual
Operador Seleção
O papel do mecanismo de seleção é distinguir os indivíduos com base em sua aptidão, a fim de
permitir que indivíduos melhores se tornem pais da próxima geração. Na computação evolutiva, a
seleção dos pais é probabilística: indivíduos de alta qualidade têm mais chances de se tornar pais.
Indivíduos de baixa qualidade também recebem uma mudança baixa para se tornarem pais, a fim
de evitar ficarem presos em ótimas localidades. O processo de seleção em um algoritmo genético
ocorre quando os pais que serão usados posteriormente para o cruzamento devem ser
selecionados. De maneira padrão, alta prioridade e chances são dadas aos indivíduos mais aptos.
• seleção de torneios;
• seleção de roleta;
Com dois pontos de cruzamento, um dos descendentes fica com a parte central de um dos pais e
as partes extremas do outro pai e vice versa (Figura 3).
Figura 3 - Cruzamento em 2 pontos
Para indivíduos com valor binário, mutação significa a inversão de valores de variáveis, porque
cada variável possui apenas dois estados. Assim, o tamanho da etapa de mutação é sempre 1.
Para cada indivíduo, o valor da variável a ser alterado é escolhido (principalmente uniforme ao
acaso). A Figura 1 mostra um exemplo de uma mutação binária para um individual com 10
variáveis, em que a variável 4 é mutada.
A mutação de variáveis reais significa que os valores criados aleatoriamente são adicionados às
variáveis com baixa probabilidade. Assim, a probabilidade de mutação de uma variável (taxa de
mutação) e o tamanho das alterações para cada variável mutada (etapa de mutação) devem ser
definidos.
Essa forma de mutação é projetada para que a quantidade de alteração introduzida seja pequena.
Isso é obtido adicionando ao valor atual do gene uma quantidade sorteada aleatoriamente de
uma distribuição gaussiana (ou normal) com zero médio e desvio padrão especificado pelo
usuário. O valor obtido é então dimensionado para o domínio de definição, se necessário. A
distribuição gaussiana tem a propriedade de que aproximadamente dois terços das amostras
coletadas estão dentro de um desvio padrão. Isso significa que a maioria das alterações feitas será
pequena, mas existe uma probabilidade diferente de zero de gerar alterações muito grandes, pois
a cauda da distribuição nunca chega a zero. Esse operador geralmente é aplicado com
probabilidade de um por gene. Uma alternativa à distribuição gaussiana é usar a distribuição de
Cauchy. A probabilidade de gerar valores maiores é um pouco maior que a da distribuição
gaussiana com o mesmo desvio padrão.
Para permutações, não é possível usar nenhuma das formas dos operadores de mutação
apresentados acima. Existem quatro formas comuns de operador de mutação para representação
baseada em ordem:
- Reinicialização aleatória
Esse tipo de mutação funciona adicionando - com uma certa probabilidade - um valor pequeno
(positivo ou negativo) a cada gene. Geralmente, esses valores são amostrados aleatoriamente
para cada gene a partir de uma distribuição simétrica em torno de zero e é mais provável gerar
pequenas mudanças que grandes.
O Crossover inspeciona todos os indivíduos no espaço de pesquisa e, com base neles, tenta
encontrar uma região de ótima adequação. Essa região geralmente está dentro do domínio
coberto por esses indivíduos. O cruzamento arrasta os indivíduos para mais perto dos pontos
suspeitos de mínimos. Como resultado, o espaço de pesquisa fica cada vez mais curto e, dessa
maneira, a solução converge muito acentuadamente.
Mutação faz exatamente o oposto. Ele tenta explorar áreas cada vez mais novas, na esperança de
encontrar pontos ideais. Isso resulta em um aumento no espaço de pesquisa e na colocação de
indivíduos em regiões mais novas que podem estar fora do domínio de pesquisa onde os
indivíduos foram colocados até o momento. Obviamente, isso atrasa a convergência. A natureza
contrastante do cruzamento e da mutação desempenha um papel quando falamos sobre ótimos
locais e globais. A rápida convergência do crossover pode fazê-lo convergir para algumas ótimas
locais, o que é indesejável.
Nessa situação, precisaríamos de um meio para fazer o algoritmo procurar os mínimos globais.
Isso significa que é feito por mutação. Se a mutação for mantida em 0, a convergência é muito
rápida no GA. No entanto, isso geralmente leva a um mínimo local. Ao mesmo tempo, um valor
muito alto de mutação e baixo crossover pode resultar no algoritmo agindo de maneira aleatória.
Nesse caso, o gráfico de treinamento revelaria tendências muito incertas no valor médio de
condicionamento físico da população. Assim, a convergência não seria alcançada a menos que o
cruzamento fosse alto o suficiente.
Uma das características importantes para o funcionamento apropriado dos algoritmos genéticos e
evolucionários é a manutenção da diversidade. A efetividade da busca depende da existência de
genes distintos na população. Consequentemente, a recombinação e a mutação dos genes
também podem contribuir mais efetivamente para a criação de novidades. Quando os indivíduos
são muito semelhantes entre si, a busca torna-se estagnada e novos pontos no espaço não podem
mais ser verificados. Por causa disto, as medidas de diversidade procuram quantificar o quão
heterogênea é uma população. Essa quantidade funciona como um indicador importante para
determinar a qualidade da evolução do algoritmo. A diversidade pode ser medida em relação ao
fenótipo ou genótipo. As medidas que utilizam uma função de distância são comuns quando se
usa o genótipo para determinar a diversidade. Por exemplo, dado uma população qualquer é
possível obter a distância entre o genótipo de todos os pares de indivíduos. A soma destas
distâncias pode representar a diversidade da população em um determinado momento da
evolução. Outra forma de mensuração envolve o cálculo de estatísticas, como, por exemplo, a
soma da variância de cada gene em todos os indivíduos da população. Quando a diversidade do
fenótipo é utilizado, esta é geralmente associada aos valores de fitness do indivíduo. Neste caso é
possível utilizar medidas estatísticas de dispersão do fitness em cada época da otimização. Além
disto, também são possíveis medidas de entropia em relação à distribuição probabilística do
fitness na população. A manutenção da diversidade é tão significativa que deu origem a muitas
técnicas ou variações dos algoritmos genéticos canônicos.
A seleção também pode ser influenciada indiretamente através do ajuste do fitness. O ajuste do
fitness antes do processo de seleção é uma característica de duas técnicas comuns na literatura:
compartilhamento de fitness e clearing. No algoritmo de compartilhamento de fitness, o fitness
de toda a população é recalculado para reduzir a importância daqueles indivíduos que sejam
muito semelhantes. Na técnica de clearing, os indivíduos são agrupados em q centros. Dentro de
cada grupo são mantidos somente os melhores k indivíduos. Os demais são configurados com
fitness mínimo, o que os coloca como inelegíveis ao processo de seleção. Em ambos os casos, uma
complexidade computacional é adicionada ao algoritmo genético padrão, além da necessidade de
estimar o raio de cada nicho ou grupo.
6.2) Qual é o efeito do Cruzamento na Diversidade ?