Sie sind auf Seite 1von 163

Computao Evolutiva

Osvaldo R. Saavedra
Grupo de Sistemas de Potncia
DEE - UFMA
So Lus- MA
www.dee.ufma.br
Metforas utilizadas em IA
Crebro e sistema nervoso
conexionismo
Linguagem + processos cognitivos
IA simblica
Teoria da evoluo
computao evolutiva
Introduo
Herana Gentica --> Sobrevivncia
do mais apto

1859: Seleo natural

princpio evolucionrio
fundamental formulado por
Charles Darwin antes da
descoberta dos mecanismos
genticos.
Sobre Darwin

Charles Darwin era, antes da viagem do Beagle,


um ardoroso criacionista e membro da igreja
ortodoxa anglicana.
Aparentemente continuou criacionista at pouco
aps o retorno Inglaterra, quando as primeiras
idias "transformistas" lhe vieram em 1837
discutindo sobre diferentes espcies de pssaros de
galpagos com um ornitologista.
Sobre Darwin

A seleo natural emergiu em 1838 lendo


Malthus sobre o Princpio das populaes.
Em 1844 escreveu um ensaio sobre seleo
natural mas no chegou a apresent-lo
comunidade cientfica com medo de
represlias.
Sobre Darwin
Em 1856 comeou a escrever sua grande
obra que se chamava "Natural Selection" a
qual no terminou porque recebera de
Alfred Russel Wallace, em 1858, a carta
com a descrio do manuscrito "Sobre a
tendncia de variedades de se afastarem
indefinidamente a partir do ponto
original".
Seleo natural
As espcies evoluem pelo
principio da seleo natural e
sobrevivncia do mais apto.
Hiptese da mistura das
heranas: qualidades dos pais
fluem, misturadas, no
organismo do descendente.

A polmica sobre a origem do


homem....
Pesadelo de Jenkins (1867)

a Hiptese de Darwin objetada:

As distines entre indivduos rapidamente


desaparecem, no havendo seleo num
populao homognea.
Leis de Mendel (1865)
Gregor Medel:
Princpios bsico de
transferncia de fatores
genticos pais-filhos
Natureza discreta

Experimentos do cruzamento
gentico de ervilhas
Leis de Mendel
A herana dos caracteres era particulada, cada
parental (pai) contribua uma parte para a prole. Esta
parte (partcula, fator) agora chamada de gene que
codifica o que chamamos de fentipos (caracteres).

Um gene pode existir em vrias formas diferentes, e


cada uma destas formas chamada de alelo.

Em alguns casos, pode existir dominncia de um alelo


(dominante) sobre o outro (recessivo).
Leis de Mendel
Cada planta carregava duas cpias do mesmo
gene, portanto foram chamadas diplides, e de
acordo com este conceito deduziu que os
homozigotos possuam cpias idnticas do mesmo
alelo, enquanto que heterozigotos possuam cpias
de alelos diferentes.
Posteriormente, Mendel tambm deduziu que as
clulas sexuais deveriam ser haplides pois
conteriam apenas uma das cpias.
Leis de Mendel
As Leis de Mendel foram redescobertas
independentemente (1900) por Hugo de
Vries, K. Correns e K. Tschermark:
S a seleo natural no responsvel
pela produo de novas espcies:
Tem que existir mecanismo de mudana
gentica.
Teoria da Mutao
Leis de Mendel

Morgan e equipe: provam experimentalmente


que cromossomos so o principal meio de
transferncia da herana e genes
representam os fatores hereditrios.
Leis de Mendel

Durante muitos anos as Leis de Mendel e a


Teoria da Seleo Natural de Darwin ficaram
independentes e opostas entre elas.

Dcada dos 20: Cetverikov mostra que


ambas teorias no so conflitantes.
Sobre este feliz casamento descansa a
teoria evolucionria moderna.
O Paradigma Neo-Darwiniano

O paradigma neo-Darwiniano estabelece


que a histria da vida envolve apenas uns
poucos processos estatsticos que agem
nas -e entre- as populaes e espcies.
Estes processos so : reproduo, mutao
competio e seleo.
Computao Evolutiva
A Evoluo Simulada - ou Computao
Evolutiva - baseada em processos de
aprendizagem coletiva dentro de uma
populao de indivduos, onde cada um
representa um ponto de busca no espao de
possveis solues para um determinado
problema.
Correntes Algortmicas

Algoritmos Evolutivos

Algoritmos Genticos Estratgias Evolutivas

Programao Evolucionria Programao Gentica

Simulated Annealing Colnias de Formigas

