Você está na página 1de 1

Depois de calculada o tamanho de todas as fatias a roleta e girada (um

valor r, uniformemente distribudo no intervalo [0, 1] e gerado) tantas vezes


quanto for o tamanho da populac ao. A cada giro, um unico indivduo e es-
colhido, aquele correspondente a fatia em que a roleta parou.
Dada uma populac ao Y = (y
1
, y
2
, ..., y
k
) ent ao, a probabilidade do algo-
ritmo gerar a populac ao X = (x
1
, x
2
, ..., x
k
) ap os a selec ao e,
I
{y1,y2,...,yk}
(x
1
)...I
{y1,y2,...,yk}
(x
k
)
a
1
f(x
1
)

1jk
f(y
j
)
...
a
k
f(x
k
)

1jk
f(y
j
)
onde I
{y1,y2,...,yk}
(x
i
) = 1 se x
i
for um cromossomo da populac ao anterior
e zero caso contr ario, e a
i
=

n
j=1
Iyi
(x
j
) e a quantidade de vezes em que
x
i
aparece na populac ao inicial.
2. Operac ao de Cruzamento
O cruzamento permite a troca de material gen etico entre os indivduos da
populac ao. A quantidade de cromossomos a ser submetida ao processo de
cruzamento e denida atrav es da probabilidade de cruzamento pc [0, 1],
especicada pelo usu ario. Existem v arias maneiras de se proceder este
cruzamento, neste trabalho estaremos usando o seguinte procedimento: o
primeiro selecionado ir a cruzar com o segundo, o terceiro com o quarto, e
assim at e que tenhamos [s/2] pares, onde [.] e o menor inteiro e s e a quan-
tidade de indivduos selecionados. Para cada par de indivduos escolhidos
para o cruzamento, e gerado um ponto de corte, ou seja, um ponto que
nos dar a quantos bits ser ao trocados nesta etapa. Em um cromossomo de
tamanho nl o ponto de corte ser a escolhido entre 1 e nl 1. A partir desse
ponto as informac oes gen eticas dos pais ser ao trocadas, dando origem aos
descendentes (lhos).
3. Operac ao de Mutac ao
Amutac ao opera independentemente emcada bit do indivduo da populac ao
atrav es de uma probabilidade pm [0, 1] chamada probabilidade de mutac ao
. Assim, a probabilidade de sair de uma populac ao Y = (y
1
, y
2
, ..., y
k
) para
uma populac ao X = (x
1
, x
2
, ..., x
k
) e dado por,
p
H(X,Y )
m
(1 pm)
nlH(X,Y )
H(X, Y ) e a dist ancia de Hamimng entre as populac oes X e Y a qual
representa o n umero de bits que devem ser alterados pela mutac ao para
transformar Y em X.
Modelagem
Consideremos agora uma cadeia de Markov {Xn}
nIN
com espaco de
estados S
1
como denida em (1) que e o conjunto de todas as populac oes
formadas por k cromossomos. Gostaramos de saber quem e a matriz de
transic ao desta cadeia e a resposta est a demonstrada no seguinte teorema.
Teorema 1: A evoluc ao do algoritmo Gen etico e modelada pela matriz
de transic ao P que e decomposta por um produto de matrizes estoc asticas
P = SCM, onde S, C e M modelam as transic oes realizadas nos passos
de selec ao, cruzamento e mutac ao respectivamente.
A Converg encia do Algoritmo Gen etico
A demonstrac ao dos resultados abaixo podem ser encontrados em
Rudolph(1994) e commais detalhes na dissertac ao de mestrado do Neto(2010).
Teorema 2: A matriz P obtida no teorema anterior e positiva.
Corol ario 3: Toda cadeia de Markov homog enea positiva com espaco de
estados nito e convergente.
Teorema 4: A cadeia de Markov representada pela matriz P = SCM
acima e convergente.
O Algoritmo Simulated Annealing
O procedimento de busca pela soluc ao otima e feito estabelecendo uma
temperatura inicial T
0
(geralmente alta) e gerando inicialmente um ponto
aleat orio s do domnio e a partir da e gerado um outro ponto s

