Sei sulla pagina 1di 62

Tpicos Especiais em Otimizao

Algoritmos Genticos
Ivo Chaves da Silva Junior
ivo.junior@ufjf.edu.br
Juiz de Fora, 22 de Maio de 2014

Ivo Chaves da Silva Junior

Introduo

John H. Holland
(Pesquisador da Universidade de Michigan)
Dcada de 60 - Props um processo de otimizao,

denominado:

Algoritmo Gentico
2

Ivo Chaves da Silva Junior

Motivao

Charles Darwin

1859

TEORIA DA EVOLUO DAS ESPCIES


Na evoluo das espcies, s os indivduos mais aptos ao meio
ambiente sobrevivem e a estes so dadas a oportunidade de se
reproduzir e deixar suas caractersticas em seus descendentes
3

Ivo Chaves da Silva Junior

Algoritmos Evolucionrios
DEFINIO:
Algoritmos que modelam computacionalmente os processos naturais da
evoluo de modo a construir uma ferramenta para resoluo de
problemas nas mais diversas reas do conhecimento.
SIMULAO DA EVOLUO DAS ESPCIES

Nascimento dos indivduos


Seleo dos indivduos
Reproduo entre indivduos

Nova gerao de indivduos

Ivo Chaves da Silva Junior

Algoritmos Evolucionrios

Pseudo-Cdigo
Inicializa_Populao P(0)
Enquanto no terminar faa
Avalie_Populao
Selecione_Pais
Recombinao
Mutao
Nova Populao
Fim enquanto
5

Ivo Chaves da Silva Junior

Algoritmos Evolucionrios
Um algoritmo evolucionrio INSPIRADO na natureza e no
uma cpia fiel da mesma
Coisas bizarras da computao evolutiva :
Pais morrerem imediatamente aps o nascimento dos filhos
Mutaes genticas podem ser frequentes
Indivduos podem ser eternos

No h distino de machos e fmeas


Entre outras........

Ivo Chaves da Silva Junior

Algoritmos Evolucionrios
Tcnicas de Busca
Baseadas em Clculo

Resfriamento Simulado

Algoritmos Evolucionrios
Estratgias Evolucionrias
Paralelos

Enumerativas

Aleatrias-Guiadas

Algoritmos Genticos

Programao Gentica

Seqenciais

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
TERMINOLOGIA
Indivduo

Uma soluo

Populao

Conjunto de Solues

Gerao

Passo do Processo de Soluo

Cromossomos

Sequncias de Caracteres

Gene

Cada um dos Caracteres

Fentipo

Decodificao da Soluo

Gentipo

Codificao da Soluo

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos

Algoritmos genticos (GA) so um ramo dos algoritmos evolucionrios

So algoritmos de busca baseados nos mecanismos de seleo


natural e gentica.

Os algoritmos genticos so tcnicas heursticas de otimizao global


Heurstica significa encontrar ou descobrir, porm sem garantir a
otimalidade da soluo encontrada.

Melhor soluo para o problema em anlise


9

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
Mximo Global
Mximo Local
Maximizao
Mtodos clssicos

Ponto Inicial
Ponto Inicial

GAs trabalham com vrias solues ao mesmo tempo, logo, no ficam


presos a timos locais devido a condio inicial . Situao que ocorre com
mtodos de otimizao clssica (baseados em derivadas).
10

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
No porque se encontrou um indivduo que instantaneamente o
melhor de um grupo que o processo de busca finaliza a procura de
outros indivduos ainda melhores.
EXEMPLO REAL : AMBIENTE VARIVEL
Bactrias ambiente livre de antibitico

Melhor Bactria

Bactrias ambiente com antibitico

Melhor Bactria
11

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
Como os AGs tm o mesmo comportamento que a evoluo das espcies:

COMPETIO ENTRE OS INDIVDUOS NATURAL

A competio entre os indivduos que determina as solues obtidas

12

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos

COMPETIO!!!???

QUAL O CRITRIO A SER AVALIADO??

13

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
De dois indivduos no to bons (de acordo com um critrio pr-definido)
podem nascer indivduos com excelentes caractersticas, sendo a situao
contrria verdadeira.
EXEMPLO: BELEZA O CRITRIO !!! COMO SER O NOVO INDIVDUO?

