O documento descreve os principais componentes de um algoritmo genético, incluindo: (1) o problema a ser resolvido, (2) a representação cromossômica das soluções, e (3) os operadores genéticos como cruzamento e mutação.
Multi-core Parallelization in Clojure - a Case Study
Algoritmo Genetico
1. Componentes de um Algoritmo Genético
1. Problema
2. Representação
3. Decodificação
4. Avaliação
5. Operadores
6. Técnicas
7. Parâmetros
1. PROBLEMA
GAs são indicados em problemas complexos de
otimização- onde se busca uma solução melhor:
:
® muitos parâmetros e variáveis;
® mal estruturados: com condições e restrições,
difíceis de serem modeladas matematicamente;
® grandes espaços de busca onde não é possível a
busca exaustiva.
2. 2. REPRESENTAÇÃO
Representação é fundamental na modelagem de um GA e deve:
® descrever o espaço de busca relevante ao problema;
® codificar geneticamente a “essência” do problema:
evolução do “código” evolução da solução
® ser compatível com os operadores (crossover e mutação)
representação adequada sucesso, evolução
2. REPRESENTAÇÃO
Método de Solução ↔ Representação
– Numérico – Binário, Real
– Ordem – Lista
– Grupo – Vetor
– Inteiro – Inteiro
– Misto – Ex: Real e
Ex:
Lista
3. BINÁRIO CODIFICANDO REAL
O binário é um contador de unidades de precisão
Aspectos importantes:
¬variáveis do problema (x1 , x2 , ... , xt )
¬domínio de valores: xi ∈ (míni, máxi) em R
¬precisão: p casas decimais
(máxi-míni)x10p diferentes soluções
domínio de
xi
míni máxi
Precisão è 1/10p
Representação:
k1 bits k2 bits ... kt bits
x1 x2 xt
onde,
2k i ≥ (máxi-míni)x10p Precisão = (máxi-míni)
2k i - 1
Decodificação para Real:
xi real = xi bin .(máxi-míni) + míni
________
2k i - 1
se xibin=(0 0 ... 0) xi real = míni
se xibin=(1 1 ... 1) xi real = máxi
4. REPRESENTAÇÃO BINÁRIA
® simples de criar e manipular
® produz bons resultados
® facilita aplicações de operadores
® fácil decodificação numérica ( inteiro,real )
® facilita a demonstração de teoremas
® porém, nem sempre é adequada
3. DECODIFICAÇÃO
Construir a solução para o problema a partir de um
cromossoma:
Cromossomas “representam” soluções.
Cromossoma Transformação Solução
0011011 bin inteiro x=27
0011011 x=27 x 10/27 -1 x=2,1 x ∈[0,10]
1 casa decimal
A cidades
3Km
ADBCE D
7Km A→D→B→C→E
1Km B E
4Km 3Km
(Σ dist.=18)
C
5. 4. AVALIAÇÃO
Elo entre o algoritmo genético e o problema .
f(cromossoma) = medida numérica de aptidão
Chances de seleção são proporcionais à aptidão.
f(i)
n
∑ f(j)
j= 1
5. OPERADORES
Atuam no processo de criação de novos
indivíduos (descendentes):
1. Crossover
2. Mutação
3. Inversão
4. Operadores específicos ao problema
6. 6. TÉCNICAS
- Técnicas de Representação
- Técnicas de Inicialização da População
- Técnicas de Eliminação da População Antiga
- Técnicas de Reprodução
- Técnicas de Seleção de Genitores
- Técnicas de Aptidão
- Técnicas de Parametrização
- Técnicas de Elitismo
- Técnicas de Seleção de Operadores
7. PARÂMETROS
- TAMANHO_POPULAÇÃO
- TOTAL_INDIVÍDUOS
- NÚMERO_GERAÇÕES
- TAXA_CROSSOVER
- TAXA_MUTAÇÃO
- APTIDÃO_OPERADORES
- ETC.
7. Desenvolvimento de um Algoritmo Genético
procedure algoritmo_genético
begin
t=0 ; primeira geração
inicializa P(t) ; população inicial aleatória
avalia P(t) ; calcula f(i) p/ cada indivíduo
while (not condição_parada) do
begin
t=t+1 ; próxima geração
seleciona P(t) de P(t-1)
altera P(t) ; crossover e mutação
avalia P(t) ; calcula f(i) p/ cada indivíduo
end
end
Sistemas de Desenvolvimento
l ICADEMO
l Genesis, Genesys
l WinGenesis
l GENOCOP
l GeneHunter
l Evolver 4.0
l Escapade
l Sugal
l Bibliotecas específicas (C, Pascal, etc)
– TNA/C++,
8. Algoritmos Genéticos
l Exemplos GA1-1 a GA6-1
l Especificação de técnicas e parâmetros
por módulos:
– Módulo de Avaliação
– Módulo de População
– Módulo de Representação
l Módulo de Avaliação
GA1-1
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina todos
Técnica de Reprodução: Troca da geração
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Aptidão é a avaliação
Técnica de Parametrização: Nenhuma
Técnica de Elitismo: Nenhuma
Population Size: 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
Taxa Mutação: 0,008
Taxa Crossover: 0,65
Técnica de Parametrização: nenhuma
10. Características da F6
F6(x,y) = 0,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x2 + y2 ))2
l Objetivo: Maximizar F6
l Uma única solução ótima: F6(0,0)=1
l Difícil de otimizar: vários mínimos locais
Representação
l Binária codificando real
l 2 Variáveis: x, y
l Domínio: x,y ∈ [-100, +100]
l Precisão: 4 a 5 casas decimais
6 7
l log2 2x10 ó Ki ó log2 2x10
l Ki=22 Ô total de 44 bits
11. Exemplo
l Cromossoma:
00001010000110000000011000101010001110111011
l Dividido em x e y:
0000101000011000000001 1000101010001110111011
l Convertidos para base 10:
165377 e 2270139
l Multiplicados por: 200/222-1
7,885791751335085 e 108,24868875710696
l Subtraídos de mín:
x=-92,11420824866492 e y=8,248688757106959
l Aplicados a F6(x,y):
F6(x,y)=0,5050708
Módulo de População
l Técnica Inicialização da População: Aleatória
Ü Geração aleatória de palavras de 44 bits
l Técnica Eliminação da População: Elimina todos
Ü Elimina pop_size indivíduos da população anterior
l Técnica de Reprodução: Troca da geração
Ü Reproduz pop_size indivíduos para a nova população
l Técnica de Aptidão: Aptidão é a avaliação
Ü Aptidão é numericamente igual à avaliação
l Técnica de Seleção de Genitores: Roleta
12. Parâmetros
l Tamanho da População: Exemplo
pop_size 100
l Número de Gerações:
num_ger 40
l Total de Indivíduos:
total_ind = pop_size x num_ger 4000
Parâmetros
l Tamanho da População: Exemplo
pop_size 1000
l Número de Gerações:
num_ger 4
l Total de Indivíduos:
total_ind = pop_size x num_ger 4000
13. Parâmetros
l Tamanho da População: Exemplo
pop_size 10
l Número de Gerações:
num_ger 400
l Total de Indivíduos:
total_ind = pop_size x num_ger 4000
Seleção pela Roleta
Objetivo: Selecionar indivíduos aleatoriamente, proporcionando
maiores chances de reprodução aos mais aptos.
Método por Computador
l Encontre a soma da aptidão de todos os membros da
população AT= ∑ Ai (0 ó i ó pop_size-1)
l Gere um número aleatório 0 ó rand ó AT
l Pegue o primeiro membro da população Ik cuja aptidão
somada às aptidões dos membros precedentes é maior
ou igual a rand.
∑ Ai ò rand (i < k)
14. Exemplo da Roleta
Cromossoma 1 2 3 4 5 6 7 8 9 10
Aptidão 8 2 17 7 2 12 11 7 3 7
∑ Ai 8 10 27 34 36 48 59 66 69 76
Número Aleatório 23 49 76 13 1 27 57
Selecionado 3 7 10 3 1 3 7
1 2 3 4 5 6 7 8 9 10
8 2 17 7 2 12 11 7 3 7
8 10 27 34 36 48 59 66 69 76
Módulo de Reprodução
l Técnica de Seleção de Operadores: Use todos
Ü Use o primeiro operador da lista de operadores
l Operadores: Crossover & Mutação
– Taxa Mutação: 0,008
– Taxa Crossover: 0,65
l Valores ideais das taxas são obtidos
experimentalmente
15. Mutação
l Troca cada gene de um cromossoma se o teste de
probabilidade for verdadeiro
l Taxa Mutação: 0,8% (0,008)
– Teste Verdadeiro Ô troca bit
– Teste Falso Ô mantém
Cromossoma Número Aleatório Novo Cromossoma
1 0 1 0 0,801 0,102 0,266 0,373 1 0 1 0
1 1 0 0 0,128 0,96 0,005 0,84 1 1 1 0
0 0 1 0 0,768 0,473 0,894 0,001 0 0 1 1
Crossover
l Partes de dois cromossomas genitores são trocadas
a partir de uma posição escolhida aleatoriamente
l Taxa de Crossover : 65%
– Teste Verdadeiro Ô Efetua Cruzamento
– Teste Falso Ô Copia os Genitores
P1 1 0 1 1 0 1
P2 0 0 1 1 0 0
F1 1 0 1 1 0 0
F2 0 0 1 1 0 1
ponto de corte aleatórioÚ
16. Evolução X Convergência
l Crossover:
– acelerador do processo de busca
– tira proveito das soluções mais promissoras
l Mutação
– operador exploratório
– dispersa a população pelo espaço de busca
l Convergência (causas):
– população com indivíduos muito similares
– não há mais evolução:
• ótimo encontrado ou convergência prematura (mínimo local)
– para continuar a evoluir é preciso introduzir mais diversidade
na população
Análise de Desempenho
l Melhor de um Experimento (valor)
l Curva dos Melhores por Geração
l Curva da Média de Melhores de Vários
Experimentos
17. Média de Experimentos
l Calcula a média dos melhores indivíduos por geração em vários
experimentos.
l Mede o desempenho do GA em encontrar uma solução melhor na
geração seguinte
l GAs são estocásticos: desempenho varia a cada experimento
l São necessários muitos experimentos para se conhecer o
desempenho médio do modelo de GA.
e
A(t) = ∑ Ae (t) 1 ó e ó #_Experimentos
#_Experimentos
t: geração
Ae(t): aptidão do melhor indivíduo em t no experimento e
A(t): média em #_Experimentos das aptidões dos melhores
indivíduos a cada geração t
Média de Experimentos
Experimentos
Melhores nas gerações
1a. 2a. 3a. 4a. Média
ger 1 0,6 0,5 0,8 0,5 0,60
ger 2 0,7 0,5 0,8 0,7 0,68
ger 3 0,7 0,6 0,9 0,7 0,73
ger 4 0,8 0,6 0,9 0,8 0,78
Média de Experimentos
1,00
Avaliação
0,50
0,00
1 2 3 4 5
Experimentos
18. Característica da Curva de Desempenho
•bom desempenho no início da evolução
•pouco ou nenhum desempenho no final
Curva da Média de Experimentos
Aptidão A(t)
30000
25000
20000
15000
10000
5000
0
1
5
9
13
17
21
25
29
33
37
41
45
49
Gerações
Curva Média de Experimentos para
F6(x,y)
l Usamos o número de dígitos 9 após o ponto
decimal para distinguir avaliações muito próximas
de 1,00 .
l Exemplo:
Avaliação dígitos 9
0,99873578 2
0,82435787 0
0,99995432 4
19. ICADEMO
l Módulo de Avaliação
GA1-1
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina todos
Técnica de Reprodução: Troca da geração
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Aptidão é a avaliação
Técnica de Parametrização: Nenhuma
Técnica de Elitismo: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
Taxa Mutação: 0,008
Taxa Crossover: 0,65
Técnica de Parametrização: nenhuma
20. Novas Técnicas e Parâmetros
l Técnicas de Aptidão
l Elitismo
l Reprodução Steady State
l Ajuste dos Parâmetros
l Módulo de Avaliação
GA2-1 a
Função de Avaliação: Função binária F 6
l Módulo de População
GA2-5
Técnica de Representação: Binária 44 bits
Técnica Inicialização da População: Aleatória
é Técnica Eliminação da População: Elimina o último
é Técnica de Reprodução: Steady State s/ duplicados
Técnica de Seleção de Genitores: Roleta
é Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
Técnica de Elitismo: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
é Taxa Mutação: 0,04
é Taxa Crossover: 0,8
Técnica de Parametrização: nenhuma
21. Medida de Aptidão
l O que ocorre se alterarmos a F6 para:
F6 (x,y) = 0,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x 2 + y2 ))2
Medida de Aptidão
l O que ocorre se alterarmos a F6 para:
F6Elevada(x,y) = 999,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x 2 + y2 ))2
l Formato F6 = formato F6 elevada
l Melhor cromossoma para F6 = melhor para F6 elevada
l Avaliação de F6 elevada = avaliação F6 + 999
è Todavia, GA 1-1 para F6Elevada não apresenta desempenho algum.
è PORQUE?
22. Aptidão = Avaliação
Ai = fi : aptidão do indivíduo i
pi = Ai/ AT = fi / ∑ fJ : chances de seleção de I
há pop_size sorteios, então
Di = pi x pop_size = (fi x pop_size) / ∑ fJ =
Di = fi / fAV : número provável de sorteios de i, ou
número de descendentes na próxima
geração
l F6 avaliação l F6 Elevada avaliação
best 0,979 best 999,979
worst 0,066 worst 999,066
average 0,514 average 999,514
l Dbest = 1,905 l Dbest = 1,0005
l Dworst = 0,128 l Dworst = 0,9996
è forte pressão seletiva em è melhor e pior cromossomas
favor do melhor vão gerar o mesmo número
de descendentes
O efeito da seleção é quase nulo porque as
avaliações estão relativamente muito próximas.
.
23. Técnicas de Aptidão
l Aptidão é a Avaliação
Ai = fi Exemplo: Ai = 999,979
l Windowing
– subtrair uma constante dos valores de fi
l Normalização Linear
– atribuir valores a Ai baseados no rank do
cromossoma
Windowing
l Obtenha a avaliação mínima na população.
l Atribua a cada cromossoma I uma aptidão igual a:
Ai = (f i - Amín)
l Opcionalmente, atribua uma aptidão mínima de
“sobrevivência”, maior que a aptidão mínima
calculada, como garantia de reprodução para os
cromossomas menos aptos.
l Exemplo:
Ai = (999,979 - 999,066)= 0,913
24. Normalização Linear
l Coloque os pop_size cromossomas em ordem
decrescente de avaliação (i=1 é o menos apto).
l Crie aptidões, partindo de um valor mín e crescendo
linearmente até o valor máx.
l Os valores de máx e mín (ou a constante de
incremento) são parâmetros da técnica.
Ai = mín + (máx - mín) x (i - 1)
pop_size - 1
l Quanto maior a constante de incremento, maior a
pressão seletiva sobre os melhores.
Exemplo Comparativo
Rank dos cromossomas 6 5 4 3 2 1
Avaliação original 200 9 8 7 4 1
Aptidão é avaliação 200 9 8 7 4 1
Normalização Linear, taxa=10 60 50 40 30 20 10
Normalização Linear, taxa=20 101 81 61 41 21 1
Windowing 199 8 7 6 3 0
• SUPER INDIVÍDUO: cromossoma 6
•poucas chance de recombinação com outros indivíduos; elimina competidores em poucas
gerações; rápida convergência.
• COMPETIÇÃO PRÓXIMA: entre cromossomas 3, 4 e 5
•é preciso aumentar a pressão seletiva sobre os melhores
25. l Módulo de Avaliação
GA2-1
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina todos
Técnica de Reprodução: Troca da geração
Técnica de Seleção de Genitores: Roleta
é Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
Técnica de Elitismo: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
Taxa Mutação: 0,008
Taxa Crossover: 0,65
Técnica de Parametrização: nenhuma
Elitismo
l Melhor cromossoma de P(t) é copiado em
P(t+1), após o mutação e crossover.
l Reduz o efeito aleatório do processo seletivo.
l Garante que o melhor indivíduo da próxima
geração é melhor ou igual ao da geração
anterior.
26. l Módulo de Avaliação
GA2-2
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina todos
Técnica de Reprodução: Troca da geração
Técnica de Seleção de Genitores: Roleta
é Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
é Técnica de Elitismo: Copia o melhor
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
Taxa Mutação: 0,008
Taxa Crossover: 0,65
Técnica de Parametrização: nenhuma
Algoritmo Genético
Tradicional
l Representação Binária
l Reprodução com substituição da população
l Elitismo
l Normalização Linear
l Crossover de 1 ponto e Mutação
– Algoritmo de partida em aplicações
– Apresenta bom desempenho em vários problemas
27. Reprodução Steady State
l Substituição parcial de indivíduos a cada geração
(mais elitista)
l Bons indivíduos (material genético) são preservados,
garantindo mais chances de reprodução
l Método:
– Crie n filhos (seleção+crossover+mutação)
– Elimine os n piores membros da população
– Avalie e introduza os filhos na população
l GAP = fração da população que é trocada
l valor de GAP determina relação entre exploitation e
exploration
Exemplo de Steady State
C19 120 120 121
C18 110 110 120
C17 100 100 110
C16 99 99 100
C15 95 95 99
C14 81 81 95
C13 76 76 88
C12 67 67 81
C11 58 58 76
C10 44 44 67
C9 42 42 58
C8 36 36 58
C7 22 22 44
C6 20 38 38 42
C5 19 6 6 38
C4 17 121 121 36
C3 10 88 88 22
C2 8 58 58 17
C1 5 17 17 6
avaliações crie n substitua os n avaliações
de P(t) novos piores de P(t+1)
28. l Módulo de Avaliação
GA2-3
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
é Técnica Eliminação da População: Elimina o último
é Técnica de Reprodução: Steady State
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
é Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
Técnica de Seleção de Operadores: Use todos
Operadores: Crossover 1 ponto & Mutação
Taxa Mutação: 0,008
Taxa Crossover: 0,65
Técnica de Parametrização: nenhuma
Steady State sem Duplicados
l Substituição parcial de indivíduos com exclusão de
duplicados
l Evita os duplicados que são mais frequentes com
steady state (populações mais estáticas)
l Maior eficiência do paralelismo de busca,
garantindo pop_size indivíduos diferentes
l Descendentes duplicados são desprezados
l Maior overhead para teste de igualdade
29. Novos Técnicas, Parâmetros
e Operadores
l Crossover de 2 pontos
l Crossover Uniforme
l Operadores Independentes e Seleção
de Operadores
l Interpolação dos Parâmetros
l Módulo de Avaliação
GA3-1 a
Função de Avaliação: Função binária F 6
l Módulo de População
GA 3-3
Técnica de Representação: Binária 44 bits
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina o último
Técnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Normalização Linear (100 a 1)
é Técnica de Parametrização: Interpolar taxa de incremento (de 0,2 a 1,2)
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
é Técnica de Seleção de Operadores: Roleta
é Operadores: Crossover Uniforme
é Mutação
Taxa Mutação: 0,04
Taxa Crossover: 0,8
é Técnica de Parametrização: Interpolar Pesos dos Operadores
é de (70 30) a (50 50)
30. Crossover de 2 Pontos
l Semelhante ao crossover de 1 ponto
l 2 pontos são escolhidos aleatoriamente
l Crossover de 1 ponto não consegue combinar todos os padrões
de dois genitores
P1 1 1 0 1 1 0 0 1 0 1 1 0 1 1
P2 0 0 0 1 0 1 1 0 1 1 1 1 0 0
pontos de corte
P1 1 1 0 1 1 0 0 1 0 1 1 0 1 1
P2 0 0 0 1 0 1 1 0 1 1 1 1 0 0
F1 1 1 0 1 0 1 1 0 1 1 1 0 1 1
F2 0 0 0 1 1 0 0 1 0 1 1 1 0 0
Crossover Uniforme
l A contribuição de cada genitor é decidida
aleatoriamente por um padrão
l Capacidade de combinar quaisquer padrões
P1 1 0 0 1 0 1 1
P2 0 1 0 1 1 0 1
Padrão 1 1 0 1 0 0 1
F1
F2
31. Operadores Independentes
l Determinados GAs podem incorporar diversos operadores
genéticos.
l Operadores não devem ser usados todos, com a mesma
intensidade, a cada fase da evolução ( por ex: mais crossover no
início e mais mutação no final da evolução ).
l Uma roleta sorteia um operador a cada reprodução.
l Pesos (chances) dos operadores, iniciais e finais, e taxa de
interpolação são parâmetros do algoritmo.
OP4
OP3
OP2 OP1
l Módulo de Avaliação
GA3-1
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina o último
Técnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
é Técnica de Seleção de Operadores: Roleta
é Operadores: Crossover 2 pontos
é Mutação
Taxa Mutação: 0,01
Taxa Crossover: 0,7
Técnica de Parametrização: Nenhuma
é Pesos (50 50)
32. l Módulo de Avaliação
GA3-2
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina o último
Técnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Normalização Linear (100 a 1)
Técnica de Parametrização: Nenhuma
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
é Técnica de Seleção de Operadores: Roleta
é Operadores: Crossover Uniforme
é Mutação
Taxa Mutação: 0,01
Taxa Crossover: 0,7
Técnica de Parametrização: Nenhuma
é Pesos (50 50)
Desempenho
l Aspectos importantes:
– convergência do GA
– proximidade dos melhores cromossomas a um mínimo local
– diversidade da população
– valores dos parâmetros do GA
l Exemplo: variação da aptidão dos operadores durante evolução.
30 30 30
25 25 25
20 20 20 66
6 6
15 15 15
6 6 6 6
10 10 10
6 66 6 6
5 6 6 66 5 6 6 5
0 66 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Início: Meio: Fim:
Crossover Crossover Crossover
Mutação Mutação Mutação
33. Interpolação de Parâmetros
l Consiste na variação dos valores dos parâmetros
do GA durante a execução, de modo a alcançar
maior desempenho.
l Parâmetros:
– taxa de crossover
– taxa de mutação
– taxa incremento da normalização da aptidão
– aptidão dos operadores
l Interpolação define:
– valores inicial e final do parâmetro e frequência de ajuste.
l Módulo de Avaliação
GA3-3
Função de Avaliação: Função binária F 6
l Módulo de População
Técnica de Representação: Binária 44 bits ICADEMO
Técnica Inicialização da População: Aleatória
Técnica Eliminação da População: Elimina o último
Técnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
Técnica de Seleção de Genitores: Roleta
Técnica de Aptidão: Normalização Linear (100 a 1)
é Técnica de Parametrização: Interpolar taxa de incremento (de 0,2 a 1,2)
Population Size : 100
Total de Indivíduos: 4000
l Módulo de Reprodução
é Técnica de Seleção de Operadores: Roleta
é Operadores: Crossover Uniforme
é Mutação gráfico
Taxa Mutação: 0,01
Taxa Crossover: 0,7
é Técnica de Parametrização: Interpolar Pesos dos Operadores
é de (70 30) a (50 50)
34.
35. Algoritmos Genéticos Híbridos
q Consiste na construção de um GA inspirado no
“algoritmo de otimização em uso” em determinado
problema (se houver).
Alg.
Alg . Híbrido = Alg. Em Uso + Alg. Genético
Alg. Alg.
q Hibridizar:
– Adotar REPRESENTAÇÃO em uso
– Adaptar OPERADORES
– Adotar HEURÍSTICAS de otimização
Vantagens
q Modelo incorpora o conhecimento no domínio do
problema;
q Resulta num sistema mais familiar para o usuário;
q Algoritmo em uso pode fornecer “sementes” para o
GA, garantindo soluções melhores.
q Novos operadores devem estar alinhados com a
filosofia de GAs: recombinação e mutação
– Crossover: recombinação de sub-partes de indivíduos
– Mutação: variações globais ou locais para manter
agitada a variedade genética
1
36. Representação por Números
Reais
Cromossomas são estruturas contendo números reais.
q Hibridizando com “algoritmo em uso” para a
otimização da função f6 (x,y)
q “Algoritmo em uso” ≡ Busca Exaustiva de x e y reais
•Gera x e y ∈ ℜ aleatoriamente;
•Calcula f6 para o par (x,y);
•Salva (x,y) e f6(x,y);
•Retorna a melhor avaliação se tempo esgotado;
avaliação
•Retorna ao primeiro passo;
Hibridização
q Representação:
Lista de Reais : (x,y)
q Avaliação:
f6(x,y) real
q Inicialização:
Números reais aleatórios
q Operadores Genéticos:
Crossover e Mutação e
Operadores inspirados no problema
2
37. Crossover
q Cromossoma é uma lista de reais: (x,y)
q Crossover de 1 ou 2 pontos ou Uniforme sobre lista:
q Exemplo: Crossover Uniforme Problema com 4 variáveis
P1 ≡ (x1, y1, t 1, z 1) F1 ≡ (x2, y1, t 1, z 2)
➨
P2 ≡ (x2, y2, t 2, z 2) F2 ≡ ( x1, y2, t 2, z 1)
Padr ão ≡ 0 1 1 0
Padrã
Crossover de Média
q Cruzamento específico para o problema
q Se dois cromossomas são promissores, a média de
seus valores reais pode levar a uma melhor solução
P1 ≡ (x1, y1)
➨ F1 ≡ ( ( x1+x2)/2, ( y1+ y2)/2)
(x (y
P2 ≡ (x2, y2)
q A média entre dois valores pode resultar em valores
mais próximos do valor desejado.
3
38. Crossover de Média
q Crossover aritmético é uma combinação linear de
dois vetores (genitores) P1 e P2 na geração t:
F1 = a . P 1 + (1-a) P 2
(1-
F2 = a . P 2 + (1-a) P 1
(1-
q a =cte
=cte : crossover uniforme
q a =f(t) : crossover não-uniforme (a depende
da idade da população)
Mutação
q Mutação de real
– substitui cada número real em um cromossoma por um
número real aleatório (se teste probabilidade=TRUE)
(x1, y1) ➨ (x1, yrand)
q Creep
– busca uma solução próxima através de ajustes
aleatórios em ambas as direções (+ e -)
(x1, y1) ➨ (x1 ± ∆ x, y1± ∆ y)
∆ ≡ pequeno ou grande
4
39. Creep - Método de Ajuste 1
Xt + ∆ (máx - Xt) se bit sorteado =0
q Xt+1 =
Xt - ∆ (Xt - mín) se bit sorteado =1
máx e mín = limites do domínio de x
q ∆ (s) = s . rand
rand = número aleatório ∈ [0, p], p≤ 1
≤
q O ajuste varia com o valor de p :
se p = pequeno ➨ ajuste menor
se p = grande ➨ ajuste maior
Creep - Método de Ajuste 2
Xt + ∆ (t, máx- Xt) se bit sorteado =0
q Xt +1 =
Xt - ∆ (t, Xt -mí n) se bit sorteado =1
t= geração; máx e mín = limites do domínio de x .
q ∆ (t, s) = s . ( 1 - rand (1 - t/T) b )
rand = número aleatório ∈ [0,1]
T = número máximo de gerações
b = grau de dependência com o número da geração
q A probabilidade de ∆ (t, s) ser próximo de zero
pró
aumenta com o número de gerações.
nú gerações.
5
40. Creep - Método de Ajuste 2
∆ (t, s) ∆ (t, s)
s s
t/T=0,50; b=2 t/T=0,90; b=2
1 rand 1 rand
q O operador busca uniformemente no espaço no
início da evolução (t=pequeno), e mais localmente no
final da evolução (t=grande)
q Mód ulo de Av aliação
GA5-1
➩ Função de Avaliação: Função F6 real
q Mód ulo de População
➩ T écnica de Representação: Lista de números reais
➩ T écnica Inicialização da População: Números reais aleatórios
T écnica Eliminação da População: Elimina o último
T écnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
T écnica de Seleção de Genitores: Roleta
T écnica de Aptidão: Normalização Linear (100 a 1)
T écnica de Parametrização: Interpolar taxa de incremento (0,2 a 1,2)
Population Size: 100
Total de Indivíduos: 4000
q Mód ulo de Reprodução
T écnica de Seleção de Operadores: Roleta
➩ Operadores: Crossover Uniforme de Lista
➩ Crossover de Média
➩ Mutação de Número Real
➩ Creep ∆ pequeno
➩ Creep ∆ grande
➩ T écnica de Parametrização: Interpolar Pesos dos Operadores
➩ de (10 40 10 30 10) a (10 20 0 40 30)
6
41. Binária x Reais
q Representação dos genes por números reais (ponto flutuante) é mais
adequada em problemas de otimização de parâmetros com v ariáveis sobre
domínio contínuo;
q Especialmente em grandes domínios onde a representação binária requer um
longo cromossoma:
Ex: 100 v ariáveis, [-500,500], 4 casas decimais ➨ 2400 bits
q Representação por reais é mais rápida na execução;
q Representação por reais of erece maior precisão (depende do computador);
q Desempenho pode ser melhorado com operadores específicos ao problema;
q Representação por reais tem a propriedade que dois pontos próximos um ao
outro no espaço de representação, estão também próximos no espaço do
problema;
q Representação por reais evita Hamming Cliffs.
7
42. Distância de Hamming
q Rep. Binário Valor Real
C1 = 0 1 1 1 1 1 31
C2 = 1 0 0 0 0 0 32
➨ distância = 6
q Rep. Real Valor Real
C1 = 31 31
C2 = 32 32
➨ distância = 1
8
43. GA em Otimização
Combinatorial
q Problemas onde a busca da solução depende da
avaliação de diversas combinações (ORDEM) dos
elementos considerados
– Problem a do Caixeiro Viajante
– Problem as de Planejamento
– Problem as de Cronogram as
– Alocação de Salas
– Grafos: Colorir Particionar, Percorrer
Colorir,
Problema de Colorir o Grafo
índice
I-P 1-5 2-8 3-4
peso
q Regras: 4-9 5-6 6-7
– Colorir os nós do grafo de
modo a maximizar a soma
total dos pesos. 7-13 8-10 9-15
– Pares de nós conectados por
um arco não podem possuir
a mesma cor
1
44. Algoritmo Guloso
q Considera apenas uma das
possíveis soluções, 1-5 2-8 3-4
colorindo os nós em ordem
decrescente de peso.
q Nós em ordem 4-9 5-6 6-7
decrescente de peso:
(9, 7, 8, 4, 2, 6, 5, 1, 3)
q Solução Ótima p/ 1 cor: 7-13 8-10 9-15
(9, 4, 2) ➨ ∑ Pi = 32
Algoritmo Guloso
q Considera apenas uma das
possíveis soluções, 1-5 2-8 3-4
colorindo os nós em ordem
decrescente de peso.
q Nós em ordem 4-9 5-6 6-7
decrescente de peso:
(9, 7, 8, 4, 2, 6, 5, 1, 3)
q Solução Ótima p/ 1 cor: 7-13 8-10 9-15
(9, 4, 2) ➨ ∑ Pi = 32
2
45. Algoritmo Guloso
q Considera apenas uma das
possíveis soluções, 1-5 2-8 3-4
colorindo os nós em ordem
decrescente de peso.
q Nós em ordem 4-9 5-6 6-7
decrescente de peso:
(9, 7, 8, 4, 2, 6, 5, 1, 3)
q Solução Ótima p/ 1 cor: 7-13 8-10 9-15
(9, 4, 2) ➨ ∑ Pi = 32
Algoritmo Guloso
q Considera apenas uma das
possíveis soluções, 1-5 2-8 3-4
colorindo os nós em ordem
decrescente de peso.
q Nós em ordem 4-9 5-6 6-7
decrescente de peso:
(9, 7, 8, 4, 2, 6, 5, 1, 3)
q Solução Ótima p/ 2 cores: 7-13 8-10 9-15
(9, 4, 2) e ( 7, 6, 5)
➨ ∑ Pi = 32 + 26
3
46. Aplicando o Algoritmo Guloso
q Nós em ordem
decrescente de peso: 2-8
1-12
(7, 3, 4, 1, 6, 5, 2)
3-14 6-10
7-15
4-13
5-9
Aplicando o Algoritmo Guloso
q Nós em ordem
decrescente de peso: 2-8
1-12
(7, 3, 4, 1, 6, 5, 2)
q Algoritmo Guloso começa 3-14
7-15 6-10
e para no nó 7
4-13
5-9
4
47. Aplicando o Algoritmo Guloso
q Nós em ordem
decrescente de peso: 2-8
1-12
(7, 3, 4, 1, 6, 5, 2)
q Soluções Ótimas: 3-14
7-15 6-10
– 1 cor: (1, 5, 3)
– 2 cores: (2, 4, 6)
4-13
5-9
Características do Problema
q A modificação dos pesos, número de cores e arcos,
altera radicalmente a solução do problema.
q Estratégias como o algoritmo guloso não funcionam
bem para todos os problemas de colorir o grafo.
q Heurísticas (Ex: a valiar número de arcos ou pesos
de nós vizinhos antes colorir um nó) podem não ser
eficientes para grandes espaços de busca.
q Algoritmos Genéticos oferecem uma solução (sub-
ótima ou ótima) para qualquer problema de colorir o
grafo.
5
48. Componentes de um Algoritmo Genético
1. Problema
2. Representação
3. Decodificação
4. Avaliação
5. Operadores
6. Técnicas
7. Parâmetros
Tentando a Representação
Binária
q Cada nó do grafo é representado por um campo
(gene) no cromossoma:
Símbolo do Campo ≡ Cor do nó
q Podemos usar a representação binária. Para apenas
1 cor :
0 ≡ não colorido 1 ≡ colorido 1-5 2-8 3-4
Cromossoma ≡ 0 1 0 1 1 0 0 0 1
Nó 1 2 3 4 5 6 7 8 9
4-9 5-6 6-7
7-13 8-10 9-15
6
49. Avaliando Representação
Binária
q C é um cromossoma ILEGAL
ILEGAL.
q Inicialização, crossover e mutação vão gerar soluções
ilegais.
q Seria necessário um módulo reparador de cromossomas
q Representação binária permite soluções
sub-ótimas: 1-5 3-4
2-8
C≡ 010100000
Nó 1 2 3 4 5 6 7 8 9
4-9 5-6 6-7
q C ainda poderia ter o nó 6, ou 8 ou 9
colorido e ser legal. 7-13 8-10 9-15
Representação Baseada em
Ordem
q GA Híbrido ≡ Técnicas de GA + Algoritmo Guloso
q Algoritmo Guloso:
– Cria uma lista de nós (ordem decrescente de peso)
– Constrói a solução: atribui ao próximo nó da lista uma cor
legal
q Algoritmo Genético
– Cria uma lista (nós em ordem qualquer)
– Constrói a solução: atribui ao próximo nó da lista uma cor
legal
7
50. Exemplo
q Cromossoma = lista
C1 ≡(9, 7, 8, 4, 2, 6, 5, 1, 3) 1-5 2-8 3-4
C2 ≡(2, 3, 7, 4, 9, 6, 5, 1, 8)
C3 ≡(4, 5, 1, 2, 9, 6, 8, 7, 3)
4-9 5-6 6-7
q C1 C2 C3 resultam na
solução ótima p/ 1 cor:
(9, 4, 2) ➨ ∑ Pi = 32 7-13 8-10 9-15
q Informação codificada é a
ordem relativa dos n ós
nó
Operadores Genéticos
q Testando o Crossover de 1 ponto:
P1 ≡(9, 7, 8, 4, 2, 6, 5, 1, 3)
P2 ≡(2, 6, 7, 4, 9, 3, 5, 1, 8)
F1 ≡(9, 7, 8, 4, 2, 3, 5, 1, 8)
F2 ≡(2, 6, 7, 4, 9, 6, 5, 1, 3)
q Descendentes são cromossomas ilegais: nós
repetidos e ausência de determinados nós.
q Crossover e mutação devem garantir uma lista válida
de todos os nós
8
51. Modelagem do Algoritmo Genético
1. Problema
• Problema de Colorir o Grafo
2. Representação
• Permutação dos índices dos nós
3. Decodificação
• Da esquerda para direita, atribui uma cor válida ao próximo nó
4. Avaliação
• ∑ Pi
5. Operadores
• Crossover Uniforme Baseado em Ordem
q Mutação por Embaralhamento
Crossover Uniforme Baseado
em Ordem
q Dados dos genitores P1 e P2, , criar descendente F1;
q Gere um padrão de bits do mesmo comprimento que os
genitores;
q Preencha F1, copiando o genitor P1 nas posições em que
o padrão é igual a “1”;
q Faça uma lista dos elementos de P1 associados com os
bits “0” do padrão;
q Permute estes elementos de modo que eles apareçam na
mesma ordem em que aparecem em P2 ;
q Preencha as lacunas de F1 com os elementos ordenados
no passo anterior;
9
52. Exemplo
P1 1 2 3 4 5 6 7 8
P2 8 6 4 2 7 5 3 1
Padrão 0 1 1 0 1 1 0 0
F1 - 2 3 - 5 6 - -
F2 8 - - 2 - - 3 1
Elementos de P 1 associados a “ 0”: 1, 4, 7, 8. Ordenados segundo P 2 : 8, 4, 7, 1
Elementos de P 2 associados a “ 1”: 6, 4, 7, 5. Ordenados segundo P 1 : 4, 5, 6, 7
F1 8 2 3 4 5 6 7 1
F2 8 4 5 2 6 7 3 1
Mutação por Embaralhamento
q Seleciona aleatoriamente uma sub-lista do
cromossoma
q Embaralha sub-lista
1 2 3 4 5 6 7 8 9
1 2 3 6 4 8 7 5 9
10
53. q Mód ulo de Av aliação
GA6-1
➩ Função de Avaliação: Avaliador do problema de
colorir o grafo ∑ Pi
q Mód ulo de População
➩ T écnica de Representação: Lista de nós
➩ T écnica Inicialização da População: Permutação aleatória
T écnica Eliminação da População: Elimina o último
T écnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5
T écnica de Seleção de Genitores: Roleta
T écnica de Aptidão: Normalização Linear (100 a 1)
T écnica de Parametrização: Interpolar taxa de incremento (0,2 a 1,2)
Population Size: 100
Total de Indivíduos: 4000
q Mód ulo de Reprodução
T écnica de Seleção de Operadores: Roleta
➩ Operadores: Crossover Uniforme Baseado em Ordem
➩ Mutação por Embaralhamento
➩ T écnica de Parametrização: Interpolar Pesos dos Operadores
➩ de (60 40) a (30 70)
Problema de Colorir o Grafo
q Grafo com 100 nós ➨ 100! permutações diferentes
q 3 cores possíveis
q Listagem descreve o grafo através de:
(índice_nó, peso (lista de nós conectados))
(1 62 (20 58 74 82))
(2 183 (6 12 20 28 29 32 51 53 70 79 84 94))
(3 247 (18 24 33 50 88 92))
....................
...........
(99 254 (29 52 53 67 75 80 84 89))
(100 145 (15 20 22 29 34 44 60 87))
11
54. Busca Aleatória
q Muitas vezes não temos como comparar os
resultados obtidos por um GA.
q Nestes casos, podemos usar a busca exaustiva
como base de comparação.
q Gera-se uma curva média de desempenho para a
busca aleatória com o mesmo número de tentativas
que o GA.
q Um modelo de GA desempenhando abaixo da busca
exaustiva deve prova velmente conter erros de
modelagem e/ou programação.
Busca Aleatória
procedure busca_aleatória
begin
t=0 ; primeira geração
inicializa P(t) ; população inicial aleatória
av alia P(t) ; calcula f(i) p/ cada indivíduo
salv a_melhor de P(t) ; salva melhor indivíduo
while (not total_indivíduos) do
begin
t =t + 1 ; próxima geração
inicializa P(t) ; população aleatória
av alia P(t) ; calcula f(i) p/ cada indivíduo
compara_melhor P(t) com melhor P(t-1)
salv a_melhor
end
end
12
55. Resultados do GA 6-1
6-
q GA 6-1 é em média 7,4% que a busca aleatória após
4000 tentativas:
– média GA 6-1= 10300 média busca aleatória=9600
10300; 9600
q GA 6-1 é em média 7,4% que a Algoritmo Guloso:
– máximo do Alg. Guloso= 9590
q GA 6-2 com pop_size=1200 e total_indivíduos=10000
encontrou avaliação=10594
10594
13
56. GA em Otimização de
Planejamento
q Planejamento envolve:
Procedimentos
Recursos
Tarefas
Tempo
Objetivos
Restrições e condições
q Otimizar:
– “Alocar , no tempo, os recursos para a execução das
tarefas, respeitando as restrições e condições, de modo
a alcançar os objetivos do problema.”
Exemplos
– Problema do Caixeiro Viajante
– Otimização da Distribuição (Rota de veículos)
– Alocação de Salas; Timetabling
– Planejamento de Vôos de Cias Aéreas
– Otimização de Estoque/Produção
– Otimização da Produção Industrial
1
57. Variáveis Típicas do
Planejamento
q Restrições de Recursos
– número de instâncias de cada recurso/máquina;
– diferenças entre as instâncias (velocidade, tempo máximo de
operação, capacidade etc).
– paradas de manutenção
– máquinas com programação especial: laminadores de aço (largura,
espessura e dureza)
q Restrições Temporais
– horário de funcionamento preferenciais;
– tempo de transporte de material entre máquinas
q Reajuste das Máquinas
– tarefas exigem setup de máquinas (automático ou manual).
Variáveis Típicas do
Planejamento (cont.)
q Prioridade
– tarefas possuem prioridades diferentes (prazo de entrega,
emergência, manutenção, tipo de cliente etc).
q Estoque
– matéria prima: disponibilidade, ordem de desempilhamento
q Reprogramação
– reprogramação das máquinas em casos de contingências
q Precedência
– certas tarefas não podem ser programadas antes que outras
tenham terminado.
2
58. Características do
Planejamento
q Há muitas condições e restrições que não podem ser ser
expressas matematicamente;
q Métodos de busca podem falhar devido aos requisitos de tempo;
q Podar o espaço de busca reduz o tempo de execução mas limita
desempenho;
q Heurísticas são úteis para acelerar a busca;
q GA é um técnica adequada a problemas mal estruturados como
os de planejamento.
Problema Simples de
Planejamento de Produção
q 90 tarefas: (a, b, c, d, e, f................)
q cada tarefa possui um peso associado a sua
importância (lucro, prioridade, benefício etc)
q 30 recursos: apenas uma instância de cada recurso
q tarefas requerem de 1 a 3 horas para execução
q programação para um total de 40 horas de produção
q algumas tarefas têm restrições nas primeiras 12 horas
do planejamento
q Objetivo: maximizar a soma dos pesos das tarefas
planejadas nas primeiras 40 horas
3
59. Exemplo de Tarefas: a..u
Tempo de Execução de cada tarefa: 1, 2 ou 3 horas
Recursos requeridos por cada tarefa: “ . ” = recurso não requerido
“ a” = recurso requerido
Tarefas Tempo Execução Recursos Utilizados pelas Tarefas
a 3 . a . . . . a a . . . a a . . . . . . . a . . . . .
b 1 . . b . . . . b . b . . b . b b . . b . b . . . . .
c 3 . . c . c c . . c . . . . c . . c c . c . c c . . .
d 3 . . d . . . d . . d . . d . . . . . . . . d . . . .
e 3 . . . . e e e . . e . . . . . . . e . . . . . . . .
f 1 . f . f f f . . f . . . . . . . . . . . f . f f f .
g 3 g . g . . . . g . . . . g . g g g . . . . g g . g g
h 2 h . . . h . h . h . h h . . . . . . . . . . . . . .
i 1 . . . i . . . . . . i i i . . . . . i . . i . . . .
j 1 . . . . . . . . . . . . . . . . . . . . . . . . j .
k 1 . . k k . k . k . . . . . k k . . . . . . k . . . .
l 1 l . . . l l . . l . . . l . . l . l l . . . l . . l
m 3 . . . . m . m . . . m m . . . . . . . . . . . . m .
n 2 . . . . . . . . . . . . . . n n . . n n . . . . . .
o 3 . o o . . . . . o . . . . . o . . o o . . o . . . .
p 1 . . . . p . . . . . p . p p . . . . p . . p . p . .
q 3 . . . q . . . q . . . . q . . q . . q . q . . q . q
r 1 r . . . . . . . . . r r . r . . . . . r . . . . . .
s 3 . . . s s . . . s s . . . . . s . . . . . s . . . .
t 1 t . . . . . . . . . . . . . t . . t t . . . . . . .
u
Exemplo de Planejamento
q Planejamento parcial das tarefas em ordem alfabética
Tempo
Hora . a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
1 a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
2 . a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
3 . . b . . . . b . b . . b . b b . . b . b . . . . . . . .
4 . f d f f f d . f d . . d . . . . . . . f d f f f . f . f d
5 . . d . . . d . . d . . d . . . . . . . . d . . . . . . . d
6 . . d . . . d . . d . . d . . . . . . . . d . . . . . . . d
7 g . g . e e e g . e . . g . g g g e . . . g g . g g e . . e
8 g . g . e e e g . e . . g . g g g e . . . g g . g g e . . e
9 g . g . e e e g . e . . g . g g g e . . . g g . g g e . . e
10 . f . f f f . . f . . . . . . . . . . . f . f f f . f . f .
11 g . g . . . . g . . . . g . g g g . . . . g g . g g . . . .
4
60. Modelagem do Algoritmo Genético
1. Problema
2. Representação
3. Decodificação
4. Avaliação
5. Operadores
6. Técnicas
7. Parâmetros
Representação
q Cromossoma ≡ permutação (lista) de tarefas
P1 = (a, b, c, d, e, . . . . t)
P2 = (d, s, e, h, g, . . . . i)
q cromossoma codifica a ordem e a vez (posição) nas
quais as tarefas serão planejadas
q requer decodificador ≡ construtor de planejamentos
legais
5
61. Decodificador do Cromossoma
q Constrói soluções LEGAIS
q Concentra todo o conhecimento no domínio do
problema: restrições, recursos, horários, etc.
q Regra Principal:
“Se uma tarefa está planejada na hora t, uma outra
tarefa não pode ser planejada em t, exceto se a
interseção dos recursos requisitados é vazia”
Decodificador do Cromossoma
1 Pega a primeira tarefa da lista;
2 Coloca a tarefa no planejamento a partir de t=0;
3 Pega próxima tarefa e procura colocá-la no
planejamento, considerando as restrições presentes,
a partir de t=0 até t=40 horas;
4 Vai para 3 se não terminou a lista.
6
62. P = (t, c, s, a)
Hora
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . . 1
2
3
4
5
6
7
8
9
10
11
P = (t, c, s, a)
Hora
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . . 1
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 2
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 3
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 4
5
6
7
8
9
10
11
7
63. P = (t, c, s, a)
Hora
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . . 1
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 2
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 3
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 4
. . . s s . . . s s . . . . . s . . . . . s . . . . s . . . 5
. s s . . . s s . . . . . s . . . . . s . . . . s . . . 6
. s s . . . s s . . . . . s . . . . . s . . . . s . . . 7
8
9
10
11
P = (t, c, s, a) ➨ 7 horas
Hora
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . . 1
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . . 2
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . . 3
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 4
. . . s s . . . s s . . . . . s . . . . . s . . . . s . . . 5
. s s . . . s s . . . . . s . . . . . s . . . . s . . . 6
. s s . . . s s . . . . . s . . . . . s . . . . s . . . 7
8
9
10
11
8
64. P = (t, a, s, c)
Hora
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . . 1
2
3
4
5
6
7
8
9
10
11
P = (t, a, s, c)
Hora
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . . 1
. a . . . . a a . . . a a . . . . . . . a . . . . . . . . . 2
. a . . . . a a . . . a a . . . . . . . a . . . . . . . . . 3
4
5
6
7
8
9
10
11
9
65. P = (t, a, s, c)
Hora
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . . 1
. a . s s . a a s s . a a . . s . . . . a s . . . . s . . . 2
. a . s s . a a s s . a a . . s . . . . a s . . . . s . . . 3
4
5
6
7
8
9
10
11
P = (t, a, s, c) ➨ 6 horas
Hora
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . . 1
. a . s s . a a s s . a a . . s . . . . a s . . . . s . . . 2
. a . s s . a a s s . a a . . s . . . . a s . . . . s . . . 3
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 4
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 5
. . c . c c . . c . . . . c . . c c . c . c c . . . . . . . 6
7
8
9
10
11
10
66. Avaliação
q Uma possível função considera:
– pesos das tarefas ➨ maximizar a soma das planejadas
– restrições das tarefas ➨ penalizar se violação
– período ➨ não planejar se além de t=40 horas
Ai = ∑ pt - ∑ pn + ∑ pp + ∑ pv/2
t n p v
– pt = pesos de todas as tarefas
– pn = pesos das tarefas não planejadas
– pp = pesos das tarefas planejadas
– pv = pesos das tarefas que violaram restrição
q Ai ≥ 0; Ai = 0 ➨ nenhuma planejada; Ai = 2 ∑ pt ➨ todas
Avaliando Operadores
q Mutação Baseada em Ordem
q Mutação Baseada em Posição
q Mutação por Embaralhamento
q Crossover Baseado em Ordem
q Crossover Baseado em Posição
q Recombinação de Adjacências
Aspectos importantes
– Ordem Relativa
• tarefas anteriores podem impedir o planejamento das tarefas
posteriores
– Posição da Tarefa
• tarefas no início da lista têm maior chance de serem planejadas
11
67. Avaliação de Desempenho
q Avaliação dos Operadores isoladamente:
– só mutação
– só crossover
q Combinando os Melhores Operadores
q Busca Aleatória para comparar resultados
– gera uma lista de tarefas e avalia
q Espaço de Representação = 90! = 10138
q Média de 50 Experimentos de 3000 Indivíduos:
média dos melhores a cada instante
Busca Aleatória
12
68. Mutação Baseada em Ordem
q duas tarefas são selecionadas aleatoriamente e a
segunda é colocada na frente da primeira
q Exemplo:
(a b c d e f)
a (a b c d e f)
⇓ ⇓
(e a b c d f)
e (a d b c e f)
q operador preserva ordem relativa de parte do
cromossoma
Mutação Baseada em Posição
q troca as posições de duas tarefas escolhidas
aleatoriamente
(a b c d e f)
a (a b c d e f)
⇓ ⇓
(e b c d a f)
e (a d c b e f)
q operador não preserva a ordem relativa das posições
selecionadas em relação as tarefas do meio
13
69. Mutação por Embaralhamento
q embaralha sub-lista escolhida aleatoriamente
(a | b c d | e f) (a b c | d e f |)
⇓ ⇓
(a | c d b | e f) (a b c | f d e |)
q operador tem maior poder de dispersão da
população
Resultados da Mutação
q Testes sem crossover e com elitismo
q Mutação é mais efetiva que busca aleatória
q Mutação baseada em ordem é mais efetiva
q Embaralhamento é melhor que busca aleatória
q Operadores de mutação são heurísticos, por isso são
melhores que busca aleatória
14
70. Resultados da Mutação
Crossover de Ordem
q Posições são selecionadas aleatoriamente
q Ordem das tarefas nas posições selecionadas em um genitor é
imposta nas tarefas correspondentes no outro genitor
P1 = a b c d e f g h i j
P2 = e i b d f a j g c h
posições ✶ ✶ ✶ ✶
F1 = a _ c d e _ _ h _ j
F2 = _ i _ d f a j g _ _
F1 = a i c d e b f h g j
F2 = b i c d f a j g e h
15
71. Crossover de Posição
q Posições são selecionadas aleatoriamente
q Posições das tarefas em um genitor são impostas nas tarefas
correspondentes no outro genitor
P1 = a b c d e f g h i j
P2 = e i b d f a j g c h
posições ✶ ✶ ✶ ✶
F1 = _ i b _ f _ _ g _ _
F2 = _ b c _ e _ _ h _ _
F1 = a i b c f d e g h j
F2 = i b c d e f a h j g
Recombinação de Adjacências
q Crossover combina a informação de adjacências entre as
tarefas presentes nos genitores
P1 = a b c d e f
P2 = b d c a e f
P1 ➩ ab bc cd de ef fa informação de adjacência
P2 ➩ bd dc ca ae ef fb informação de adjacência
F = b c d e a f
F ➩ bc cd de ea af fb informação de adjacência
16
72. Recombinação de Adjacências
q Operador foi originalmente criado para o problema
do Caixeiro Viajante (TSP)
A cidades
3Km
7Km
ADBCE D B E
1Km
4Km 3Km
C
q No TSP temos:
– informação de adjacência é importante
– direção (ordem) entre 2 cidades não importa (A B = B A)
Resultados do Crossover
q Testes sem mutação e com elitismo (rápida evolução
no início, nada acontece após 1000 indivíduos)
q Crossover de ordem apresenta resultado equivalente
ao de posição: são de fato o mesmo operador !!
q Recombinação de Adjacências é equivalente a busca
aleatória no problema de planejamento
17
73. Resultados do Crossover
Combinando Crossover e
Mutação
1 Mutação de Ordem (50%) + Crossover de Ordem (50%)
2 Mutação de Ordem (50%) + Crossover de Posição (50%)
3 Mutação de Ordem (50%) + Recomb. de Adjacências (50%)
q Curvas menos inclinadas no início e menos planas no final
q Variando os pesos do crossover e mutação, pode-se melhorar o
desempenho: aumentando-se a mutação e diminuindo-se o
crossover, lentamente, durante a evolução.
18
74. Crossover (50%) + Mutação (50%)
Variando-se os Pesos de
Crossover + Mutação
19
75. Fundamentos Matemáticos
Como e porque Algoritmos
Genéticos funcionam?
Teoria de Schema (John Holland 1975)
“Schema é um padrão genético que descreve um conjunto
de cromossomas do espaço de busca com similaridades
em certas posições”
Schema
q Buscando padrões de jogadores de seleção
Sexo Idade Gosto Profissão
Gostam de
Médico
Futebol
Jogadores
da Seleção > 30 anos Feminino
Masculino
76. Aptidão dos Padrões
Sexo Idade Gosto Profissão Gostam de
Futebol Médico
Aptidão
Masculino I>30 X X baixa Jogadores
da Seleção30 anos
>
Feminino
Feminino X X X baixa
Masculino
Masculino I<30 X X boa
X X Sim Médico baixa
Representação de um
Schema
q Utiliza-se um símbolo adicional:
✴ = don’t care
q Exemplo: H= 1 1 ✴
H é um padrão que descreve todos os cromossomas do espaço
2 3 , cujos os dois primeiros bits são iguais a ‘1’, não importando
os demais.
77. Interpretação
q f(x) = x2 , x ∈ 23
q Seja o schema:
schema: H= 1 1 ✴
q H refere-se a conjectura que a razão pela qual 111 e
110 são bons cromossomas (ou não), são os dois
bits mais significativos iguais a ‘1’, não importando os
demais.
q Para esta conjectura “podem” existir numa
determinada população dois representantes: 110 e
111.
q 110 e 111 “pertencem” a H= 1 1 ✴
Número de Schemata
q Seja o espaço de busca KL onde:
K ≡ número de elementos do alfabeto de representação
L ≡ comprimento do cromossoma
➨ Total de Schemata = (K+1) L
q Exemplo: K=2; L=3
23 = 8 pontos
Total de Schemata = 27
78. Ordem de um Schema
q Ordem ou Especificidade O(H)
O(H) ≡ número de posições fixas (diferentes de *)
presentes no schema
H= 0 1 1 ✴ 1 ✴ ✴ O(H) =4
H= 0 ✴ ✴ ✴ ✴ ✴ ✴ O(H) =1
Comprimento de um Schema
q δ(H) ≡ distância entre a primeira e a última posições
específicas (diferentes de *) no schema.
H= 0 1 1 ✴ 1 ✴ ✴ δ(H) =4
H= 0 ✴ ✴ ✴ ✴ ✴ ✴ δ(H) =0
80. Representação Geométrica
Schemata de Ordem 1: Planos
110 111
✶ 1✶
010 011
1✶ ✶
✶✶ 0 ✶ ✶1
0✶ ✶
100
101
✶ 0✶
000 001
Indivíduos Pertencentes ao
um Schema
q Um indivíduo pertence a um schema se para todas as
L posições o símbolo do indivíduo é igual ao símbolo
do schema, exceto nas posições onde o símbolo do
schema é don’t care (✴).
q Um schema possui 2L-O(H) indivíduos.
q Exemplo: ✴ 1 ✴ possui 23-1 indivíduos
0 10
0 11
1 10
1 11