59
Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na Convergência Prematura e Diversidade da População Belo Horizonte, MG – Brasil Junho de 2013

Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

Embed Size (px)

Citation preview

Page 1: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

Guilherme de Paiva Pacheco

Algoritmos Genéticos - Efeitos da Utilização

de um Ranking Adaptativo de Diversidade na Convergência Prematura e Diversidade da

População

Belo Horizonte, MG – Brasil Junho de 2013

Page 2: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

1

Guilherme de Paiva Pacheco

Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

Convergência Prematura e Diversidade da População

Monografia submetida à banca

examinadora designada pelo Colegiado Didático do Curso de Graduação em Engenharia de Controle e Automação da Universidade Federal de Minas Gerais, como parte dos requisitos para aprovação na disciplina Projeto de Final de Curso II.

Orientador Frederico Gadelha Guimarães, Dr.

Supervisor Alan Robert de Freitas, Dr.

ESCOLA DE ENGENHARIA UNIVERSIDADE FEDERAL DE MINAS GERAIS

Belo Horizonte, MG – Brasil Junho de 2013

Page 3: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

2

Agradecimentos

Dedico este trabalho aos meus pais, Wilma e Marcos, por todo carinho e compreensão ao longo destes duros anos de graduação. Às minhas metades Alice, Débora e Marianna, meus melhores ângulos. Aos meus melhores amigos, Lucas, Tatá, Dhiapa, Bernardo, Raíssa e Henrique, pelas alegrias e tristezas divididas nesses anos de jogos, viagens, estudos e palhaçadas. Ao meu irmão Leandro, um dos meus maiores porto-seguros. Ao John, por jogar na minha cara tudo que eu empurrava às tangências. Muito obrigado. Ao Renan, por me fazer inspirar Gorecki e expirar Lullaby... E, por último mas não menos importante: à Tita, pela companhia e amor insubstituíveis. Agradeço também ao Joss Whedon, pelo pano de fundo da minha imaginação.

Page 4: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

3

Resumo

Algoritmos Genéticos se figuram como um dos principais métodos de otimização utilizados atualmente. Apesar disso, sua forma de funcionamento pode favorecer a convergência prematura da população em um ótimo local, o que prejudica a busca pelo ótimo global. Com o objetivo de impedir esse fenômeno, diferentes técnicas foram propostas para aumentar ou manter a diversidade da população ao longo da execução do algoritmo. O objetivo do presente estudo foi criar um ranking que selecione não somente os indivíduos com maior fitness, mas também os que apresentem diferença estrutural mínima de outros indivíduos previamente selecionados. Além disso, de forma a garantir uma melhor exploração do espaço amostral do problema, foi utilizada uma técnica que altera o funcionamento do ranking ao longo da execução, adequando-o aos estados de convergência da população e otimizando o seu funcionamento. Os testes foram aplicados em diferentes instâncias do Problema da Mochila, verificando o efeito do ranking em diversas combinações de tamanhos de população e tamanhos de indivíduos. Os resultados demonstraram os efeitos positivos provocados na eficiência e eficácia do algoritmo, além do aumento da diversidade da população ao longo de sua execução. Foi observada, no entanto, maior demanda computacional, já esperada devido às técnicas utilizadas para a construção do ranking.

Page 5: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

4

Abstract Genetic Algorithms represents one of the main optimization methods used nowadays. Nevertheless, its operating manner may lead to a premature convergence to a local optimum, what can prejudice the search for the global optimum. Several techniques were proposed trying to prevent that from happening. The main purpose of this present study was to create a ranking that selects not only individual with greater fitness but also individuals with a minimum structural difference from others already selected. In addition, in an attempt to guarantee a better sample space exploration, a technique that alters the ranking behavior was used in order to adapt it to different population convergence states, improving its operation. The tests were applied in different instances of the Knapsack Problem, analysing the ranking effect in different combinations of population and individual sizes. The results demonstrated the positive effects in the algorithm's effectiveness and efficiency. Moreover, an increase in population diversity during execution was also demonstrated. It was observed, however, greater computational demand, already expected due to the techniques used to build the ranking.

Page 6: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

5

Sumário

1.   CAPÍTULO 1 .................................................................................................................... 9  1.1. INTRODUÇÃO ....................................................................................................................... 9  1.2. MOTIVAÇÃO ...................................................................................................................... 11  1.3. AMBIENTE DE DESENVOLVIMENTO .................................................................................. 14  

2.   CAPÍTULO 2 .................................................................................................................. 15  2.1. ESTADO DA ARTE .............................................................................................................. 15  2.2. DIVERSIDADE POR DIVISÃO DA POPULAÇÃO EM GRUPOS FUNCIONAIS ............................ 16  2.3. DIVERSIDADE POR OPERADORES ADAPTATIVOS .............................................................. 18  2.4. DIVERSIDADE PELA REINICIALIZAÇÃO DA POPULAÇÃO ................................................... 19  2.5. DIVERSIDADE PROPORCIONADA PELO RANKING .............................................................. 22  

3.   CAPÍTULO 3 .................................................................................................................. 26  

3.1. GA-FRAMEWORK .............................................................................................................. 26  3.2. CONFIGURAÇÕES ADOTADAS NO PROJETO ....................................................................... 29  3.3. O PROBLEMA DA MOCHILA ............................................................................................... 32  3.4. DETALHES DE IMPLEMENTAÇÃO ....................................................................................... 35  

4.   CAPÍTULO 4 .................................................................................................................. 41  4.1. INSTÂNCIA COM 100 INDIVÍDUOS COM 500 BITS CADA ................................................... 41  4.2. RESULTADOS GERAIS PARA AS 9 INSTÂNCIAS .................................................................. 51  5.   CAPÍTULO 5 .................................................................................................................. 54  

5.1. CONCLUSÃO DO PROJETO .................................................................................................. 54  5.2. TRABALHOS FUTUROS ....................................................................................................... 55  REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................... 57  

Page 7: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

6

Lista de Figuras

FIGURA 1.1 - Exemplo de um Crossover .................................................................. 10

FIGURA 1.2 – Exemplo de uma Mutação .................................................................. 11 FIGURA 1.3 – Função Multimodal ............................................................................ 12 FIGURA 1.4 – Função Rastrigin ................................................................................ 13 FIGURA 2.1 – Esquema de Reprodução no Algoritmo de Taejin Park ..................... 17 FIGURA 2.2 – Exemplo da utilização da distância de Hamming ............................... 20 FIGURA 2.3 – Esquema do Ranking por Diversidade, proposto por Oliveira .......... 23 FIGURA 2.4 – (a) Exemplo de um centro de região .................................................. 24 FIGURA 2.4 – (b) Exemplo da não Transitividade da Divisão por Região ................ 24 FIGURA 3.1 – Estrutura do GA-Framework utilizado. ................................................ 27 FIGURA 3.2 – Retrato da GUI utilizada no GA-Framework de Alan de Freitas ....... 28 FIGURA 3.3 – Problema da Mochila ......................................................................... 32 FIGURA 3.4 – Exploração do espaço amostral pelo ranking com diversidade ......... 38 FIGURA 4.1 – Melhor resultado para f(x) em função do tempo – Instância V ........... 42 FIGURA 4.2 – Resultado do teste de Kruskal Wallis – Instância V .......................... 44 FIGURA 4.3 – Número de gerações em função do tempo – Instância V .................. 45 FIGURA 4.4 – DH média da população em função do tempo – Instância V ............. 46 FIGURA 4.5 – Detalhe da diminuição de variedade da população – Instância V ..... 47 FIGURA 4.6 – Entropia da população em função do tempo – Instância V ............... 48 FIGURA 4.7 – Número de grupos em função do tempo – Instância V ...................... 49 FIGURA 4.8 – Valor de Ɛ ao longo da execução – Instância V ................................. 50 FIGURA 4.9 – Resultado gráfico do teste de Friedman para as 9 instâncias ............ 52 FIGURA 4.10 – Melhor resultado para f(x) em função do tempo – Instância VIII ...... 53 FIGURA 4.11 – Número de gerações em função do tempo – Instância VIII .............. 53

Page 8: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

7

Lista de Tabelas

TABELA 3.1 – Instâncias utilizadas para os testes. .................................................. 34 TABELA 3.2 – Dinâmica do valor de Ɛ ao longo da execução ................................. 39 TABELA 4.1 – Resultados finais encontrados em 20 execuções da Instância V .... 43 TABELA 4.2 – Resultados finais para as 9 instâncias .............................................. 51

Page 9: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

8

Lista de Acrônimos

AG Algoritmos Genéticos GUI Grafical User Interface DH Distância de Hamming MP Main Population RP Reserve Population

Page 10: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

9

1. CAPÍTULO 1 1.1. INTRODUÇÃO Em meio ao crescente ramo da computação evolucionária, a técnica dos

Algoritmos Genéticos (AGs) vem recebendo bastante destaque devido à sua eficácia

e simplicidade de suas soluções. Pode-se dizer que os AGs se figuram como um

método de pesquisa estocástico que se baseia nos princípios da genética e da

seleção natural (Xinping et al., 2009; Goldberg, 1989). São algoritmos criados para

buscar soluções de problemas complexos, cujo espaço amostral é considerado

extenso demais para ser percorrido por um algoritmo determinístico. Diferentemente

de outras técnicas de busca, que utilizam majoritariamente métodos numéricos, a

técnica dos AGs inicia a pesquisa por meio de um grupo de soluções aleatórias,

chamado de “população”. Os indivíduos desse grupo são denominados

“cromossomos” que, em geral, podem ser representados por uma cadeia, ou string,

de bits, em que cada bit é considerado um “gene” do cromossomo. Cada gene

fornece alguma característica ao seu cromossomo, contribuindo de alguma forma

para a qualidade da solução.

Os termos utilizados são os mesmos que os presentes na biologia devido ao

fato de que o processo de busca se baseia na evolução desses cromossomos por

meio de sucessivas iterações, que recebem o nome de “gerações”. Durante cada

geração, os cromossomos são avaliados quanto à qualidade da solução

correspondente frente a algum critério de seleção – chamada função fitness, que

varia de acordo com o objetivo do problema. Assim, os cromossomos que

apresentam os melhores fitness são selecionados em detrimento daqueles que não

apresentaram soluções tão satisfatórias frente ao critério de seleção pré-

estabelecido. A expectativa é de que, após várias iterações, o algoritmo convirja

para a melhor solução (Mitsuo e Runwei, 1999).

O método tradicionalmente utilizado para formar uma nova população é

constituído três etapas. Inicialmente, a aptidão dos cromossomos é avaliada pelo

fitness, a qual permite que os cromossomos sejam classificados e organizados

frente a alguma estratégia, como maximização de um valor, ou a minimização de um

Page 11: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

10 erro em um controlador, por exemplo. Assim, é possível selecionar os cromossomos

mais adequados para a reprodução e consequente transmissão de genes para as

futuras populações. Há vários métodos de seleção destes indivíduos. No entanto,

normalmente em um algoritmo genético tradicional, utiliza-se o critério de seleção

por roleta, no qual os indivíduos são ordenados exclusivamente de acordo com o

fitness das soluções, e lhes são atribuídos probabilidades decrescentes de serem

escolhidos, as quais são proporcionais à razão entre o fitness do indivíduo e a soma

