Você está na página 1de 28

ALGORITMO GENÉTICO: UMA ANÁLISE DA VARIAÇÃO DA TAXA DE

MUTAÇÃO NA AVALIAÇÃO DE UMA POPULAÇÃO

1. INTRODUÇÃO
Com o avanço do setor tecnológico atual diversas transformações surgiram
nas sociedades contemporâneas. De modo que, busca-se na computação técnicas
e soluções para inúmeros problemas presentes em distintas áreas, como
engenharia, economia, biologia, ou mesmo em atividades cotidianas. Para isso,
avalia-se parâmetros de funcionamento e comportamento a fim de alcançar os
melhores resultados possíveis, sejam estes custos, prazos, lucros, qualidade,
eficiência ou outras variáveis.

Direcionado a essa tarefa, há um ramo da ciência dedicado especificamente


a tais análises, a inteligência computacional (IC), responsável pela criação de
máquinas e mecanismos inteligentes. Dentro desta, há a computação evolutiva, com
ênfase nos Algoritmos genéticos (AGs), definidos como ferramentas de busca de
soluções ótimas ou quase ótimas para solucionar problemas de otimização de
funções: matemáticas, combinatórias, de planejamento, além de resolução de
problemas de pesquisa operacional como o caso do Caixeiro Viajante, Otimização
de Rota de Veículos, Otimização de Distribuição, Otimização em Negócios
(Pacheco et al. 1999).

Os AGs baseiam-se nos princípios e teorias do processo biológico da


evolução natural para verificar fatores e soluções aceitáveis, através da obtenção
dos pontos máximos ou mínimos globais e locais. São compostos por uma classe
de procedimentos, com diversos passos e etapas separadas, cada qual com
funções e componentes distintos que representam as várias partes de um processo
de evolução, como população de indivíduos, genes, operadores genéticos, seleção
natural, dentre outros. De forma que, no presente trabalho optou-se por analisar
apenas um dos parâmetros, o operador genético taxa de mutação, responsável pela
diversificação das espécies e surgimento de novas características.
Visto que o princípio dos operadores genéticos é transformar a população
através de sucessivas gerações até chegar a um resultado satisfatório, a mutação é
essencial para que esta população se diversifique e sobreviva. Pois, há o
surgimento de novas características ou adaptação de fatores adquiridos em
gerações anteriores. Além do mais, quando uma característica é benéfica, o ideal é
que seja transmitida para as gerações posteriores, por isso aplica-se também o
operador de elitismo.

Esse trabalho tem como objetivo analisar, por meio de simulações


computacionais de um algoritmo genético, o comportamento e aptidão de uma
população de indivíduos com base na variação da taxa de mutação com valores
pré-determinados. Além disso, busca-se analisar o tempo de execução para cada
cenário da taxa de mutação.

O artigo está organizado da seguinte maneira: a Seção 2 apresenta a


metodologia empregada para o desenvolvimento da pesquisa; a Seção 3 descreve a
codificação realizada e seus respectivos parâmetros; a Seção 4 expõe os resultados
numéricos obtidos nas simulações; a Seção 5 revela os resultados obtidos e a
Seção 6 expõe as conclusões da pesquisa.

