You are on page 1of 11
C´esar Dalto´e Berci Celso Pascoli Bottura ˜ REPRODU C¸ AO MATRICIAL PARA ALGORITMOS ´ GEN
C´esar Dalto´e Berci Celso Pascoli Bottura ˜ REPRODU C¸ AO MATRICIAL PARA ALGORITMOS ´ GEN

C´esar Dalto´e Berci Celso Pascoli Bottura

˜

REPRODU C¸ AO MATRICIAL

PARA ALGORITMOS

´

GEN ETICOS COM

˜

CODIFICAC¸ AO REAL

Instituto de Engenharia Arquitetura e Design - INSEAD

Centro Universit´ario Nossa Senhora do Patrocinio CEUNSP - Salto-SP

Instituto de Engenharia Arquitetura e Design - INSEAD Centro Universit´ario Nossa Senhora do Patrocinio CEUNSP -
N.02, Setembro de 2010

N.02, Setembro de 2010

Abstract

The relevance of genetic algorithms as a search and optimiza tion tool is considerable, and is growing with the

expansion of its range of applications. The efficiency of the al gorithm in finding the goal is not only determined

by

the complexity of the problem, but also by the set of paramet ers and operators chosen. The aim of this paper

is

to present a new reproduction method, based on a better use of the search space, thus obtaining a better

performance of the algorithm in many applications.

KEYWORDS : Genetic Algorithms, Reproduction Method, Nonlinear Opti mization

Resumo

A relevˆancia dos algoritmos gen´eticos como ferramenta de b usca e otimiza¸c˜ao ´e consider´avel, e vem crescendo com a amplia¸c˜ao da sua gama de aplica¸c˜oes. A eficiˆencia d o algoritmo em encontrar o objetivo ´e determinada n˜ao s´o pela complexidade do problema, mais tamb´em pelo con junto de parˆametros e operadores escolhidos.

O objetivo deste trabalho ´e apresentar um novo m´etodo de reprodu¸c˜ao, baseado em um aproveitamento mais

racional do espa¸co de busca, obtendo assim um melhor desemp enho do algoritmo em diversas aplica¸c˜oes.

KEYWORDS : Algoritmos Gen´eticos, M´etodo de Reprodu¸c˜ao, Otimiza¸c˜ao N˜ao Linear

˜

1 INTRODU¸C AO

Com o constante crescimento da capacidade computacional di spon´ıvel, ferramentas de inteligˆencia computacional

e outros m´etodos num´ericos mais onerosos ganham representatividade em diversas ´areas, onde destaca-se aqui as ´areas de otimiza¸c˜ao e controle n˜ao lineares.

Dentre as ferramentas inteligencia computacional dispon´ıveis, encontram-se os algoritmos gen´eticos, m´etodo bas eado no principio da evolu¸c˜ao capaz de encontrar solu¸c˜oes para problemas bastante complexos atrav´es de um processo evolucion´ario razoavelmente simples.

Para tornar poss´ıvel a solu¸c˜ao do problema s˜ao necess´arias algumas defini¸c˜oes e m´etodos, a fim de criar um ambiente computacional que simule um meio natural sujeito `a evolu¸c˜ao. Entre os m´etodos necess´arios est´a o m´etodo de reprodu¸c˜ao que estabelece como ser˜ao gerados os herdeiros durante o processo evolutivo.

O objetivo deste trabalho ´e descrever de forma sucinta as pr incipais caracter´ısticas e motiva¸c˜oes dos algoritmos

gen´eticos, e apresentar um novo m´etodo de reprodu¸c˜ao ap lic´avel a algoritmos com codifica¸c˜ao real sobre espa¸cos de

busca cont´ınuos, desenvolvido com o intuito de criar um apr oveitamento mais racional deste espa¸co, melhorando assim a capacidade de explora¸c˜ao e o desempenho de todo o pr ocesso evolutivo.

´

2 ORIGENS DOS ALGORITMOS GEN ETICOS

Durante s´eculos, a humanidade acreditou ter sido formada p or um criador inteligente e onipotente, respons´avel pela cria¸c˜ao do universo e toda sua existˆencia da forma como o conhecemos. Essa teoria criacionista foi sustentada principalmente por religiosos, e ganhou for¸ca durante o intervalo de tempo conhecido como idade das trevas.

O principal trabalho a questionar essa hip´otese de forma ci entifica, foi elaborado por Charles Darwin, que propˆos

a existˆencia de um mecanismo, batizado por ele de sele¸c˜ao natural.

A existˆencia desse mecanismo faz com que nem todos os organi smos que nascem, sobrevivam ou reproduzam-se, mas

somente uma por¸c˜ao destes organismos, melhor adaptados p ara enfrentar as adversidades ambientais do sistema no qual est˜ao inseridos. Dessa forma, ap´os v´arias gera¸c ˜oes as caracter´ısticas favor´aveis `a adapta¸c˜ao do organismo ser˜ao favorecidas, enquanto as varia¸c˜oes desfavor´ave is tendem a desaparecer.

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.2