14

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
CARACTERSTICAS DOS AGs

GAs so tcnicas probabilsticas, e no tcnicas determinsticas.

Iniciando um GA com a mesma populao inicial e o mesmo conjunto


de parmetros podemos encontrar solues diferentes a cada vez que
executamos o programa.

GAs so em geral programas extremamente simples que necessitam


somente de:

Informaes relativas adequabilidade do ponto como soluo do


problema em questo

No necessitam de derivadas ou qualquer outra informao


adicional.

Extremamente aplicveis a problemas do mundo real que em geral


incluem descontinuidades severas.

15

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
CARACTERSTICAS DOS AGs

GAs trabalham com uma grande populao de solues, sendo uma


heurstica de busca.

Um GA diferencia-se dos esquemas enumerativos pelo fato de no


procurar em todos os pontos possveis, mas sim em um subconjunto
destes pontos

GAs diferenciam-se de esquemas aleatrios por serem uma busca que


utiliza informao pertinente ao problema e no trabalham com
caminhadas aleatrias (random walks) pelo espao de solues.

16

Ivo Chaves da Silva Junior

Conceitos Bsicos
Algoritmos Genticos
POR QUE USAR ALGORITMOS GENTICOS??
GA uma tcnica de busca com as seguintes caractersticas positivas:

Otimizao Global

No so totalmente aleatrios

No afetada por descontinuidades na funo ou em suas


derivadas

Capaz de lidar com funes discretas e contnuas

Boa tcnica para atacar problemas com espaos de busca


intratveis, que no podem ser resolvidos por tcnicas tradicionais.
17

Ivo Chaves da Silva Junior

Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM

A representao cromossomial fundamental para o algoritmo gentico.

Ela consiste em uma maneira de traduzir a informao do problema em


uma maneira vivel de ser tratada pelo computador.

Quanto mais adequada ao problema, maior a qualidade dos resultados


obtidos.

18

Ivo Chaves da Silva Junior

Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM

19

Ivo Chaves da Silva Junior

Algoritmos Genticos
EXEMPLO DE UM INDIVDUO

Varivel X1
8
Codificao
(Gentipo)

Varivel X2
35
Decodificao
(Fentipo)

Cromossomo
Gene

0 0 1 0 0 0

1 0 0 0 1 1

Indivduo

02 Cromossomos
12 Genes
20

Ivo Chaves da Silva Junior

Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM

Representamos nmeros (inteiros ou reais), strings, etc. usando a


representao binria.

Para representar nmeros reais como nmeros binrios, temos primeiro


que saber duas coisas:

A faixa de operao de cada uma das variveis;

A preciso desejada.

Sabendo isto, convertemos bits para nmeros usando a seguinte frmula:

real = infi + ri

supi - infi
2 k -1

21

Ivo Chaves da Silva Junior

Algoritmos Genticos
000011

Exemplo de
interpretao
de nmeros reais
X1-> [-2 2]
X2-> [0 1]

x1

110011
x2

r1 = 000011 = 3
r2 = 110011 = 51

real = infi + ri

supi - infi
2 k -1
x1 = -2 + 3*(2-(-2))/(26-1) = -1,8
x2 = 0 + 51 *(1-0)/(26-1) = 0,8
22

Ivo Chaves da Silva Junior

Algoritmos Genticos
AVALIAO DO INDIVDUO FUNO APTIDO

A funo aptido a maneira utilizada pelos GAs para determinar a


qualidade de um indivduo como soluo do problema em questo.

uma nota dada ao indivduo na resoluo do problema.

O valor da funo de aptido usada para a escolha dos indivduos pelo


mdulo de seleo de pais, sendo a forma de diferenciar entre as boas e
as ms solues para um problema.

Dada a generalidade dos GAs, a funo de avaliao, em muitos casos, a


nica ligao verdadeira do algoritmo com o problema real.
23

Ivo Chaves da Silva Junior

Algoritmos Genticos
AVALIAO DO INDIVDUO FUNO APTIDO
Problema de Maximizao:

fapt = FOB
Problema de Minimizao:

fapt

1
=
FOB+ Cmin
24

Ivo Chaves da Silva Junior

Algoritmos Genticos
OBSERVAES IMPORTANTES SOBRE FUNO APTIDO