dos fitness de todos os indivíduos da população. A seleção é, então, realizada tendo

como base essas probabilidades, com o objetivo de garantir a escolha dos

indivíduos melhor adaptados, sem, contudo, desconsiderar completamente a

variedade desses indivíduos, já que por ser um método estocástico, os menos

adaptados podem também ser escolhidos, apesar da menor chance (Linden, 2008).

Após a seleção dos indivíduos, é realizado o Cruzamento, ou Crossover,

técnica na qual alguns genes de ambos os pais selecionados são replicados e

mesclados, originando, em geral, dois novos indivíduos. Essa recombinação visa

garantir que os indivíduos mais bem adaptados troquem entre si informações que os

levem a ser mais aptos a sobreviver, e futuramente gerar descendentes ainda mais

aptos (Goldberg, 1989), com maior fitness. Essa técnica é ilustrada pela Figura 1.1,

em que as duas palavras binárias inferiores são constituídas pela combinação das

metades das palavras superiores.

Figura 1.1 - Exemplo de um Crossover

Já com o objetivo de inserir certa variabilidade na população e impedir que

esta convirja prematuramente em um ótimo local, é realizada a Mutação, técnica na

Page 12: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

11 qual um gene específico de algum indivíduo integrante da população atual é

escolhido estocasticamente, e, então, modificado, também de forma estocástica

(Goldberg, 1989). A Figura 1.2 exemplifica a técnica da Mutação, em que o sétimo

bit da palavra tem seu valor invertido, de ‘0’ para ‘1’.

Figura 1.2 – Exemplo de uma Mutação

Existem diferentes tipos de implementação de algoritmos genéticos, seja com

variações mais básicas nos critérios de seleção, ou na taxa de mutação; ou também

com mudanças mais drásticas como uma reestruturação da população para atender

diferentes objetivos. Algumas dessas diferentes implementações serão abordadas

no capítulo seguinte. Para a abordagem do problema, será tratado como o algoritmo

genético tradicional aquele que funciona da forma descrita acima, com o critério de

seleção através de um ranking baseado exclusivamente no fitness dos indivíduos.

1.2. MOTIVAÇÃO

O objetivo de um AG é encontrar o ótimo global de um determinado problema.

No entanto, em situações nas quais os problemas envolvam funções multimodais e

os algoritmos genéticos sejam implementados, à medida que a população evolui ao

longo das sucessivas iterações, é comum que esta convirja e fique aprisionada em

uma bacia de ótimo local. Dessa forma, com a população pouco diversificada dentro

dessa bacia é pouco provável que algum indivíduo das populações futuras escape

da bacia a fim de encontrar o ótimo global, o que caracteriza uma convergência

prematura. A única estratégia fornecida pelo AG tradicional para evitar a

Page 13: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

12 convergência prematura é a mutação, que, no entanto, é um método muitas vezes

insuficiente para evitar esse fenômeno.

O efeito descrito no parágrafo acima pode ser identificado com o auxílio da

Figura 1.3, a qual representa a função sinc(x), expressa pela Equação 1.

𝑠𝑖𝑛𝑐 𝑥 =sin  (𝑥)𝑥                                (1)

Figura 1.3 –Função Multimodal

A função sinc(x) representa um tipo básico de uma função com diversos

ótimos locais e um único ótimo global. Ao se executar um AG tradicional, a

população pode ficar aprisionada dentro de um dos ótimos locais e

consequentemente não explorar o espaço amostral o bastante a fim de identificar a

existência do ótimo global da função, o que resulta em uma solução equivocada. A

função sinc(x) é uma função bidimensional e relativamente simples, na qual é fácil

observar que o máximo encontrado se trata de um máximo local e não um máximo

global. No entanto, em problemas mais complexos e com maior número de

dimensões, a identificação das diferenças entre esses máximos pode ser difícil,

sendo necessário um algoritmo genético eficaz e com maiores probabilidades de

encontrar o máximo global, frente aos algoritmos genéticos tradicionais.

A Figura 1.4 representa a função Rastrigin, expressa pela Fórmula (2), uma

função multimodal, tridimensional, com vários ótimos locais, e um único ótimo global.

É necessário um AG que seja eficaz para que se encontre o mínimo global da

função, de modo que não ocorra uma convergência prematura em algum dos vários

Page 14: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

13 mínimos locais do espaço amostral. É justamente por essa dificuldade que a função

Rastrigin é muito utilizada para se avaliar a eficiência de algoritmos genéticos (Törn

e Zilinskas, 1989).

𝑓 𝑥 = 20 + 𝑥!! − 10 cos 2𝜋𝑥!

!

!!!

                               (2)

Figura 1.4 –Função Rastrigin

Fonte: http://www-optima.amp.i.kyoto-u.ac.jpg

É neste contexto que o presente estudo propôs melhorias. Uma alternativa

para evitar a convergência prematura consiste em modificar a estratégia do ranking,

de tal forma que não somente as soluções com maior fitness sejam valorizadas, mas

também as soluções que garantam a diversidade da população. A estratégia de

manutenção da diversidade da população vem sendo abordada na literatura de

diferentes formas, sendo as mais recorrentes apresentadas e discutidas no próximo

capítulo.

O objetivo deste trabalho é simular e comparar, em diferentes instâncias de

um problema de otimização, algoritmos genéticos com o ranking exclusivamente

baseado no fitness dos indivíduos, frente a algoritmos genéticos com ranking

visando também a manutenção da diversidade. A manutenção da diversidade da

Page 15: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

14 população é promovida por meio da inserção de um código, desenvolvido nesse

projeto, em um toolbox para análise de algoritmos genéticos.

Ao final do trabalho, estáo apresentados os resultados obtidos a partir das

comparações entre as simulações, o que possibilitará avaliar o efeito da manutenção

da diversidade da população sobre a qualidade de um AG. O estudo medirá e

avaliará quatro efeitos principais dessas modificações enunciadas, que são

Ø Eficiência do Algoritmo.

Ø Eficácia do Algoritmo.

Ø Variedade da população ao longo da execução do algoritmo.

Ø Custo computacional decorrente das modificações.

1.3. AMBIENTE DE DESENVOLVIMENTO

O projeto será desenvolvido no software Matlab® Versão 2011, em um

toolbox, ou framework, de Algoritmos Genéticos. O toolbox pode ser obtido no

próprio site da MathWorks®. Essa ferramenta possibilita uma execução versátil de

algoritmos genéticos em qualquer problema de otimização criado pelo usuário.

Alguns problemas de otimização mais conhecidos estão disponibilizados junto ao

toolbox, como exemplo. O programa fornece resultados e características da

população a cada iteração do algoritmo. A versatilidade da execução diz respeito ao

fato de que é possível alterar vários parâmetros do algoritmo, como a taxa de

mutação, taxa de cruzamento, competição entre pais e filhos, dentre outros. Todos

os parâmetros relevantes à execução do projeto serão ressaltados nos próximos

capítulos.

No presente estudo, de forma a avaliar os efeitos de um ranking que garanta

a diversidade da população e uma melhor exploração do espaço amostral, foi

implementado um algoritmo que divide a população em grupos de similaridade

estrutural, e outro algoritmo que aumenta as chances de que todos os grupos

possuam ao menos um representante selecionado para realizar a reprodução, a fim

de evitar que a população perca sua diversidade e, consequentemente, genes

importantes que levariam o algoritmo à solução global. O código em Matlab criado

foi incluído dentro do framework, e, então, com as ferramentas disponibilizadas por

este, foi possível avaliar os resultados práticos de um AG com ranking que promova

a diversidade da população e comparar com os resultados de um que possua

ranking apenas pelo fitness das soluções.

Page 16: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

15

2. CAPÍTULO 2 2.1. ESTADO DA ARTE

Estratégias utilizadas com o objetivo de evitar a convergência prematura em

algoritmos genéticos têm sido discutidas na literatura e, apesar de serem

fundamentalmente diferentes, a maioria apresenta medidas de investimento na

manutenção da diversidade da população. Essa diversidade, no entanto, pode ser

avaliada de diferentes maneiras. De acordo com Jackson et al. (2011) há duas

formas principais de se avaliar a diversidade de uma população: por meio da

variedade genética, e por meio da variedade fenotípica dos indivíduos.

A variedade genética pode ser avaliada observando-se a quantidade de

indivíduos de uma população estruturalmente diferentes uns dos outros (Jackson,

2011; Burke et al. 2002). Em situações nas quais os indivíduos são representados

por palavras binárias, como no presente estudo, essa diferença se baseia na

comparação bit a bit, de posições correspondentes, entre as palavras, de modo que

quanto maior a quantidade de bits diferentes, maior a diferença estrutural entre os

indivíduos. Sendo assim, uma população com maior número de indivíduos

estruturalmente diferentes uns dos outros, representa uma população mais

diversificada.

Uma das formas de se mensurar a diversidade genética da população é pela

razão entre a quantidade de indivíduos estruturalmente diferentes e a quantidade de

indivíduos possível em uma população. Quanto maior for essa razão, maior a

diversidade da população, e, sendo essa razão igual a ‘1’, todos os indivíduos são

estruturalmente diferentes uns dos outros (Jackson, 2011). Essa prática, no entanto,

é apropriada para problemas em que a quantidade de bits dos indivíduos possibilite

um número não muito maior do que o número de indivíduos na população. Para o

caso de indivíduos de 64 bits representando números reais, a diversidade da

população por esse método estaria sempre baixa, tendo em vista que a quantidade

de indivíduos possível é muito superior a um tamanho viável para a população.

Além de pela quantidade de indivíduos estruturalmente diferentes uns dos

outros, a variedade genética também é observada pelo quão diferentes são os

Page 17: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

16 indivíduos uns dos outros. Uma população cujos indivíduos apresentem uma

diferença estrutural média de 60%, aproximadamente, representa uma população

com maior diversidade que uma população que apresente uma diferença de apenas

20%.

A variedade fenotípica, por sua vez, é relacionada aos resultados da

avaliação dos indivíduos. O exemplo mais comum de avaliação fenotípica é a

avaliação por fitness, mencionada no capítulo anterior. Neste contexto, uma

variabilidade fenotípica seria a presença de indivíduos que apresentem valores

diversificados de fitness, de forma que mesmo indivíduos que sejam estruturalmente

diferentes possam ser considerados idênticos ao se avaliar o fitness dos mesmos.

Ambas as formas de variedade, genética e fenotípica, em geral ocorrerem

paralelamente. A mutação, por exemplo, é uma operação que atua visando

diretamente a variação genética. A variação fenotípica, neste caso, ocorre de modo

indireto. A inversão estocástica de bits na palavra aumenta a diversidade entre os

indivíduos da população. O presente estudo optou por mensurar e atuar diretamente

na variabilidade genética, portanto, as seções seguintes evidenciam alguns dos

métodos mais comumente utilizados para se inserir este tipo de diversidade na

população.

2.2. DIVERSIDADE POR DIVISÃO DA POPULAÇÃO EM GRUPOS FUNCIONAIS

Como forma de garantir a manutenção da diversidade na população, Taejin et al.

(2007) implementou uma mudança estrutural em seu algoritmo. Neste, a população

foi dividida em dois grupos funcionais com objetivos distintos: o primeiro, chamado

de Main Population, MP, tem como propósito o principal do algoritmo, que é