... ...
Computao Evolutiva
A maioria das implementaes atuais de
algoritmos Evolutivos derivam-se de trs
grandes correntes independentes, ainda
que fortemente relacionadas, que so:
Algoritmos Genticos;
Estratgias Evolutivas;
Programao Evolutiva.
Computao Evolutiva
Em cada um destes mtodos, uma
populao de indivduos inicializada e
evolui para sucessivas regies melhores no
espao de busca, atravs de um processo
estocstico de seleo, mutao e, se
apropriado, recombinao (cruzamento).
Computao Evolutiva
Em que diferem estes Mtodos ?
Os mtodos diferem com relao :
representao especfica;
operaes de mutao e
processo de seleo
Breve Histrico
Os Algoritmos Genticos (AGs) foram
introduzidos por J. Holland na dcada dos
60, tendo posteriormente a ateno de
vrios autores, entre eles De Jong,
Goldberg, Davis e Koza, entre outros.
AGs
Enfatizam os operadores cromossmicos,
sendo estes baseados na observao dos
mecanismos genticos, isto , cruzamento e
mutao.
Os AGs cannicos utilizam representao
binria
Estratgias Evolutivas (EEs)
Foram inicialmente desenvolvidas na
Alemanha, por Schewefel e Rechenberg,
tambm na dcada de 1960, e posterior-
mente estendidas por Herdy, Rudolph e
Schwefel, entre outros.

Esta tcnica foi inicialmente orientada para a


resoluo de problemas complexos de
otimizao de parmetros.
Programao Evolutiva (PE)
Foi introduzida por L. Fogel em 1962 e
estendida por Burgin, Atmar e D. Fogel
recentemente, entre outros.
A meta original da Programao Evolutiva
foi criar inteligncia artificial, atravs do
desenvolvimento de mquinas de estado
finito para predizer eventos a partir de
observaes prvias.
EEs e PE
O Paradigmas Estratgias Evolutivas e
Programao Evolutiva so muito similares.
Ambos mtodos operam com uma
populao de solues, sujeitando essas
solues a alteraes atravs de mutaes
aleatrias e competio entre solues
existentes com base em uma funo
objetivo externa
Por que Computao Evolutiva ?
Muitos problemas encontrados na
engenharia envolver otimizar um ou
vrios critrios.
Por que Computao Evolutiva ?
Em termos gerais, um problema de
otimizao consiste em encontrar um vetor x
M, onde M define a regio de solues
viveis, tal que um certo critrio de qualidade
f maximizado (ou minimizado):

Maximizar f(x)
Por que Computao Evolutiva ?
A funo objetivo pode ser para sistemas
reais de complexidade arbitrria.
A soluo para a otimizao global para este
problema, denominada x*, caracterizada
como:

x* / x M, f(x) < f(x*)


Complexidade de f - Dificuldades
Multimodalidade;
Dimensionalidade;
Fortes no-linearidades;
No-diferenciabilidades;
rudos;
Funes objetivos variantes no tempo;
etc.
Mtodos de busca: otimizao
Tipo gradiente: hill-climbing
problema: mnimos locais

Enumerativos -> cada ponto avaliado


Problema: custa caro
Mtodos de busca: otimizao
Heursticos: Resfriamento simulado (simulated
annealing)

Heursticos : computao evolutiva


indivduo = soluo Processo adaptativo e paralelo
Complexidade de f : Dificuldades
Essas dificultades levam a problemas de
otimizao de difcil soluo, ou s vezes,
insolveis.

Neste ltimo caso, a obteno de solues


prximas - e no apenas uma indicao de
divergncia - so de grande ajuda em
problemas prticos.
Modelos aproximados
Com o excesso de simplificaes, as
solues obtidas no resolvem o problema
original.
Tais problemas, como no caso de modelos
para simulaes, so na maioria das vezes
considerados sem soluo.
Tcnicas Evolutivas

A maioria dos autores destaca trs


aspectos chave, que so:
O grau de adaptabilidade e flexibilidade;

Robustez;

Busca global.
Tcnicas Evolutivas
No h restrio quanto complexidade dos
problemas:
Podem ser tanto discretos como contnuos;
As funes objetivos e restries podem ser:
lineares,
no lineares,
contnuas ou discretas.
Tcnicas Evolutivas
A diferena fundamental da Computao
Evolutiva est em adaptar os mtodos aos
problemas a serem tratados.

Os Algoritmos Evolutivos no devem ser


considerados como um conjunto de algoritmos
prontos para serem utilizados.....
Tcnicas Evolutivas

um conceito geral que pode ser adaptado


para as aplicaes do mundo real, geralmente
encontrando melhores solues quando
comparados aos resultados obtidos
utilizando mtodos tradicionais.
Conceitos biolgicos
- Genes: blocos funcionais responsveis de
determinar as caractersticas de un indivduo
Codifica um simples parmetro do problema

Cromosomos: anteprojeto do indivduo(cadeia


de ADN); Esto compostos de Genes