2. MATERIAIS E MÉTODOS
O trabalho é fundamentado em uma pesquisa de abordagem
quanti-qualitativa, de natureza aplicada. Pois analisa computacionalmente, por meio
de variações numéricas e comportamentais uma população de indivíduos. Quanto
aos objetivos é enquadrada como descritiva, pois sua finalidade é estudar o
algoritmo e descrever seus resultados de acordo com o avanço das gerações em
função de modificações na taxa de mutação, correlacionando seus fenômenos e a
influência exercida no decorrer do tempo (Silva et al, 2007).
O procedimento de obtenção de dados e informações é experimental, já que
baseia-se em simulações e testes computacionais para gerar os resultados
esperados por meios gráficos e textuais e interpretá-los.
Para a realização da pesquisa a mesma foi dividida em três etapas: estudo
bibliográfico, codificação e tratamento dos resultados. Durante o estudo bibliográfico
aprofundou-se nos conceitos de Algoritmos genéticos, mutação, codificação e
decodificação, dentre outros. Conforme Lakatos e Marconi apud Manzo (2010,
p.166), uma bibliografia bem consolidada “oferece meios para definir, resolver, não
somente problemas já conhecidos, como também explorar novas áreas onde os
problemas não se cristalizam suficientemente”.
Com a efetivação da etapa anterior, deu-se início a codificação, na qual
aplicou-se os conceitos e formulações teóricas obtidos anteriormente a fim de criar,
editar e organizar o código para deixá-lo funcionando com as configurações e
técnicas desejadas. Durante esta fase, fez-se uso do ambiente de codificação
​ 019, ​direcionado a geração e execução dos códigos de acordo com seus
Matlab 2
functions - ​scripts.​ Utilizou-se também o s​ oftware ​Microsoft Excel, ​dedicado a coleta
e agrupamento dos resultados em planilhas para posteriormente gerar os gráficos e
por conseguinte, fazer a análise dos mesmos. Os testes foram realizados tendo-se
um computador base disposto da seguinte configuração:

Fabricante Dell

Modelo Inspiron 14 Série 3000

Processador Intel(R) Core(TM) i3-4005U

Frequência 1,7 GHz

Disco rígido SSD Kingston 240Gb

Memória RAM 8,00 GB (DDR3 1.600MHz)

Sistema Operacional Windows 10 Home Single Language


(64 bits)

Com a consolidação das fases descritas acima, pode dar-se início ao terceiro
e último procedimento, correspondente ao tratamento e análise dos resultados,
onde de posse dos dados numéricos foi possível gerar os gráficos e organizar as
tabelas contendo os resultados de forma mais adequada e compreensível.

3. CODIFICAÇÃO
3.1. Cenários e parâmetros das simulações
Na etapa de codificação foram implementas 30 simulações para cada
alteração efetuada no valor da taxa de mutação, sendo que cada simulação desta é
executada até atingir o limite máximo de gerações, especificado no algoritmo. Para
isso efetuou-se os testes em 8 diferentes cenários: quatro com a presença de
elitismo e quatro com a ausência de elitismo, sob os valores de mutação 2%, 10%,
15% e 50%. Os demais parâmetros utilizados no código assumiram valores fixos:

Tamanho da população 100

Geração Máxima 200

Número de bits por gene 100

Taxa de crossover 80%

Seleção Torneio de tamanho 5

Crossover Uniforme

O elitismo foi implementado no script AG, ao final das operações de


cruzamento e mutação, pois indica os melhores indivíduos para a geração futura.
Para tal, realizou-se a captura dos índices máximos (indiceMax, FitnessMax) de
cada geração a fim de utilizar os filhos mais aptos na próxima reprodução
(populacao=Filhos):
Filhos(1,:)=populacao(indiceMax,:);
populacao=Filhos;

A técnica de recombinação utilizada foi o cruzamento uniforme,


implementada no script crossover uniforme. Ela combina e compara individualmente
os bits do vetor dos progenitores para formar seus descendentes. Para isso, é
verificado se o novo indivíduo (filhos) receberá o bit do pai1 ou do pai2. Ademais,
adotou-se a probabilidade fixa (taxa de crossover-Tc) de 80%.
filhos = zeros(2, nb);
for b = 1:nb
if rand < 0.5
filhos(1, b) = pais(1, b);
filhos(2, b) = pais(2, b);
else
filhos(1, b) = pais(2, b);
filhos(2, b) = pais(1, b);
end
end
A função de avaliação (Fitness(i)) ou ​fitness adotada foi definida no script
Avaliar_populacao, sendo responsável por identificar os indivíduos com melhor
aptidão a fim de mantê-los para as gerações posteriores. Sua estruturação é
complexa e exigente quanto a percepção de valores consideráveis aceitáveis, pois
relaciona os genes X, Y e Z com resultados teóricos esperados, respectivamente
de 6, 10 e 4. Neste mesmo script também foi adicionado o terceiro gene, Z
(individuos(i,3)).
z=individuos(i,3);
Fitness(i)=1/(0.01+(abs(x-6)^2+abs(y-10)^2)+abs(z-4)^2);

