Sei sulla pagina 1di 0

ALGORITMOS GENTICOS

1) O que so os Algoritmos Genticos (GA)?


2) Qual a relao do GA com a gentica?
3) Como opera um GA em termos computacionais?
4) Quais as aplicaes dos GA?

Def.: John Holland (1970's)
Algoritmos Genticos so modelos computacionais que imitam os
mecanismos da "evoluo natural" para resolver problemas de
otimizao.

GENTICA
Estuda as leis bsicas da hereditariedade
Informaes biolgicas escritas no DNA: sequncias variadas de
adenina, guanina, citosina e timina.
Cromossomos: strings codificadas no alfabeto base_4
Gene: unidade hereditria caracterizada por uma sequncia de bases
A Evoluo atua sobre os Cromossomos


PROCESSO DE EVOLUO NATURAL (C. Darwin - 1859)

CONDIES:
Indivduos com habilidade de reproduo
Existe uma populao desses indivduos
Existe alguma variedade de indivduos
H diferenas na capacidade de sobrevivncia dos indivduos em seu
ambiente


















SELEO NATURAL
POPULAO
REPRODUO
Indivduos Menos Aptos Descartados
Indivduos Mais Aptos
Evoluo Biolgica:
Mudana na diversidade e
adaptao de populaes
de indivduos

Indivduos Mais Aptos:
Mais chances de sobreviver
Mais chances de reproduzir
Mais sobreviventes na
prxima gerao

Evoluo Por Seleo:
Processo gradual e contnuo
no determinstico.
COMPONENTES DE UM ALGORITMO GENTICO

Um PROBLEMA para ser resolvido pelo algoritmo.
Um mtodo para codificar solues do problema atravs de
CROMOSSOMOS.
Uma FUNO DE AVALIAO que mede quo bem, cada soluo
capaz de resolver o problema.
Um mtodo para criar a POPULAO INICIAL de cromossomos.
Um conjunto de PARMETROS para o algoritmo gentico.
Um conjunto de OPERADORES que atuam no processo de
reproduo












POPULAO
cromossomos
AVALIAO
funo de avaliao
SELEO
REPRODUO
operadores
Indivduos Menos Aptos
PROBLEMA
DECODIFICAO
MEDIDA
DE
APTIDO
PAIS
FILHOS
CROMOSSOMOS

A representao das solues orientada na estrutura do problema e
deve descrever o espao de busca em termos de suas caractersticas.

TIPOS DE REPRESENTAO
Binrio
Binrio codificando Real
Inteiro
Real
Vetores, Listas e Matrizes (inteiros, caracteres, etc)

BINRIO CODIFICANDO REAL
Aspectos importantes:
variveis do problema (x1 , x2 , ... , xt )
domnio de valores: xi (mn i , mx i ) em R
preciso: p casas decimais





































A representao BINRIA (bit string) a mais comum.
Bit strings so:
Simples de criar e manipular
Produzem bons resultados nas aplicaes
Facilitam a aplicao de operadores
Aplicveis a funes (binrio representa inteiros)

Representao por sequncia de bits (gene)





FUNO DE AVALIAO
o elo de ligao entre o GA e o problema.




1 1 0 1 0
1
( ) APTIDO CROMOSSOMA f
A
=
OPERADORES GENTICOS


Atuam no processo de reproduo:
1. Crossover
2. Mutao
3. Inverso

1) CROSSOVER
Executa a troca de partes correspondentes dos cromossomos "pais" para
produzir o cromossomo "filho".








1 0 0 1 1
1
1 1 0 0 0
1
1 0 0 1 0
1
1 1 0 0 1
1
Ponto de separao
Cromossomos "PAIS"
Cromossomos "FILHOS"
2) MUTAO
Introduz aleatoriamente modificaes na informao gentica.






3) INVERSO
Inverte a ordem (posio) de dois elementos escolhidos aleatoriamente
em um cromossomo.





Embora inspirado no processo biolgico, raramente empregado.
1 1 0 1 0
1
1 1 0 0 0
1
ANTES DEPOIS
1 1 0 1 0
1
1 1 1 1 0
0
ANTES DEPOIS
DESENVOLVIMENTO DE GA's




