As possibilidades de escolher uma caracteristica


so os Alelos
Ex.: Um gene representando a cor de um objeto
pode ter alelos como azul, preto, verde etc...
Conceptos biolgicos
Cada gene tem uma posio no
cromossomo ou Locus

Genoma O conjunto do material gentico

Gentipo O conjunto de genes;


Na biologia, representa a composio
gentica contida no Genoma. Nos AGs,
representa a informao contida no
cromossomo ou genoma.
Conceptos biolgicos

Fentipo: o conjunto de caractersticas


finais fsicas e mentais do indivduo

o cromossomo decodificado.
Exemplo: Se o cromossomo codifica as
dimenses de um edifcio, ento o fentipo o
edifcio construdo.
Conceitos (II)
Natureza Algoritmos Genticos
Cromosomo (Indivduo) Palavra binria, vector,...
(Soluo)
Gene Caracterstica do problema
(parmetro)
Alelo Alfabeto de representao
Locus Posio dos bits no cromosomo
Gentipo Configurao concreta de bits
Gerao Ciclo
Estratgias Evolutivas
(EEs)
Estratgias Evolutivas (EEs)
Desenvolvidas inicialmente na Alemanha, na
dcada dos 60, focalizando a resoluo de
problemas contnuos de otimizao paramtrica;

Estendidas recentemente para tratamento de


problemas discretos;
Exemplo de Motivao
Consideremos apenas a gerao de um
novo indivduo atravs da regra:

x i+1 = xi + N(0, 1)
Com estes elementos ser possvel criar
um procedimento de otimizao ????
Estratgias Evolutivas (EEs)
Representao:
Par de vetores reais :

v = (x, )

x representa o ponto de busca no espao;


o vetor de desvio padro associado.
EEs Atuais
Utilizam dois operadores: cruzamento e
mutao.

Seleo Determinstica.

O parmetro :
determina a mutao de x;
tambm est sujeito ao processo de evoluo.
EEs Atuais

Assumindo algumas hipteses, possvel


provar que as EEs convergem ao timo
global com probabilidade 1, considerando
um tempo de busca suficientemente longo
EEs - Populao Unitria
Denominada (1+1)-ES:
Um nico descendente criado a partir de um
nico genitor e ambos so confrontados numa
competio por sobrevivncia, onde a seleo
elimina a soluo mais pobre.

Elas processam apenas um indivduo;

nico operador gentico: mutao.


EEs - Populao Unitria
Gerao de um novo indivduo:
realizada pela mutao de x, seguindo a
seguinte regra:

x i+1 = xi + N(0, 2)
Onde N(0,2) um vetor de nmeros
Gaussianos independentes com mdia zero e
desvio padro .
EEs - Populao Unitria
Competio:
O indivduo x i+1 e seu genitor xi competem
para ganhar a vaga na populao;
Neste estgio tem-se temporariamente a
populao dobrada.
Ganha quem tem fitness melhor e satisfaz as
restries do problema.
EEs - Populao Unitria
Competio:
No caso de maximizao:

Se f(xi+1) > f (xi) ento (xi+1, ) substitui (xi, );

caso contrrio, permanece o indivduo original.


EEs - Populao Unitria
Exemplo:
Maximizar x2
sujeito a 0<x<100

1.- Populao Inicial:


Unitria;
Aleatria entre 0-100
EEs - Exemplo

1.- Populao Inicial: {11} , = 1, Nger = 0


2.- Mutao:

x i+1 = xi + N(0, 1)
assumindo N(0, 1)= -0.5
x i+1 = 11 - 0.5 = 10.5
EEs - Exemplo
3.- Competio
Populao intermediria: {11, 10.5}
Fitness: f(11)= 121 f(10.5)= 110.25
Melhor fitness = 121
==> Permanece o genitor

Nova populao: {11}


Nger = Nger +1
EEs - Exemplo
4.- Segunda gerao: {11}
Mutao:

x i+1 = xi + N(0, 1)
assumindo N(0, 1)= +0.8
x i+1 = 11 + 0.8 = 11.8
EEs - Exemplo
5.- Competio
Populao intermediria: {11, 11.8}
Fitness: f(11)= 121 f(10.5)= 139.24
Melhor fitness = 139.24
==> Vence o descendente

Nova populao: {11.8}


Nger = Nger +1
EEs - Evoluo

Fitness

Nger
EEs - Comentrios
- As EEs so robustas;

- (1+1)-EE uma estratgia lenta (pouco prtica)

Soluo: estratgias multi-indivduos


Estratgias Evolutivas
Multi-indivduos
Estratgias Evolutivas Multi-indivduos

Existem dois tipos:


Estratgias ( +)-EE
Estratgias ( , )-EE
Estratgias ( +)-EE
indivduos produzem descendentes,
gerando-se uma populao temporria de +
indivduos;
So escolhidos indivduos para a prxima
gerao.
Estratgias ( , ) - EE
indivduos produzem descendentes, com
> ;
A nova populao de indivduos formada
por indivduos selecionados do conjunto de
descendentes.
Assim, o perodo de vida de cada indivduo
limitado apenas a uma gerao.
EEs: algoritmo geral
begin
t0
initializar P(t)
avaliar P(t)
while( critrio de Parada no Satisfeito) do
begin
P(t):= recombinar e mutar [P(t)]
avaliar [P(t)]
P(t+1):=selecionar [P(t) Q]
t t+1
end
end

Onde Q = P(t) ou Q=; vi = (x, ) , i=1, ....,


EEs: algoritmo geral
Populao Inicial:

Aleatria, tanto para x, como para ;

x deve respeitar as restries do problema;

Tamanho tpico da populao:


=10 ... 100
Nmero de descendentes tpico:
= 1...4 vezes o valor de
EEs: algoritmo geral
Recombinao

i) Selecionar dois (ou mais) indivduos:


v1 = (x1, 1) = ((x11,...., xj1 ..., xn1 ), ( i1, ..., j1 .... ,n1))

v2 = (x2, 2) = ((x12,...., xj2 ..., xn2 ), ( i2, ..., j2 .... ,n2))

Duas formas de recombinar (h vrias):


Discreto
Intermedirio
Recombinao Discreta
v1 = (x1, 1) = ((x11,...., xj1 ..., xn1 ), ( i1, ..., j1 .... ,n1))

v2 = (x2, 2) = ((x12,...., xj2 ..., xn2 ), ( i2, ..., j2 .... ,n2))

O novo descendente dado por:


v = ((x1q1,....., xjqj ...., xnqn ), ( iq1, ...., jqj ..... ,nqn))

Onde qi ={ 1 ou 2}, i = 1, ....n; cada componente


provm do primeiro ou segundo genitor
selecionado.
Recombinao Intermediria
v1 = (x1, 1) = ((x11,...., xj1 ..., xn1 ), ( i1, ..., j1 .... ,n1))

v2 = (x2, 2) = ((x12,...., xj2 ..., xn2 ), ( i2, ..., j2 .... ,n2))

Cada descendente dado por:


v = (((x11+ x12)/2, ..., (xn1+ xn2)/2), ( (11+ 12)/2, ...,
(n1+ n2)/2))

Cada componente dado pela mdia dos


componentes dos genitores selecionados.
Mutao
Aplicar mutao ao descendente v obtido dos
passos anteriores.
O novo descendente v = (x, )
onde:

x'i = xi + i N (0,1)
j j j

j j j
' i = i exp( ' N ( 0,1) + N ( 0,1))
Mutao
Os fatores e ' so normalmente definidos por:

( )
1
1
2 n e 2 n

respectivamente.

O parmetro n representa a dimenso dos


vetores do problema.
Recapitulando ....
Populao inicial

Parar?

Fim Nova Populao


Cruzamento

Mutao

Seleo
Aplicaes
Aplicaes a Sistemas de Potncia

Aplicao em Otimizao de reativos;


Planejamento de sistemas de distribuio,
Reconfigurao de sistemas de distribuio;

Unit Commitment;
Fluxo de Potncia timo;
Expanso de sistemas de transmisso, etc.
Dificuldades:

Caracterstica multimodal;
No convexidade;
A maioria das tcnicas convergem a uma
soluo local;
Vrios tipos de variveis de controle
(posies de taps, bancos de capacitores,
etc.): inteiras, discretas, contnuas.
Dificuldades - Exemplos

Planejamento da expanso de sistemas de


transmisso
Problema de otimizao combinatorial de
grande porte, de difcil soluo;
O nmero de opes cresce exponen-
cialmente com o tamanho da rede;
Elevado nmero de solues locais.
Dificuldades - Exemplos

Reconfigurao de redes de distribuio:


Problema de otimizao combinatorial;
Os resultados tpicos reportados:
mnimos locais ;

A manipulao das variveis inteiras


envolvidas se torna simples quando
utilizado AG.
Otimizao de Potncia Reativa em
Sistemas de Energia Eltrica

Grande desafio em controle e planejamento


de sistemas de potncia;

As caratersticas no convexas restringem


utilizao de mtodos de otimizao clssica.
Operao econmica de um
sistema de energia eltrica
A operao econmica de um sistema de
energia eltrica consiste basicamente em
dois aspectos:
a regulao de potncia ativa e
despacho de potncia reativa.

Isto leva a um problema de otimizao


global multiobjetivo de grande porte.
Operao econmica de um
sistema de energia eltrica
Tipicamente envolve:
Determinar os nveis de gerao visando
minimizar custo de combustveis nas
usinas;