encontrar após sucessivas iterações a solução ótima ao problema em questão; e um

segundo grupo, chamado de Reserve Population, RP, que tem como objetivo

realizar a manutenção da diversidade. Dessa forma, os critérios de seleção,

reprodução e mutação são diferentes para cada um desses grupos e, inclusive, até

mesmo o fitness para esses grupos são avaliadas de formas diferentes para que

estes atinjam seus respectivos objetivos. Os grupos, no entanto, não são isolados

um do outro: eles trocam informações entre si, de tal forma que o algoritmo procura

obter soluções diversificadas, com os genes provenientes da RP, e que também

Page 18: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

17 apresentem alto valor de fitness, com os genes dos indivíduos da MP. Um

esquemático de como é feita a iteração e a troca de informação entre esses dois

grupos é apresentado no diagrama a seguir (Taejin e Kwang, 2007).

Figura 2.1 –Esquema de Reprodução no Algoritmo de Taejin Park

Fonte: (Taejin; 2007) Modificada pelo autor.

Apesar dos resultados encontrados para este tipo de implementação terem

sido satisfatórios, o lado negativo deste tipo de abordagem é que ao longo da

execução do algoritmo, e da inevitável convergência da população, os filhos

provenientes da RP raramente possuíam um fitness alto o suficiente para competir

com os filhos da MP, que em geral já estavam muito mais evoluídos, e assim, os

primeiros não eram selecionados e não mais contribuíam para a evolução da

população (Taejin e Kwang, 2007). Medidas estratégicas na seleção dos pais de

ambas as populações foram tomadas para atenuar este efeito, não obstante, a

probabilidade dos filhos da RP não serem selecionados foi significante.

Dessa forma, apesar da ideologia de garantir a diversidade da população pela

sua divisão em diferentes grupos ser comum ao método do presente estudo, a

divisão de funcionalidade entre esses grupos, no entanto, não será adotada. A

técnica do ranking pretendida neste trabalho necessita apenas da divisão da

população em grupos de semelhança estrutural, e não em grupos com diferentes

fins.

Page 19: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

18 2.3. DIVERSIDADE POR OPERADORES ADAPTATIVOS

Outra estratégia bastante difundida na literatura é utilizada por Liu Xinping et

al. (2009). Também de acordo com Xinping (2009), a diversidade da população ao

longo da execução do algoritmo é de importância fundamental para se alcançar a

convergência global para o problema. Para tal, ele utiliza o conceito de distância

Hamming, DH, que é aplicável para indivíduos representados por cadeias de bits,

que é a forma de representação adotada para as soluções deste trabalho. A

distância Hamming, Hi, é definida pela Fórmula 3.

𝐻!" = (|𝑋!" − 𝑋!"|)!

!!!

                                                 𝑖 ≠ 𝑗                                                (3)

Os termos Xik e Xjk denotam o k-ésimo bit dos indivíduos Xi e Xj,

respectivamente. E ‘L’ equivale ao tamanho desses indivíduos. Logo, nota-se que

quanto maior for a diferença bit a bit dos indivíduos, maior será a DH entre eles. Em

seguida, é introduzida a medida adotada para se mensurar a diversidade da

população em relação a um indivíduo específico, Di, que é definida como a soma

das DH de todos os indivíduos da população em relação a um específico Xi. Essa

medida pode ser expressa pela Fórmula 4 (Xinping et al. 2009).

𝐷! = 𝐻! =!!!

!!!

(|𝑋!" − 𝑋!"|)!

!!!

!!!

!!!

                                                 𝑖 ≠ 𝑗                              (4)

Xinpig defende que operadores de mutação e cruzamento estáticos

contribuem para uma convergência prematura do algoritmo, e, portanto ele sugere a

adoção de operadores adaptativos. Para tal, ele faz uso dos conceitos enunciados

acima para calcular em tempo real o valor ideal, em função da variabilidade da

população, para os operadores de mutação e cruzamento de forma a evitar a

convergência prematura da população. Sendo assim, é sugerida a aplicação das

seguintes fórmulas para se obter adaptativamente os operadores de cruzamento, Pc,

e de mutação, Pm.

Page 20: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

19

𝑃! =𝑃!!.

!!"#!!!!!!"#!!!"#

+ 𝑃!!, 𝐷!! ≤ 𝐷!"#𝑃!!,                                                            𝐷!! > 𝐷!"#

(5)

𝑃! =𝑃!!.

!!"#!!!!!"#!!!"#

− 𝑃!! − 𝑃!! .!!"#!!

!!"#!!!"#, 𝐷! ≥ 𝐷!"#

𝑃!!,                                                                                                                                          𝐷!! < 𝐷!"# (6)

Em que Pc1 e Pc2 representam a maior e menor probabilidade de cruzamento;

Pm1 e Pm2 são a maior e menor probabilidade de mutação, sendo todos estes valores

estipulados pelo programador do algoritmo. Dmed, Dmin e Di correspondem à média

das medidas de diversidade da população, ao menor valor de diversidade da

população, e ao valor de diversidade de um indivíduo específico, respectivamente.

D’i corresponde à menor medida de diversidade dentre os pares selecionados para

realizar o cruzamento. E, finalmente, fmax, fmed e f correspondem ao valor de fitness

máximo da população, ao valor de fitness médio e ao valor de fitness do indivíduo,

respectivamente.

Os resultados obtidos evidenciaram uma melhora na eficácia e rapidez na

obtenção dos resultados, diminuindo a ocorrência de convergências prematuras.

Desta forma, a estratégia de operadores adaptativos por eles adotada foi bem

sucedida. No entanto, para este projeto, a utilização deste tipo de mecanismo de

adaptação para os operadores poderia camuflar os efeitos da manutenção da

diversidade proporcionada pelo ranking criado, tornando difícil a distinção dos efeitos

provocados por cada um destes métodos isoladamente. Sendo assim, optou-se pela

utilização apenas da estratégia do ranking de diversidade, mantendo os operadores

de cruzamento e mutação fixos em seus valores iniciais.

2.4. DIVERSIDADE PELA REINICIALIZAÇÃO DA POPULAÇÃO

Uma das formas de se inserir diversidade na população é por meio da

reinicialização desta, ou seja, por meio da geração de novos indivíduos de forma

estocástica. Este procedimento é comumente feito quando é identificado o

Takeover.

Takeover é o termo dado para o momento em que toda a população converge

para um ou poucos indivíduos, com pouca variabilidade de fitness dentre eles, de

forma que a partir desse ponto esta passa a depender integralmente da mutação

Page 21: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

20 para inserir alguma variabilidade que resulte em uma solução diferente do ótimo já

encontrado. Dessa forma, a população para de evoluir independentemente de

quantas iterações o código execute, resultando em um desperdício de tempo e de

demanda computacional.

Os algoritmos genéticos que operam com a técnica de reinicialização da

população necessitam de uma forma para detectar quando o takeover ocorreu, de

modo a poder reinicializar a população e procurar mais uma vez por um ótimo global.

O critério de detecção de takeover pode variar de problema para problema e de

algoritmo para algoritmo. No entanto, na maioria dessas formas é necessário

mensurar de algum modo a diversidade da população e julgar quando esta estiver

baixa.

Existem várias formas de se mensurar a diversidade da população, uma das

mais comuns é obtida através de uma derivação da Fórmula (4) explicitada

anteriormente, que corresponde a uma soma da DH de todos os indivíduos em

relação ao restante da população. Essa medida de diversidade da população, Dpop,

pode ser expressa pela Fórmula (7) (Morrison e Jong, 2001).

𝐷!"! = (|𝑋!" − 𝑋!"|)!

!!!

!!!

!!!!!

!!!!!

!!!

                                             𝑖 ≠ 𝑗                              (7)

‘N’ é o número de indivíduos da população e ‘L’ o comprimento da cadeia de

bits que constituem os indivíduos. Assim, obtido o valor para Dpop, é possível

mensurar a diversidade da população, e caso esta esteja abaixo de uma referência

previamente estabelecida, é identificado o takeover e reinicializa-se a população,

mantendo os melhores indivíduos já encontrados.

O maior inconveniente da utilização da Fórmula (7) é o seu elevado custo

computacional. Por ser uma operação a ser feita em todos os ‘N’ indivíduos,

comparando-o com todos os ‘N-1’ indivíduos, e cada um tendo seus ‘L’ bits

comparados um a um, essa operação pode ser de difícil utilização para problemas

com um número elevado de indivíduos (Morrison e Jong, 2001).

Page 22: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

21

Figura 2.2 –Exemplo da utilização da distância de Hamming nos indivíduos da população.

A Figura 2.2 evidencia a utilização da DH para calcular diversidade na

população. Os indivíduos de 1 a 5 tiveram seus bits comparados um a um com os

bits dos outros indivíduos, resultando na esquema inferior da figura. A soma de

todos os DH, resultando 56 neste exemplo, pode ser utilizada para mensurar a

diversidade da população. Para um mesmo grupo de indivíduos em uma população,

quanto maior for a soma de todos os DH, maior será a diversidade do grupo. Um

grupo com a soma de DH equivalente a 0 é um grupo em que todos os indivíduos

são idênticos.

Outra forma de mensurar a diversidade foi adotada por Rosca et al. (1995),

que sugeriu uma medida de entropia, análoga a uma medida utilizada na biologia e

física. Nela, a diversidade da população pode ser medida por meio das razões entre

o número de indivíduos pertencentes a cada grupo na qual a população foi dividida.

A Fórmula (8) fornece o valor de entropia de uma população em função do número

de indivíduos enquadrados nos grupos em que a população foi dividida.

Page 23: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

22

𝐸 = − 𝑃! . log  (𝑃!)!

!!!

                                                                         (8)

‘E’ representa a entropia da população, ‘G’ representa o número de grupos

no qual a população foi dividida, e ‘Pk’ representa a razão entre o número de

indivíduos pertencentes a um determinado grupo, correspondido por ‘k’, e o número

total de indivíduos da população. Por meio desta medida, é possível verificar o

comportamento da diversidade da população ao longo da execução do algoritmo.

Apesar dos eficiência provocada pela reinicialização da população em

algoritmos genéticos, o presente estudo não utilizou esta técnica nos testes

executados. Esta decisão foi tomada de forma a melhor observar a exploração do

espaço amostral pelo ranking de diversidade em uma população inicial frente a um

AG tradicional. Reinicializações da população introduziriam variações estocásticas

nos dados, dificultando a análise dos efeitos provocados pelo ranking na evolução

do algoritmo.

2.5. DIVERSIDADE PROPORCIONADA PELO RANKING

O objetivo do presente estudo é baseado em uma estratégia apresentada por

Oliveira et al. (2012). Oliveira, ao observar o fenômeno de convergência prematura

notou que o escalonamento do ranking exclusivamente pelo valor de fitness dos

indivíduos contribuía para uma indevida e rápida convergência do algoritmo (Oliveira

et al. 2012), e, consequentemente, para uma perda precoce da diversidade da

população. Tendo conhecimento disso, Oliveira et al. (2012) projetou uma alternativa

para o ranking de escalonamento, de tal forma que este passasse a valorizar não

somente indivíduos com maior valor de fitness, mas também indivíduos que possam

proporcionar a manutenção da diversidade na população.

Para isso, foi proposta uma divisão da população por grupos de proximidade