a partir
da posic ao s em que o algoritmo se encontra de acordo com uma certa
distribuic ao q
1
(s

|s). O ponto gerado pode ser aceito ou n ao de acordo


com uma probabilidade de aceitac ao a
1
(s

|s). Se aceito, o pr oximo ponto


em que o algoritmo se encontra ser a s

, caso contr ario o pr oximo ponto


ser a o pr oprio s. Uma reduc ao na temperatura T
0
T
1
e efetuada e outro
ponto s

e gerado de acordo com uma certa distribuic ao q


2
(s

|s

), caso s

seja o ponto em que o algoritmo se encontra, e este ponto e aceito ou n ao


segundo a probabilidade de aceitac ao a
2
(s

|s

), e assim sucessivamente.
Modelagem do Algoritmo Simulated Annealing por Cadeias
de Markov
Como par ametros do algoritmos simulated annealing temos: Uma sequ encia
de distribuic oes de probabilidade (para gerar os pr oximos pontos a partir
do ponto em que o algoritmo se encontra), uma sequ encia de probabili-
dades de aceitac ao (que nos dar a a probabilidade de aceitar ou n ao o ponto
gerado), de uma temperatura inicial T
0
e de uma agenda de resfriamento
(uma func ao que vai nos dizer como esta temperatura diminuir a ao longo
do processo).
Existem v arios tipos de sequ encias de distribuic oes de probabilidade, por
exemplo, se S = {1, 2, ..., n} podemos utilizar uma sequ encia Qn = Q
expressa pela matriz
Q =

1/n 1/n 1/n


1/n 1/n 1/n
.
.
.
.
.
.
. . .
.
.
.
1/n 1/n 1/n

que signica que todos os pontos de S = {1, 2, ..., n} possuem a mesma


chance de serem escolhidos dado que algoritmo se encontra em qualquer
ponto, ou seja, Q(i, j) = q(i|j) =
1
n
, i, j S.
A probabilidade de aceitac ao e dada por
an(x
j
/x
i
) = min

1, exp

f(x
j
) f(x
i
)
Tn

, (2)
onde Tn e a temperatura no passo n do algoritmo (Tn 0 quando n ).
Vemos ent ao que se f(x
j
) < f(x
i
), ou seja, o ponto gerado e melhor que o
ponto atual, an(x
j
/x
i
) = 1. E caso seja pior, ou seja, f(x
j
) > f(x
i
) ainda
temos a chance de aceitar x
j
com probabilidade exp

f(xj)f(xi)
Tn

.
A din amica do algoritmo e a seguinte:
- Escolha uma soluc ao aleat oria x
1
S.
- No passo n + 1 um novo candidato Y
n+1
e gerado com probabili-
dade Q(i, j) = P(Y
n+1
= x
j
|Xn = x
i
) onde Xn = x
i
e a soluc ao at-
ual, e a troca de Xn por Y
n+1
e realizada com probabilidade de aceitac ao
an(Y
n+1
|Xn), caso contr ario, X
n+1
= Xn, ou seja,
X
n+1
=

Y
n+1
, com probabilidade an(Y
n+1
|Xn)
Xn, com probabilidade 1 an(Y
n+1
|Xn)
Assim temos uma sequ encia de matrizes estoc asticas {P(n)}
n1
, onde
o (i,j)- esimo elemento da matriz P(n) e dado por,
P
ij
(n) = P(X
n+1
= j|Xn = i) =

Q(i, j)an(j|i), se i = j
1