Minimizao de perdas no sistema


atravs do controle de tenso em barras
PV e de taps de transformadores

Restries operacionais e de segurana.


Despacho de potncia reativa
Pode ser definido como um problema de
otimizao global de uma funo no linear
descontnua, com um grande conjunto de
restries lineares e no lineares, atingido
dimenses elevadas para sistemas de
energia eltrica de grande porte
Formulao do Problema
Despacho timo de potncia reativa

Minimizar as perdas reais de potncia


na rede e melhorar o perfil de tenso,
utilizando como controles as tenses
das barras geradoras, compensadores
estticos e taps de transformadores.
Formulao do Problema
Min f = (k,m) NL Prdkm (1)
s. a.:
Pdi - Pi (V, ) =0, i NB-1 (2)
Qdi - Qi (V, ) =0, i NPQ (3)

Qmingi Qgi Qmaxgi , i NPV (4)


amini ai amaxi i NTAP (5)
Vmini Vi Vmaxi i NB (6)

onde:
Prdkm = gkm(V2k + Vm2 - Vk Vm coskm ) : perdas no
ramo k-m;
Formulao para Resoluo Utilizando
Estratgias Evolutivas

Variveis de controle:

tenses nos geradores;

posio de tap em transformadores


controlveis.
Formulao para Resoluo Utilizando
Estratgias Evolutivas
Forma penalizada:

Min f = (k,m) NL Prdkm + i NPV qi(Qgi - Qlgi)2 + i NB vi(Vi - Vli)2

s. a.:
Pdi - Pi(V, ) = 0 , i NB-1
Qdi - Qi(V, ) = 0 , i NPQ

qi vi: fatores de penalidade para as violaes de potncia reativa


e de tenses, respectivamente;

Qlgi e Vli so os limites violados correspondentes.


Modificaes Incluidas

1.- Populao inicial:


Os candidatos devem satisfazem as
equaes de fluxo-de-carga

As restries de igualdade sempre so


respeitadas
Modificaes Includas

2.- Mutao:
O intervalo das variveis de controle
includo como ganho na mutao:

x i+1 = xi + i (ximax - ximin )N(0, 1)

Tambm possivel utilizar mutaes com


distribuio de Cauchy.
Distribuies de Gauss e Cauchy
Modificaes Includas

2.- Controle da Mutao ( ):


Para obter mais eficincia no algoritmo,
a mutao nos controlada:
Limites Dinmicos
Limites para os desvios padro
Variantes Implementadas

Variantes Nome Mutao Seleo Recombinao


Principal
MPEE1 Meta-PE Gaussiana Torneio -
Extendida 1
MPEE2 Meta-PE Gaussiana Determinstica -
Extendida 2
EEE0 EE Extendida 0 Gaussiana Determinstica Seleo
(+) Aleatria
EEE1 EE Extendida 1 Gaussiana Determinstica IG-II R1
(+)
EEE2 EE Extendida 2 Gaussiana Determinstica IG-II R2
(+)
EEE3 EE Extendida 3 Gaussiana Determinstica IG-II R2
(,)
EEE4 EE Extendida 4 Cauchy Determinstica IG-II R2
(+)
Sistemas Testados
Sistema Geradores Barras PQs Ramos Trafos com tapes
variveis
IEEE57 7 50 80 17
IEEE118 54 64 179 9

Limites dos tapes e das tenses de barra


Barras PVs Barras PQs Tapes
m in max m in ma x m in
Vg Vg V V a a max
0.90 1.10 0.95 1.05 0.90 1.10

Sistema Qi Vi Perdas ativas (PU)


4 5
IEEE57 10 10 0.2793
IEEE118 10 6 10 8 1.5237
Parmetros

Parmetros LM MPEE1 MPEE2 EEE0100 EEE0200


60 60 60 30 30
60 60 60 60 60
TMAX 200 200 200 100 200
O 0.10 - - - -
f 5.10
-4
- - - -
PASSO 0.10 - - - -
T 1 - - - -
Seleo Sq Sq Sd Sd Sd
q 60 60 - - -

omax omin fmax fmin


-2 -2 -4
1 1.10 1.10 1.10
Desempenho

Performance geral
Mtodo f l
min
f l
max
fl l% f lr % CPU
(min)
LM 0.2484 0.2922 0.2641 4.89 94.56 1.56
MPEE1 0.2474 0.2848 0.2643 3.68 94.62 1.55
MPEE2 0.2482 0.2830 0.2592 3.38 92.79 1.36
EEE0100 0.2438 0.2630 0.2541 2.30 90.99 0.69
EEE0200 0.2417 0.2486 0.2443 0.82 87.47 1.34
Evoluo do melhor indivduo
Computao Evolutiva
Programao Evolutiva ( PE)
A Programao Evolutiva original foi
similar s EEs desenvolvidas por Schwefel
e Rechenberg, porm envolvendo um
problema mais complexo, que era criar
inteligncia artificial.
Posteriormente David Fogel estendeu
este procedimento para problemas de
otimizao numrica.
Neste modelo, cada componente de uma
soluo candidata visto como um rasgo
comportamental e no como um gene.