N.02, Setembro de 2010

N.02, Setembro de 2010

As teorias de Darwin resultam em uma lei geral de evolu¸c˜ao q ue quando aplicada a uma popula¸c˜ao de organismos, resulta de forma emergente em uma nova popula¸c˜ao contendo organismos mais adaptados ao meio onde vivem. Este processo evolutivo pode ser descrito, de maneira formal, por meio do algoritmo mostrado a seguir.

Considerar uma popula¸c˜ao de organismos inicial; while not fim do Reproduza os organismos; Varie aleatoriamente os organismos; Aplique a Sele¸c˜ao Natural end

Algorithm 1: Algoritmo evolutivo

As id´eias de Darwin foram o objeto de estudo de v´arios pesqu isadores durante os anos de 30 e 40 do s´eculo XX, que desenvolveram o princ´ıpio da preserva¸c˜ao da variabi lidade por meio da muta¸c˜ao e recombina¸c˜ao gen´etica. Posteriormente, nos anos de 50 e 60, bi´ologos e matem´aticos desenvolveram simula¸c˜oes computacionais de sistemas evolutivos com base nesses estudos.

Dando seq uˆ¨ encia a esses eventos, John Holland, professor da Faculdade de Engenharia El´etrica e Computa¸c˜ao da Universidade de Michigan, juntamente com seus alunos e cole gas professores, desenvolveram em meados da d´ecada

de 60, um m´etodo heur´ıstico o qual foi chamado de algoritmo gen´etico, tendo como objetivo estudar formalmente o

fenˆomeno de adapta¸c˜ao ocorrido na natureza, para com iss o assimilar seus mecanismos e traduzi-los para processos

computacionais.

Em seu livro Adaptation in Natural and Artificial Systems (Holland, 1975), Holland descreve os conceitos b´asicos dos algoritmos gen´eticos e em 1989, ´e publicado o livro Genetic Algorithms in Search, Optimization & Machine Learning (Goldberg, 1989), no qual David Goldberg trata da maior part e dos t´opicos de relevante m´erito na ´area. Atualmente, estes dois livros s˜ao as referˆencias mais imp ortantes sobre algoritmos gen´eticos, e sua aplica¸c˜ao se estende aos mais diversos problemas na ´area de otimiza¸c˜ao e aprendizado de m´aquina.

2.1 Terminologia Biol´ogica

A estrutura b´asica que descreve um organismo vivo ´e o cromossomo, formado por uma cadeia de DNA ( Deoxyri-

bonucleic acid ). Cada cromossomo de um ser vivo ´e formado por genes, que s˜ao blocos funcionais de DNA. Cada gene est´a localizado em uma posi¸c˜ao ( locus ) particular de um cromossomo.

`

Um gene, ocupando um dado locus, pode apresentar v´arias for mas alternativas. A essas formas d´a-se o nome de

gene apresenta

alelo. A t´ıtulo de exemplo, consideremos o gene que determi na a cor de uma certa flor. Esse unico´

diferentes vers˜oes, ou alelos diferentes, um podendo resu ltar em flores brancas e outro em flores vermelhas.

O conjunto de cromossomos existente no interior do n´ucleo d as c´elulas carrega a heran¸ca gen´etica do indiv´ıduo,

herdada de seus genitores. Como os cromossomos s˜ao compost os de genes, ´e poss´ıvel concluir que esta informa¸c˜ao

`

est´a armazenada em um conjunto dessas estruturas. A esse conjunto de genes d´a-se o nome de gen´otipo.

O gen´otipo carrega informa¸c˜ao a respeito de v´arias caracter´ısticas do indiv´ıduo, por´em, a manifesta¸c˜ao dest as