Em decorrência da inserção do gene Z, aliado aos dois outros já existentes, X


e Y, foram realizadas alterações nos demais scripts contendo ​functions, ​como a
inserção das operações referentes a Z em decodifica_populacao.​ Assim como a
modificação no script responsável por gerar as tabela contendo os resultados
numéricos, denominado ​simulacao.​ Este, passou a gerar a tabela do excel com os
dados de 30 simulações (Nsimu=30;) contendo os genes X, Y e Z, fitness máximos,
tempo de execução, assim como função de salvamento dos dados em imagens
(saveas (gcf, 'simulação1.png' )) para criar os gráficos de convergência dos fitness
em função das gerações (switch case 1 até 30).
Nsimu=30;
for s=1:Nsimu
disp(['simulação ' num2str(s)])
AG
switch s %salvando as 30 imagens
case 1
saveas (gcf, 'simulação1.png' );
close all;
(...)
case 29
saveas (gcf, 'simulação29.png' );
close all;
otherwise
saveas (gcf, 'simulação30.png' );
close all;
end %fim- switch case salvar

4. RESULTADOS NUMÉRICOS
Ao executar o código do ​script AG, primeiramente gera-se uma população
aleatória de indivíduos, que podem ser vistos como possíveis soluções de
determinado problema. E, durante o processo evolutivo, esta população vai sendo
avaliada, de modo que cada indivíduo recebe uma nota (​fitness) referente a sua
aptidão. Assim, visa-se manter alguns destes em detrimento de outros, sendo que ,
para isso aplica-se o processo de seleção do tipo torneio, com opção elitista ou não,
e modificações de características fundamentais por meio da aplicação de mutações,
além da técnica de cruzamento (​crossover)​ uniforme. Este processo vai se
repetindo, sempre buscando gerar descendentes mais aptos para a próxima
geração, até que uma solução satisfatória seja encontrada, nesse caso, o critério de
parada dá-se ao alcançar o valor de geração máxima.

4.1. Cenários
Os cenários estudados na pesquisa correspondem às variações da taxa de
mutação (2%, 10%, 15% e 50%) para uma população gerada de forma aleatória,
composta por 100 indivíduos. Nos quais analisou se 3 genes (Ngene=3),
denominados X, Y e Z, verificando-se o comportamento das gerações criadas a
partir destes em decorrência do aumento ou diminuição do número de mutações.

4.2. Resultados Gráficos e Numéricos


Após as adequações dos parâmetros e códigos utilizados nas simulações
propostas, deu-se início as simulações para obtenção dos resultados finais,
agrupadas em quatro execuções com elitismo e quatro sem, variando-se a mutação.
Os dados e resultados estão organizados nos tópicos abaixo.

4.2.1. Genes

Os genes X, Y e Z, que deveriam assumir os valores 6, 10 e 4,


respectivamente são gerados a partir dos cromossomos, que por sua vez
representam possíveis soluções para um problema. São analisados primeiramente
em separado e depois comparando-se a presença e ausência do elitismo na
execução do código.

4.2.1.1. Com elitismo


Ao implementar as mutações nos genes solicitados, aplicando-se o elitismo,
tem-se exposto abaixo os valores assumidos em cada um dos três genes para as 30
simulações de acordo com a mutação implementada. Na Figura 1 (a) tem-se o gene
X, variando de 5,999755808 na simulação 7, como menor resultado até
6,250000003 para a simulação 19, ambas com 2% de mutação. O valor máximo em
10% de mutação foi 6,26830699 na simulação 21 e mínimo 5,931088646 na 30ª
simulação. Para 15%, variou entre 6,490253599 (simulação 9) e 5,766123585
(simulação 2). Já com taxa de 50% ficou entre 9,280900433, na 8ª simulação e
4,187204621 na 12ª simulação.