estrutural e implementou um algoritmo que procura selecionar os indivíduos com

maiores valores de fitness que pertençam a grupos diferentes, de forma a evitar a

presença desnecessária de vários indivíduos de uma mesma bacia local no grupo de

indivíduos selecionados, o que pouco contribuiria para explorar o espaço de

amostral do problema.

Page 24: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

23

A Figura 2.3 ilustra a diferença de escalonamento da forma tradicional, como

está nativamente implementada no toolbox, frente ao escalonamento por

diversidade, proposta por Marcus.

Figura 2.3 –Esquema do Ranking por Diversidade, proposto por Oliveira.

Fonte: Oliveira et al. (2012) Modificada pelo autor.

Pela Figura 2.3 é possível observar que os indivíduos da Região 1 possuem

os maiores valores de fitness e, portanto, para o ranking tradicional, são os com

maior probabilidade de serem selecionados, seguidos pelo indivíduo da Região 2,

que por sua vez é seguido pelos indivíduos das Regiões 3 e 4, respectivamente.

Este tipo de ranking tende a ser ineficiente devido ao fato de que ele avalia e

seleciona redundantemente vários indivíduos de uma mesma região, aprisionando a

população em uma bacia cujo ótimo local já foi representado, levando o algoritmo à

uma convergência prematura, antes que o espaço de soluções seja devidamente

explorado em busca do ótimo global do problema. No entanto, pelo ranking de

diversidade, nota-se que a valor de fitness dos indivíduos continua sendo priorizado,

porém, indivíduos de regiões diferentes possuem preferência frente a indivíduos de

uma mesma região que já possua um representante selecionado. Dessa forma, a

população tende a permanecer diversa e ao longo da execução do programa,

proporcionando uma melhor exploração do espaço amostral antes de convergir.

Para se obter a divisão por regiões, é preciso antes introduzir o conceito de

equivalência, em que um indivíduo Xi equivale a um indivíduo Xj se, e somente se,

|Xi – Xj| < Ɛ, em que Ɛ é algum valor especificado maior que zero (Oliveira et al.,

2012) e corresponde à DH mínima entre dois indivíduos adotada para que estes

sejam considerados diferentes. Considerando um Xi como centro de uma região, e

um raio de valor determinado Ɛ, todos os outros indivíduos que estiverem dentro

deste círculo são considerados como pertencentes à região de Xi. Então, utilizando

esse conceito, uma vez determinada a região a que pertence cada indivíduo, o

procedimento é atribuir a melhor posição no ranking, e consequentemente a maior

Page 25: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

24 probabilidade de ser selecionado, ao indivíduo mais apto da população. A segunda

posição no ranking, por sua vez, é atribuída ao melhor indivíduo dentre os restantes

que não esteja na mesma região do primeiro indivíduo selecionado. O terceiro

indivíduo será o mais apto dentre aqueles não pertencentes às regiões dos dois

primeiros indivíduos já escolhidos.

O procedimento descrito acima é realizado recursivamente até que todas as

regiões contenham ao menos um representante no ranking, quando então o

procedimento recomeça, sendo possível alocar um segundo representante de cada

região, ou até o número de vagas para a seleção de indivíduos acabar. Dessa

forma, é possível que indivíduos com menores valores de fitness recebam uma

maior chance de serem selecionados e passarem seus genes para populações

futuras, o que, por consequência, atrasa a convergência da população, aumenta a

diversidade da mesma e melhora a exploração do espaço amostral.

Apesar de parecer uma atividade simples, dividir o espaço de soluções em

regiões é uma tarefa complicada, não só devido ao fato de que cada problema

deverá ser individualmente avaliado, mas também porque a divisão em regiões não

é uma relação transitiva. A Figura 2.4 abaixo ilustra esta característica.

Figura 2.4 –a) Exemplo de um centro de região. b) Exemplo da não Transitividade da Divisão por Região

Fonte: Oliveira et al. (2012)

Page 26: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

25

A não transitividade da divisão de grupos pode ser exemplificada pelo fato de

que, seja um Xi e um Xj, em que |Xi – Xj| < Ɛ, e seja um Xk em que |Xk – Xj| < Ɛ. Pela

primeira equação, Xi e Xj estão na mesma região, e o mesmo ocorre para Xj e Xk. No

entanto, não necessariamente Xi e Xk estão na mesma região, conforme mostrado

na Figura 2.4-b, evidenciando, assim a não transitividade da divisão em grupos e de

como se deve tomar um cuidado ao se realizar essa divisão para que o algoritmo

funcione corretamente. Maiores detalhes sobre como essa técnica foi implementada

no presente estudo serão apresentados no próximo capítulo.

Page 27: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

26

3. CAPÍTULO 3

Os objetivos deste capítulo são: detalhar o ambiente de desenvolvimento do

projeto e sua organização; descrever o problema da mochila, o qual foi utilizado para

a implementação dos testes utilizados para investigar os efeitos das modificações

feitas e, por fim, descrever os algoritmos e as alterações implementadas no

ambiente a fim de se aperfeiçoar o funcionamento do GA.

3.1. GA-FRAMEWORK

Conforme enunciado no Capítulo 1, o ambiente de desenvolvimento do

presente estudo foi o GA-Framework desenvolvido para a plataforma Matlab®. O

GA-Framework segrega funções que são comuns a todos os problemas de

otimização das funções que são específicas para cada um, o que permite a sua

utilização em diferentes problema. Como exemplos, as funções de escalonamento e

seleção dos pais, reprodução, avaliação da população, avaliação da ocorrência de

takeover na população, inicialização e atualização das configurações do algoritmo,

são funções que devem ser executadas independentemente do problema a ser

avaliado. Essas funções, por sua vez, levam à utilização de funções específicas para

o problema, como a própria inicialização e da população inicial, a forma de se

realizar a cruzamento e a mutação em cada indivíduo da população, a avaliação da

adequação deste à função objetivo e a impressão dos resultados para a visualização

do usuário. Essa configuração permite maior flexibilidade do framework,

minimizando o trabalho para o usuário que queira personalizar um problema

específico.

A Figura 3.1 ilustra a estrutura das funções no toolbox, considerando o

problema da mochila como o problema a ser otimizado pelo programa.

Page 28: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

27

Figura 3.1 – Estrutura do GA-Framework utilizado.

O GA-Framework possui uma Grafical User Interface (GUI), a qual permite

que o usuário selecione os parâmetros e configurações a serem utilizadas pelo

programa na busca da solução ótima para o dado problema. No presente estudo,

serão utilizados apenas os parâmetros que tratam de funções mono-objetivo.

Page 29: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

28

Figura 3.2 – GUI utilizada no GA-Framework Fonte: Open Genetic Algorithm Toolbox (Freitas, Alan de)

Os parâmetros evidenciados na Figura 3.2 correspondem aos parâmetros

disponibilizados pelo framework, no entanto, de forma a se executar o AG de forma

mais simples, muitos dos parâmetros foram desativados. A seção seguinte descreve

o significado e qual a opção adotada para cada um dos parâmetros acima.

Page 30: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

29 3.2. CONFIGURAÇÕES ADOTADAS NO PROJETO

A fim de avaliar os efeitos das mudanças implementadas no desempenho do

algoritmo, é necessário adotar algumas configurações padrões para os parâmetros

em todos os testes e coletas de dados realizados. Esses parâmetros podem ser

divididos em dois tipos: parâmetros numéricos e metodológicos. Os primeiros se

referem a parâmetros que são ajustados em números cardinais ou em uma faixa de

valores previamente estabelecida. Os parâmetros metodológicos, por sua vez, se

referem aos parâmetros que refletem na escolha de um determinado método ou

função a ser executada ao longo do algoritmo. A seguir será descrito o significado de

cada um dos parâmetros e qual o valor ou método adotado para eles.

3.2.1. Parâmetros Numéricos

O primeiro parâmetro do GA-framework a ser definido é o tamanho da

população. Uma população pequena tende a perder variedade de forma mais rápida

que uma população maior. Por outro lado, uma população muito grande demanda

maior custo computacional. Como o objetivo do presente trabalho é verificar os

efeitos do ranking de diversidade em diferentes instâncias do problema da mochila,

diversos tamanhos de população foram utilizados. Assim, os dois algoritmos foram

comparados por meio da sua implementação em populações com os seguintes

tamanhos: (a) 40 indivíduos (b) 100 indivíduos (c) 300 indivíduos. A existência de

tanto populações numerosas quanto populações reduzidas permitirá uma análise

mais aferida da diferença entre os rankings em execuções com diferentes custos

computacionais.

Apesar da GUI do framework utilizado possibilitar ajuste em tempo real dos

operadores de cruzamento e mutação, estes foram fixados nos valores iniciais e

não tiveram seus valores alterados em momento algum ao longo da execução,

permanecendo constantes. Optou-se por mantê-los constantes a fim de melhor

evidenciar os efeitos provocados pelo ranking de diversidade criado. O operador de

cruzamento foi fixado 90%, o que significa que um par de pais selecionados tem

chance de 90% de trocar informação genética, gerando dois novos filhos. Já o

operador de mutação, foi fixado em 5%, o que significa que cada filho resultante da

Page 31: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

30 reprodução tem uma chance de 5% de ter algum bit, estocasticamente definido,

alterado.

Foi definido o total de dois pais por cruzamento, valor mais comum em AG

tradicionais. Além disso, adotou-se competição entre pais e filhos, ou seja, a seleção

da nova geração envolve tanto os indivíduos pais quanto os filhos, sendo metade

destes eliminada.

O elitismo da população se refere à manutenção forçada dos indivíduos mais

adaptados da população. Dessa forma, após a reprodução, os 10% de indivíduos

mais adaptados são sistematicamente selecionados para a próxima geração.

O critério de parada do algoritmo também é definido por argumentos

numéricos. O usuário pode exigir que o algoritmo finalize sua execução após um

determinado número de gerações, ou após um determinado número de gerações

sem nenhuma melhoria, ou impondo um limite de tempo para a execução. No caso

do presente estudo, o critério de parada para as diferentes instâncias foi o tempo.

Dessa forma, a velocidade de execução dos algoritmos pode ser avaliada de

maneira mais eficiente e justa, já que ambos terão direito à mesma fatia de tempo

para execução. Foi estabelecido o tempo de 250 segundos, que após testes iniciais

se mostrou como suficiente para evidenciar as diferenças de evolução e

variabilidade da população.

Por fim, o parâmetro binário de reinicializar população após takeover foi

desativado. O motivo para essa desativação é que um dos objetivos do presente

estudo é evidenciar a melhoria na exploração do espaço amostral do AG com

ranking diversidade frente ao tradicional. A inserção forçada de novos indivíduos

estocasticamente gerados insere uma variação na população que dificultaria analisar

e mensurar os efeitos ocasionados por cada ranking isoladamente.

Além da não utilização de nenhum tipo de reinicialização da população, para

uma mesma instância ambos os algoritmos iniciarão sua execução com a exata

mesma população, o mesmo ponto de partida, de modo que fique mais evidente a

diferença na forma de explorar o espaço amostral por ambos os algoritmos.

3.2.2. Parâmetros Metodológicos

Os parâmetros metodológicos se referem às diferentes formas de execução

do algoritmo para determinadas tarefas. Para este projeto, três destes são

Page 32: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