AVALIAO
INICIALIZAO
REPRODUO
ELIMINAO
AVALIAO
SOLUO
SATISFAZ
?
RETORNA MELHOR
CROMOSSOMA
NO
SIM
EXEMPLO TESTE:
Otimizar a funo (encontrar o mximo valor da funo).







( )
( )
( ) ( )
2
2 2
2
2 2
001 . 0 1
5 . 0
5 . 0 ,
y x
y x sin
y x f
+ +
+
=
BINARIA
f
MTODO DA ROLETA

Objetivo:
Selecionar indivduos aleatoriamente, proporcionando maiores chances
de reproduo aos indivduos mais aptos da populao.

Mtodo:











Aps vrias geraes, membros menos aptos tendem a ser excludos e
os mais aptos tero reproduzido mais.

1. Some a aptido de todos os membros da populao ( A
T
).
2. Gere um nmero aleatrio
T
A n n < 0 :
.
3. Pegue o primeiro membro da populao cuja aptido, somada
aptido dos membros precedentes maior ou igual a n.

n A
i

EXEMPLO

CROMOSSOMO 1 2 3 4 5 6 7 8 9 10
APTIDO 8 2 17 7 2 12 11 7 3 7
i
A
8 10 27 34 36 48 59 66 69 76


RODANDO A ROLETA:

NMERO ALEATRIO 23 49 76 13 1 27 57
CROMOSSOMA SELECIONADO 3 7 10 3 1 3 7














3
6
7
10
4
8
9
1
2
5
MDULO DE REPRODUO
Mutao e Crossover

MUTAO:
Substitui cada bit de um cromossomo se o bit de probabilidade for
verdadeiro.
Taxa =0.008 ( 8 bits em 1000 )

CROMOSSOMA NMERO ALEATRIO NOVO
BIT
NOVO
CROMOSSOMA
1 0 1 0 0.801 0.102 0.266 0.373 --- 1 0 1 0
1 1 0 0 0.120 0.096 0.005 0.840 0 1 1 0 0
0 0 1 0 0.760 0.473 0.894 0.001 1 0 0 1 1

Mutao um operador "exploratrio" que dispersa a populao atravs
do espao de busca.

CROSSOVER DE UM PONTO
Parte de dois cromossomos genitores so trocados a partir de uma
posio escolhida aleatoriamente. considerado a caracterstica
fundamental dos algoritmos genticos.
Taxa de Crossover =0.65
Se "VERDADE" Gera Filhos Diferentes
Se "FALSA" Cpia dos Pais







SOLUO




























AT 100 BEST 5 CHROMOSOMES ARE:

10000000010100011011100111001101011011110110 .99026249
01110011000010100001101000001011001000110110 .98930211
10011000011111011010011001111001101010001110 .90970485
10011111000010110100010101110001011110000000 .86966422
10110110110001011110000111011111011101001000 .82411554

AT 200 BEST 5 CHROMOSOMES ARE:

10000111110000011110000111011111011101001001 .99229899
01110000110101111001111000010001001011011010 .98491267
01110011000010100001101000111100110111011010 .97578980
01101000001000110110000111100010001101001000 .96230820
01101000001000100101011001000110101110111000 .94706181

AT 400 BEST 5 CHROMOSOMES ARE:

10000111110000111001101000111100110111011010 .98227694
10000111110010100001101000111100110111011010 .98225310
10000111110000010001011001000110101111110000 .97738784
01110011000010100001101000111100110111011010 .97578980
01110011000010100001101000111100111011011010 .97576120

AT 3000 BEST 5 CHROMOSOMES ARE:

01110111100100001101011000111111001110000001 .98052087
01110011111100010101111000111100101110010011 .97721386
01110011111100000101011000111100101110010011 .97720801
01110011111100101101001000111101001110000011 .97699464
01110011111100000101011000111101001110000011 .97698057

AT 4000 BEST 5 CHROMOSOMES ARE:

0111100101100010110101100010000110010001001l .99304112
01111011111000101101111000101000110110010010 .99261288
0111101111000010010101100010100011011001001l .99254826
0111101111000000010101100010100011011001000l .99254438
0111101111100010110101100010100111011001001l .99229856




SELEO DE GENITORES - APTIDO RELATIVA


O que ocorre com o desempenho do algoritmo GA1-1 se alterarmos a
funo?
( )
( )
( ) ( )
2
2 2
2
2 2
1
001 . 0 1
5 . 0
5 . 999 ,
y x
y x sin
y x f
+ +
+
=