NENHUM INDIVDUO DEVE TER AVALIAO NULA;

A FUNO APTIDO DEVE EMBUTIR TODAS AS RESTRIES E


CARACTERSTICAS DO PROBLEMA EM ANLISE;

A FUNO APTIDO DEVE SER CAPAZ DE DIFERENCIAR TODAS AS


SOLUES ENTRE SI.

25

Ivo Chaves da Silva Junior

Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS

O mtodo de seleo de pais deve simular o mecanismo de seleo


natural:

Pais mais capazes geram mais filhos;

Pais menos aptos tambm podem gerar descendentes.

Temos que privilegiar os indivduos com funo de avaliao alta,


sem desprezar completamente aqueles indivduos com funo de
avaliao extremamente baixa;

At indivduos com pssima avaliao podem ter caractersticas genticas


que sejam favorveis criao de um indivduo timo;

26

Ivo Chaves da Silva Junior

Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS

Mtodo simples e muito adotado: MTODO DA ROLETA.

Criamos uma roleta (virtual) na qual cada cromossomo recebe um


pedao proporcional sua avaliao (a soma dos pedaos no pode
superar 100%).

Rodamos a roleta

Selecionado ser o indivduo sobre o qual ela parar.

27

Ivo Chaves da Silva Junior

Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS

Exemplo Roleta
Indivduo

Funo Aptido

Pedao Roleta

100

35,70%

130

46,40%

50

17,90%

Total

280

100%
28

Ivo Chaves da Silva Junior

Algoritmos Genticos
CRUZAMENTO E MUTAO

Vamos comear com o operador de cruzamento mais simples, chamado


de operador de CRUZAMENTO DE UM PONTO.

Depois de selecionados dois pais pelo mdulo de seleo de pais, um


ponto de corte selecionado.

Um ponto de corte constitui em uma posio entre dois genes de um


cromossomo.

Cada indivduo de n genes contem n-1 pontos de corte.


29

Ivo Chaves da Silva Junior

Algoritmos Genticos
CRUZAMENTO E MUTAO
gen

Pontos de Corte: 1

Depois de sorteado o ponto de corte, ns separamos os pais em


duas partes: uma esquerda do ponto de corte e outra direita.
30

Ivo Chaves da Silva Junior

Algoritmos Genticos
Pai 1

Pai 2

Pai 1

Selecionamos um
ponto de corte

CRUZAMENTO E MUTAO

cruzamento

Filho 1

Filho 2

Pai 2

Filho 1

mutao

Gen alterado
pela mutao

Filho 2

31

Ivo Chaves da Silva Junior

Algoritmos Genticos
CRUZAMENTO E MUTAO

Por simplicidade, populao no pode crescer. Populao de tamanho Constante;

Pais so, obrigatoriamente, substitudos conforme os filhos vo nascendo;

A cada cruzamento estaremos criando dois filhos;

Estes vo sendo armazenados at que o nmero de filhos gerado seja igual ao


tamanho da populao original;

A probabilidade de ocorrncia de mutao deve ser baixa. Se for alta, o AG ser


muito parecido com uma tcnica chamada RANDOM WALK.
32

Ivo Chaves da Silva Junior

Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS

TAMANHO DA POPULAO

GRANDE

Pequena

Aumento do tempo computacional

Convergncia prematura / rpida

Ivo Chaves da Silva Junior

Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS

PROBABILIDADE DE SELEO/
REPRODUO

ALTA

Perda de qualidade gentica

BAIXA

Pouca diversidade gentica

Ivo Chaves da Silva Junior

Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS

PROBABILIDADE DE MUTAO

ALTA

BAIXA

Processo muito aleatrio

Estagnao do processo (restrito a timos locais)

Ivo Chaves da Silva Junior

Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS

FIM DO PROCESSO GENTICO

NMERO MXIMO DE GERAES


TEMPO DE EXECUO
ANLISE DO VALOR MDIO DA POPULAO
ESTAGNAO DE UMA SOLUO POR UM DETERMINDO PERODO

Ivo Chaves da Silva Junior

Algoritmos Genticos
Intervalos Tpicos dos Parmetros Genticos

Tamanho
Populao

Tp

Pc

Pm

30

90%

1%

100

60%

0,1%

Probabilidade de
Cruzamento

Probabilidade de
Mutao