caracter´ısticas ´e muitas vezes influenciada pela a¸c˜ao d o meio, gerando manifesta¸c˜oes causadas pela express˜ao d o gen´otipo somada `a intera¸c˜ao do indiv´ıduo com o ambient e em que se encontra. Essa manifesta¸c˜ao ´e conhecida como fen´otipo e como esta gera fatores observ´aveis, a gen´etica cl´assica utiliza-se do fen´otipo de um indiv´ıduo para deduzir conclus˜oes a respeito de seu gen´otipo.

A reprodu¸c˜ao nada mais ´e do que a recombina¸c˜ao das infor ma¸c˜oes gen´eticas dos pais, que ocorre por meio de

um processo conhecido como: crossover , que consiste em uma troca aleat´oria de material gen´etico entre dois cromossomos distintos, ocorrida durante a meiose celular.

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.3

N.02, Setembro de 2010

N.02, Setembro de 2010

Na biologia, muta¸c˜oes s˜ao mudan¸cas na seq uˆ¨ encia de pares de base do DNA de um organismo. Essas altera¸c˜oes s˜ao aleat´orias e pontuais, envolvendo a elimina¸c˜ao ou s ubstitui¸c˜ao de um ou de poucos alelos.

´

3 ALGORITMOS GEN ETICOS

Algoritmos gen´eticos s˜ao m´etodos de busca e otimiza¸c˜ao baseados em processos biol´ogicos de evolu¸c˜ao. Estes algoritmos foram desenvolvidos tendo basicamente dois obj etivos:

Abstrair de maneira formal e rigorosa processos biol´ogicos envolvidos na evolu¸c˜ao dos seres vivos, possibili- tando um melhor entendimento dos organismos vivos e de suas origens.

Utilizar computacionalmente a capacidade existente nos me canismos de evolu¸c˜ao natural, desenvolvendo sistemas evolutivos capazes de resolver problemas complex os baseados na evolu¸c˜ao de agentes simples.

Estes algoritmos utilizam uma popula¸c˜ao de solu¸c˜oes candidatas ao problema, sendo cada solu¸c˜ao representada por um indiv´ıduo da popula¸c˜ao. Estes indiv´ıduos, assim como em um ambiente natural, encontram-se sujeitos a intera¸c˜oes com o meio onde est˜ao inseridos. O processo de evolu¸c˜ao acontece de forma continuada e simultˆanea com rela¸c˜ao a todos indiv´ıduos da popula¸c˜ao, caracter izando uma estrat´egia paralela de busca.

Esses algoritmos podem ser considerados ferramentas de bus ca global, dada a maior probabilidade de se encontrar uma solu¸c˜ao globalmente ´otima da fun¸c˜ao em compara¸c˜ao a algoritmos procedurais, que apresentam uma grande probabilidade de encontrar um ´otimo local mais pr´oximo de onde o m´etodo foi inicializado.

Em (Goldberg, 1989), o autor introduz a estrutura b´asica de funcionamento de um algoritmo gen´etico, explicitando cada etapa do algoritmo. Mais detalhadamente, esse algorit mo pode ser descrito pela seguinte sequˆencia de passos:

´

E gerada uma popula¸c˜ao inicial formada por um conjunto ale at´orio de indiv´ıduos, onde cada indiv´ıduo

representa uma poss´ıvel solu¸c˜ao para o problema.

´

E iniciado o processo evolutivo: cada indiv´ıduo da popula¸c˜ao ´e avaliado e recebe um conceito, chamado de fitness , que reflete a qualidade da solu¸c˜ao por ele representada. E m processos naturais, essa avalia¸c˜ao representa o qu˜ao adaptado um organismo esta em rela¸c˜ao ao meio onde ele vive.

S˜ao selecionados membros da popula¸c˜ao com base no concei to que estes receberam na etapa anterior. Parte dos indiv´ıduos ´e mantida para a nova gera¸c˜ao. Enquanto i sso, os indiv´ıduos menos adaptados n˜ao s˜ao selecionados e desaparecem da popula¸c˜ao, em um processo q ue tende a extinguir varia¸c˜oes desfavor´aveis.

S˜ao escolhidos pares para reprodu¸c˜ao tamb´em com base em seu fitness. Esses indiv´ıduos se reproduzem e deixar˜ao descendentes na nova gera¸c˜ao.

A nova popula¸c˜ao ´e sujeita a muta¸c˜oes aleat´orias, vis ando introduzir variabilidade nos indiv´ıduos. Essas varia¸c˜oes ser˜ao avaliadas na pr´oxima gera¸c˜ao, onde c aracter´ısticas favor´aveis `a solu¸c˜ao do problema ser˜ao privilegiadas.

O processo evolutivo continua criando novas gera¸c˜oes at´e que um dado crit´erio seja atendido e uma solu¸c˜ao satisfat´oria seja encontrada.

Esse algoritmo, apesar de parecer bastante simples do ponto de vista biol´ogico, representa uma poderosa ferramenta de busca adaptativa e robusta (Brun, 2007), de grande poder c omputacional.