O resultado do GA1-1 para esta funo uma curva de desempenho
plana. Por qu?
Seleo Proporcional
Seja:
A
i
: aptido do indivduo i
AR
i
: aptido relativa do indivduo i
A
AV
: aptido mdia
A
T
: aptido total
M: tamanho da populao
Ento:
M
A
A
T
AV
=

AV
i
i
A
A
AR =

AR
i
indica o nmero mdio de descendentes do indivduo i na prxima
gerao.

O que ocorre na populao inicial de f(x,y) e f
1
(x,y) ?

Para f(x,y):

CROMOSSOMO AVALIAO
Melhor 0.979 AR
Melhor
=1.905
Pior 0.066

AR
Pior
=0.128
MDIA 0.514

Forte presso reprodutiva em favor do melhor.

Para f
1
(x,y):

CROMOSSOMA AVALIAO
Melhor 999.979 AR
Melhor
=1.0005
Pior 999.066

AR
Pior
=0.9996
MDIA 999.514

O melhor e o pior cromossomo vo gerar praticamente o mesmo
nmero de filhos. O efeito da seleo quase nulo.
TCNICAS DE APTIDO


Tem como objetivo converter Avaliao em Aptido.
1. FITNESS IS EVALUATION ("Avaliao")
2. WINDOWING ("Aptido Relativa")
3. LINEAR NORMALIZATION ("Normalizao Linear")

FITNESS IS EVALUATION
A
i
= f
A
(i)

WINDOWING
1. Obtenha a avaliao mnima na populao.
2. Atribua a cada cromossomo i uma aptido igual a: Ai -A
Min
.
3. Opcionalmente, utilize uma aptido mnima maior que o valor
mnimo encontrado, como garantia que os cromossomos menos
aptos tero chance de reproduo.

LINEAR NORMALIZATION
1. Coloque os cromossomos em ordem decrescente de avaliao.
2. Crie aptides partindo de um valor constante e decrescendo linearmente.
3. O valor constante e a taxa de decremento so parmetros da tcnica.
( ) 1 ) (
1

+ = i RANK
M
A A
A A
Min Mx
Min i

EXEMPLO COMPARATIVO

CROMOSSOMA RANK 6 5 4 3 2 1
ORIGINAL EVALUATION 200 9 8 8 4 1
FITNESS IS EVAULUATION 200 9 8 8 4 1
WINDOWING - Min =0 199 8 7 7 3 0
WINDOWING - Min =10 190 10 10 10 10 10
LINEAR NORM. - RATE =1 100 99 98 97 96 95
LINEAR NORM. - RATE =20 100 80 60 40 20 1


OBSERVAES
1. SUPER INDIVDUO
Elimina competidores em 1 ou
2 geraes.
Rpida convergncia.
2. COMPETIO PRXIMA preciso aumentar a presso
seletiva sobre os melhores.


OUTROS MECNISMOS DE REPRODUO


1. ELITISMO
2. STEADY STATE
3. STEADY STATE SEM DUPLICATAS
4. CROSSOVER DE DOIS PONTOS
5. CROSSOVER UNIFORME
6. VARIAO DE PARMETROS

ELITISMO:
Fora a cpia do melhor cromossomo de cada gerao na gerao
seguinte. Reduz o efeito aleatrio do processo seletivo, garantindo a
presena do melhor membro de uma populao na prxima gerao.

STEADY-STATE:
Substituio parcial de indivduos a cada nova gerao.
1. Gere N filhos atravs da reproduo.
2. Delete os N piores membros da populao.
3. Introduza os N filhos gerados na populao.

CROSSOVER DE DOIS PONTOS:
A troca de gene se d em dois pontos.















CROSSOVER UNIFORME:
A contribuio de cada genitor para a gerao de dois filhos
decidida atravs de um template.






1 1 0 1 0
0
1 0 1 1 PAI 1
PAI 2
FILHO 1
FILHO 2
1 0 0 1 0
1
0 1 0 1
1 1 0 1 0
1
0 0 1 1
1 0 0 1 0
0
1 1 0 1
Pontos de Quebra
TEMPLATE
FILHO 1
FILHO 2
1 1 0 1 0
1
1 1 1 1
1 0 0 1 0
0
0 0 0 1
Curva de Desempenho

Potrebbero piacerti anche