CONVERGNCIA PELO NMERO MXIMO DE GERAES

Ivo Chaves da Silva Junior

Algoritmos Genticos
Filho 1 :
Filho 2 :

Seleo: escolhemos os
indivduos que participaro
do processo reprodutrio

Operadores genticos: Aplicamos os


operadores de recombinao e mutao
aos indivduos escolhidos para pais

Avaliao :
Aplicamos a funo de
avaliao a cada um dos
indivduos desta gerao

No

Mdulo de populao :
definimos a nova populao a partir
da gerao existente e dos filhos
gerados

Satisfizemos o critrio
de parada ?
Filhos gerados
sobrevivem e
so copiados
sobre seus pais

Toda a antiga
gerao de pais

Sim
Fim

38

Ivo Chaves da Silva Junior

Algoritmos Genticos

Ivo Chaves da Silva Junior

Algoritmos Genticos

Ivo Chaves da Silva Junior

Algoritmos Genticos
Exemplo Ilustrativo Mecanismo Gentico

Maximizao da funo

Ivo Chaves da Silva Junior

Algoritmos Genticos
Mximo Global

Gerao 1

Indivduo

Ivo Chaves da Silva Junior

Algoritmos Genticos
Gerao 10

Indivduo de baixa aptido

Ivo Chaves da Silva Junior

Algoritmos Genticos
Gerao 50

98% dos indivduos no ponto de mximo global.


Gerao de excelente qualidade

Ivo Chaves da Silva Junior

Algoritmos Genticos
Grfico de Convergncia Mdia da Populao

Melhor soluo
FOB

Mdia da Populao

N de Geraes

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos
REPRODUO/CROSSOVER

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos

Genitor -1

(sorteio)

Descendente -1

Descendente - 2

Genitor -2

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos

O Cruzamento realizado gene a gene.

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos

0
1
2

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos
POPULAO

Ivo Chaves da Silva Junior

12000

12000

10000

10000

Maximum/Average Fitness

Maximum/Average Fitness

Algoritmos Genticos
Outros Operadores Genticos

8000

Sem Elitismo

6000

4000

2000

8000

Com Elitismo

6000

4000

2000

10

20

30
Generation

40

50

60

10

20

30
Generation

40

50

60

O melhor indivduo da gerao anterior deve estar presente na prxima gerao;

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos

Visa reproduzir, em termos, o comportamento real de nascimento e


morte;

No steady state geram-se os novos indivduos um a um e faz-se a


troca destes pelos piores indivduos da populao;

Com o steady state o conceito de gerao fica quase inexistente;

Convergncia por mdia da populao ou tempo de execuo.

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos
SELEO

Ivo Chaves da Silva Junior

Algoritmos Genticos
Outros Operadores Genticos
Selecionamos uma srie de K indivduos da populao;
Fazemos com que eles entrem em competio direta pelo direito de ser
pai, usando como arma a sua avaliao;

Ivo Chaves da Silva Junior

Algoritmos Genticos
Observaes
MUTAO

Importante para a diversidade gentica;

Heurstica exploratria;

Estratgias de taxas de mutao que variem ao longo do processo;

Estratgias de mutao dirigidas (situao de estagnao);

Ivo Chaves da Silva Junior

Algoritmos Genticos
Observaes
REPRODUO/CROSSOVER

Importante para evitar a busca aleatria da soluo (randow walk);

Codificao binria crossover uniforme o indicado (maior combinao);

Estratgia: Sorteio da forma como um determinado genitor ir se reproduzir;

Ivo Chaves da Silva Junior

Algoritmos Genticos
Observaes
PARMETROS GENTICOS

Estimar os valores dos parmetros genticos (desafio);

Estratgia Determinstica

Estratgia Adapativa

Ivo Chaves da Silva Junior

Algoritmos Genticos
Aplicao
Aplicaes: ALGORITMO GENTICO ITA - AERODESIGN

Ivo Chaves da Silva Junior

Algoritmos Genticos
Aplicao

Ivo Chaves da Silva Junior

Algoritmos Genticos
Aplicao

Ivo Chaves da Silva Junior

Algoritmos Genticos
Aplicao

Ivo Chaves da Silva Junior

Algoritmos Genticos
Bibliografia

Potrebbero piacerti anche