Na Figura 1 (b), de forma análoga ao (a), tem-se o gene Y, com valores entre
9,375 (simulação 22) e 10,15625 (simulação 28) para mutação mínima, 2%,
chegando a 13,2289005 (16ª simulação) e 8,039093764 (21ª simulação) para
mutação máxima, 50%. Ainda na mesma figura, desta vez no item (c), para as 30
simulações do gene Z, os valores obtidos variam de 3,906249999 até 4,003906329
para 2% mutação. De 3,879051884 até 4,077288524 com taxa de 10%. E entre
3,697074066, na 18ª simulação e 4,243775439 na 26ª simulação ao aplicar 15% de
mutação. E por fim, chegando ao valor máximo de 6,008511742 (simulação 16) e
mínimo 1,507440268 (simulação 8) para 50%.

Figura 1. Comportamento dos Genes XYZ com elitismo


(a)

(b)
(c)

Fonte: Autores

4.2.1.2. Sem elitismo


Ao remover o operador elitista, faz-se a mesma verificação dos gráficos
acima, demonstrando individualmente cada gene em função das 30 simulações. No
gene X, Figura 2 (a), obteve-se o valor máximo 6,25000165 na simulação de
número 29 e mínimo 5,999734554 na simulação 17 para 2% de mutação. Já com
10%, dentre as 30 simulações, alcançou-se o valor máximo 7,981427907 e mínimo
3,552167511. Com taxa de 15% essa variação aumentou para mínima de
2,982239256 (21ª simulação) e máxima de 10,27089669 (23ª simulação). De modo
que, variou mais ainda em 50% de mutação, alcançando um máximo de
25,09048858 (27ª´simulação) e mínimo de 0,278989753 (15ª simulação).

Ao centra-se a percepção no gene Y, Figura 1 (b), teve-se como valor


máximo 10,15625048 e mínimo 9,374999683 para todas as simulações executadas
com 2% de mutação. Em 10% esse número foi 11,16531811 (simulação 7) com o
maior dado encontrado e 8,734672715 (simulação 6) como menor. Ao simular a
taxa de 15% no código teve-se como resposta uma variação mais alta que a
anterior, indo de 5,404820736 até 14,30466988. Enquanto que para 50% foi
alcançado 31,17218488 na simulação 26 e mínimo de 1,899588159 na 18ª
simulação. Ao modificar o gene de análise para Z, foi verificado que as variações
para 2% localizaram-se entre 3,906243389 e 4,00400737, em 10% cresceram para
2,305496336 e 5,193233595, como maior e menor dados encontrados,
respectivamente. De maneira semelhante, ao aplicar 15% alcançou-se 0,601966851
na simulação 1 e 7,735859726 na simulação 6 e, em 50% os resultados
encontram-se entre 0,527642056 e 29,45736223.

Figura 1. Comportamento dos Genes XYZ sem elitismo


(a)

(b)
(c)

4.2.1.3. Comparativo: Com e sem elitismo


Na Figura 3 é possível notar os valores das médias, calculados através da
função MÉDIA(V1:V2) em cada uma das mutações aplicadas a X, com e sem o
elitismo, expostos com seus respectivos desvios padrões, calculados no excel por
meio da função DESVPAD.P(V1:V2). De modo que em verde é demonstrado os
resultados com a presença do elitismo e em vermelho, a execução sem o mesmo.

Com a presença do operador elitista percebe-se que para mutação de 2%, o