31 configuráveis: o método de escalonamento, o método de seleção e o método de

adaptação.

O método de escalonamento especifica a forma através da qual os indivíduos

serão organizados e, em seguida, entregues para a função que realizará a seleção

dos pais. O método “Rank Based” é o método padrão utilizado pelo GA-framework e

corresponde à organização dos indivíduos em um ranking baseado exclusivamente

em seu fitness. Essa é forma de ranking tradicional enunciada no primeiro capítulo, e

este foi o método alterado por este estudo, de forma que o novo ranking diversidade

passou a valorizar, também, indivíduos diversificados na população. A partir deste

ponto no texto, o termo “Ranking Tradicional” estará se referindo a essa forma nativa

do toolbox utilizado para ranquear a população exclusivamente em função dos

valores de fitness, enquanto o termo “Ranking Diversidade” irá se referir ao modelo

proposto e modificado por este projeto.

O método de seleção é o SRS, Stochastic Remainder Sampling, que é um

método em que é feito uma razão entre o valor de fitness do indivíduo, fi, e o fitness

médio da população, fa. O valor inteiro dessa divisão corresponde ao número de

vezes que esse indivíduo será copiado, e consequentemente selecionado, para

realizar a reprodução. O valor do resto da divisão corresponde à probabilidade do

indivíduo ser selecionado. Por exemplo, um indivíduo que apresente a razão fi / fa =

1.36 terá uma cópia garantida na seleção de pais para a reprodução, e uma

probabilidade de 36% de garantir outra cópia dentro do grupo de selecionados. O

método SRS será o método utilizado em todos os testes, tanto com o ranking

tradicional quanto pelo ranking diversidade implementado.

Por fim, o método de adaptação, que pode ser Individual ou Populacional se

refere à atualização dos operadores de mutação e cruzamento ao longo da

execução do algoritmo. Essa atualização pode ser individual, ou seja, os operadores

são diferentes de indivíduo para indivíduo, ou são o mesmo para toda a população.

Conforme justificado no capítulo anterior, não haverá nenhum tipo de alteração ou

controle dos operadores de mutação ou cruzamento, de tal forma que estes

permanecerão constantes ao longo de toda a execução. O motivo dessa escolha é

uma melhor aferição dos efeitos ocasionados pelo ranking diversidade criado por

este estudo.

Com os parâmetros padronizados, os testes podem ser feitos de forma que as

diferenças entre o grupo controle, referente aos testes feitos com o ranking

tradicional e o grupo com os testes feitos com o ranking diversidade serão mais

Page 33: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

32 facilmente observadas. No entanto, nem todos os parâmetros correspondem ao GA-

framework, alguns deles são específicos do problema e devem ser definidos em sua

fase de inicialização. A seção seguinte especifica o problema a ser tratado e os

parâmetros para ele definidos.

3.3. O PROBLEMA DA MOCHILA

O problema escolhido para se realizar os testes desse projeto foi o Problema

da Mochila, ou knapsack problem, um problema bastante utilizado para testes de

eficiência em algoritmos genéticos. O problema da mochila é um problema de

otimização combinatória, em que são dados n itens, cada um com um determinado

peso e um determinado valor, que devem ser alocados dentro de uma mochila com

uma capacidade máxima de peso. A otimização consiste em maximizar o valor dos

itens dentro da mochila sem, contudo, ultrapassar seu limite de peso máximo.

Figura 3.3 – Problema da Mochila

Fonte: http://z7.invisionfree.com/minhtanone/ar/t200.htm

Por meio da Figura 3.3 é possível visualizar didaticamente o problema da

mochila. Assim como o toolbox requer a definição de alguns parâmetros que

especificam a forma de execução do programa, o problema da mochila também

necessita ser inicializado e ter seus parâmetros especificados. É necessário definir a

quantidade de itens que disputarão um lugar na mochila, estabelecer o peso e o

valor de cada item, e por fim definir o tamanho da mochila.

Page 34: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

33

Do modo que este problema está implementado, o GA-framework requer

apenas que o usuário forneça a quantidade n de itens que serão analisados. Em

seguida, o programa gera estocasticamente valores entre 0 e 1, e os atribui como os

pesos de cada item. O mesmo processo é feito para a atribuição do valor de cada

item. O limite de peso da mochila é estabelecido como um terço da soma do peso de

todos os itens.

Pela ótica de algoritmos genéticos, a população de indivíduos corresponde a

vetores de tamanho ‘n’, em que cada elemento assume ou o valor 1, indicando que o

item será alocado na mochila, ou o valor 0, indicando que o item não será alocado

pela mochila. Dessa forma, por meio de uma função também específica ao

problema, cada indivíduo é avaliado para se encontrar sua adequação à função

objetivo, somando-se o valor de todos itens alocados na mochila, e recebendo

pesadas penalidades caso a soma dos pesos dos elementos alocados na mochila

ultrapassem o peso máximo desta. Penalidade esta proporcional ao tanto que o

peso limite da mochila foi ultrapassado. Assim, à medida que o algoritmo é

executado, os melhores indivíduos são selecionados, se reproduzem até o ponto

que o melhor deles é indicado como o ótimo do problema, com o maior valor de itens

que não ultrapassem o peso máximo da mochila.

O tamanho ‘n’ de cada indivíduo um parâmetro numérico importante na

execução do presente estudo. Populações com indivíduos menores tendem a perder

a diversidade com maior facilidade, enquanto as com indivíduos maiores são mais

propensas a manterem diversidade ao longo da execução. Além disso, como o

algoritmo utiliza a comparação de indivíduos bit a bit para a definição do ranking,

quanto maior o tamanho desses indivíduos, maior será o custo computacional.

Dessa forma, também para melhor aferir os resultados ocasionados pelo ranking

diversidade criado, foram utilizados diferentes tamanhos de indivíduos: (a) indivíduos

com 100 bits (b) indivíduos com 500 bits (c) indivíduos com 1000 bits.

Definidos os parâmetros utilizados de tamanho da população e tamanho do

indivíduos, foi possível definir as instâncias de testes com a combinação desses

parâmetros. A Tabela 3.1 evidencia a combinação do tamanho da população com o

tamanho dos indivíduos para a definição das instâncias nas quais serão realizados

os testes.

Page 35: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

34

Tabela 3.1 – Instâncias utilizadas para os testes.

Instância Número de

Indivíduos na População

Tamanho dos Indivíduos

Instância I 40 100 Instância II 40 500 Instância III 40 1000 Instância VI 100 100 Instância V 100 500 Instância VI 100 1000 Instância VII 300 100 Instância VIII 300 500 Instância IX 300 1000

O problema também exige a definição de certos parâmetros metodológicos,

como o método utilizado para se realizar a cruzamento e o método utilizado para a

mutação. A forma padrão adotada é a One Point Crossover, para a cruzamento e o

Bitfop para a mutação. O One Point Crossover é um método padrão, em que um

número entre 1 e o tamanho do vetor que representa o tamanho do indivíduo, no

caso n, é estocasticamente gerado pelo programa. Este valor representa o ponto de

“corte” dos indivíduos, e os filhos são resultados da cruzamento do conjunto de bits à

esquerda do ponto de corte em um pai, com o conjunto de bits à direita do ponto de

corte do outro pai. Esse foi o método ilustrado na Figura 1.1, no primeiro capítulo.

Já para a mutação, o método escolhido foi o Bitfllop conforme ilustrado na

Figura 1.2. Este método consiste na inversão de um bit, em uma posição

determinada estocasticamente, inserindo, assim uma variabilidade a mais na

população.

Definidos os parâmetros do toolbox e do problema a ser otimizado, foi

possível realizar os testes necessários para avaliar a eficácia das alterações

propostas. No entanto, no caso do problema da mochila, não basta apenas

padronizar os parâmetros, é necessário padronizar também os itens da mochila, ou

seja, seus pesos e valores, e a capacidade máxima da mochila. Caso contrário, a

cada execução do programa, novos itens seriam estocasticamente gerados, e o

problema teria sempre um ótimo global diferente, e dificuldades diferentes para

encontrá-lo.

Portanto, para cada instância, todos os itens possuem o mesmo peso e valor

em tanto para a execução com o ranking diversidade quanto para o tradicional,

permitindo assim uma análise mais eficaz da evolução da busca pelo ótimo global

Page 36: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

35 para os diferentes algoritmos. Além disso, conforme evidenciado anteriormente, os

testes para uma mesma instância do problema partem, também, da mesma

população inicial.

Finalmente, introduzidos os detalhes do toolbox e do problema a ser

executado, é possível explicitar as implementações feitas no código do programa

para se obter a funcionalidade do ranking diversidade. Esses detalhes são

apresentados na seção seguinte.

3.4. DETALHES DE IMPLEMENTAÇÃO

O objetivo principal deste projeto é aumentar a eficácia e eficiência de um GA

tradicional por meio de uma estratégia que garanta uma melhor exploração do

espaço amostral e uma melhor manutenção da diversidade da população ao longo

da execução do programa.

Conforme explicitado anteriormente, a estratégia adotada é a de um ranking

baseado em uma combinação do fitness e da diversidade dos indivíduos. Assim,

inicialmente, foi necessário encontrar no toolbox a parte do código que organizava o

ranking dos indivíduos para implementar as mudanças e foi na função especificada

pelo método de escalonamento “Rank Based” que as alterações foram feitas,

criando uma nova função, denominada “Diversity Rank Based”.

Para a construção do ranking, é necessário a implementação de dois

algoritmos diferentes, um para dividir a população em grupos, e outro para ranquear

os indivíduos da população em função tanto da região a qual eles pertencem quanto

aos seus valores de fitness. Abaixo, segue um algoritmo utilizado para a divisão da

população em grupos de semelhança estrutural. O algoritmo foi baseado no

sugerido por Oliveira et al. (2012) em seu trabalho.

Algoritmo 1: Algoritmo para dividir os indivíduos em regiões Início

Regioes ß zeros; Regioes(1) ß 1; CentroRegioes(1) ß x1; para i = 2 à length (Populacao) faça para j = 1 à length (CentroRegioes) faça se ||xi - CentroRegioes(j)|| < K então Regioes(i) ß j; sai do loop;

Page 37: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

36

fim fim se Regioes(i) = 0 então Regioes(i) ß max(Regioes) + 1; CentroRegioes(i) ß xi; fim fim

fim

O algoritmo exposto acima classifica o primeiro indivíduo, X1, da população

como pertencente a uma recém-criada região 1, e armazena como centro dessa

região o próprio valor de X1. Em seguida, ele percorre os demais indivíduos da

população calculando, por meio da equação de Hamming, a distância entre os

indivíduos e os centros de população já calculados. Caso o indivíduo se encontre a

uma distância maior do que a distância estabelecida de Ɛ de todos os centros

existentes até o momento, esse indivíduo se torna o centro de um novo grupo. Caso

se encontre a uma distância menor que Ɛ de algum centro, ele é alocado como

pertencente ao grupo correspondente ao centro em questão.

A determinação do valor que Ɛ deve assumir é de grande importância para o

correto funcionamento do ranking pois cada problema exige um determinado valor

mínimo de distância para que indivíduos diferentes, porém suficientemente

parecidos, possam ser enquadrados em uma mesma região. Como exemplo, no

caso de um problema de otimização de funções matemáticas, em que as soluções