l=i
Q(i, l)an(l|i), se i = j
(3)
Com isso vemos que o algoritmo Simulated Annealing e modelado por
uma cadeia de Markov n ao-homog enea. Estudaremos na pr oxima sec ao
condic oes para as quais garantimos a converg encia deste algoritmo.
Converg encia do Algoritmo Simulated Annealing
Nesta sec ao daremos condic oes que ser ao sucientes para a converg encia
do algoritmo Simulated Annealing.
Vimos na sec ao anterior que o algoritmo Simulated Annealing e mode-
lado por uma cadeia de Markov n ao-homog enea. Agora queremos obter
condic oes sobre as quais garantimos que a cadeia converge para o ponto de
mnimo, ou seja, se considerarmos S
min
= {X S/X ponto de mnimo def},
queremos saber
P
(m,n)
(i, j) 0 se j / S
min
, i S quado n (4)
Consideremos que a sequ encia de matrizes utilizadas para gerar os pontos
seja xa, ou seja Qn = Q e que
i) Q = (Q
(i,j)
) tal que Q
(i,j)
> 0 para todo i,j S
Pediremos que as probabilidades de aceitac ao satisfacam
ii) lim
k
a
k
(j/i) =

1 se f(j) f(i)
0 se f(j) > f(i)
Teorema 5: Sob hip oteses i) e ii) acima, a cadeia n ao-homog enea que
modela o Simulated Annealing satisfaz (4).
Resultados Num ericos
Foram feitas simulac oes em que realizava-se 30 repetic oes de cada algo-
ritmo e contava-se o n umero de sucessos (encontrar o ponto de otimo ao se
parar a execuc ao do algoritmo) obtidos nestas 30 repetic oes. Os algoritmo
foram parados ao nal de 10000 iterac oes e o sucesso, no caso do AG, e o
ponto pertencer a populac ao e no caso do SA e o algoritmo estar no ponto
de otimo. Utilizamos 3 func oes, a saber:
A func ao 1 e dada por f : [2, 4][2, 4] IR, e denida por f(x, y) =

1
0.3+x
2
+y
2

.
A func ao 2 e dada por f : [2, 5] [2, 5] IR, e denida por f(x, y) =
6 + x
2
3 cos(2x) + y
2
3cos(2y).
A func ao 3 e dada por f : [2, 4] [2, 4] IR, e denida por f(x, y) =
3(1 x)
2
e
x
2
(y+1)
2
+

10(
x
5
x
3
y
5
)e
x
2
y
2
+
1
3
e
(x1)
2
y
2