valor médio de X foi 6,084471137 para desvio padrão de 0,117067651 para mais e
para menos. Enquanto que a mesma execução, sem o elitismo, o valor do gene foi
6,118604062 e seu desvio 0,122927857. Do mesmo modo, em 10% a média com
elitismo foi 6,039366564 e o desvio 0,10485776, ao remover a operação elitista foi
alterada para 5,948491927 e desvio de 0,997168706. Já com 15% a média ficou em
6,140470277 e o desvio em 0,177268291 e a seguir a mesma foi 6,040025257 e o
desvio 1,724134672, com e sem elitismo respectivamente. Concomitantemente,
com variação mais elevada, ao aplicar no código 50% de taxa e elitismo, X passou a
ser 6,437197552 e seu desvio 1,359406827, enquanto que ao remover este
operador, tornou-se 11,54611953, desviando em 6,909625849 para mais e para
menos. Conforme comprovado na figura abaixo.
Figura 3. Resultados do Gene X

Fonte: Autores

Para o gráfico do gene Y, demonstrado na Figura 4, tem-se a mesma


exposição, porém com resultados distintos. Com elitismo, Y assume 9,973052537 e
seu desvio 0,166956816 para 2% de mutação, já na ausência deste, passa a valer
9,881953751, apresentando desvio de 0,256860513. Ao parametrizar a simulação
com 10% de mutação nos cromossomos o gene passa a valer 9,99983789 e seu
desvio 0,056084309 com a função elitista ativada, e sem ela assume 10,03116312 e
0,721305469, enquanto valores de gene e desvio padrão, respectivamente.
Alterando-se para 10,00686196 e desvio 0,143868996 com o aumento da mutação
para 15%, sendo que a mesma análise, sem elitismo, recebe 9,969613068 e desvio
2,212215992 ao elevar a taxa de mutação para 50% nota-se uma discrepância entre
os valores maior ainda, onde, com elitismo Y assume 10,42721132, desviando em
1,067774492 e ao removê-lo, passa a ser 13,51077334 com desvio de 8,82975587.

Figura 4. Resultados do Gene Y


Fonte: Autores

De forma similar as duas análises anteriores, faz-se a mesma verificação


para o terceiro gene implementado no algoritmo, o gene Z. Ao observar a mutação
fixa no valor 2%, com elitismo, tem-se que o gene vale 3,982037157, com desvio
0,037923627. Por sua vez, ao comentar a função elitista no algoritmo esses
mesmos valores assumem, respectivamente 3,99150152 e 0,028470286. Para 10%
apresenta valor 3,982179807 e desvio 0,055817901, ao remover o elitismo a
tendência é que esses valores distorçam mais e sejam menos exatos, passando a
ser 3,891002458, com desvio de 0,713362546. Em 15% assume-se 3,950300627 e
desvio 0,130184686, que, ao ser removido o elitismo o resultado torna-se menos
eficaz, recebendo 4,308081158 e desvio 1,828593207. Ao aplicar taxa elevada, em
50%, Z assume 3,688649544 , desviando em 1,000625191 para mais e para menos
com elitismo e sem seus valores passam a variar bastante, destoando do esperado,
com 8,699094844 e desvio 7,247676782.
Figura 5. Resultados do Gene Z

Fonte: Autores

Ao correlacionar os três genes com suas quatro porcentagens de mutações


em um mesmo gráfico, percebe-se que com os valores de mutação mais baixos a
tendência dos resultados é não variar tanto, diferente do ocorrido no gene X, Y e Z
para 50% de mutação. Na Figura 6(a), para Tm=50%, X assumiu 6,437197552, Y
10,42721132 e Z 3,688649544. Enquanto que na mesma análise, sem elitismo,
Figura 6 (b) a discrepância dos demais valores dos genes foi bastante alta, com X
igual a 11,54611953, Y valendo 13,51077334 e Z 8,699094844.

Figura 6. Todos os genes e mutações


(a) Com elitismo
(b) Sem elitismo

Fonte: Autores

4.2.2. Tempo de execução