representam números reais, o valor de Ɛ deve levar em conta as distâncias entre

estes números, e não entre os vetores binários, como feito no algoritmo apresentado

acima.

No caso do problema da mochila, no entanto, a diversidade na população

será mais garantida observando uma variabilidade genética, ou seja, nas estruturas

binárias dos indivíduos. Dessa forma, o cuidado com a escolha de Ɛ no caso desse

projeto se resume ao valor que este deve assumir em determinado momento ao

longo da execução do algoritmo.

Com toda a população dividida em grupos, é possível aplicar um segundo

algoritmo, que realiza o ranking levando em conta tanto o valor de fitness dos

indivíduos como a região a que pertencem. Priorizando colocar indivíduos de regiões

diferentes antes de repetir um indivíduo de uma mesma região. O algoritmo de

Page 38: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

37 ranking com diversidade apresentado abaixo foi também baseado no sugerido por

Oliveira et al. (2012) em seu estudo.

Algoritmo 2: Algoritmo de Ranking com diversidade Início

Aptidão ß Populacao.aptidao; bacias ß Populacao.bacias; [aptidaoord, indice] ß ordena(aptidao); para i = 1 à length(aptidão) faça baciaord(i) ß bacias(indiceord(i)); fim Rank(indice(1)) ß tamanho(aptidao); prox ßtamanho(aptidao) - 1; baciasaux = baciasordenadas; enquanto prox ≠ 0 faça baciasordenadas ß baciasaux; baciasaux(1) ß 0; para i = 2 à tamanho(aptidao) faça se isempty(find(baciasordenadas(1 : i -1) = baciasordenadas(i)))

então Rank(indices(i)) ß prox; baciasaux(i) ß0; prox ß prox - 1; fim fim fim

fim

Com a utilização desse algoritmo, os indivíduos são organizados em um

ranking que prioriza, como esperado, maior fitness e como segundo objetivo, a

variedade do indivíduo, ou seja, a não participação deste em nenhuma região já

existente dentro do ranking.

O intuito da existência da distância mínima de Ɛ entre os indivíduos é impedir

que ocorra a ocorrência de indivíduos que são extremamente similares entre si mas

que apenas um deles, com maior fitness, realmente tenha algum efeito significante

no algoritmo, auxiliando-o a chegar em seu valor máximo. Neste caso, outros

indivíduos da mesma bacia, com fitness pouco menores que o representante desta,

não mais contribuem para encontrar o resultado, mas sim para a convergência

prematura da população.

O efeito esperado é apresentado pela Figura 3.4, que evidencia uma

redistribuição dos indivíduos previamente selecionados de uma mesma região ao

longo de outras regiões, de forma a melhor explorar o espaço.

Page 39: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

38

Figura 3.4 –Maior exploração do espaço amostral pelo Ranking com diversidade

Deve se ressaltar que um dos objetivos do Ɛ é valorizar o efeito da mutação, e

os indivíduos gerados por ela. Em uma população já convergida, a mutação de um

bit em um indivíduo o fará ser um dos primeiros indivíduos do ranking, por este

apresentar diferença estrutural do restante da população, que tenderá a estar

enquadrada em um único grupo.

Ao longo da execução do algoritmo e da inevitável convergência da

população, o efeito de um Ɛ estático é cada vez menor, principalmente devido a

concentração de indivíduos em bacias com um ótimo local já encontrado, como

mostrado na Figura 3.4. Assim, será implementado um Ɛ que tenha seu valor

variado ao longo da execução do algoritmo em função da quantidade de grupos que

esta estiver sendo dividida em um determinado momento.

Ao início da execução, Ɛ assumirá o valor de 1, indicando que apenas

indivíduos idênticos serão enquadrados no mesmo grupo. A cada geração, Ɛ será

acrescido de uma unidade, e na geração seguinte mais uma unidade, e por aí em

diante. O aumento de Ɛ tende a diminuir o número de grupos na população, de

forma que os grupos existentes correspondam a bacias de ótimo local, que já

possuam um indivíduo central representando-a.

Ao atingir um número suficientemente alto, Ɛ passa agrupar todos os

indivíduos da população em um único grupo, o que inutiliza os efeitos do ranking

criado por este estudo, devendo o Ɛ, dessa forma, ter sua contagem reiniciada,

retornando ao valor inicial de 1. Ao ser reiniciado, o número de grupos aumenta

novamente, e a exploração do espaço amostral continua, por meio da valorização de

indivíduos diferentes uns dos outros.

A forma encontrada para determinar a variação de Ɛ foi uma heurística

adotada ao se realizar testes iniciais com diferentes ritmos de crescimento de Ɛ. Um

Page 40: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

39 ritmo de subida muito acelerado resulta na criação de um grupo unitário muito

rapidamente, de tal forma que a as bacias não são identificadas a tempo e os

indivíduos não são devidamente agrupado nos grupos apropriados. Por esse motivo,

adotou-se a subida de apenas uma unidade no valor de Ɛ a cada geração. Já o

reinício de sua contagem é imprescindível. Caso Ɛ não retornasse ao valor de 1, a

partir do momento que todos os indivíduos da população fossem enquadrados em

um mesmo grupo, o ranking diversidade perderia seu efeito, por não mais dispor de

grupos diferentes para alternar nas prioridades.

A Tabela 3.2 relaciona, como exemplo, a dinâmica envolvida no ritmo de

crescimento e reinicialização do valor de Ɛ e o número de grupos na população. Os

valores dessa tabela foram retirados de um teste real, correspondente à instância V,

correspondente à uma população de 100 indivíduos de tamanho 500 bits.

Tabela 3.2 – Dinâmica do valor de Ɛ ao longo da execução.

Valor  de   N.  de  

Grupos  

Valor  de   N.  de  

Grupos  

Valor  de   N.  de  

Grupos  

Valor  de   N.  de  

Grupos  

Valor  de   N.  de  

Grupos  Ɛ   Ɛ   Ɛ   Ɛ   Ɛ  1   100   21   108   41   22   61   8   81   3  2   186   22   97   42   20   62   8   82   3  3   186   23   97   43   24   63   8   83   3  4   178   24   101   44   21   64   8   84   3  5   172   25   89   45   19   65   7   85   3  6   171   26   88   46   18   66   8   86   3  7   162   27   79   47   20   67   7   87   1  8   161   28   77   48   20   68   7   1   83  9   162   29   78   49   16   69   7   2   75  10   156   30   62   50   12   70   5   3   62  11   157   31   54   51   12   71   5   4   54  12   146   32   51   52   10   72   4   5   43  13   136   33   43   53   10   73   4   6   40  14   144   34   46   54   8   74   4   7   35  15   136   35   48   55   12   75   4   8   28  16   139   36   44   56   10   76   4   9   26  17   118   37   36   57   10   77   3   10   25  18   132   38   30   58   8   78   3   11   25  19   128   39   34   59   9   79   3   12   21  20   116   40   30   60   7   80   3   13   23  

Page 41: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

40

Observa-se na tabela que quando Ɛ inicia a execução com o valor igual a 1,

há 100 grupos, para a população de 100 indivíduos pais. É possível concluir que

cada indivíduo compõe seu próprio grupo, indicando, também, que não há indivíduos

idênticos na população. A partir da segunda geração, no entanto, Ɛ assume o valor

de 2, e, no entanto, passam a existir 186 grupos. Pode parecer estranho a princípio,

mas deve ser notado que a partir da segunda geração passam a existir 200

indivíduos, compostos de 100 pais e 100 filhos, justificando, assim, a ocorrência de

186 grupos. Com esse número é possível concluir que há ou indivíduos idênticos na

população, ou com menos de 2 bits de diferença de algum outro na população.

O ritmo de crescimento de Ɛ continua, uma unidade por geração,

acompanhada de uma constante diminuição da quantidade dos grupos na

população, conforme previsto. Quanto Ɛ atinge o valor de 87, passa a existir apenas

um grupo na população, e seu valor deve ser reiniciado. Na geração seguinte, Ɛ

assume o valor inicial de 1, e o número de grupos na população volta a ser

relativamente alto, menor que a da primeira geração, obviamente, devido à inevitável

convergência da população.

Este foi, portanto, o ritmo de crescimento e reinicialização de Ɛ adotado nos

testes utilizados para encontrar os resultados expostos no capítulo seguinte,

Page 42: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

41

4. CAPÍTULO 4

Neste capítulo estão detalhados os resultados encontrados a partir da

implementação das alterações propostas pelo presente estudo. Conforme

introduzido nos capítulos anteriores, os testes foram aplicados em nove diferentes

instâncias do problema da mochila, cada uma com diferentes parâmetros numéricos

relativos ao tamanho binário dos indivíduos e ao tamanho da população, de forma a

melhor averiguar os efeitos resultantes das alterações. As características das

instâncias estão apresentadas na Tabela 3.1, no capítulo anterior.

Incialmente, serão apresentados os resultados obtidos a partir da análise

individual da Instância V, de forma a avaliar os efeitos de ambos os algoritmos em

um mesmo problema. Em seguida, serão apresentados os resultados contendo as

análises para o grupo de 9 instâncias, a fim de se avaliar as diferenças entre os dois

algoritmos ao serem aplicados em problemas de otimização do tipo knapsack.

4.1. INSTÂNCIA COM 100 INDIVÍDUOS COM 500 BITS CADA

Conforme apresentado no primeiro capítulo, os experimentos visam mensurar

quatro variáveis: a eficiência e eficácia do algoritmo, o custo computacional para a

execução do algoritmo e a análise da diversidade da população ao longo da

execução.

Para a instância V, foram realizadas 20 execuções possuindo o mesmo

resultado ótimo a ser atingido, sendo 10 execuções realizadas com cada um dos

algoritmos de maneira alternada. Cada execução armazenou os dados necessários

em um arquivo .txt, e estes foram posteriormente compilados de modo a se obter os

resultados finais.

A Figura 4.1 corresponde a uma média das 10 execuções com o algoritmo

tradicional, em vermelho, e com o algoritmo modificado, em azul. O eixo das

abcissas corresponde ao tempo de execução e o eixo das ordenadas apresenta o

maior valor encontrado na população.

Page 43: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

42

Figura 4.1 – Melhor resultado para f(x) em função do tempo – Instância V

O gráfico acima sugere a melhoria tanto na evolução da busca pelo melhor

resultado quanto o melhor resultado final encontrado para a instância específica. O

algoritmo modificado se sobressai ao tradicional logo no início da execução,

mantendo a superioridade até o final, em 250 segundos.

Durante aproximadamente os primeiros 20 segundos, os dois algoritmos

apresentaram valores negativos como melhor valor encontrado, o que ocorreu

devido às penalidades. Neste caso, a solução de maior valor seria não levar nenhum

item na mochila, de tal forma que o melhor resultado na população seria zero – valor

não representado no gráfico devido à escala definida, a qual teve como objetivo

favorecer o melhor entendimento das curvas após alcançarem valores postivos.

Além disso, é possível observar que após se tornarem positivas, as duas curvas

apresentam um degrau próximo do valor 90, ponto a partir do qual os dois algoritmos

passam a apresentar resultados diferenciados. Assim, a curva do algoritmo

tradicional se transforma em uma reta perpendicular ao eixo y, devido à

estabilização e estagnação de sua população, o que ocorreu como consequência da

