Escolar Documentos
Profissional Documentos
Cultura Documentos
deste meio de reprodução, dentre os quais pode-se citar a vários mecanismos de prevenção de falhas. Muitas vezes,
maior parte das bactérias. porém, esses mecanismos de proteção fracassam em eliminar o
Os organismos que se reproduzem sexuadamente, por defeito, ou o dano é simplesmente irreversı́vel. Nesta situação,
outro lado, possuem dois pais e sua informação genética a célula se replica e, se esta nova célula replicada sobreviver
é uma combinação da informação apresentada pelos pais. com a estrutura alterada em seu DNA e, por sua vez, continuar
Esse mecanismo provê uma maior diversidade à população o processo de replicação, então esta alteração será transmitida,
e, com isso, uma maior chance de gerar indivı́duos mais bem e assim uma nova geração de células mutantes será formada.
adaptados ao meio. As mutações formam um mecanismo crucial na
A recombinação das informações genéticas dos pais, ocorre evolução das espécies. Alterações morfológicas, frutos
por meio de um processo conhecido como: crossover, que das manifestações fenotı́picas das mutações, são a base
consiste em uma troca aleatória de material genético entre dois da moderna teoria da seleção natural, pois promovem
cromossomos distintos, ocorrida durante a meiose celular. o surgimento de novas caracterı́sticas na população,
possibilitando o surgimento de elementos melhor adaptados
ao meio onde vivem. Essas mutações podem também criar
organismos menos adaptados que a média da população,
neste caso, o mecanismo de seleção tende a eliminar esses
organismos, privilegiando apenas as alterações favoráveis à
adaptação dos indivı́duos.
Bi
Ri = min + (max − min) (2)
2l
−1
onde:
Ri : é o valor real que representa o cromossomo i; Fig. 7. Divisão da roleta
Bi : valor binário em ponto fixo do cromossomo i;
min: menor valor do intervalo real de interesse; O processo de seleção é completado girando a roleta 4
max: maior valor do intervalo real; vezes, o que resulta em:
6
onde r é um número aleatório tal que: r ∈ [0, 1]. Dessa Fig. 11. Crossover simples
forma, cada componente hi do vetor H é escolhida
aleatoriamente no intervalo: [c1i , c2i ]. Este método tenta preservar caracterı́sticas do crossover
Consideremos agora o subespaço S, formado pelos biológico, assim como é feito na codificação binária,
possı́veis filhos de um determinado par de cromossomos porém, o método gera uma subespaço discreto dentro de
C1 e C2 . Para o método de reprodução em questão, um espaço de busca continuo, o que reduz de um valor
este subespaço formará um hipercubo limitado pelos que tende a infinito o número de possı́veis herdeiros. Essa
cromossomos pais. A Figura 16 ilustra o subespaço S, drástica redução do número de elementos do subespaço
formado por dois cromossomos pertencentes ao R2 . S, pode em algumas situações levar a uma perda de
diversidade da população.
• Crossover de Linha Estendida [13]. Neste método de
recombinação, é escolhido um escalar α ∈ [−0.25, 1.25]
aleatoriamente e o cromossomo filho é então expresso
pela seguinte equação:
Fig. 10. Cruzamento flat
H = C 1 + α(C 2 − C 1 ) (5)
Dessa forma o cruzamento flat produz herdeiros uni- O subespaço S que representa os possı́veis cromossomos
formemente distribuı́dos no espaço existente entre os pais. filhos, é formado por um segmento de reta que passa
• Crossover Aritmético [10]. Similar ao Flat Crossover, pelos cromossomos pais e se estende por 25% do com-
porém, é determinado um parâmetro r constante e dois primento da distância entre os dois, em cada uma de suas
cromossomos filhos H 1 e H 2 são gerados a partir dele extremidades, assim como é ilustrado na figura 18.
como segue:
caracterı́stica aleatória de M , resultando na recombinação os mais indicados para o tratamento de infactibilidades, onde
dada pela equação (9): outros métodos como o crossover de linha estendida e o
crossover simples podem ser preferı́veis em algumas situações.
C1 + C2 2
H= + √ M (C 2 − C 1 ) (9)
2 N β
E. Mutação
A Figura 23 ilustra um exemplo onde foram gerados 500
Este operador visa inserir pequenas variações aleatórias nos
herdeiros com base na equação (9).
cromossomos, tal como é observado em sistemas biológicos.
O número de indivı́duos que irão sofrer mutação, bem como
a intensidade da mutação, são fatores determinantes para o
bom desempenho do algoritmo genético, e sua definição requer
certa experiência e observação.
Fig. 17. Reprodução matricial modificada, exemplo de aplicação. Pontos 1) Codificação Binária: Na codificação binária, a mutação
vermelhos representam os herdeiros H gerados a partir dos cromossomos é dada pela modificação de um ou mais bits do cromossomo. É
pais em azul escolhido previamente o ponto de mutação (locus), e seu alelo
é alterado de 0 para 1 ou de 1 para 0. A Figura 24 ilustra o
• Reprodução Heurı́stica Inspirada em Enxames. Este processo de mutação aplicado à cadeias binárias.
método de recombinação, proposto neste documento,
introduz uma meta-heurı́stica no processo de geração dos
herdeiros, com a intenção de aprimorar a exploração do
espaço de busca. Nele, é utilizado um princı́pio de com-
portamento social observado no movimento de pássaros
e peixes, estudado por Heppner e Grenander [15], e por
Reynolds [16]. Fig. 18. Mutação Binária
Este operador de reprodução tenta introduzir um conceito
hı́brido, com a clara intenção de polarizar a reprodução 2) Codificação Real: Consideremos o cromossomo C =
dos cromossomos, porém, de forma diferente daquela [c1 , c2 , ..., cN ]. Este pode sofrer mutação em um ou mais
proposta por Wright em [12], onde o cromossomo filho elementos ci , resultando em genes c′i mutantes. Existem di-
é repelido pelo pai menos adaptado. versas maneiras de criar essa mutação, sendo algumas delas
O método proposto incorpora o termo social de um discutidas a seguir.
método de otimização por enxame de partı́culas ao • Mutação Aleatória [10]. Neste método um ou mais
processo de reprodução. No caso, os herdeiros serão componentes do cromossomo C são substituı́dos por
atraı́dos pelo indivı́duo da população que possui o maior elementos c′i gerados aleatoriamente em um intervalo
fitness entre todos os outros. A incorporação dessa meta- I = [ai , bi ], com uma distribuição de probabilidades
heurı́stica pode ser adotada por qualquer um dos métodos qualquer.
estudados neste documento. Para o caso da reprodução • Mutação Não-Uniforme[10]. Este operador de mutação
matricial, a inserção do termo social resulta em: leva em conta o desenvolvimento do algoritmo, tentando,
com isso, proporcionar uma mutação de menor intensi-
C1 + C2 C 1 + C 2 dade a cada nova geração. Quando aplicado à iteração t
2 2 1
H = + √ M (C − C ) + α Pg −
2 N β 2 do algoritmo programado para executar ni iterações, este
1
C +C 2
2 método cria a mutação dada pela equação (11):
= (1 − α) + αPg + √ M (C 2 − C 1 ) (10)
2 N β
′ ci + ∆(t, bi − ci ) se τ = 0
ci = (11)
onde Pg é o cromossomo com maior fitness da população ci − ∆(t, ci − ai ) se τ = 1
e α > 0 é um número aleatório que controla a intensidade
onde τ é um número inteiro aleatório entre 0 e 1, ai
com que o herdeiro será atraı́do por Pg .
e bi são os limites do intervalo no qual será gerada a
Existe uma sensı́vel diferença na eficiência alcançada pelo componente mutante c′i , e:
algoritmo genético com a utilização dos diversos operadores
de reprodução expostos neste documento. A grande diferença (1− t )b
∆(t, pm ) = pm (1 − r ni ) (12)
entre esses métodos, está no lugar geométrico dos herdeiros
e em como o operador de recombinação explora o espaço Na equação (12), r é um número real aleatório perten-
factı́vel do problema. cente ao intervalo [0, 1] e b é um parâmetro a ser escol-
A priori, é possı́vel imaginar que operadores que explorem hido, que determina a dependência entre a intensidade
uma área maior, como a reprodução matricial e o BLX-α, da mutação e o desenvolvimento do algoritmo (número
produzem melhores resultados. Essa conclusão, apesar de pre- de iterações e iteração atual). O número pm representa
cipitada, é observada em problemas de busca irrestritos quando a magnitude máxima da mutação e a função ∆(t, pm ),
o método é inicializado em um subespaço que não contém a retorna um número no intervalo [0, pm ], que será mais
solução desejada. Por outro lado, esses operadores não são próximo de zero à medida que o algoritmo progride.
10
Este método tenta diminuir a intensidade das mutações onde b é um parâmetro a ser escolhido.
gradualmente, preservando uma diversidade grande da Da mesma forma que na mutação não-uniforme, uti-
população no inı́cio do processo evolutivo, porém, dimin- lizando essa combinação, o método de mutação vetorial
uindo as alterações aleatórias dos cromossomos após também irá gradativamente diminuir a intensidade das
algumas iterações, esperando com isso conseguir um variações, visando prover um ajuste fino da solução.
ajuste fino da solução quando o algoritmo se aproximar
da solução ótima. Este procedimento é também inspirado V. PAR ÂMETROS DOS A LGORITMOS G EN ÉTICOS
por processos evolutivos biológicos, nos quais constata-se A aplicação computacional dos processos evolutivos, além
uma diminuição nas mutação em espécies bem adaptadas. dos operadores definidos anteriormente, requer a definição de
• Real Number Creep [17]. Esta técnica gera cromosso- uma serie de parâmetros, que afetam diretamente a eficiência
mos mutantes ao redor de um cromossomo que encontra- e a robustez do método.
se próximo a uma boa solução. Um algoritmo genético pode ter sido gerado seguindo
• Mutação de Mühlenbein [13]. Esta operação é definida criteriosamente os métodos aqui descritos e ainda assim falhar
por: em alcançar seu objetivo. Isto pode acontecer principalmente
pela escolha equivocada dos parâmetros do algoritmo.
c′ − i = ci ± pm γ (13) Dentre os principais parâmetros a serem escolhidos ao se
onde pm é a mutação máxima, e γ é um número aleatório aplicar um algoritmo genético, os seguintes podem ser citados
gerado pela equação: como sendo os de maior relevância:
• Tamanho da População np . É o número de indivı́duos
15
X presentes na população que será evoluı́da. A população
γ= αk 2−k (14) precisa possuir um tamanho suficiente para cobrir de
k=0 forma satisfatória o espaço de busca.
onde αi ∈ {0, 1} é um número aleatório com a seguinte É importante notar que definida uma população de nN P
1
distribuição de probabilidade: p(α = 1) = 16 e p(α = indivı́duos para um espaço de dimensão N , um aumento
0) = 1 − p(α = 1). de ∆N nessa dimensão requer a utilização de uma
Com isso são gerados genes mutantes c′i dentro do população com tamanho (N +∆NN!
)! N
np , a fim de assegurar
intervalo [ci − pm , ci + pm ], com alta probabilidade de c′1 a mesma densidade2 de indivı́duos dentro do espaço de
ser muito próximo de ci . busca. Esse aumento no tamanho da população gera um
• Mutação Discreta Modal [18]. Método similar ao ante- conseqüente aumento no custo computacional, que pode
rior, diferindo apenas no cálculo de γ que é dado por: tornar o método bastante oneroso neste sentido.
• Taxa de Reprodução trep . Representa a quantidade de
φ
X
k pares de indivı́duos que deixaram herdeiros na próxima
γ= αk Bm (15)
geração. Geralmente esse número é escolhido de forma
k=0
aleatória dentro do intervalo [0, np ] a cada geração,
onde φ = (log(pm ))/(log(Bm )) e Bm > 1 é um podendo também ser utilizado um número pré-fixado.
parâmetro a ser determinado chamado de base de • Taxa de Mutação tmut . Número de indivı́duos que irão
mutação. sofrer mutação. Assim como a taxa de reprodução, esse
• Mutação Vetorial. Consiste em somar um ruı́do, rep- número costuma ser escolhido de forma aleatória, porém,
resentado por um vetor V ∈ RN , ao cromossomo C. O utilizando um intervalo menor, como: tmut ∈ [0, 0.3np ],
vetor V é completamente determinado de forma aleatória, onde o número máximo de indivı́duos que podem sofrer
sendo cada elemento vi um número real pertencente mutação, será 30% do total da população.
ao intervalo simétrico I com distribuição retangular de • Intensidade da Mutação pmut . Na codificação real, essa
probabilidade: grandeza representa a intensidade da mutação aplicada
ao indivı́duo. Em mutações vetoriais por exemplo, essa
C′ = C + V (16) grandeza representa os limites do vetor aleatório V ∈
[−pmut , pmut ]3 que será somado ao cromossomo.
Este método proporciona mutações bastante eficientes no
que diz respeito à exploração do espaço de busca, tendo
VI. E XEMPLOS E C OMPARAÇ ÕES
em vista que todas as componentes do cromossomo são
alteradas, explorando assim todas as possı́veis direções. Uma das principais áreas de aplicação dos algoritmos
Existe ainda a possibilidade de combinar este operador genéticos é a otimização de funções, na qual esses algoritmos
de mutação com a mutação não uniforme, definindo um representam uma relevante ferramenta, principalmente em
vetor aleatório inicial V0 da mesma forma que V e 2 Esse conceito de densidade de indivı́duos, bem como as equações que
aplicando a seguinte equação: regem sua expansão em espaços N-dimensionais, são derivados de um estudo
relacionado à hiperplanos e ortogonalidade, que é aqui omitido.
3 Esses limites podem ser aplicados a vetores escolhidos a partir de
situações onde pouco se conhece a respeito da função objetivo, obtidos, utilizando configurações diferentes e estimar qual
sendo impossı́vel determinar suas derivadas. delas apresenta uma maior eficiência quando aplicada a um
A tı́tulo de exemplo, serão consideradas algumas funções dado problema.
de teste, utilizadas como estudo de casos da aplicação de O algoritmo genético utilizado no processo de otimização
algoritmos genéticos à otimização de funções, possibilitando das funções propostas emprega uma configuração bastante
comparações refentes ao uso dos vários operados genéticos particular, escolhida de forma a aumentar a eficiência do
aqui discutidos, objetivando, com isso, validar os operadores método. As principais caracterı́sticas do algoritmo utilizado
propostos neste documento, bem como identificar aspectos estão na seleção de cromossomos para reprodução e para
práticos da aplicação de cada operador, tornando possı́vel uma compor a próxima geração.
aplicação mais eficiente dos algoritmos genéticos.
Ao todo, serão analisadas quatro funções de teste, descritas Os cromossomos para reprodução são escolhidos através do
a seguir, sendo que cada uma delas apresenta caracterı́sticas mecanismo da roleta, porém, tomando o cuidado de impedir
diferentes com relação a não linearidade, número de ótimos que um mesmo cromossomo seja escolhido duas vezes para
locais entre outros. Essas diferenças tornam esse conjunto de gerar o mesmo herdeiro. Se isso acontecer, boa parte dos
funções bastante representativo do ponto de vista do problema métodos de reprodução estudados irão produzir um herdeiro
de otimização, expondo várias situações contendo fatores fa- idêntico ao pai, e não é difı́cil perceber a redução drástica
cilitadores e complicadores diferentes, permitindo a inferência na população após algumas gerações, causada caso se per-
a respeito de propriedades gerais dos algoritmos genéticos a mita esse tipo de escolha, pois um indivı́duo que possua
partir de seu estudo. fitness muito acima da média irá rapidamente dominar toda
a população, podendo causar uma convergência prematura.
• Esfera:
N
Após terem sido gerados os nrep herdeiros da nova geração,
o número restante de indivı́duos é escolhido utilizando o
X
f (x) = x2d (17)
d=1
mecanismo de seleção elitista, que, por ser um método de-
x∗ = 0 terminı́stico, não irá duplicar elementos na nova geração,
∗ preservando a diversidade. Essa opção de seleção combinada à
f (x ) = 0
restrição imposta ao mecanismo da roleta, garante ao algoritmo
• Função de Rosenbrock: genético uma preservação mı́nima da diversidade, diminuindo
N −1 a probabilidade da ocorrência de uma convergência prematura.
X
f (x) = (100(xd+1 − x2d )2 + (xd − 1)2 )(18) A mutação dos indivı́duos é feita pelo mecanismo da
d=1 mutação vetorial, sem a utilização de métodos que diminuem a
x∗ = [1, 1, ..., 1]T intensidade da mutação durante o desenvolvimento do método.
f (x∗ ) = 0 Esse processo de redução, apesar de observado em sistemas
naturais, pode diminuir prematuramente a diversidade da
• Função de Rastrigin: população, levando em alguns casos à convergência prematura.
N
X Ao todo, serão estudas 6 variações do algoritmo genético,
f (x) = (x2d − 10 cos(2πxd ) + 10) (19) diferindo apenas no mecanismo de reprodução utilizado. As
d=1 variações consideradas são classificadas como segue.
x∗ = 0
f (x∗ ) = 0 • Linha Estendida. Algoritmo genético utilizando
reprodução de linha estendida.
• Função de Griewank: • Matricial Modificada. Utiliza a reprodução matricial mod-
N N ificada.
1 X Y x
f (x) = − cos √d + 1 (20) • Matricial. Utiliza reprodução matricial.
4000 d • M.M. Heurı́stica. Utiliza reprodução matricial modificada
d=1 d=1
x∗ = 0 combinada com meta-heurı́stica inspirada em enxame de
f (x∗ ) = 0 partı́culas.
• M. Heurı́stica. Utiliza reprodução matricial combinada
onde x∗ (vetorial) é o ótimo global da função e f (x∗ ) (escalar) com meta-heurı́stica baseada em enxame de partı́culas.
é o valor assumido pela função nesse ponto. • BLX 0.25. Utiliza reprodução BLXα, com alpha = 0.25.
A caracterı́stica estocástica dos algoritmos genéticos difi-
culta a análise da sua eficiência, dado que será encontrado O objetivo principal desse estudo é identificar as potencial-
um resultado diferente a cada execução do método para o idades de cada um dos métodos de recombinação em questão,
mesmo problema. Dessa forma, torna-se necessário introduzir além de analisar a relação entre essas potencialidades, as
um método de inferência estatı́stica, analisando não apenas caracterı́sticas dos problemas e o desempenho alcançado pelo
resultados pontuais, mais sim a média e a variância obtidos algoritmo. Dessa forma, tem-se interesse principalmente na
de uma série de nr repetições do algoritmo. evolução do algoritmo, sendo irrelevante o critério de parada,
Com esses dados é possı́vel inferir a respeito da existência assim, é adotado de forma empı́rica um número máximo de
de diferença entre as médias populacionais dos resultados gerações suficientes para realização da análise proposta.
12
A. Função de Rosenbrock
• N = 10
• nr = 100
• ng = 20
• np = 100
O gráfico mostrado na Figura 26, mostra o valor médio Fig. 19. Valor médio da função Rosenbrock obtido por cada uma das
obtido para a diversidade da população em cada geração, variações propostas após 100 repetições
plotado em uma escala logarı́tmica.
• N = 10
• nr = 100 Outro teste pertinente com respeito ao problema em questão,
• ng = 60 é averiguar o comportamento do algoritmo quando a população
• np = 100 inicial é inicializada em uma região que não contém o ótimo
global da função.
Nesta situação o algoritmo deve ser capaz de expandir
A Figura 27 ilustra os resultados médios obtidos com a sua população, além do espaço de busca original, a fim de
aplicação da configuração em questão, onde percebe-se que alcançar a solução desejada onde ela esteja. Essa capacidade
apesar de manter a diversidade da população o método BLX de expansão, geralmente observada em algoritmos genéticos,
0.25, não obtém um resultado satisfatório, sendo que os é devida em parte ao processo de mutação, que introduz
métodos propostos neste documento, baseados em reproduções variações aleatórias nos cromossomos, podendo com isso
matriciais apresentam resultados superiores quando compara- gerar novos indivı́duos fora do espaço de busca original e
dos aos outros operadores de reprodução analisados. principalmente devido ao mecanismo de reprodução, quando
14
• N = 10
• nr = 100
• ng = 20
• np = 100
do método BLX 0.25 permanece bastante elevada, enquanto, mos em questão são inicializados em um subespaço que
para os métodos de recombinação matricial modificada, essa não contenha o ótimo global da função. Para tanto, será
diversidade diminui consideravelmente ao longo das gerações. evoluı́da a população inicialmente encontrada no intervalo
O método de reprodução matricial e sua combinação com a J = [1.5I, 2.5I], que não contém o ponto x = 0.
meta-heurı́stica, por outro lado, preservam uma diversidade
superior à dos outros métodos, sendo inferior apenas aquela
observada quando se utiliza o método BLX 0.25.
O gráfico mostrado na Figura 31, ilustra o comportamento
da diversidade da população em cada geração do processo de
otimização.
C. Função de Rastrigin
• N =4
• nr = 100
Fig. 28. Valores médios da função de Rastrigin para 80 gerações
• ng = 80
• np = 40
Nesta aplicação, o operador de recombinação BLX 0.25 ap-
resentou resultados consideravelmente superiores aos de outros
operadores de recombinação. Esse fato pode ser explicado pela
alta e constante diversidade da população preservada por esse
método, que torna-se um grande diferencial neste caso, onde
existem vários mı́nimos locais dentro do espaço de busca.
Mantendo uma diversidade alta, o algoritmo genético pode
ser capaz de encontrar a solução ótima mais facilmente sem se
prender, prematuramente, à soluções sub-ótimas. Esse compor-
tamento da população pode ser observado quando analisadas
A evolução média do processo de otimização pode ser simultaneamente a evolução das soluções e da diversidade da
verificada no gráfico descrito na Figura 34. população.
20
A diversidade da população para este estudo de caso pode 13 valores distintos da função f (x∗ ), sendo eles:
ser observada no gráfico ilustrado na Figura 35, que mostra [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13]. A freqüência com a
a diversidade média da população para cada geração, plotada qual, cada variante do algoritmo genético encontra cada um
em uma escala logarı́tmica. desses ótimos locais, pode ser observada na Tabela 5.
Tendo em vista que a função de Rastrigin apresenta vários D. Resumo das Análises
mı́nimos locais dentro do subespaço onde a população foi Visando agora estudar o comportamento do algoritmo
inicializada, é conveniente examinar quais as soluções encon- genético e suas variações para uma gama maior de possı́veis
tras pelas variações do algoritmo genético e em com qual cenários de aplicação, são apresentados, nas tabelas que
freqüência essas soluções ocorrem. seguem, os resultados de várias aplicações do algoritmo
Para o resultado exposto anteriormente, é observada a diferentes problemas, contendo diferentes números de
a ocorrência de mı́nimos locais que representam variáveis e funções objetivo. Novamente é utilizada a in-
21