No geral, o tempo de execução médio obtido em cada uma das trinta
simulações foi aproximadamente 7,69 segundos. Ao aplicar o elitismo em 2% de
mutação o tempo médio foi 7,739748487, em 10% decresceu para 7,59246478, em
15% atingiu o seu maior valor, 7,77770277 e, por fim, com 50% de mutação foi
reduzido para 7,667749867 segundos. Ao remover o elitismo, obteve-se tempos
bem semelhantes: 7,964085467 segundos para 2% de mutação, 7,68720688
segundos para 10%, diminuindo mais ainda para 7,519536293 segundos com taxa
de 15% e na outra execução, com ™ de 50%passou a ser 7,604383883 segundos.
Com isso, a tendência do gráfico é apresentar um pequeno decaimento nas
execuções sem elitismo, cujo tempo obtido foi aproximadamente 0,001 segundo
inferior a outra. No entanto, para 2% e 10% de mutação as execuções sem o fator
elitista foram mais demoradas, enquanto que para 15 e 50% foram mais ágeis.

Figura 5. Média dos tempos

Fonte: Autores

4.2.3. Acurácia
A acurácia, foi implementada como a média dos valores de fitness máximos e
seus desvios padrões. Conforme a Figura 6 (a), com elitismo e (b), sem elitismo,
para 2% o valor de acurácia foi elevado, contudo seu desvio também, assumindo
respectivamente 53,02473031, com desvio de 39,7350146 e 47,0186892 para um
desvio de 43,12961857. No gráfico (a), com Tm=10% houve um crescimento no
valor, chegando a 55,61333639, seguido de decréscimo com o decorrer das
mutações. Já em (b), todos aqueles que apresentam mutação elevada caíram
bruscamente, onde em Tm=50% a acurácia assumiu 0,013123365.

Figura 6. Acurácia
(a) com elitismo

(b) sem elitismo

Fonte: Autores
4.2.4. Precisão
A precisão foi obtida pela implementação da fórmula
p=3/(desvioX+DesvioY+DesvioZ).​ Para tal, na Figura 7(a), que representa as
análises com elitismo, obteve-se para 2% de mutação 9,318272275 de precisão,
para 10%, 13,84019387, para Tm=15% 6,647139255 e por fim, para taxa de 50% o
valor obtido foi 0,875195257. Enquanto que, em (b), sem elitismo, assumiu-se
7,348282643 para 2% de mutação, 1,233635455 para 10%, 0,52038668 para 15%
e 0,130508216 para 50%.

Figura 7. Precisão
(a) com elitismo

(b) sem elitismo


Fonte: Autores

4.2.5. Comparativo: Precisão x Acurácia


Na Figura 8 (a) é exposto um comparativo entre precisão e acurácia com
elitismo, já em (b), faz-se a mesma verificação, contudo sem a implementação da
operação elitista. Com elitismo, os valores de precisão e acurácia mantém-se
elevados nas mutações iniciais, em 2% a precisão vale 9,318272275 e acurácia
53,02473031, enquanto que em 50% tem-se como resultado precisão de
0,875195257 e acurácia 0,480383428. Para a ausência do operator elitista (b)
tem-se o valor 2% de taxa elevado, com precisão 7,348282643 e acurácia
47,0186892, já em 50% o valor de precisão é 0,130508216 e acurácia 0,013123365.

Figura 8. Relação entre precisão e acurácia


(a) Com elitismo
(b) sem elitismo

Fonte: Autores

4.2.6. Convergência
Para a análise da convergência, ou seja, do pontos máximos e mínimos
locais e globais em função das 200 gerações de cada uma das 30 simulações,
adotou-se duas imagens de cada uma das 8 execuções realizadas.

4.2.6.1. Com elitismo

Nos gráficos de convergência, em 2% de mutação, com elitismo, o valor de


fitness médio mantém-se próximo ao fitness máximo, que assume distintos valores
em cada uma das simulações. A exemplo da Figura 9, a esquerda, correspondente
a 6ª simulação, com fitness médio em torno de 55 e máximo chegando a
99,65759649, já a direita, tem-se a simulação 30, com fitness máximo de
13,50878774 e médio em torno de 8.
Figura 9. Convergência