sua menor diversidade. Após 20 segundos de execução, o algoritmo tradicional não

mais evoluiu, permanecendo estagnado até o final do tempo de amostragem.

Page 44: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

43

O algoritmo modificado, por outro lado, apresenta contínua evolução do

resultado ao longo do tempo, demonstrando melhor exploração do espaço amostral.

A maior eficácia do algoritmo modificado frente ao tradicional fica evidente na

superioridade dos valores finais encontrados por cada um ao longo das execuções.

Esses valores estão evidenciados na Tabela 4.1, que contém o valor final de cada

uma das 20 execuções dos algoritmos para a Instância V.

Tabela 4.1 – Resultados finais encontrados em 20 execuções da Instância V.

Valor Final Encontrado Ranking Diversidade Ranking Tradicional

Teste I 138,7995 91,235 Teste II 134,4055 87,2182 Teste III 139,9021 93,0007 Teste IV 140,0212 94,2752 Teste V 138,46 88,874 Teste VI 139,7657 95,202 Teste VII 136,5099 87,6029 Teste VIII 141,504 91,7353 Teste IX 135,6175 89,8189 Teste X 136,2901 85,992

A Tabela 4.1 evidencia, também, a repetibilidade dos resultados. Apesar de

os testes terem sido implementados de maneira alternada entre os dois tipos de

ranking, os resultados encontrados foram extremamente similares para um mesmo

algoritmo e diferentes entre algoritmos.

A fim de investigar se a diferença entre os resultados dos dois algoritmos foi

estatisticamente significante, foi aplicado o teste de Kruskal Wallis com alpha de

0,05, o qual demonstrou que o algoritmo modificado apresentou valores

estatisticamente maiores quando comparado com o algoritmo tradicional (P =

0,0002) Como forma de ilustração, a Figura 4.2. demonstra a distância entre os

intervalos de confiança das médias dos resultados obtidos por cada um dos

algoritmos, o que reforça que a diferença entre eles é estatiscamente significativa.

Page 45: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

44

Figura 4.2 – Resultado do teste de Kruskal Wallis – Instância V.

Como previsto, o algoritmo modificado apresentou maior tempo de execução

por geração, o que ocorreu devido ao custo da divisão da população em grupos e

posterior escalonamento dos indivíduos alternando entre os grupos existentes.

A Figura 4.3 demonstra a quantidade média de iterações, indicada pelo

número de gerações decorridas, para cada algoritmo, em função do tempo.

Page 46: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

45

Figura 4.3 –Número de gerações em função do tempo – Instância V.

O custo computacional do algoritmo modificado é 40% maior do que o do

algoritmo tradicional para um mesmo número de gerações No entanto, esse custo é

decorrido por geração, o que é necessário para empregar as técnicas que dividem a

população em grupos e posteriormente os escalonam. Dessa forma, o maior custo

computacional pode ser aceitável quando em situações nas quais a eficácia do

algoritmo é o principal objetivo.

A Figura 4.3 também demonstra a maior eficiência do algoritmo modificado

quando se compara o número de gerações necessárias para se evoluir a população.

Assim, é possível observar que com um menor número de gerações o algoritmo

modificado conseguiu encontrar melhores resultados, mesmo o algoritmo tradicional

possuindo maior número de gerações.

Como último aspecto para essa instância individual, será analisado a

diversidade média da população ao longo das execuções para cada um dos

algoritmos. A diversidade foi medida por meio de duas formas: pela DH média dos

elementos da população e pela técnica da entropia, ambas técnicas explicadas no

Capítulo 2.

Para medir a diversidade pela DH média da população foi, em ambos os

algoritmos, adicionado o trecho de código – trecho este que não foi utilizado nos

Page 47: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

46 demais testes deste estudo, devido ao seu elevado custo computacional – para

realizar a medição.

Figura 4.4 –DH média da população em função do tempo – Instância V.

A Figura 4.4 evidencia a diferença na velocidade da queda da diversidade em

ambos os algoritmos nos segundos iniciais. Nota-se que a queda do algoritmo

tradicional é mais acentuada, e direcionada ao zero. Enquanto que a curva relativa

ao algoritmo modificado evidencia uma maior suavização da queda nos segundos

iniciais.

Alterando a escala do gráfico é possível observar com maiores detalhes na

Figura 4.5 como o algoritmo modificado retarda o caimento da diversidade da

população ao longo da execução. Apesar da notável diminuição da DH média da

população à medida que a execução ocorre, nota-se que esta é feita de forma lenta,

de modo a manter a diversidade da população por mais tempo. Já no algoritmo

tradicional, após os 50 segundos iniciais, a DH média não sai de zero durante toda a

execução, o que contribui para a estagnação da evolução de sua população.

Page 48: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

47

Figura 4.5 –Detalhe da diminuição de variedade da população – Instância V.

Nenhum dos algoritmos utilizaram técnicas de reinicialização da população, e

apesar disso, o algoritmo modificado conseguiu manter maior diversidade ao longo

de sua execução durante o tempo de amostragem. Por outro lado, após a queda da

diversidade nos primeiros segundos, o algoritmo tradicional mantém a diversidade

em zero durante o restante do período de execução.

Antes de analisar o gráfico de diversidade medida pela entropia, é necessário

ressaltar que o valor de entropia avalia a igualdade na divisão da população entre os

grupos criados, ou seja, ele resultará em um valor alto se todos os grupos tiverem o

mesmo número de indivíduos, como por exemplo, 24 grupos com 4 indivíduos cada.

Por outro lado, valores de entropia mais baixos indicam distribuições desiguais,

como por exemplo, nestes mesmos grupos, 23 deles conterem apenas um indivíduo

e o grupo restante conter os outros 73 indivíduos. Essa distribuição desigual

resultaria em um valor de entropia extremamente baixo, e, indicaria, neste caso, que

a diversidade da população está baixa, pois a maioria dos indivíduos são muito

parecidos estruturalmente uns com os outros. Além disso, a entropia indica valor 0

quando existe apenas um grupo contendo todos os indivíduos da população.

Como o algoritmo tradicional não possui nenhum tipo de divisão da população

em grupos, foi implementado, apenas para esta execução, o trecho de código que

Page 49: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

48 realiza essa função, assim como a regulação de Ɛ , sem, contudo, afetar o ranking

ou o funcionamento original do algoritmo. Dessa forma, é possível analisar a

diferença na quantidade de grupos e na distribuição de indivíduos entre eles para os

dois algoritmos ao longo da execução. A Figura 4.6 evidencia os valores de entropia

para uma execução para cada um dos algoritmos.

Figura 4.6 –Entropia da população em função do tempo – Instância V.

Observa-se no gráfico acima que a diversidade é melhor mantida no algoritmo

modificado devido à oscilação entrópica ao longo da execução, evidenciando divisão

satisfatória da população em grupos. Por outro lado, o algoritmo tradicional

apresenta divisão apenas nos primeiros segundos de execução do algoritmo. É

possível notar, também, o caráter cíclico da entropia para o algoritmo modificado,

que aumenta toda vez que a contagem de Ɛ retorna ao valor inicial de 1, e segue

diminuindo a medida que o número de grupos é reduzido, o que evidencia o

agrupamento de uma maior quantidade de indivíduos em uma mesma bacia de

ótimo local.

A Figura 4.7 mostra o número de grupos ao longo da uma execução do

algoritmo com o ranking por diversidade. Apesar de o parâmetro do tamanho da

população estar configurado em 100, o valor no qual de fato o algoritmo é aplicado é

Page 50: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

49 sempre o dobro, no caso, 200, pois considera-se tanto a população dos 100 pais,

como a dos 100 filhos, e, desses 200, seleciona-se os 100 mais adequados para

constituírem a nova população. Dessa forma, nota-se que a tendência natural do

número de grupos é reduzir até um único grupo, agrupando toda a população e, em

seguida, com a reinicialização de Ɛ, aumentar o número de grupos novamente,

retornando a eficácia do ranking criado pelo presente estudo.

Figura 4.7 –Número de grupos em função do tempo– Instância V.

A linha em vermelho na figura acima demarca a média de grupos ao longo da

execução do algoritmo. O valor encontrado de aproximadamente 12 grupos, para

uma população de 200 indivíduos, representa média de 16 indivíduos por grupo,

valores razoáveis para se obter funcionalidade efetiva do ranking criado.

Por fim, a Figura 4.8 evidencia o comportamento de Ɛ ao longo da execução

do algoritmo. Seu comportamento se assemelha ao observado na Figura 4.7,

contudo, apresentando maior suavidade em sua variação, devido à dinâmica

aproximadamente linear adotada para a variação de Ɛ.

Page 51: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

50

Figura 4.8 –Valor de Ɛ ao longo da execução – Instância V.

É possível observar na Figura 4.8, que no início da execução do algoritmo

modificado, Ɛ consegue atingir valores altos sem alocar a população em um único

grupo, devido a elevada diversidade inicial da população. À medida que esta

converge, Ɛ atinge valores cada vez menores, conforme evidenciado acima. A linha

vermelha representa a média do valor de Ɛ ao longo da execução, com Ɛ = 12.

Analisados os resultados para a Instância V, nota-se que o algoritmo

modificado para o ranking com diversidade apresentou melhorias significantes na

exploração do espaço amostral antes da convergência completa da população.

Assim, o algoritmo proposto pelo presente estudo apresentou maior eficácia na

busca pela solução do problema, às custas, no entanto, de maior demanda

computacional por geração, sem, contudo, prejudicar a eficiência do algoritmo.

Page 52: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

51 4.2. RESULTADOS GERAIS PARA AS 9 INSTÂNCIAS

As nove instâncias apresentadas são diferenciadas pelos parâmetros de

tamanho dos indivíduos e tamanho da população. Para a obtenção de seus

resultados, foram executados testes, alternando os algoritmos para cada uma das

instâncias. A Tabela 4.2. demonstra os resultados dos valores finais obtidos após

250 segundos de execução.

Tabela 4.2 –Resultados finais para as 9 instâncias.

Valor Final Encontrado Ranking Diversidade Ranking Tradicional

Instância I 34,6102 29,099 Instância II 148,6313 102,5169 Instância III 242,3503 187,039 Instância VI 32,1947 25,2811 Instância V 138,7995 91,2352 Instância VI 265,8395 193,3661 Instância VII 28,7988 25,3099 Instância VIII 140,217 100,4481 Instância IX 231,0207 197,2217

Os resultados obtidos para os diversos testes aplicados à Instância V e

evidenciados na seção anterior mostram a repetibilidade dos algoritmos para uma

mesma instância, de forma a permitir a consideração dos resultados mostrados na

Tabela 4.2 como suficientemente próximos às medias que seriam obtidas em

repetidos testes em cada instância.

Para a Instância V, foi aplicado o teste de Kruskal Wallis, cujo resultado

rejeitou a hipótese nula, comprovando a significância da diferença dos resultados

entre os algoritmos para uma mesma instância. Para a análise do efeito dos

algoritmos em diferentes instâncias, foi aplicado o teste de Friedman com alpha de

0,05, teste também não-paramétrico, a fim de se investigar se a diferença entre os

resultados dos algoritmos para as 9 instâncias foi estatisticamente significante.

A Figura 4.9 evidencia o resultado gráfico da análise estatística. O teste de

