Beruflich Dokumente
Kultur Dokumente
Algoritmo Gentico
Prof. Marco Aurlio C. Pacheco
1. PROBLEMA
Estudo de Contexto do Problema: Conhecer regras,
restries, objetivos, procedimentos em uso, etc.
GAs so indicados em problemas difceis de otimizao::
2. REPRESENTAO
evoluo da soluo
evoluo, otimizao
2. REPRESENTAO
Tipo de Problema
Numrico
Ordem
Grupo
Inteiro
Misto
Representao
Binrio, Real
Lista
Vetor
Inteiro
Mista
5
Aspectos importantes:
variveis do problema (x1 , x2 , ... , xt )
domnio de valores: xi (mni, mxi) em R
preciso: p casas decimais
(mxi-mni)x10p diferentes solues
domnio de
xi
mni
Preciso 1/10
mxi
Representao:
k1 bits
k2 bits
x1
x2
...
kt bits
xt
onde,
2ki (mxi-mni)x10p
Preciso = (mxi-mni)
2ki - 1
i bin
2ki - 1
se xibin=(0 0 ... 0)
se xibin=(1 1 ... 1)
xi real = mni
xi real = mxi
REPRESENTAO BINRIA
representa nmeros na menor base (2)
simples de criar e manipular
produz bons resultados
fcil decodificao numrica ( inteiro,real )
facilita a demonstrao de teoremas
porm, nem sempre adequada
9
3. DECODIFICAO
Construir a soluo para o problema a partir de um
cromossoma:
Cromossomas representam solues.
Cromossoma
DECODIFICAO Soluo
0011011
bin
0011011
x=27 x 10/27 -1
ADBCE
3Km
inteiro
1Km
4Km
cidades
7Km
3Km
x=27
x=2,1 x [0,10]
1 casa decimal
rota
ADBCE
C
10
4. AVALIAO
Elo entre o algoritmo gentico e o problema.
f(cromossoma) = medida numrica de aptido
Chances de seleo so proporcionais aptido.
f(i)
n
f(j)
j= 1
11
5. OPERADORES
Atuam no processo de criao de novos
indivduos (descendentes):
1. Crossover
2. Mutao
3. Operadores especficos ao problema
(heursticos)
12
6. TCNICAS
- Tcnicas de Representao
- Tcnicas de Inicializao da Populao
- Tcnicas de Eliminao da Populao Antiga
- Tcnicas de Reproduo
- Tcnicas de Seleo de Genitores
- Tcnicas de Aptido
- Tcnicas de Parametrizao
- Tcnicas de Elitismo
- Tcnicas de Seleo de Operadores
13
7. PARMETROS
- TAMANHO_POPULAO
- TOTAL_INDIVDUOS
- NMERO_GERAES
- TAXA_CROSSOVER
- TAXA_MUTAO
- APTIDO_OPERADORES
- ETC.
14
Sistemas de Desenvolvimento
ICADEMO
WinGenesis
GENOCOP
GeneHunter
Evolver 4.0
Open Beagle
Sugal
GACOM: Biblioteca de Componentes (C#)
16
Algoritmos Genticos
Exemplos GA1-1 a GA6-1
Especificao de tcnicas e parmetros
por mdulos:
Mdulo de Avaliao
Mdulo de Populao
Mdulo de Representao
17
Mdulo de Avaliao
Funo de Avaliao:
Funo binria F6
GA1-1
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina todos
Tcnica de Reproduo:
Troca da gerao
Roleta
Tcnica de Aptido:
Aptido a avaliao
Tcnica de Parametrizao:
Nenhuma
Tcnica de Elitismo:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Tcnica de Parametrizao:
nenhuma
18
Funo F6
19
Funo F6(x,y)
F6(x,0)
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
-100
-50
50
100
20
Caractersticas da F6
Objetivo: Maximizar F6
Uma nica soluo tima: F6(0,0)=1
Difcil de otimizar: vrios mnimos locais
21
Representao
Binria codificando real
2 Variveis: x, y
Domnio: x,y [-100, +100]
Preciso: 4 a 5 casas decimais
6
7
log2 2x10 Ki log2 2x10
Ki=22 total de 44 bits
22
Exemplo
Cromossoma:
00001010000110000000011000101010001110111011
Dividido em x e y:
0000101000011000000001 1000101010001110111011
Somados a mn:
x=-92,11420824866492 e y=8,248688757106959
Aplicados a F6(x,y):
F6(x,y)=0,5050708
23
Mdulo de Populao
Aleatria
Elimina todos
Tcnica de Reproduo:
Troca da gerao
Tcnica de Aptido:
Aptido a avaliao
Roleta
24
Parmetros
Tamanho da Populao:
pop_size
100
Nmero de Geraes:
num_ger
Exemplo
40
Total de Indivduos:
total_ind = pop_size x num_ger
4000
25
Parmetros
Tamanho da Populao:
pop_size
1000
Nmero de Geraes:
num_ger
Exemplo
Total de Indivduos:
total_ind = pop_size x num_ger
4000
26
Parmetros
Tamanho da Populao:
pop_size
10
Nmero de Geraes:
num_ger
Exemplo
400
Total de Indivduos:
total_ind = pop_size x num_ger
4000
27
28
Exemplo da Roleta
1
8
8
Cromossoma
Aptido
Ai
2
2
10
3
17
27
23
3
Nmero Aleatrio
Selecionado
4
7
34
49
7
5
2
36
76
10
6
12
48
7
11
59
13
3
8
7
66
1
1
9
3
69
27
3
10
7
76
57
7
4 5
10
17
7 2
12
11
8 10
27
34 36
48
59
66 69
29
76
Mdulo de Reproduo
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Mutao
Cromossoma
1
1
0
0
1
0
1
0
1
troca bit
mantm bit
Nmero Aleatrio
Novo Cromossoma
1
1
0
0
1
0
1
1
1
0
0
1
31
Crossover
P1
P2
F1
F2
Efetua Cruzamento
Copia os Genitores
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
32
Evoluo X Convergncia
Crossover:
acelerador do processo de busca
tira proveito das solues mais promissoras
Mutao
operador exploratrio
dispersa a populao pelo espao de busca
Convergncia (causas):
populao com indivduos muito similares
no h mais evoluo:
timo encontrado ou convergncia prematura (mnimo local)
Anlise do Desempenho de um
GA
34
Mdia de Experimentos
Calcula mdia dos melhores indivduos
por gerao em vrios experimentos.
Mede o desempenho do GA em encontrar
uma soluo melhor na gerao seguinte
GAs so estocsticos: desempenho varia a
cada experimento
So necessrios muitos experimentos para
se conhecer o desempenho mdio do GA.
35
Mdia de Experimentos
Melhores por gerao
Experimentos
1o. 2o. 3o. 4o.
Mdia
0,3
ger 1 0,2 0,3 0,1
0,23
ger 2 0,3 0,3 0,2
0,4
0,30
ger 3 0,4 0,6 0,4
0,6
0,50
ger 4 0,7 0,6 0,6
0,6
0,63
Avaliao
Mdia de Experimentos
1,00
0,50
0,23 0,30
0,00
1
0,50
0,63
0,80
Geraes
36
Aptido A(t)
30000
25000
20000
15000
10000
5000
Geraes
49
45
41
37
33
29
25
21
17
13
0
37
0,99873578
0,82435787
0,99995432
dgitos 9
2
0
4
38
ICADEMO
39
Mdulo de Avaliao
Funo de Avaliao:
Funo binria F6
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina todos
Tcnica de Reproduo:
Troca da gerao
Roleta
Tcnica de Aptido:
Aptido a avaliao
Tcnica de Parametrizao:
Nenhuma
Tcnica de Elitismo:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
GA1-1
ICADEMO
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Tcnica de Parametrizao:
nenhuma
40
41
Mdulo de Avaliao
Funo de Avaliao:
Funo binria F6
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Tcnica de Elitismo:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
GA2-1 a
GA2-5
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,04
Taxa Crossover:
0,8
Tcnica de Parametrizao:
nenhuma
42
Medida de Aptido
43
Medida de Aptido
PORQUE?
44
Aptido = Avaliao
: aptido do indivduo i
Ai = fi
F6
avaliao
best
0,979
worst
0,066
average 0,514
Dbest = 1,905
Dworst = 0,128
forte presso seletiva em
favor do melhor
F6Elevada avaliao
best
999,979
worst
999,066
average 999,514
Dbest = 1,0005
Dworst = 0,9996
melhor e pior cromossomas
vo gerar o mesmo nmero
de descendentes
Tcnicas de Aptido
Aptido a Avaliao
Ai = fi
Exemplo: Ai = 999,979
Windowing
subtrair uma constante dos valores de fi
Normalizao Linear
atribuir valores a Ai baseados no rank do
cromossoma
47
Windowing
Ai = (fi - Amn)
Normalizao Linear
Ai = mn + (mx - mn)
pop_size - 1
x (i - 1)
49
Exemplo Comparativo
Rank dos cromossomas
Avaliao original
Aptido avaliao
Normalizao Linear, taxa=10
Normalizao Linear, taxa=20
Windowing
6
200
200
60
101
199
5
9
9
50
81
8
4
8
8
40
61
7
3
7
7
30
41
6
2
4
4
20
21
3
1
1
1
10
1
0
50
Mdulo de Avaliao
Funo de Avaliao:
GA2-1
Funo binria F6
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina todos
Tcnica de Reproduo:
Troca da gerao
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Tcnica de Elitismo:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
ICADEMO
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Tcnica de Parametrizao:
nenhuma
51
Elitismo
52
Mdulo de Avaliao
Funo de Avaliao:
Funo binria F6
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina todos
Tcnica de Reproduo:
Troca da gerao
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Tcnica de Elitismo:
Copia o melhor
Population Size:
100
Total de Indivduos:
4000
GA2-2
ICADEMO
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Tcnica de Parametrizao:
nenhuma
53
Algoritmo Gentico
Tradicional
Representao Binria
Reproduo com substituio da populao
Elitismo
Normalizao Linear
Crossover de 1 ponto e Mutao
Algoritmo de partida em aplicaes
Apresenta bom desempenho em vrios problemas
54
120
110
100
99
95
81
76
67
58
44
42
36
22
20
19
17
10
8
5
avaliaes
de P(t)
38
6
121
88
58
17
120
110
100
99
95
81
76
67
58
44
42
36
22
38
6
121
88
58
17
crie n
novos
substitua os n
piores
ordena
121
120
110
100
99
95
88
81
76
67
58
58
44
42
38
36
22
17
6
avaliaes
de P(t+1)
56
Mdulo de Avaliao
Funo de Avaliao:
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Steady State
Gap
Funo binria F6
GA2-3
ICADEMO
Testar de 5 em 5
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Use todos
Operadores:
Taxa Mutao:
0,008
Taxa Crossover:
0,65
Tcnica de Parametrizao:
nenhuma
57
59
Mdulo de Avaliao
Funo de Avaliao:
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Gap
Funo binria F6
GA3-1 a
GA 3-3
Testar de 5 em 5
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Roleta
Operadores:
Crossover Uniforme
Mutao
Taxa Mutao:
0,03
Taxa Crossover:
Tcnica de Parametrizao:
60
Crossover de 2 Pontos
P1
P2
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
pontos de corte
P1
P2
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
F1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
F2
61
Crossover Uniforme
P2
1
0
0
1
0
0
1
1
0
1
1
0
1
1
Padro
F1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
P1
F2
62
Operadores Independentes
OP1
63
Mdulo de Avaliao
Funo de Avaliao:
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Gap
Funo binria F6
GA3-1
ICADEMO
Testar de 5 em 5
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Roleta
Operadores:
Crossover 2 pontos
Mutao
Taxa Mutao:
0,03
Taxa Crossover:
Tcnica de Parametrizao:
Nenhuma
Pesos
(50 50)
64
Mdulo de Avaliao
Funo de Avaliao:
GA3-2
Funo binria F6
Mdulo de Populao
ICADEMO
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Gap
Testar de 5 em 5
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Nenhuma
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Roleta
Operadores:
Crossover Uniforme
Mutao
Taxa Mutao:
0,03
Taxa Crossover:
Tcnica de Parametrizao:
Nenhuma
Pesos
(50 50)
65
Desempenho
Aspectos importantes:
convergncia do GA
proximidade dos melhores cromossomas a um mnimo local
diversidade da populao
valores dos parmetros do GA
Exemplo: variao da aptido dos operadores durante evoluo.
30
30
30
25
25
25
20
20
15
15
10
5
0
1
Incio:
Crossover
Mutao
20
10
5
15
0
9 10 11 12 13 14 15
10
0
1
Meio:
Crossover
Mutao
9 10 11 12 13 14 15
9 10 11 12 13 14 15
Fim:
Crossover
Mutao
66
Interpolao de Parmetros
taxa de crossover
taxa de mutao
taxa incremento da normalizao da aptido
pesos dos operadores, etc
Mdulo de Avaliao
Funo de Avaliao:
GA3-3
Mdulo de Populao
Tcnica de Representao:
Binria 44 bits
Aleatria
Elimina o ltimo
Tcnica de Reproduo:
Gap
Funo binria F6
67
Testar de 5 em 5
Roleta
Tcnica de Aptido:
Tcnica de Parametrizao:
Population Size:
100
Total de Indivduos:
4000
Mdulo de Reproduo
Tcnica de Seleo de Operadores:
Roleta
Operadores:
Crossover Uniforme
Mutao
Taxa Mutao:
0,03
Taxa Crossover:
Tcnica de Parametrizao:
68
69
2.
70
Baixo
desempenho
72
Desempenho
Mdio
73
Alto
desempenho
74
Desempenho
mdio
75
Desempenho
acima da mdia
Populao reinicializada a
cada 50 geraes
Oscilaes evidenciam a
reinicializao da populao
76