Fonte: Autores

Para a taxa de 10% de mutação, conforme a Figura 10, o fitness médio


mantém-se distante do máximo, que apresenta, tanto na 15ª simulação, a
esquerda, quanto na 30ª, a direita, vários ótimos locais para somente a seguir
alcançar o ótimo global. Nesta, o valor médio em ambas as simulações fica entre 0
e 5 e o máximo, que no final deve-se convergir, respectivamente 12,50293531 e
37,04808119.
Figura 10. Convergência
Fonte: Autores

Semelhante ao exposto anteriormente, para uma mutação de 15% tem-se os


resultados de convergência da Figura 11, a esquerda, a simulação 7 e a direita,a 30.
Os fitness máximos assumem valores distante da média e com variação elevada,
podendo convergir rapidamente, como no primeiro caso ou lentamente, como no
segundo.
Figura 11. Convergência

Fonte: Autores

Por fim, tem-se a mutação máxima testada, 50%, a direita a simulação 7 e a


esquerda a 29. Assim como as demais, os valores de média e fitness máximo
tornam-se cada vez mais longes um do outro, assim como o alcance do ponto ótimo
global rapidamente, como no primeiro caso ou gradualmente, como no segundo.

Figura 12. Convergência

Fonte: Autores

4.2.6.2. Sem elitismo


Com a ausência do elitismo, testou-se os gráficos de convergência em 2% de
mutação, como exposto na Figura 13, a direita, simulação 1 e a esquerda a última
simulação. Neste teste tem-se que os pontos de fitness máximo e mínimo se
aproximam, notando se irregularidades nas formas dos sinais tanto do fitness médio
quanto do máximo nos gráficos.

Figura 13. Convergência sem elitismo


Fonte: Autores

Para 10% de mutação, nas simulações 5, a esquerda e 29, a direita, na


Figura 14, tem-se a amplificação dos sinais irregulares, que deveriam caminhar para
a convergência. Mas em ambos os casos a alternância entre os pontos de
referência, principalmente o máximo é forte, já a média atinge valores bem baixos.

Figura 14. Convergência sem elitismo

Fonte: Autores

Na Figura 15, com 15% de mutação tem-se as simulações 14 a esquerda e


30, a direita. Com pontos máximos que alternam constantemente, assumindo
valores irregulares e variantes ao longo das 200 gerações percorridas.
Figura 15. Convergência sem elitismo

Fonte: Autores

Na última análise, exposta na Figura 16, com 50% de mutação tem-se as


simulações 17, a esquerda e 30, a direita.com variações de fitness máximo
elevadas, sendo completamente irregular para alcançar a convergência,
principalmente na simulação 30. Contudo, os valores ficam bem próximos do valor
médio.

Figura 16. Convergência sem elitismo

Fonte: Autores

5. ANÁLISE DOS RESULTADOS