Friedman funciona por meio de um ranqueamento dos resultados, em 1 e 2, no caso

do presente estudo. Como todos os resultados do algoritmo modificado foram

superiores aos resultados encontrados pelo algoritmo tradicional nas nove

Page 53: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

52 instâncias, o teste aplicado evidenciou essa diferença com o resultado gráfico

obtido.

Figura 4.9 –Resultado gráfico do teste de Friedman para as 9 instâncias.

O valor P foi igual a 0,0027, o que permite rejeitar a hipótese nula de não

diferença entre os algoritmos, o que confirma que a diferença entre os resultados é

estatisticamente significante.

Apenas para caráter ilustrativo, a Figura 4.10 mostra a evolução do maior

valor encontrado na população para a execução dos dois algoritmos para a Instância

VIII, com 300 indivíduos com 500 bits cada.

Apesar das semelhanças com a Figura 4.1, para a Instância V, evidenciando

uma curva estagnada para o algoritmo tradicional e uma curva ascendente para o

algoritmo modificado, é possível perceber um atraso na ascensão desta última. Isso

ocorre devido à maior diferença entre os algoritmos de demanda computacional por

geração. Para a Instância VIII, os indivíduos são mais numerosos e de maior

tamanho, o que resulta em um maior esforço computacional para separar os grupos

e ranqueá-los do que o apresentado pela Instância V.

Page 54: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

53

Figura 4.10 – Melhor resultado para f(x) em função do tempo – Instância VIII

A Figura 4.11 comprova a maior diferença de velocidade entre as instâncias V

e VIII. Enquanto para a Instância V o algoritmo modificado era 40% mais lento por

geração que o algoritmo tradicional, essa diferença subiu para 75%, um aumento

muito significativo. No entanto, apesar da maior demanda computacional por

geração, a eficiência e eficácia do algoritmo não foi afetada, tendo em vista que

após 50 segundos de execução, a curva do algoritmo modificado ultrapassou a do

tradicional, mantendo a superioridade até o final da execução.

Figura 4.11 – Melhor resultado para f(x) em função do tempo – Instância VIII

Page 55: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

54

5. CAPÍTULO 5

5.1. CONCLUSÃO DO PROJETO

Os resultados enunciados no capítulo anterior evidenciaram com auxílio

gráfico e estatístico a superioridade do algoritmo proposto pelo presente estudo

frente ao algoritmo tradicional. A manutenção da diversidade por meio do ranking

criado se figurou como uma alternativa que garante uma contínua evolução da

população para indivíduos mais adaptados, sem contudo perder a diversidade da

população.

Como pontos positivos das mudanças implementadas, notou-se uma melhor

exploração do espaço amostral do problema. Apesar de ambos os algoritmos

iniciarem suas execuções com a mesma população, o algoritmo tradicional

rapidamente convergiu para o primeiro ótimo local encontrado, enquanto o algoritmo

modificado pelo ranking diversidade apresentou uma contínua evolução ao longo de

todo o tempo de amostragem dos testes.

Em todas as nove instâncias testadas, o algoritmo modificado teve, passados

os primeiros segundos de execução, seus melhores valores encontrados acima dos

encontrados pelo algoritmo tradicional, que por sua vez ficou estagnado em um

mesmo valor durante a maior parte do tempo de execução. E, além da diferença na

evolução da melhor solução, em nenhuma execução o resultado final do algoritmo

tradicional foi melhor que o obtido pelo algoritmo modificado, o que evidencia a

maior eficácia do último na obtenção da solução global.

Quanto à maior variedade da população, esta foi observada pela

superioridade da DH média da população ao longo da execução para o algoritmo

modificado frente ao tradicional. Enquanto o primeiro, apesar de apresentar uma

contínua diminuição da DH média ao longo do tempo, a manteve acima de zero

durante todo o tempo amostrado, o último a manteve extremamente próxima a ou

em zero durante quase todo o período de execução.

Page 56: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

55

É necessário observar que a variação do fator Ɛ durante a execução do

algoritmo é de grande importância para um ótimo funcionamento do ranking. Caso o

fator permanecesse constante com o seu valor inicial de 1, o ranking se tornaria

menos eficaz por não agrupar elementos de uma mesma bacia em um mesmo grupo

que já possuísse um representante, o que é garantido pelo seu crescimento a cada

geração. Por outro lado, a reinicialização de seu valor é imprescindível para o

momento em que atinja um valor tão alto a ponto de agrupar toda a população em

um único grupo, o que inutilizaria as mudanças efetuadas pelo ranking. Dessa

forma, é necessário que para o correto funcionamento do ranking, o valor de Ɛ seja

tanto crescente ao longo da execução, como reinicializado quando o valor se torne

alto demais.

O maior custo computacional por geração se figura como um dos aspectos

negativos, contudo, esperados do algoritmo modificado. Apesar do maior custo, este

não afetou a eficiência do algoritmo na busca pelo ótimo global, que em um mesmo

intervalo de tempo obtém um resultado superior ao obtido pelo algoritmo tradicional.

O fato do algoritmo modificado ter necessitado de menos gerações para

alcançar um resultado melhor que o alcançado pelo tradicional evidencia mais uma

vez como o preço da maior demanda computacional por população é recompensada

por gerações mais eficientes.

Analisando os resultados positivos e negativos das modificações propostas

neste projeto, conclui-se que a utilização de um ranking que priorize tanto melhores

resultados quanto resultados mais diversos apresenta respostas muito mais

satisfatórias, tanto em termos de eficiência quanto eficácia, do que o algoritmo

tradicional. A maior manutenção da diversidade e a melhor exploração do espaço

amostral resultam em um AG mais robusto, confiável e eficaz.

5.2. TRABALHOS FUTUROS

Apesar de todas as melhorias observadas nos resultados das mudanças

propostas neste estudo, há ainda muito a ser estudado e otimizado, principalmente

acerca da escolha e controle do valor de Ɛ. O método utilizado para o crescimento

deste fator se figura como uma heurística, adotado a partir de observações dos

testes feitos nos algoritmos. No entanto, observou-se que para as diferentes

instâncias, com diferentes tamanhos de população e indivíduos, o ritmo de

Page 57: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

56 crescimento do fator Ɛ por vezes era lento demais, de tal forma que o número de

grupos ficava muito elevado por muito tempo, e por vezes era rápido demais, o que

mantinha a população continuamente alocada em um único grupo, o que em ambos

os casos pode diminuir a eficiência do ranking.

Dessa forma, para o crescimento de Ɛ, adotou-se um ritmo mínimo de uma

unidade por geração, pois ter muitos grupos é menos prejudicial ao funcionamento

ao algoritmo do que ter apenas um com toda a população. Esse ritmo apresentou

um bom resultado para todas as instâncias. No entanto, uma relação que considere

também o tamanho da população ou o tamanho dos indivíduos, de forma menos

intuitiva, poderia otimizar ainda mais o resultado para as diferentes instâncias.

Outra possível melhoria seria na utilização de alguns dos métodos

enunciados no segundo capítulo deste estudo, como uma reinicialização da

população por meio de uma eficiente métrica de takeover. A reinicialização

combinada com o ranking de diversidade criado pode resultar em um AG ainda mais

poderoso, com tanto um mecanismo forte de inserção de diversidade na população

quanto um eficiente para realizar a manutenção dessa diversidade.

Outro dos métodos enunciados no segundo capítulo que poderia potencializar

o efeito do ranking é a adaptação dos coeficientes de mutação e cruzamento ao

longo da execução do algoritmo. A combinação dessas duas ferramentas, se feita da

forma correta, pode otimizar a manutenção da diversidade, promovendo maior

chance reproduções para os indivíduos mais diversificados, e uma maior chance de

mutação para os indivíduos idênticos ou pertencentes a uma bacia de ótimo local

cujo representante já tenha sido encontrado.

Essas propostas de estudos futuros podem ser feitas tanto isoladamente

quanto em conjunto, assim como é possível aplicar e desenvolver diversas outras

técnicas que podem ser incorporadas ao algoritmo de modo a aproveitar essa

abordagem de ranking por diversidade, que se mostrou neste estudo como uma

ferramenta indispensável para o universo dos algoritmos genéticos.

Page 58: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

57

REFERÊNCIAS BIBLIOGRÁFICAS A. Törn and A. Zilinskas. "Global Optimization". Lecture Notes in Computer Science, Nº 350, Springer-Verlag, Berlin, 1989.

Bin WU,Jian WU,Xu-yan TU, “Research of Fast Genetic Algorithm,” Journal of University of Electronic Science and Technology of China, pp. 49–53, 1999.

Burke, E., Gustafson, S., Kendall, G. and Krasnogor, N. Advanced Population Diversity Measures in Genetic Programming. In Proc. 7th Int. Conf. Parallel Problem Solving from Nature (PPSN), Lecture Notes in Computer Science, vol. 2439, Guervos, J.J.M et al (eds), Springer-Verlag, Berlin Heidelberg, 2002, 341-350.

FrameWork obtido em http://www.mathworks.com/matlabcentral/fileexchange/37998-open-genetic-algorithm-toolbox

Goldberg, D. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley.

Jackson, David; “Mutation as a Diversity Enhancing Mechanism in Genetic Programming” GECCO 2011 Proceedings of the 13th annual conference on Genetic and evolutionary computation; Pages 1371-1378.

Linden, Ricardo. Algoritmos Genéticos - uma importante ferramenta da inteligência computacional - 2ª Edição. BR: Brasport, 2008. Capítulo 9.

Liu Xinping; Liu Ying; , "Adaptive Genetic Algorithm Based on Population Diversity," Information Technology and Applications, 2009. IFITA '09. International Forum on , vol.2, no., pp.510-512, 15-17 May 2009.

Mitsuo Gen ; Runwei Cheng “Genetic Algorithms and Engineering Design” John Wiley & Sons Inc. 1999.

Oliveira, Marcus V., Freitas, Alan R. R. ; Guimarães, Frederico G. ; “Uma Estratégia De Ranking Baseada Em Diversidade Em Algoritmos Genéticos,” Simpósio Brasileiro de Pesquisa Operacional ; Rio de Janeiro; 2012.

Página da internet. Acessado em Janeiro de 2013. http://z7.invisionfree.com/minhtanone/ar/t200.htm

Página da internet. Acessado em Outubro de 2012. “http://www-optima.amp.i.kyoto u.ac.jp/member/student/hedar/Hedar_files/TestGO_files/ Page2607.htm”

Ronald W. Morrison, Kenneth A. De Jong; “Measurement of Population Diversity; Mitretek Systems. Inc., 2001, Disponível em “www.revolutionaryengineering.com/EA-01.pdf ”.

Page 59: Algoritmos Genéticos - Efeitos da Utilização de um … · 1 Guilherme de Paiva Pacheco Algoritmos Genéticos - Efeitos da Utilização de um Ranking Adaptativo de Diversidade na

58 Rosca, J. Entropy-driven adaptive representation. In Rosca, J., editor, Proceedings of the Workshop on Genetic Programming: From Theory to Real-World Applications, pages 23-32, Tahoe City, CA, USA, 1995.

Taejin Park; Kwang Ryel Ryu; , "A dual population genetic algorithm with evolving diversity,"Evolutionary Computation, 2007. CEC 2007. IEEE Congress on , vol., no., pp.3516-3522, 25-28 Sept. 2007