pressuposta a existncia de uma fonte


gentica para esses rasgos fenotpicos,
porm a natureza do elo no detalhada.
assumido que qualquer que seja a
transformao gentica que acontea, a
alterao resultante em cada trao
comportamental seguir de uma
distribuio Gaussiana de mdia nula e
algum desvio padro.
Em razo que algumas alteraes genticas
podem afetar as caractersticas do fentipo
por pleitropia e poligenia, apropriado que
todos os componentes de um genitor sejam
perturbados na criao de um descendente
O que so esses conceitos?
Pleitropia: Capacidade de um nico gene
ser o responsvel, no fentipo do
organismo, por mltiplos efeitos que
aparentemente no se relacionam.

Poligenia: Condio do carter


determinada por vrios genes.
Algoritmo Cannico
O algoritmo padro ou cannico
proposto por Fogel dado a seguir,
sendo que vrias modificaes tm
sido propostas por outros autores.
i) A populao inicial S, de dimenso m,
determinada aleatoriamente, a partir de
um conjunto uniformemente distribudo
num intervalo [a, b].
ii) Avaliao: Para cada si S associada
uma fitness individual definida em geral
como:

(si) = G( F(si) , vi )
(si) = G( F(si) , vi )
Onde:
F(si) denota a fitness verdadeira de si

vi representa uma alterao aleatria em


si , uma variao aleatria na avaliao de
F(si) ou outra relao com si .
iii) Mutao: Cada indivduo si S , i=1, ...., m,
alterado e associado a si+m tal que:

si+m, j = si, j + N(0, j(si) + zj), j =1, ....., k


onde:
si, j : elemento j do indivduo i;
N(, 2) representa uma varivel aleatria
com mdia e varincia 2;
j uma constante de escala de (si)
zj representa um valor de ajuste de offset; k
a dimenso de si.
iv) A cada indivduo si+m, j, i=1, ..., m,
associado um valor de fitness dado por:

(si+m) = G( F(si+m) , vi+m )


Competio : torneio
v) Para cada si , i=1, ...,2m, associado um valor wi de
acordo com:

wi = t=1 w t ;
c *

ondee:

w t = 1, se (si) (sr);
*

= 0, caso contrrio.
Com:

r = [2mu1 + 1] , r i
que representa o maior inteiro menor ou igual
a 2mu1 + 1

c : nmero de competies

u1 um nmero aleatrio de distribuio


uniforme no intervalo [0,1].
vi) Os indivduos si, i=1, .....2m so classificados
em ordem decrescente de seus valores wi.

Os m primeiros indivduos so selecionados


para formar a prxima gerao.

vii) Se o critrio de parada satisfeito, parar;


caso contrrio voltar para iii).
Resumindo....
Algoritmo de CE:

Soluo inicial aleatria de m indivduos


Aplicar mutao para gerar m descendentes
Aplicar torneio e selecionar o m melhores
Testar critrio de parada
Discusso
Diferenas entre Programao Evolutiva e
Estratgias Evolutivas.
Como foi dito anteriormente, h poucos anos as
tcnicas de PE foram generalizadas para
manipular problemas de otimizao numrica.

Elas so muito similares com relao s EEs.

Elas usam representao de ponto flutuante e o


operador chave a mutao.
Diferenas entre PE e EEs
As diferenas bsicas entre elas so:
Em PE no so utilizados operadores de
recombinao;

Em PE utilizada uma seleo


probabilstica (torneio), ao passo que EEs
selecionam os melhores indivduos para
a prxima gerao;
Diferenas entre PE e EEs
Em PE os valores de fitness so obtidos a
partir dos valores da funo objetivo
escalados e eventualmente impondo algum
componente aleatrio.
O desvio padro para cada mutao de
indivduo calculado como a raiz quadrada
de uma transformao linear de seus
valores de fitness.
Diferenas entre PE e EEs
EEs:
Mutao dos desvios baseado em distribuio
exponencial
Garante positividade dos desvios
CE:
necessrio um off-set para evitar negatividade
Algoritmos Genticos
Fundamentos dos Algoritmos
Genticos

Quanto melhor um indivduo se adaptar ao


seu meio ambiente, maior ser sua chance
de sobreviver e gerar descendentes.