A partir dos resultados obtidos foi possível notar que quanto maior a taxa de
mutação, maior é a variação das características dos indivíduos da população e,
consequentemente, um valor mais divergente da solução e ínfimo nas métricas de
avaliação e performance do AG. Através da análise dos gráficos da Figura 1,
deduziu-se que a solução ideal para o AG compreende os valores fiquem mais
próximos dos seguintes resultados: X próximo de 6, Y de 10 e Z de 4. Enquanto
que, a variação das características dos indivíduos, pode ser visualizada,
principalmente, na figura 5, a qual apresenta os valores médios dos genes X, Y e Z
para cada taxa de mutação estudada.
Além disso, através dos gráficos de convergência gerados, foi possível
analisar se o comportamento do AG está de acordo com o esperado. Para tanto foi
necessário visualizar a evolução do fitness na população ao longo das gerações e
constatar que, para os casos com elitismo, a variação dos valores dos fitness
máximo e médio apresentou-se pequena, embora tenha se distanciado da solução
ideal conforme aumento da taxa de mutação. Já para os casos sem elitismo,
também foi possível identificar um distanciamento da solução ideal superior ao com
elitismo e uma diferença extremamente alta entre os valores do fitness máximo.
Nesse contexto, os gráficos de convergência sinalizam que os resultados das
simulações com elitismo apresentam, satisfatoriamente, estarem de acordo com o
comportamento esperado do AG, ao preservar e obter indivíduos mais próximos da
solução ideal em todos os casos da variação da taxa de mutação.
Adicionalmente, as métricas de acurácia, que determina o quão boa é a
solução que o indivíduo possui, e precisão, que mostra o quanto os resultados estão
concentrados próximos um ao outro, foram utilizadas para mensurar e avaliar a
performance do AG, bem como a confiabilidade dos resultados obtidos. Após a
análise dos gráficos, foi possível averiguar que quanto maior a taxa de mutação,
menores são os valores para ambas as métricas. A Figura 8 demonstra, para ambas
as métricas, o decrescimento dos valores em decorrência do aumento da taxa de
mutação, com exceção ao cenário com a presença de elitismo e taxa de mutação de
10% que apresenta valores superiores ao da taxa de 2%.
Nos gráficos de convergência, quanto maior a mutação, mais variação nos
genes ocorrerá, variando-se mais e tendo-se a média baixa, principalmente em
decorrência da função de avaliação adotada e do aumento do número de mutações.
Na função fitness, qualquer variação mínima ocorrida resulta em uma forte variação
no seu valor e portanto na média de convergência. A exemplo do teste demonstrado
abaixo, na Figura 17, onde aplicou-se na função de avaliação dois grupos de
valores, contendo, X Y e Z. De modo que, com uma variação mínima, que distancia
os genes dos seus valores ideais, 6, 10 e 4, por exemplo alteração em 0,5 ou
menos, tem-se um valor de fitness muito baixo, menor que 10. No teste efetuado, o
gene X sofreu uma pequena variação de 6,0 para 5,5, alterando o valor de fitness
que anteriormente estava em 99,9998 para apenas 3,8482 e consequentemente
exercendo forte influência no cálculo da média dos fitness.
Figura 17. Comprovação da variação na convergência

Fonte: Autores

6. CONSIDERAÇÕES FINAIS
Com base nos resultados obtidos, foi possível constatar que o aumento
gradativo da probabilidade de mutação ao longo da execução não melhorou o
desempenho do algoritmo, com exceção à taxa de 10% para o cenário com elitismo,
visto que para cada nova execução do AGs a melhor solução obtida tem variações
assim como sua curva de convergência. Conforme Lacerda et al. (2002), a mutação
melhora a diversidade dos cromossomos na população, no entanto, destrói
informação contida no cromossomo, logo, deve ser utilizada uma taxa de mutação
pequena, mas suficiente para assegurar a diversidade de cromossomos. Em termos
práticos, a probabilidade de mutação muito alta, mesmo nas gerações iniciais, tende
a deixar o algoritmo instável, o que prejudica seu desempenho, de maneira geral.
Ademais, foi possível perceber que a mutação é um operador genético
necessário para a diversificação da população e manutenção das características de
adaptação adquiridas pelas gerações anteriores. Portanto, torna-se necessária para
que haja a introdução e a diversidade genética, alterando aleatoriamente um ou
mais componentes de uma estrutura escolhida, fornecendo assim, meios para
introdução de novos elementos na população. Desta forma, conclui-se que a
mutação é capaz de contornar o problema de mínimos locais, pois com este
mecanismo, altera-se levemente a direção da busca.

REFERÊNCIAS
CERVO, Amado Luiz; BERVIAN, Pedro Alcino; DA SILVA, Roberto. Metodologia
Científica. 6. ed. São Paulo: Pearson Prentice Hall, 2007.

http://conteudo.icmc.usp.br/pessoas/andre/research/genetic/

https://monografias.ufrn.br/jspui/bitstream/123456789/8461/1/avalia%C3%A7%C3%
A3odetaxas_Nunes_2018.pdf