Escolar Documentos
Profissional Documentos
Cultura Documentos
Geneticoshandout PDF
Geneticoshandout PDF
Maio 2013
Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 2 / 155
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 3 / 155
Sorte!
O Problema
Exemplos de Problemas
Evoluo
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 12 / 155
Adaptao
O conjunto de caractersticas de um
indivduo, que o distingue dos demais,
determina sua capacidade de
sobrevivncia.
Estas caractersticas so determinadas
pelo seu material gentico.
Mecanismos
Cromossomos vm em pares.
Seres humanos tm 23 pares de cromossomos.
Burros tm 31 pares e carpas 51
Cada gene corresponde a uma regio do DNA que possui uma posio
especfica no cromossomo.
A T G C G
A T G C G
Aproximao do funcionamento
Gentica e Seleo
A G C C G M
G A T T A F
A G T T A C1
G A C C G C2
Variaes de Estratgias
Cromossomo
Geraes
incio
Gera populao inicial P
i =0
enquanto condio de parada no satisfeita faa
Avalie cada indivduo da populao
Cria espao para nova populao NP =
enquanto |NP| 6= |P| faa
Seleciona pais a partir de P
Recombine pais e gere filhos
Aplique mutao nos filhos
Insira filhos em NP
fim enqto
P NP
i =i +1
fim enqto
Retorne melhor indivduo de P como soluo
fim
Componentes de um AG
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 32 / 155
Codificaes de uma Soluo
|xmax,d xmin,d |
2nd 1
d uma das dimenses do espao do problema.
nd nmero de bits usado para codificar a dimenso d
Quantos Bits?
n1
X
x= bi 2n1i
i =0
x = (b)
(xmax xmin )
x = xmin + x
(2n 1)
Exemplo
Duas variveis x1 , x2 .
Intervalo: x1 [2, 2] e x2 [0, 1].
Representao usa 6 bits.
Cromossomo = 000011110011.
bx1 = 000011 e bx2 = 110011.
x1 = 3 e x2 = 51
2(2)
x1 = 2 + 3 26 1
= 1.809
10
x2 = 0 + 51 26 1
= 0.809
Cdigo Gray I
Binrio Gray
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100
g0 g1 . . . gn1 = b0 b1 . . . bn1
b0 = g0
bi = (bi 1 gi ) (bi 1 gi ) = bi 1 gi
Reais.
Inteiros.
Permutaes.
Estados Finitos.
rvores.
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 44 / 155
Populao Inicial
Populao: Observaes
Funo de Aptido
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 50 / 155
Seleo
Presso Seletiva
Seleo Aleatria
f (xi (t))
s (xi (t)) = Pn1
l=0 f (xl (t))
1
f (xi (t)) =
1 + fmax f (xi (t))
Criando a Roleta
Calcular a avaliao de cada indivduo,
f (xi (t))
Calcular a avaliao total da populao,
n1
X
S= f (xl (t))
l=0
A Roleta
x s (xi (t))
0.0 0.149
0.5 0.169
1.0 0.176
1.5 0.169
2.0 0.149
2.5 0.115
3.0 0.068
3.5 0.007
Considere K = 2 para n = 8.
Existem 64 combinaes possveis.
Com o x6 (o melhor) e outro indivduo ele ganhar em 14
possibilidades (x6 , 7 outros) + (7 outros, x6 )
Com o par (x6 , x6 ) ele ganhar uma vez.
15
Portanto, temos a probabilidade de 64 = 23.48%
Valor menor que na roleta, que igual a 53.1%.
2 + 2( 1) fc (xi (t))
n1
((x)i (t)) =
n
onde fc (xi (t)) a classificao de xi (t)
o melhor classificado tem classificao n 1 e o pior 0.
Elitismo
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 78 / 155
Cruzamento
Cruzamento o operador
gentico aplicado aos pais
selecionados para gerar os filhos.
Deste cruzamento espera-se que
as boas caractersticas de prvias
geraes sejam passadas as
prximas.
Tipos de Cruzamento
Pais Filhos
10110111 10100010
X X
01100010 01110111
Algoritmo de Cruzamento
Pais Filhos
incio
//Zera os n bits da mscara
m(i) = 0, i = 0 . . . n 1
para i = 0 at i < n faa
se rand() pc ento
m(i) = 1
fim se
fim para
fim
10110111 10110110
00101011
01100010 01100011
Operador de Cruzamento I
l1
X
xi =
~ k x k
k=0
onde
l1
X
k = 1
k=0
No caso de l = 2 temos ~
xi = x1 + (1 )x2 .
Se = 0.5 ento o filho a mdia aritmtica dos dois valores.
Por que?
P(xi ) = 1 (1 pm )n
Mutaes em binrios
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 102 / 155
Condies de Parada I
Condies de Parada II
Paralelismo
Ilhas
Polticas de Migrao
Taxa de migrao
Quem ir migrar?
Quem ser substitudo?
Um bom migrante substitui um indivduo ruim.
Um bom migrante substitui um indivduo qualquer.
Um migrante qualquer substitui um indivduo ruim.
Um migrante qualquer substitui um indivduo qualquer.
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 114 / 155
Algoritmos Genticos Geracionais
Estratgias de Substituio
incio
Gera populao inicial P
Avalie cada indivduo da populao
t=0
enquanto condio de parada no satisfeita faa
Seleciona pais a partir de P
Recombine pais e gere filho
Aplique mutao no filho
Selecione indivduo a ser substitudo
Insira filho em P
t =t+1
fim enqto
Retorne melhor indivduo de P como soluo
fim
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 120 / 155
Exemplo
Representao
Considere x= 00010001.
Portanto: x= 17.
Logo: x = 0 + 17 (3/255) = 0.2
Populao inicial
2 1
0.6
3
0.4 4
5 6
8 7
0.2
11 9 13 10
12
0
14 15
y
0.2
0.4 16 18 17
19
0.6
0.8
20
1
0 0.5 1 1.5 2 2.5 3 3.5
x
0.2 19
0.4 20
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5
x
0.8
0.6
0.4
0.2
Fitness
0.2
0.4
0.6 Best
Average
0.8
Poorest
1
0 5 10 15 20 25 30
Generations
0.2
20
19
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5
x
0.8
0.6
0.4
0.2
Fitness
0
Best
0.2
Average
0.4 Poorest
0.6
0.8
1
0 5 10 15 20 25 30
Generations
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 130 / 155
Elitismo
Tabela de elitismo
Elitismo = 2.
Indivduo Ao
1 Mantido
2 Mantido
3 Livre para cruzamento
4 Livre para cruzamento
5 Livre para cruzamento
6 Livre para cruzamento
7 Livre para cruzamento
8 Livre para cruzamento
0.6
0.4
0.2
0
y
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5
x
0.8
0.6
0.4
0.2
Fitness
0
Best
0.2
Average
0.4 Poorest
0.6
0.8
1
0 5 10 15 20 25 30
Generations
Funo ga
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 138 / 155
Aprendendo estratgia
Punies Prmios
Como jogar?
Representando as estratgias II
64 bits indicam o que fazer para cada uma histria possvel (acusar ou
cooperar)
Podemos usar seis bits para representar as trs jogadas iniciais
(imaginrias) para a primeira jogada.
Total de 70 bits.
Algoritmo I
Ambientes Dinmicos
Modificaes
Objetivos
r (t) = 1 (1 ri )e t
onde ri habilidade inicial do jogador e modela a velocidade com que o
jogador aprende.
Section Summary
1 Introduo
2 Termos e Definies
3 Algoritmo Gentico
4 Codificao
5 Populao
6 Seleo
7 Cruzamento
8 Mutao
9 Condies de Parada
10 Island Genetic Algorithms
11 Separao de Geraes
12 Um exemplo simples
13 Elitismo
14 Exemplo simples com Matlab
15 Outro exemplo
16 Ambientes Dinmicos
17 O FIM
Adriano Cruz (DCC-UFRJ) AGs Maio 2013 154 / 155
The End