.
Nas simulac oes do SA utilizamos 3 formas de agendamento de resfria-
mento diferentes e nas do AG utilizamos populac oes de tamanhos 2, 3, 5,
10, 15 e 20 elementos.
Conclus oes
Os exemplos acima ilustramque o SAleva vantagemsobre o AGcan onico
nas simulac oes executadas. Entretanto, devemos levar em considerac ao
que estamos trabalhando com a vers ao mais simples do AG. Foi falado na
introduc ao que existem muitas variac oes do AG, inclusive a com elitismo,
que j a supera essa vers ao do AG.
Refer encias
[1] Cerf, R. (1996) A new genetic algorithm, Ann. Appl. Probab., Volume 6, Number 3, 778-817.
[2] Cerf, R. (1998) Asymptotic Convergence of Genetic Algorithms, Adv. Appl. Prob., 30, 521 550.
[3] Campos, V.E.M., Pereira, A.G.C. and Rojas Cruz, J.A. (a aparecer) - Modeling the Genetic Algorithmby a Non-Homogeneous
Markov Chain: Weak and Strong Ergodicity, Theory of Probability and its Applications.
[4]Campos, V. S. M. ; Pereira, A. G. C. ; Carlos, L. A. ; de Assis, I. A. S. (a aparecer) . Algoritmo Gen etico por Cadeia
de Markov Homog enea Versus N ao-homog enea: Um Estudo Comparativo. Revista del Instituto Chileno de Investigaci on
Operativa.
[5]Dorea, C. C. Y. Guerra Jr., J.A.,Morgado, R. , Pereira, A.G.C. (2010), Multistage Markov Chain Modeling of the Genetic
Algorithm and Convergence Results,Numerical Functional Analysis and Optimization, 31(2):1-8.
[6] Holland, J.H. (1975) - Adaptation in natural and articial systems, Ann Arbor: The University of Michigan Press.
[7] Rojas Cruz, J.A. e Pereira, A.G.C., (submetido) The Elitist Non-homogeneous Genetic Algorithm: Almost sure convergence,
Statistics and Probability Letters.
[8] Rudolph, G. (1994) - Convergence Analysis of Canonical Genetic Algorithms, IEEE Transactions on Neural Networks, 5,
pp. 96 101.
[9]Kirkpatrick, S. Gelatt, C.D. and Vecchi, M.P.JR.(1983) Optimization by Simulated Annealing. Science, 220:671-680.
[10] Metropolis, N., Rosenbluth, A,W.,Rosenbluth,M.N., Teller A.H e Teller, E.(1953),Equations of state calculations by fast
computing machines. J. Chem.Phys. 21 1087-1091.
[11] Neto, J.C.R.(2010) Modelagemdos Algoritmos Gen etico Simples e Simulated Annealing por Cadeias de Markov, Dissertac ao
de Mestrado, Natal: Universidade do Rio Grande do Norte.
[12] Nix, A.E. and Vose, M.D. () - Modeling Genetic Algorithms with Markov Chains.
[13] Tierney, L.(1994) Markov Chains for exploring posterior distributions. The annals of Statistics, 22 No. 4, 1701-1762.
Introduc ao
O AG introduzido por Holland (1975), e uma heurstica baseada no pro-
cesso de selec ao natural de uma populac ao. Neste processo a populac ao passa
por tr es fases: selec ao, cruzamento e mutac ao. Ap os isso acontecer teremos
uma nova populac ao que tamb em passar a por estas tr es etapas at e que uma
condic ao de parada seja atingida.
Em Rudolph(1994) ele fala que o AG can onico n ao converge quase cer-
tamente para uma populac ao que tenha o ponto de otimo como um de seus
pontos. Entretanto, considerando uma modicac ao neste algoritmo, a saber:
o melhor ponto da populac ao inicial e guardado em uma nova posic ao, e este
ponto n ao participa nas etapas de selec ao, cruzamento e mutac ao. Al em disso
esse ponto e substitudo apenas se um ponto melhor que ele e encontrado nas
pr oximas populac oes. O AG com essas modicac oes e chamado AG com
elitismo. Neste mesmo artigo ele mostra que o AG com elitismo converge
quase certamente para uma populac ao que possui um ponto de otimo dentro
da populac ao.
Existem muitos artigos que tratam do AG, cada um deles modicando a
forma de gerar a pr oxima populac ao, quer alterando o crit erio de selec ao, quer
excluindo uma das etapas, quer restringindo a forma que a mutac ao acontece
(via denic ao de vizinhancas que se baseam na quantidade de bits que s ao
permitidos mudar como em Dorea et. al.(2010)). Outras modicac oes e via
se usa elitismo ou n ao, como em Rudolph(1994). Pode tamb em optar por
modelar por cadeias de Markov de uma forma bem complicada, onde dene-
se operac oes com objetivo de estudar a converg encia da cadeia, como em Nix
and Vose (1992), Cerf(1996) e Cerf(1998), ou utilizando modelagem simples
e intuitiva como em Rudolph(1994) e Dorea et. al.(2010) . Num estudo mais
recente, Campos et al., introduziram em (2012,1,2) e Rojas Cruz et al.(2012)
os algoritmos gen eticos n ao-homog eneos e responderam algumas perguntas
quanto ` a converg encia destes algoritmos.
O algoritmo Simulated Annealing (SA) e uma t ecnica de busca baseada no
fen omeno fsico proposta originalmente por Kirkpatrick (1983), o qual con-
siste em resfriar lentamente um metal, originalmente em alta temperatura e
em estado lquido. O resfriamento terminar a quando o metal tenha atingido
seu ponto de solidicac ao. O ideal e que estando no estado s olido o metal
tenha atingido o estado mnimo de energia. Se o resfriamento ocorrer de
maneira muito r apida, o estado s olido ser a atingido sem que o estado mnimo
de energia seja tamb em atingido, o que implicar a num metal com pontos
de energia acumulada (imperfeic oes). Estes pontos apresentar ao menor re-
sist encia, comprometendo o metal como um todo.
O algoritmo Simulated Annealing, tenta emular o procedimento descrito
acima para encontrar o ponto de mnimo de uma dada func ao. Para isso a
func ao objetivo representa a energia do metal e o algoritmo simula um res-
friamento tal maneira que, ` a medida em que a temperatura diminui o algo-
ritmo encontra novos pontos, o que se espera e que convirja para a soluc ao
otima. O algoritmo SA, segundo Tierney(1994), tem como base o algo-
ritmo de Metropolis apresentado no seu famoso artigo Metropolis(1953) o
qual serve de refer encia para o desenvolvimento de v arios outros algoritmos.
Em Kirkpatrick(1983) ele explica que em Metropolis (1953) eles introduzi-
ram um algoritmo simples que pode ser usado para fornecer uma simulac ao
eciente de uma colec ao de atomos em equilbrio em uma dada temperatura.
Os Algoritmos
O Algoritmo Gen etico Can onico
Consideremos f : IR uma func ao objetivo a qual queremos mini-
mizar (ou maximizar), e consideremos um subconjunto limitado de IR
n
da
seguinte forma: [a
1
, b
1
] [a
2
, b
2
] ... [an, bn]. Dada a precis ao desejada, os
intervalos [a
i
, b
i
], i = 1, 2, ..., n s ao particionados em 2
l
partes iguais. Com
isso temos que uma malha de 2
nl
pontos e gerada.
Cada cromossomo (indivduo) ser a formado por vetores nl dimensionais,
cada entrada desses vetores e 0 ou 1, ou seja, um vetor de representac ao
bin aria,
S = {(x
1
, x
2
, ..., x
nl
); x
i
{0, 1}}
Apopulac ao inicial bemcomo todas as outras s ao compostas por k indivduos.
O espaco de estados da cadeia de Markov e denido como,
S
1
= {(y
1
, y
2
, ...y
k
); y
i
S, i = 1, ..., k}. (1)
Depois de discretizado o domnio da func ao objetivo e escolhido o tamanho
da populac ao (que tamb em e um par ametro do algoritmo) , a din amica do
algoritmo e relativamente simples:
Gera-se aleatoriamente a populacao inicial
Repete{
Aplique o operador selecao na populacao
Aplique o operador cruzamento na populacao
Aplique o operador mutacao na populacao
}
Ate que algum criterio de parada seja atingido
Os Operadores
1. Operac ao de Selec ao
Existemv arios crit erios de selec ao dos indivduos para compor a nova populac ao.
Dentre eles um dos mais usados e o da roleta, o qual os indivduos tem uma
probabilidade de ser selecionado proporcional ao valor de sua imagem pela
f, ou seja, o valor da func ao no ponto sobre o somat orio do valor da func ao
em todos os outros pontos da populac ao f(C
i
)/

5
i=1
f(C
i
).
Resumo. Neste trabalho, apresentaremos a modelagem matem atica de dois algoritmos evolutivos, a saber: O algoritmo gen etico can onico e o Simulated Annealing. Mostraremos que estes algoritmo
convergem e nalizaremos fazendo um estudo comparativo via simulac oes, onde desejamos encontrar o ponto de otimo de algumas func oes teste.
Andr e G. C. Pereira, UFRN,andre@ccet.ufrn.br
Jos e C.R. Neto, Uniasselvi e Unime, zcecilio@hotmail.com
Modelagem Matem atica de Algortmos Evolutivo
Algoritmo Gen etico versus Simulated Annealing

Você também pode gostar