Uma das etapas mais complexas e que despende maior tempo e trabalho na aplica¸c˜ao dos algoritmos gen´eticos, ´e a fase de codifica¸c˜ao do problema, tendo em vista que os algor itmos gen´eticos atuam sobre a codifica¸c˜ao do problema,

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.4

N.02, Setembro de 2010

N.02, Setembro de 2010

evoluindo os indiv´ıduos da popula¸c˜ao, sem levar em conta o que eles representam e sim seu n´ıvel de adapta¸c˜ao medido pelo seu fitness.

A codifica¸c˜ao consta basicamente da defini¸c˜ao de como os c romossomos ir˜ao representar as poss´ıveis solu¸c˜oes,

fun¸c˜oes de fitness para avaliar a adapta¸c˜ao de cada indiv´ıduo, operadores gen´eticos de muta¸c˜ao e reprodu¸c˜ao e mecanismos de sele¸c˜ao. O termo codifica¸c˜ao se aplica nor malmente de forma mais restrita, tratando apenas da representa¸c˜ao dos cromossomos. Neste documento optou-s e por uma defini¸c˜ao mais ampla da codifica¸c˜ao, devido

`a varia¸c˜oes necess´arias para que o algoritmo possa ser i mplementado em diferentes tipos de problemas, como por exemplo: otimiza¸c˜ao de fun¸c˜oes, clusteriza¸c˜ao de dados, entre outros.

3.1 Codifica¸c˜ao Real

Esta codifica¸c˜ao representa os cromossomos por n´umeros ou vetores reais. Tal representa¸c˜ao permite cobrir um dom´ınio bastante abrangente (Herrera et al., 1998), o que s eria dif´ıcil trabalhando com cadeias bin´arias, pois, par a aumentar o dom´ınio sem perder precis˜ao, faz-se necess´ar io aumentar o comprimento das cadeias bin´arias, o que causa um conseq uente¨ aumento exponencial em complexidade ao problema. Al´em deste fator, a codifica¸c˜ao real permite que a fun¸c˜ao de fitness seja atribu´ıda diretamente ao cromossomo (campo escalar s obre os reais), sem necessidade de convers˜ao.

S˜ao poss´ıveis ainda v´arias outras codifica¸c˜oes, visto que os cromossomos s˜ao sempre representados por s´ımbolos de um alfabeto pertencente a uma dada linguagem.

3.2 Reprodu¸c˜ao

Nos algoritmos gen´eticos, o processo de reprodu¸c˜ao tent a implementar as caracter´ısticas naturais da reprodu¸c˜ao dos organismos, ou seja, recombinar o material gen´etico dos pais para gerar um filho, conseguindo com isso propagar

a heran¸ca gen´etica dos pais para a pr´oxima gera¸c˜ao.

N ),

selecionados em uma popula¸c˜ao representada por pontos do espa¸co R N , onde todo c j R ´e um n´umero real. A reprodu¸c˜ao desses cromossomos pode ser realizada de in´u meras maneiras, tendo cada uma delas, caracter´ısticas pr´oprias favor´aveis a aplica¸c˜oes diferentes.

Consideremos dois indiv´ıduos pais representados pelos cr omossomos: C 1 = ( c 1 1 , c 2 ,

1

i

, c N ) e C 2 = ( c 2 , c 2

1

1

2

,

,

c

2

S˜ao observadas na literatura diversas propostas de m´etod os de reprodu¸c˜ao aplic´aveis a algoritmos gen´eticos com codifica¸c˜ao real, sendo v´arias delas aqui tratadas, al´e m da reprodu¸c˜ao matricial apresentada neste documento, q ue tem como objetivo melhorar a performance do algoritmo em det erminados problemas. A seguir, s˜ao apresentadas

as principais propostas de reprodu¸c˜ao encontradas na lit eratura.

Flat Crossover (Radcliffe, 1991). Neste m´etodo de reprodu¸c˜ao, o cromoss omo filho H = ( h 1 , h 2 , gerado componente a componente atrav´es da seguinte equa¸c ˜ao:

, h N ) ´e

(1)

onde r ´e um n´umero aleat´orio tal que: r [0, 1]. Dessa forma, cada componente h i do vetor H ´e escolhida aleatoriamente no intervalo: [ c , c ].

h i = c + r ( c c ) i ∈ {1

i

i

i

1

2

1

N }

1

i

2

i

Consideremos agora o subespa¸co S , formado pelos poss´ıveis filhos de um determinado par de cromossomos C 1 e C 2 . Para o m´etodo de reprodu¸c˜ao em quest˜ao, este subespa¸c o formar´a um hipercubo limitado pelos cromossomos pais.

Crossover Aritm´etico (Michalewicz, 1992). Similar ao Flat Crossover, por´em, ´e determinado um parˆametro r constante e dois cromossomos filhos H 1 e H 2 s˜ao gerados a partir dele como segue:

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.5

N.02, Setembro de 2010

N.02, Setembro de 2010

h

h

1

i

2

i

=

=

c

c

1

i

2

i

c

+ r ( c c

+ r ( c

2

i

1

i

1

i

2

i

) i ∈ {1 ) i ∈ {1

N

N

}

}

(2)

BLX- α (Eshelman and Schafter, 1993). Outro m´etodo similar ao Flat Crossover, onde s˜ao escolhidos com- ponentes h i para os cromossomos filhos dentro do intervalo: [ c min Iα, c max + ], onde: c min = min( c , c ) e c max = max( c , c ).

1

i

2

i

1

i

2

i

Esse processo pode expandir (ou contrair para α < 0) o subespa¸co S , possibilitando um aumento da diver-

sidade da popula¸c˜ao, que poder´a se expandir mais facilme nte para regi˜oes fora do subespa¸co onde o m´etodo

´

foi inicializado. E poss´ıvel notar tamb´em que para α = 0, o m´etodo ser´a idˆentico ao Flat Crossover.

Crossover Simples (Wright, 1991). Um ponto de crossover ´e escolhido e dois novos cromossomos s˜ao gerados pela recombina¸c˜ao das componentes dos cromossomos pais, como segue:

H 1

H 2

= ( c 1 = ( c 2

1

1

,

,

,

,

1

c

c r , c

r , c

2

2

r+1 ,

1

r+1 ,

, c 2 , c

N

1

N

)

)

onde r ´e um n´umero aleat´orio inteiro escolhido entre 1 e N .

Este m´etodo tenta preservar caracter´ısticas do crossove r biol´ogico, assim como ´e feito na codifica¸c˜ao bin´aria, por´em, o m´etodo gera uma subespa¸co discreto dentro de um e spa¸co de busca continuo, o que reduz de um valor que tende a infinito o n´umero de poss´ıveis herdeiros. Essa dr´astica redu¸c˜ao do n´umero de elementos do subespa¸co S , pode em algumas situa¸c˜oes levar a uma perda de diversidad e da popula¸c˜ao.

and Schlierkamp-Voosen, 1993). Neste m´etodo de recombi-

na¸c˜ao, ´e escolhido um escalar α [ 0. 25, 1. 25] aleatoriamente e o cromossomo filho ´e ent˜ao expresso pe la seguinte equa¸c˜ao:

Crossover de Linha Estendida (M uhlenbein¨

H = C 1 + α ( C 2 C 1 )

(3)

O subespa¸co S que representa os poss´ıveis cromossomos filhos, ´e formado por um segmento de reta que passa pelos cromossomos pais e se estende por 25% do comprimento da distˆancia entre os dois, em cada uma de suas extremidades.

Este ´e um processo de cruzamento bastante simples, e muito u tilizado em problemas de otimiza¸c˜ao irrestrita. Assim como o m´etodo BLX- α , este m´etodo tamb´em tem a capacidade de expandir o espa¸co de busca, para, com isso, encontrar solu¸c˜oes fora do subespa¸co onde o m´e todo foi inicializado.

Crossover Heur´ıstico de Wright (Wright, 1991). Este m´etodo de cruzamento leva em conta o fitness do melhor indiv´ıduo entre os dois pais, tentando gerar herdei ros mais semelhantes a esse pai melhor adaptado.

Consideremos aqui que o cromossomo C 1 possui fitness mais elevado; sendo assim, o herdeiro H ser´a dado pela seguinte equa¸c˜ao:

H

= C 1 + r ( C 1 C 2 )

(4)

onde r ´e um n´umero aleat´orio pertencente ao intervalo: [0, 1].

Recombina¸c˜ao Matricial . Este m´etodo, apresentado neste documento e proposto inic ialmente em (Berci, 2008), visa explorar de forma mais eficiente o espa¸co de busc a. Para tanto, ´e realizado o processo inverso na defini¸c˜ao do operador de reprodu¸c˜ao, onde primeirame nte ´e estipulado empiricamente um subespa¸co onde

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.6

N.02, Setembro de 2010

N.02, Setembro de 2010

deseja-se que se encontrem os herdeiros, para posteriormente definir-se um equacionamento matem´atico que gere esse subespa¸co.

Consideremos uma fun¸c˜ao objetivo que gerou as curvas de n´ıvel ilustradas na Figura 1. O
Consideremos uma fun¸c˜ao objetivo que gerou as curvas de n´ıvel ilustradas na Figura 1. O m´etodo proposto
visa gerar herdeiros no subespa¸co S descrito na figura.
Curvas de n´ıvel
Cromossomos Pais
Subespa¸co S

Figura 1: Curvas de n´ıvel

O subespa¸co S ´e ent˜ao definido como o interior de uma hiperesfera centrad a no ponto m´edio entre os cro- mossomos pais, dado por: Ct = ( C 1 + C 2 ) /2. Esta hiperesfera tem seu raio igual `a distˆancia entre os vetores pais: R = norma ( C 2 C 1 ). Se considerarmos um vetor unit´ario v ( θ ), formando um angulo θ com a reta que passa pelos cromossomos pais r , essa hiperesfera pode ser determinada variando o ˆangulo θ .