(DARWIN, 1859)
O que so?
Os Algoritmos Genticos so uma
classe de procedimentos, com passos
distintos bem definidos.
Essa classe se fundamenta em
analogias a conceitos biolgicos j
testadas exausto.
Cada passo distinto pode ter diversas
verses diferentes.
Para que servem?
Busca e Otimizao
Amplamente utilizados, com sucesso, em
problemas de difcil manipulao pelas
tcnicas tradicionais
So considerados como metodologia de
propsito geral
Caractersticas Gerais
Utilizam uma codificao do conjunto de
parmetros (indivduos) e no com os prprios
parmetros (estados);
Varrem vrias regies do espao de busca de
cada vez;
Utilizam como direo de busca a qualidade, em
contraste com as derivadas utilizadas nos
mtodos tradicionais de otimizao;
Utilizam regras de transio probabilsticas e
no regras determinsticas.
Caractersticas Gerais

Algoritmos Genticos podem ser


considerados como mtodos que trabalham
com
Buscas Paralelas Randmicas Direcionadas
Forma cannica
1. Gerar Populao Inicial
2. Seleo: Descartar uma parte dos
Indivduos menos aptos
3. Reproduo
4. Mutao
5. Se o critrio de parada foi satisfeito,
encerrar. Seno, voltar ao passo 2.
Modelagem
Indivduos
Cada indivduo possui um cdigo gentico
Esse cdigo chamado cromossomo
Tradicionalmente, um cromossomo um
vetor de bits
Representao binria: nem sempre o
ideal
Operadores Fundamentais
Seleo Natural: escolha dois mais aptos

Criao de novas estruturas:


Operador Reproduo
Operador Mutao
Cromossomo
Estrutura de dados que representa uma
possvel soluo para o problema.
Os parmetros do problema de otimizao
so representados por cadeias de valores.
Exemplos:
Vetores de reais, (2.345, 4.3454, 5.1, 3.4)
Cadeias de bits, (111011011)
Vetores de inteiros, (1,4,2,5,2,8)
ou outra estrutura de dados.
Seleo
Seleo Natural
o princpio bsico para o direcionamento
da evoluo de uma populao
Utiliza uma funo de avaliao para medir
a aptido de cada indivduo
Essa aptido pode ser absoluta ou relativa
Existem vrios mtodos de seleo
Aptido ou Fitness
Aptido
Nota associada ao indivduo que avalia quo
boa a soluo por ele representada.
Aptido pode ser:
Igual a funo objetivo
Resultado do escalonamento da funo
objetivo.
Baseado no ranking do indviduo da populao.
Principais Mtodos de Seleo
Natural

Roleta

Torneio

Amostragem Universal Estocstica


Populao: Exemplo
Indivduo Aptido Absoluta Aptido Relativa
1 2 0,052631579
2 4 0,105263158
3 5 0,131578947
4 9 0,236842105
5 18 0,473684211
Total 38 1
Mtodo da Roleta
Coloca-se os indivduos em uma roleta, dando a
cada um uma fatia proporcional sua aptido
relativa
Depois roda-se a agulha da roleta. O indivduo em
cuja fatia a agulha parar permanece para a
prxima gerao
Repete-se o sorteio quantas vezes forem
necessrias para selecionar a quantidade desejada
de indivduos
Roleta - Exemplo
Mtodo do Torneio
Utiliza sucessivas disputas para realizar a
seleo
Para selecionar k indivduos, realiza k
disputas, cada disputa envolvendo n
indivduos escolhidos ao acaso
O indivduo de maior aptido na disputa
selecionado
muito comum utilizar n = 3
Torneio - Exemplo

Indiv 1, Indiv 2, Indiv 4 Indiv 4

Indiv 1, Indiv 2, Indiv 3 Indiv 3

Indiv 2, Indiv 3, Indiv 4 Indiv 4

Indiv 3, Indiv 4, Indiv 5 Indiv 5


Amostragem Universal
Estocstica - SUS
SUS Stochastic Universal Sampling
Semelhante Roleta, mas para selecionar k
indivduos utiliza k agulhas igualmente
espaadas, girando-as em conjunto uma s
vez
Apresenta resultados menos variantes que a
Roleta
SUS - Exemplo
Operador de Cruzamento
Operador de Cruzamento
Tambm chamado de reproduo ou
crossover
Combina as informaes genticas de dois
indivduos (pais) para gerar novos
indivduos (filhos)
Verses mais comuns criam sempre dois
filhos para cada operao
Operador de Cruzamento
Operador principal do AG
Responsvel por gerar novos indivduos
diferentes (sejam melhores ou piores) a
partir de indivduos j promissores
Aplicado a cada par de indivduos com alta
probabilidade (normalmente entre 0,6 e
0,99)
Abordagens para Cruzamento

Cruzamento Um-Ponto

Cruzamento Multi-Pontos

Cruzamento Uniforme
Cruzamento Um-Ponto

