Listagem 5 Índice de avaliação Davies-Bouldin
3.5 Características do Algoritmo Evolucionário de Agrupamento Proposto
3.5.6 Procedimentos de mutação e crossover na implementação proposta
Mutação
O procedimento de mutação nas duas etapas consiste apenas na troca de elementos (VCI) entre genes, ou seja, deslocamos o inteiro representantes do índice VCI para um outro gene qualquer, como ilustra a figura 14 a seguir. Tanto o gene de origem como de destino são escolhidos aleatoriamente. A mutação ocorre para todos os cromossomos ativos e não elitizados da população corrente, nas duas etapas do processo evolucionário.
Figura 14 - Exemplo de mutação no cromossomo na implementação proposta
Fonte: elaborado pelo autor, 2012
Nesta implementação proposta, na etapa 1 do ciclo evolucionário, o procedimento mutação é intensivo, ou seja, ocorre muitas vezes entre os genes de um mesmo cromossomo. O número de mutações pode variar por ciclo de evolução: nas primeiras gerações a taxa de mutação em um único cromossomo é maior que nas evoluções perto do número máximo de evoluções definido pelo usuário, logo, essa taxa vai caindo até que nas gerações finais haja apenas um ou dois procedimento de mutação por cromossomo. Tal estratégia tem o objetivo de causar alta variação nos cromossomos das gerações iniciais, onde a população é maior e longe da solução, e pouca variação nos cromossomos das gerações finais que estão mais próximas da solução. A escolha de tais taxas de mutação depende do número de textos a classificar, ou seja, quanto maior o número de textos, maior a taxa de mutação no decorrer da evolução em todos os níveis. Por exemplo, para 120 textos o número de mutações em cada cromossomo é:
2 (Após 80% das gerações)
2 (Após 50% das gerações e antes de 80% ) 4 (Após 30% das gerações e antes de 50%)
Cromossomo 1
1 2 3 4 5 6 7
5 (Após o início das gerações e antes de 30%)
Na segunda etapa, a mutação tem o objetivo de perturbar as soluções: 1 (Durante toda a otimização)
Recombinação ou Crossover
A recombinação ou crossover é efetuada obtendo-se o melhor gene (grupo) de um cromossomo aleatório da população corrente, e então, é inserido tal gene em um outro cromossomo escolhido aleatoriamente. Diferentemente da mutação, que opera no nível dos elementos internos do gene, a operação de crossover ocorre no nível dos genes. O objetivo de tal operação é propagar o melhor gene do cromossomo para outros cromossomos da população. O número de operações de crossover em uma população depende do tamanho da população, quanto maior esse número maior será a repetição do procedimento em uma população. Nos experimentos realizados foi colocado o número de recombinações por geração como 1/3 do tamanho da população. A figura 15, a seguir, ilustra o processo de recombinação ou crossover.
Figura 15 - Exemplo de crossover entre dois cromossomos na implementação proposta
Fonte: elaborado pelo autor, 2012
Na figura acima, o melhor cromossomo (cromossomo 1) da população fornece ao cromossomo 2, o primeiro gene, pelo fato de ser o melhor gene pontuado. O cromossomo 2 recebe o gene do primeiro cromossomo também na posição do gene 1 e para não haver
Cromossomo 1 Cromossomo 2 1 24 3 5 6 7 Cromossomo 2 1 2 3 4 5 6 7 1 2 3 4 5 6 7
repetições de um mesmo vetor de representação (VCI) em outros genes, as repetições de números inteiros são retiradas dos outros grupos.
Observe que tanto na mutação como no crossover não existe a criação de novos indivíduos, e sim os indivíduos existentes são alterados. O objetivo desta operação é manter fixo o tamanho da população inicial que só deve diminuir e nunca aumentar, esta estratégia permite acelerar o processo evolucionário, diminuindo o tempo de computação.
Configurações Default
Apesar das configurações (ou parâmetros) para o algoritmo proposto serem selecionáveis pelo usuário da aplicação, foi notado que tais escolhas podem influenciar, de forma expressiva, a eficiência e eficácia do algoritmo de agrupamento. As configurações default (número de gerações, tamanho da população, critérios de parada, momento de ativação da seleção, taxas de mutação e crossover) para este e os demais algoritmos de agrupamento são descritas no capítulo seguinte, para cada experimento é especificada a configuração utilizada.
A figura 16a (a seguir) ilustra o processo evolucionário da primeira etapa para uma população e a figura 16b ilustra o processo evolucionário da etapa dois para uma população.
Figura 16a - Exemplo de ciclo de evolução para a etapa 1 na implementação proposta
Fonte: elaborado pelo autor, 2012
Solução 1 2 5 5 4 8 3 0 2 10 1 2 5 5 4 8 3 0 2 10 1 2 5 5 4 8 3 0 2 10 1 2 5 4 4 20 3 0 2 10 1 2 5 5 3 0 2 10 20 4 a. b. c. d. e. Selecionar Mutação
Avaliação - Pontuação Avaliação - Retrocesso Ciclo de Evolução
Figura 16b - Exemplo de ciclo de evolução para a etapa 2 na implementação proposta
Fonte: elaborado pelo autor, 2012
A figura 16a ilustra a primeira etapa do processo evolucionário. Considere a primeira matriz a) como sendo a primeira população, gerada de forma aleatória e já avaliada pela função de avaliação (fitness). Esta primeira matriz possui cinco cromossomos e o valor de avaliação (fitness) de cada cromossomo está a frente de cada linha da matriz. O objetivo do processo evolucionário é criar dois grupos, cada grupo contendo ou os círculos de tom azul ou violeta.
Após aplicar o procedimento de seleção, os cromossomos da matriz b) são os restantes da população a), observe que os cromossomos 1 e 3 são inativados (ficam com o primeiro
5 20
1. Resultado da etapa 1
Ciclo de Evolução
20 4
2. Gerar população de iguais
4 20 3 20 2 20 1 20 Seleção Mutação e Crossover Avaliação - Pontuação Avaliação - Retrocesso 3. Evolução Convencional 5 22 4. Solução
5. Gerar população de iguais
1 22
4 22
5 22
3 22
elemento da linha da matriz em branco) por não atenderem ao critério de seleção (ou mínimo de pontuação), os demais continuam ativos (com o primeiro elemento da linha da matriz em cor azul).
Os cromossomos ativos na matriz b) sofrem a mutação intensiva e constituem então os cromossomos da matriz c). Estes cromossomos mutantes são avaliados pela função de avaliação e ganham nova pontuação (fitness) como mostrado em frente a cada linha da matriz populacional d).
Após a avaliação da matriz populacional d), pode haver um retrocesso, caso a linha (cromossomo) tenha pontuação inferior ao seu patriarca da matriz b) e então o descendente é substituído pelo ascendente, na mesma posição da matriz, como ocorre com o cromossomo 5 na matriz e). Observe que o cromossomo 2 não é modificado durante todo o ciclo evolucionário, pois seu valor de avaliação é o maior durante o ciclo de evolução da população, servindo de parâmetro para o processo de seleção da atual população.
Se o processo da etapa 1 continuasse (critério de parada não alcançado) o cromossomo 4 em e) seria o novo cromossomo elitista, no próximo ciclo. Caso houvesse a parada, o cromossomo 4 seria o resultado final da etapa 1 e seria enviado à etapa 2.
Na figura 16b, etapa 2, ocorre a otimização do cromossomo-indivíduo da etapa 1. Uma nova população inteira é criada com esta melhor solução (clonagem). Repetidamente, a seleção, a mutação e o crossover ocorrem sobre esta população até um critério de parada, sendo que a mutação apenas perturba os cromossomos com uma ou duas trocas nos genes. Ao final, novamente, uma nova população é criada somente com a melhor solução do último ciclo evolucionário e o processo se repete até o critério de parada geral escolhido.
Observe que o número de cromossomos ativos apenas diminui no decorrer das duas etapas, observe ainda, que a pontuação aumenta ou permanece estável no decorrer das duas etapas com o auxílio do retrocesso.