Dessa forma um herdeiro H pertence ao subespa¸co S se: norma ( H Ct ) Rv .

Consideremos a t´ıtulo de exemplo, dois cromossomos pais, C 1 e C 2 , escolhidos ao acaso e pertencentes ao espa¸co R 2 , bem como n´umeros aleat´orios α gerados a partir de uma distribui¸c˜ao retangular de probab ilidades. Foram gerados 1500 herdeiros H para os cromossomos C 1 e C 2 com base no m´etodo proposto, sendo o resultado ilustrado pela Figura 2.

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.7

N.02, Setembro de 2010 Figura 2: Reprodu¸c˜ao matricial, exemplo de aplica¸c˜ao. pontos vermelhos representam os

N.02, Setembro de 2010

N.02, Setembro de 2010 Figura 2: Reprodu¸c˜ao matricial, exemplo de aplica¸c˜ao. pontos vermelhos representam os

Figura 2: Reprodu¸c˜ao matricial, exemplo de aplica¸c˜ao. pontos vermelhos representam os herdeiros H , gerados a partir dos cromossomos pais em azul

Este m´etodo de reprodu¸c˜ao traz resultados semelhantes aos m´etodos BLX- α e de linha estendida, quanto `a expans˜ao da popula¸c˜ao, por´em, gera herdeiros pertence ntes a um subespa¸co S diferente, escolhido com base na continuidade do espa¸co de busca e da fun¸c˜ao objetivo, n a tentativa de aumentar a eficiˆencia do algoritmo atrav´es de uma melhor explora¸c˜ao do espa¸co de busca.

˜

4 EXEMPLOS E COMPARA¸C OES

Uma das principais ´areas de aplica¸c˜ao dos algoritmos gen´eticos ´e a otimiza¸c˜ao de fun¸c˜oes, na qual esses algori tmos representam uma relevante ferramenta, principalmente em s itua¸c˜oes onde pouco se conhece a respeito da fun¸c˜ao objetivo, sendo imposs´ıvel determinar suas derivadas.

A t´ıtulo de exemplo, ser´a considerada neste trabalho apen as a fun¸c˜ao de Rosenbrock, sendo um trabalho mais

detalhado encontrado em (Berci, 2008), onde s˜ao analisadas outras fun¸c˜oes e cen´arios de aplica¸c˜ao diversos, obt endo

uma s´erie de resultados que comprovam as conclus˜oes expos tas neste documento.

A caracter´ıstica estoc´astica dos algoritmos gen´eticos dificulta a an´alise da sua eficiˆencia, dado que ser´a encont rado

um resultado diferente a cada execu¸c˜ao do m´etodo para o me smo problema. Dessa forma, torna-se necess´ario introduzir um m´etodo de inferˆencia estat´ıstica, analis ando n˜ao apenas resultados pontuais, mais sim a m´edia e a variˆancia obtidos de uma s´erie de n r repeti¸c˜oes do algoritmo.

A fim de realizar as compara¸c˜oes necess´arias para comprovar a eficiˆencia do m´etodo proposto, consideremos o

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.8

N.02, Setembro de 2010

N.02, Setembro de 2010

f ( x )

seguinte conjunto de parˆametros, utilizados na implement a¸c˜ao dos algoritmos gen´eticos utilizados nos exemplos discutidos neste documento:

N = 10 - Dimens˜ao do problema.

n r = 100 - N´umero de repeti¸c˜oes do processo evolutivo.

n g = 20 - N´umero de gera¸c˜oes por repeti¸c˜ao.

n p = 100 - Tamanho da popula¸c˜ao (n´umero de indiv´ıduos).

Como o ´otimo global dessa fun¸c˜ao ´e x = [1, 1,

[ 0. 5I, 1. 5I ] contendo esse ponto como condi¸c˜ao inicial para a popula¸c˜ao, que ´e inicializada aleatoriamente uti- lizando uma distribui¸c˜ao uniforme de probabilidade.

, 1] T , foi escolhido convenientemente um intervalo inicial J =

Ser˜ao avaliadas aqui 3 varia¸c˜oes do mesmo algoritmo gen´etico, onde ´e alterado apenas no m´etodo de reprodu¸c˜ao.

O algoritmo l.e. utiliza reprodu¸c˜ao por Linha Estendida, o m. utiliza reprodu¸c˜ao matricial, e por fim o blx, utiliza

reprodu¸c˜ao BLX 0,25. O gr´afico mostrado na Figura 3 ilustr a os valores m´edios da fun¸c˜ao, obtidos por cada uma

das varia¸c˜oes propostas.

80

70

60

50

40

30

20

10

0

Evolu¸c˜ao dos Resultados l.e. m. blx 0 10 20 30 40 50 60
Evolu¸c˜ao dos Resultados
l.e.
m.
blx
0
10
20
30
40
50
60

Gera¸c˜ao

Figura 3: Valor m´edio da fun¸c˜ao Rosenbrock obtido por cad a uma das varia¸c˜oes propostas ap´os 100 repeti¸c˜oes

´

E

poss´ıvel notar na an´alise da Figura 3 que o desempenho do m´etodo de reprodu¸c˜ao matricial, apresentado neste

documento, ´e bastante superior ao dos outros m´etodos de re produ¸c˜ao avaliados. Atribui-se esse resultado a melhor explora¸c˜ao do espa¸co de busca quanto utilizado o m´etodo matricial de reprodu¸c˜ao, tendo em vista que trata-se de uma fun¸c˜ao cont´ınua e estritamente concava.

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.9

N.02, Setembro de 2010

N.02, Setembro de 2010

f ( x )

Outra caracter´ıstica fundamental na an´alise do desenvol vimento das varia¸c˜oes propostas ´e a avalia¸c˜ao da popul a¸c˜ao como um todo e n˜ao apenas do melhor indiv´ıduo, oque ´e feito por meio da Figura 3. Essa avalia¸c˜ao ´e realizada atrav´es da diversidade da popula¸c˜ao, estimada com base n a variˆancia σ 2 observada nos valores da fun¸c˜ao calculados para todos os indiv´ıduos da popula¸c˜ao.

A

diversidade da popula¸c˜ao em um algoritmo gen´etico, ou outro algoritmo similar, representa as diferen¸cas entre

os

indiv´ıduos, podendo, no caso em quest˜ao, ser estimada p or uma m´etrica da distancia entre os cromossomos,

sendo a grandeza aqui escolhida uma, entre in´umeras possib ilidades, a variˆancia citada.

O gr´afico mostrado na Figura 4, mostra o valor m´edio obtido p ara a diversidade da popula¸c˜ao em cada gera¸c˜ao,

plotado em uma escala natural.

11

10

9

8

7

6

5

4

3

Diversidade da Popula¸c˜ao l.e. m. blx 0 2 4 6 8 10 12 14 16
Diversidade da Popula¸c˜ao
l.e.
m.
blx
0
2
4
6
8
10
12
14
16
18
20

Gera¸c˜ao

Figura 4: Diversidade m´edia da popula¸c˜ao, estimada pela variˆancia do valor da fun¸c˜ao Rosenbrock para cada cromossomo da popula¸c˜ao

´

E

f´acil perceber que o operador de reprodu¸c˜ao matricial, assim como a reprodu¸c˜ao de linha estendida, apresentam

uma redu¸c˜ao bastante acentuada na diversidade da popula¸c˜ao durante a evolu¸c˜ao do algoritmo. Essa redu¸c˜ao pode

causar uma convergˆencia prematura do m´etodo em algumas si tua¸c˜oes, o que n˜ao aconteceu no exemplo proposto. No caso do operador de reprodu¸c˜ao matricial, essa diminui ¸c˜ao da diversidade aumentou a taxa de convergˆencia do algoritmo gen´etico, tendo em vista que esse ´e o m´etodo q ue obteve o melhor resultado dentre as varia¸c˜oes analisadas.

Geralmente, quando se tenta aumentar a taxa de convergˆenci a de um algoritmo gen´etico, seja reduzindo a taxa de muta¸c˜ao ou pela escolha apropriada dos operadores, ´e obs ervada a redu¸c˜ao tamb´em da diversidade da popula¸c˜ao, que em alguns casos pode se tornar um problema, devendo assim, ser respeitado um compromisso claro existente

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.10

N.02, Setembro de 2010

N.02, Setembro de 2010

entre a diversidade da popula¸c˜ao e a taxa de convergˆencia.

Uma alta preserva¸c˜ao da diversidade ´e constatada no m´et odo BLX 0.25, por´em, este n˜ao encontra bons resultados o que indica que apesar de preservar a capacidade explotaria do algoritmo, este apresenta uma taxa de convergˆencia muito pequena, prejudicando sua eficiˆencia.

˜

5 CONCLUS OES

Os m´etodos de reprodu¸c˜ao (sobre codifica¸c˜ao real) apli cados na implementa¸c˜ao de algoritmos gen´eticos, s˜ao em geral ferramentas num´ericas capazes de gerar herdeiros (p ontos) em um espa¸co de busca com base em regras probabil´ısticas aplicadas aos pais (outros pontos).

Neste documento ´e apresentado um m´etodo de reprodu¸c˜ao b aseado em uma defini¸c˜ao emp´ırica de um subespa¸co onde estimasse ser mais conveniente posicionar os herdeiros, considerando um espa¸co de busca sobre uma fun¸c˜ao con- t´ınua. O algoritmo de reprodu¸c˜ao ´e ent˜ao desenvolvido para reproduzir estatisticamente este espa¸co e implement a-lo

na

reprodu¸c˜ao dos indiv´ıduos.

O

problema de minimiza¸c˜ao da fun¸c˜ao de Rosenbrock apres entado neste documento, comprova a eficiˆencia do

m´etodo de reprodu¸c˜ao matricial, que obteve um resultado consideravelmente superior a outras m´etodos de repro-

du¸c˜ao encontrados na literatura.

Observa-se uma alta taxa de convergˆencia quando utilizand o o m´etodo matricial, por´em, n˜ao se obt´em ganho significativo com rela¸c˜ao a preserva¸c˜ao da diversidade , que permanece compar´avel aquela observada para o m´etodo linha estendida, por´em, a maior taxa de convergˆencia do m´etodo proposto o torna superior na aplica¸c˜ao proposta.

Dessa forma, mostra-se que o m´etodo de reprodu¸c˜ao aqui ap resentado representa uma importante ferramenta para implementa¸c˜ao de algoritmos gen´eticos, obtendo bons re sultados e elevada taxa de convergˆencia, alcan¸cando um consider´avel ganho de eficiˆencia para o exemplo de aplica¸c˜ao discutido.

ˆ

REFER ENCIAS

Berci, C. D. (2008). Observadores inteligentes de estado: Propostas , Master’s thesis, Universidade Estadual de Campinas.

Brun, A. L. (2007). Algoritimos Gen´eticos , Apostila EPAC - Encontro Paranaense de Computa¸c˜ao, Bras il.

Eshelman, L. and Schafter, J. (1993). Real-coded genetic al gorithm and interval schemata, Foundation of Genetic Algorithms 2 pp. 375–382.

Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization & Machine Learning, Addison-Wesley.

Herrera, F., Lozano, M. and Verdegay, J. L. (1998). Taking re al-coded genetic algorithms: Operators and tools for behavior analysis, Artificial Intelligence Review 12.

Holland, J. (1975). Adaptation in natural and artificial sys tems, University of Michigan Press .

M uhlenbein,¨

H. and Schlierkamp-Voosen, D. (1993). Predicti ve models for the breeder genetic algorithm i. contin-

uous parameter optimization, Evolutionary Computation 1: 25–49.

Michalewicz, Z. (1992). Genetic Algorithms + Data Structures = Evolution Programs , Springer-Verlag, New York.

Radcliffe, N. (1991). Equivalent class analysis of genetic algorithms, Complex Systems 5: 183–205.

Wright, A. H. (1991). Genetic algorithms for real parameter optimization, Department of Computer Science University of Montana pp. 205–220.

Berci, C´esar D. e Bottura, Celso P. Reprodu¸c˜ao Matricial Para Algoritmos Gen´eticos com Cod- ifica¸c˜ao Real. Complexus - Instituto Superior de Engenharia Arquitetura e Design - CE UNSP, Salto-SP, ano.01, n.02, p.1-11, Setembro de 2010. Dispon´ıvel em: www.engenho.info

P.11