0 0 0 0 Pais 1 1 1 1

0 0 1 1 Filhos 1 1 0 0
Cruzamento Multi-Ponto

0 0 0 0 Pais 1 1 1 1

0 1 1 0 Filhos 1 0 0 1
Cruzamento Uniforme
Mscara 0 1 0 1

0 0 0 0 Pais 1 1 1 1

0 1 0 1 Filhos 1 0 1 0
Operador Mutao
Operador de Mutao
Introduz e mantm a variedade gentica da
populao

Garante a possibilidade (potencial) de se


alcanar qualquer ponto do espao de busca

til para evitar mnimos locais


Operador de Mutao
um operador gentico secundrio

Se seu uso for exagerado, reduz a evoluo


a uma busca totalmente aleatria

Logo, um indivduo sofre mutaes com


probabilidade baixa (normalmente entre
0,001 e 0,1)
Exemplo de Mutao

0 1 1 0 0 0 1

0 1 0 0 0 0 1
Parmetros Genticos
Tamanho da populao
Taxa de cruzamento
Taxa de mutao
Intervalo de gerao
Critrio de parada
Convergncia do Algoritmo
Gentico
Convergncia do Algoritmo
Gentico
Apesar do sucesso uso dos AGs em
problemas de otimizao, os avanos nos
aspectos tericos tm sido limitados.
As atuais bases tericas dos AGs
descansam na representao binria das
solues e na noo de Esquemas, que
permite explorar as similaridades entre
cromossomos.
Considere-se um caso onde alguns bits de
uma string so fixados em valores
especficos, enquanto os restantes so
considerados livres.

Define-se o smbolo # para representar os


bits que esto nesta ltima condio.
Teoria dos Esquemas
Por exemplo:
a string (01##) define o conjunto:
{(0100), (0101), (0110), (0111)}.
Esquema uma famlia de configuraes que
compartilham um conjunto de genes
comuns
Teoria dos Esquemas
O nmero de # no esquema define o nmero
de strings associadas a ele ( 2^{n} )

Existem duas importantes propriedades


associadas com os Esquemas:
Ordem
Comprimento Definido
Ordem de um Esquema
Definida como o(S), o nmero de
posies fixas presentes no esquema.

Por exemplo, a ordem do esquema


S = (##001#11) o(S) = 5.

Este conceito til no clculo da


probabilidade de sobrevivncia de um
esquema sob mutaes.
Comprimento Definido
a distncia (S) entre a primeira e a ltima
posio fixada da string S
grau de compactao da informao
contida no esquema.
No exemplo anterior:
S = (##001#11)
(S) = 8 - 3 = 5.
Esquemas
Uma string especfica simultaneamente a
instncia de 2l esquemas, sendo l o comprimento
da string
Esquemas: um viso 3D
Uma vez que um esquema representa um
subconjunto de strings, podemos associar a ele
uma fitness, que determinada pela fitness
mdia das instncias do esquema.
Atravs do conceito de esquema, um processo de
busca do timo atravs de AG pode ser visto
como uma competio entre esquemas para
incrementar o nmero de suas instncias na
populao
Se definimos a string tima como a
contraposio de esquemas com pequeno
comprimento definido e altos valores de
fitness mdia, ento o vencedor das
competies individuais de esquemas pode,
potencialmente, incluir a string tima.
Blocos Construtivos
Esses esquemas com pequenos
comprimentos definidos e alta fitness so
chamados de building blocks.
Hiptese dos Blocos Construtivos

A noo de que strings com altos valores


de fitness podem ser conseguidas mapeando
building blocks com valores altos de fitness
e combinando-os efetivamente chamada
de hiptese dos building blocks
Hiptese dos Blocos Construtivos
Esta hiptese nem sempre se cumpre;

Dependendo da natureza da funo


objetivo, podem ser geradas strings de
baixa qualidade a partir de bons building
blocks.

Essas funes objetivos so chamadas de


funes AG-ilusrias
Teorema dos Esquemas
Desconsiderando o cruzamento, um
esquema com alta fitness mdia cresce
exponencialmente para vencer a
competio. Porm, uma alta fitness mdia
no suficiente para uma alta razo de
crescimento. Um esquema deve ter tambm
um comprimento definido pequeno.
Teorema dos Esquemas
Como o cruzamento disruptivo,
comprimentos definido elevados levam a
uma alta probabilidade que o ponto de
cruzamento esteja entre as posies fixas
do esquema, causando a destruio de uma
instncia.
Teorema dos Esquemas
Logo, esquemas com alta fitness e
pequenos comprimentos definidos crescem
exponencialmente no tempo.
Esta a essncia do Teorema dos
Esquemas, proposto por Holland.
Fim
Parte I

Das könnte Ihnen auch gefallen