Uma vez que os indivíduos da população foram avaliados, o próximo passo é a utilização de um critério de seleção. A maioria dos métodos de seleção é projetada para escolher preferencialmente indivíduos com maiores notas de aptidão (valores de fitness), embora não exclusivamente, para manter a diversidade da população. Basicamente, existem três tipos de seleção: determinística, estocástica e híbrida.
O critério de seleção determinística contempla somente os indivíduos que atendem a determi- nadas características previamente estabelecidas como desejáveis. Os indivíduos que não atenderem o critério de escolha serão eliminados sumariamente. Dessa forma, não há chance de um indivíduo que não satisfaça os requisitos vir a ser escolhido para fazer parte da próxima geração.
Na seleção estocástica os indivíduos que apresentarem maior adaptabilidade terão mais chance de serem escolhidos. Os de menor adaptabilidade terão menos chance, mas poderão eventualmente ser selecionados.
Na seleção híbrida o processo de seleção intercala os critérios de escolha determinísticos e es- tocásticos. Dessa forma, há a garantia de escolha de parte dos melhores indivíduos da população, porém mantendo a possibilidade de seleção também dentro de todo o espaço de soluções.
Um método de seleção muito utilizado é o Método da Roleta. É um processo eminentemente estocástico, portanto é probabilístico e variante com as gerações.
A Figura 4.6 exemplifica uma roleta para uma determinada geração de uma população com 6 indivíduos. Indiv. 1 Indiv. 2 Indiv. 3 Indiv. 4 Indiv. 5 Indiv. 6 0.65 (1) 0.95 (2) 0.20 (3) 0.80 (4) 0.40 (5) 0.50 (6) Fitness
Figura 4.6: Ilustração do método da roleta.
Neste método, cada indivíduo da população é representado na roleta proporcionalmente ao seu índice de aptidão. Assim, os indivíduos com alta adaptabilidade têm uma porção maior da roleta, enquanto aos menos aptos é dada uma porção relativamente menor. Finalmente, a roleta é girada um determinado número de vezes, dependendo do tamanho da população, e aqueles sorteados na roleta são submetidos à atuação dos operadores de reprodução, se for o caso, ou copiados diretamente para a população da geração seguinte.
dois problemas inerentes. Se a população contém uma solução de fitness significativamente maior que as demais soluções na população, esta irá ocupar a maior parte da roleta. Assim, a maioria das rodadas da roleta sorteará essa mesma solução. Isto fará com que a população perca sua diversidade e provocará a convergência prematura do algoritmo para uma solução sub-ótima.
O segundo problema pode ocorrer após várias gerações, quando a maioria dos membros da po- pulação possui aproximadamente o mesmo fitness. Neste caso, as “fatias” da roleta possuem prati- camente o mesmo tamanho e as soluções possuem aproximadamente as mesmas probabilidades de serem escolhidas. Obviamente, trata-se de uma busca quase aleatória.
O operador de seleção baseado em rank é semelhante ao método da roleta, porém as “fatias” são atribuídas aos indivíduos de acordo com sua posição após a ordenação (ascendente ou descendente) pelo valor do fitness. Assim, em uma população de tamanho µ, ao indivíduo com menor valor de
fitness será atribuído o rank zero e ao com o maior valor, o rank µ − 1. A seleção por rank não
apresenta nenhuma das duas desvantagens citadas para o método da roleta.
Após a ordenação, podem ser utilizados mapeamentos lineares ou não lineares para a determi- nação da probabilidade de seleção de cada indivíduo. Supondo que o rank do i-ésimo indivíduo é dado porrank(i), então, para um mapeamento linear, tem-se que sua probabilidade de seleção é dada por [6]:
p(i) = α + rank(i)
(µ−1)(β − α)
µ (4.5)
sendoα e β são as quantidades esperadas de filhos dos indivíduos com menor e maior fitness, respec- tivamente.
Um exemplo de mapeamento não linear é:
p(i) = η(1 − η)µ−1−rank(i) (4.6)
comη ∈ (0, 1). Esta distribuição está relacionada a uma distribuição de Bernoulli [6].
Outro mecanismo de seleção é o operador de Boltzmann, o qual altera o valor do fitness de cada indivíduo segundo a função densidade de probabilidade de Boltzmann, equação (4.7), fornecendo sua probabilidade de seleçãoΨi:
Ψi = 1
1 + exp(Fi/T ) (4.7)
sendoT um parâmetro análogo ao termo de temperatura na distribuição de Boltzmann e Fi o fitness do i-ésimo indivíduo. Este termo T é reduzido de uma maneira pré-determinada em iterações su- cessivas. Como um valor inicial grande deT é utilizado, as soluções iniciais não possuem grandes
discrepâncias em seu grau de probabilidade de seleção. No entanto, com o progresso do algoritmo genético, o parâmetroT diminui e as melhores soluções são mais evidenciadas.
Um quarto operador de seleção é o torneio. Em um torneio dek indivíduos, um determinado in- divíduo é selecionado para pertencer à nova geração determinística ou probabilisticamente, de acordo com seu valor de fitness. Após o torneio, há duas opções: ou todos os participantes são colocados de volta na população (podendo vir a participar em outros torneios) ou não o são até que um determinado número de torneios ocorra. Em sua forma mais simples, duas soluções são sorteadas e a melhor delas é escolhida. A pressão seletiva do método é controlada pelo número de elementos que participam em cada torneio. Quanto maior esse número, maior será a pressão seletiva. Quanto maior a pressão seletiva, maior será a taxa de convergência do algoritmo [6].
O torneio também elimina os dois problemas do método da roleta. Além disso, pode ser aplicado tanto a problemas de maximização quanto de minimização, enquanto o método da roleta supõe o objetivo de maximização, sendo necessária a adaptação da função de fitness para problemas de mini- mização. Outro cuidado extra quando do uso do mecanismo da roleta é a impossibilidade de uso de valores de fitness negativos, o que não consiste em um problema para o método de torneio.
A implementação do método do torneio é simples e eficiente, não requerendo o ordenamento da população (como no método de rank). Como não são necessárias computações globais (como no método da roleta), o método do torneio mostra-se mais adequado para uma implementação paralela.
Tendo em vista as vantagens do método do torneio (simplicidade e eficiência) este foi adotado no presente trabalho.
4.6.1
Proposta de Operador de Seleção
Neste trabalho foi adotado como operador de seleção o torneio, conforme justificativas na seção anterior. Na configuração estabelecida, um total de cinco por cento da população é escolhido aleato- riamente para participar do torneio. Deterministicamente é selecionado o indivíduo com o maior valor de fitness. O método é implementado com reposição, ou seja, todos os indivíduos participantes do torneio são recolocados na população, inclusive o selecionado. Foi implementado também elitismo, o qual consiste em selecionar o indivíduo com o maior fitness de uma geração e incluí-lo na geração seguinte.
Como exposto por Bäck et al. [6], a escolha do operador de seleção deve ser feita em conjunto com as definições dos outros parâmetros do algoritmo genético, principalmente os operadores de reprodução. Dessa forma, ao se aliar um operador de seleção de pressão seletiva moderada, como é o caso, a operadores de recombinação e mutação com alto poder de perturbação (ver seção 4.7.1), uma implementação eficiente é obtida.