Professional Documents
Culture Documents
1. Problema
2. Representação
3. Decodificação
4. Avaliação
5. Operadores
6. Técnicas
7. Parâmetros
1. PROBLEMA
2. REPRESENTAÇÃ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íni máxi
Precisão è 1/10p
Representação:
k1 bits k2 bits ... kt bits
x1 x2 xt
onde,
2k i - 1
se xibin=(0 0 ... 0) xi real = míni
se xibin=(1 1 ... 1) xi real = máxi
REPRESENTAÇÃO BINÁRIA
3. DECODIFICAÇÃO
f(i)
n
∑ f(j)
j= 1
5. OPERADORES
1. Crossover
2. Mutação
3. Inversão
4. Operadores específicos ao problema
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.
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++,
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
Função F6
Função F6(x,y)
1
F6(x,0)
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
-100 - 50 0 50 100
x
Características da F6
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
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
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
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
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
Crossover
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Ú
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
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
Característica da Curva de Desempenho
30000
25000
20000
15000
10000
5000
0
1
5
9
13
17
21
25
29
33
37
41
45
49
Gerações
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
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
Medida de Aptidão
l O que ocorre se alterarmos a F6 para:
Medida de Aptidão
l O que ocorre se alterarmos a F6 para:
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 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
Exemplo Comparativo
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.
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
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
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)
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
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)
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
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)
Algoritmos Genéticos Híbridos
● Hibridizar:
– Adotar REPRESENTAÇÃO em uso
– Adaptar OPERADORES
– Adotar HEURÍSTICAS de otimização
Vantagens
1
Representação por Números
Reais
Cromossomas são estruturas contendo números reais.
•Gera x e y ∈ ℜ aleatoriamente;
•Calcula f6 para o par (x,y);
•Salva (x,y) e f6(x,y);
•Retorna a melhor avaliaçã
avaliaçãoo se tempo esgotado;
•Retorna ao primeiro passo;
Hibridização
● Representação:
Lista de Reais : (x,y)
● Avaliação:
f6(x,y) real
● Inicialização:
Números reais aleatórios
● Operadores Genéticos:
Crossover e Mutação e
Operadores inspirados no problema
2
Crossover
Crossover de Média
3
Crossover de Média
F1 = a . P 1 + (1-
(1-a) P 2
F2 = a . P 2 + (1-
(1-a) P 1
● a =cte
=cte : crossover uniforme
● a =f(t) : crossover não-uniforme (a depende
da idade da população)
Mutação
● 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)
● 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
Creep - Método de Ajuste 1
Xt + ∆ (máx - Xt) se bit sorteado =0
● Xt+1 =
Xt - ∆ (Xt - mín) se bit sorteado =1
● ∆ (s) = s . rand
rand = número aleatório ∈ [0, p], p≤
≤1
● O ajuste varia com o valor de p :
se p = pequeno ➨ ajuste menor
se p = grande ➨ ajuste maior
5
Creep - Método de Ajuste 2
∆ (t, s) ∆ (t, s)
s s
1 rand 1 rand
● 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)
6
Binária x Reais
● 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;
● 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
● Representação por reais é mais rápida na execução;
● Representação por reais of erece maior precisão (depende do computador);
● Desempenho pode ser melhorado com operadores específicos ao problema;
● 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;
● Representação por reais evita Hamming Cliffs.
7
Distância de Hamming
8
GA em Otimização
Combinatorial
● Problemas onde a busca da solução depende da
avaliação de diversas combinações (ORDEM) dos
elementos considerados
índice
I-P 1-5 2-8 3-4
peso
1
Algoritmo Guloso
Algoritmo Guloso
2
Algoritmo Guloso
Algoritmo Guloso
3
Aplicando o Algoritmo Guloso
● 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
● Nós em ordem
decrescente de peso: 2-8
1-12
(7, 3, 4, 1, 6, 5, 2)
4-13
5-9
4
Aplicando o Algoritmo Guloso
● Nós em ordem
decrescente de peso: 2-8
1-12
(7, 3, 4, 1, 6, 5, 2)
4-13
5-9
Características do Problema
5
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
● Cada nó do grafo é representado por um campo
(gene) no cromossoma:
Símbolo do Campo ≡ Cor do nó
● 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
6
Avaliando Representação
Binária
● C é um cromossoma ILEGAL
ILEGAL.
● Inicialização, crossover e mutação vão gerar soluções
ilegais.
● Seria necessário um módulo reparador de cromossomas
● 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
Representação Baseada em
Ordem
● GA Híbrido ≡ Técnicas de GA + Algoritmo Guloso
● 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
● 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
Exemplo
● 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
● C1 C2 C3 resultam na
solução ótima p/ 1 cor:
(9, 4, 2) ➨ ∑ Pi = 32 7-13 8-10 9-15
● Informação codificada é a
ordem relativa dos nó
n ós
Operadores Genéticos
● 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)
8
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
● Mutação por Embaralhamento
9
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
F1 8 2 3 4 5 6 7 1
F2 8 4 5 2 6 7 3 1
1 2 3 4 5 6 7 8 9
1 2 3 6 4 8 7 5 9
10
● Mód ulo de Av aliação
GA6-1
➩ Função de Avaliação: Avaliador do problema de
colorir o grafo ∑ Pi
● 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
● 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)
(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
Busca Aleatória
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
Resultados do GA 6-
6-1
13
GA em Otimização de
Planejamento
● Planejamento envolve:
Procedimentos
Recursos
Tarefas
Tempo
Objetivos
Restrições e condições
● 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
1
Variáveis Típicas do
Planejamento
● 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)
● Restrições Temporais
– horário de funcionamento preferenciais;
– tempo de transporte de material entre máquinas
● Reajuste das Máquinas
– tarefas exigem setup de máquinas (automático ou manual).
Variáveis Típicas do
Planejamento (cont.)
● Prioridade
– tarefas possuem prioridades diferentes (prazo de entrega,
emergência, manutenção, tipo de cliente etc).
● Estoque
– matéria prima: disponibilidade, ordem de desempilhamento
● Reprogramação
– reprogramação das máquinas em casos de contingências
● Precedência
– certas tarefas não podem ser programadas antes que outras
tenham terminado.
2
Características do
Planejamento
● Há muitas condições e restrições que não podem ser ser
expressas matematicamente;
● Métodos de busca podem falhar devido aos requisitos de tempo;
● Podar o espaço de busca reduz o tempo de execução mas limita
desempenho;
● Heurísticas são úteis para acelerar a busca;
● GA é um técnica adequada a problemas mal estruturados como
os de planejamento.
Problema Simples de
Planejamento de Produção
● 90 tarefas: (a, b, c, d, e, f................)
● cada tarefa possui um peso associado a sua
importância (lucro, prioridade, benefício etc)
● 30 recursos: apenas uma instância de cada recurso
● tarefas requerem de 1 a 3 horas para execução
● programação para um total de 40 horas de produção
● algumas tarefas têm restrições nas primeiras 12 horas
do planejamento
● Objetivo: maximizar a soma dos pesos das tarefas
planejadas nas primeiras 40 horas
3
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
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
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
P1 = (a, b, c, d, e, . . . . t)
P2 = (d, s, e, h, g, . . . . i)
5
Decodificador do Cromossoma
Decodificador do Cromossoma
6
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
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
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
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
Avaliação
● 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
Avaliando Operadores
● Mutação Baseada em Ordem
● Mutação Baseada em Posição
● Mutação por Embaralhamento
● Crossover Baseado em Ordem
● Crossover Baseado em Posição
● 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
Avaliação de Desempenho
Busca Aleatória
12
Mutação Baseada em Ordem
13
Mutação por Embaralhamento
(a | b c d | e f) (a b c | d e f |)
⇓ ⇓
(a | c d b | e f) (a b c | f d e |)
Resultados da Mutação
14
Resultados da Mutação
Crossover de Ordem
● Posições são selecionadas aleatoriamente
● 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
Crossover de Posição
● Posições são selecionadas aleatoriamente
● 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
● 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
Recombinação de Adjacências
A cidades
3Km
7Km
ADBCE D B E
1Km
4Km 3Km
● 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
17
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%)
18
Crossover (50%) + Mutação (50%)
Variando-se os Pesos de
Crossover + Mutação
19
Fundamentos Matemáticos
Schema
● Buscando padrões de jogadores de seleção
Gostam de
Médico
Futebol
Jogadores
da Seleção > 30 anos Feminino
Masculino
Aptidão dos Padrões
Feminino X X X baixa
Masculino
Representação de um
Schema
● Utiliza-se um símbolo adicional:
✴ = don’t care
● Exemplo: H= 1 1 ✴
Número de Schemata
● Seja o espaço de busca KL onde:
K ≡ número de elementos do alfabeto de representação
L ≡ comprimento do cromossoma
23 = 8 pontos
Total de Schemata = 27
Ordem de um Schema
● 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
● δ(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
Representação Geométrica
Schemata de Ordem 3: Pontos
110 111
010 011
100
101
000 001
Representação Geométrica
Schemata de Ordem 2: Linhas
110 11✶
111
✶ 10 ✶ 11
01✶
010 011
1✶ 0 1✶ 1
0✶ 0 0✶ 1
100 10✶
101
✶ 00
✶ 01
110 111
✶ 1✶
010 011
1✶ ✶
✶✶ 0 ✶ ✶1
0✶ ✶
100
101
✶ 0✶
000 001
Indivíduos Pertencentes ao
um Schema
● 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 (✴).
● Um schema possui 2L-O(H) indivíduos.
● Exemplo: ✴ 1 ✴ possui 23-1 indivíduos
0 10
0 11
1 10
1 11
Indivíduos Pertencentes ao
Schema
Sch ema I ndi ví du os
1 0 00 0 00
2 0 01 0 01
3 00 * 0 00 0 01
4 0 10 0 10
5 0 11 0 11
6 01 * 0 10 0 11
7 0* 0 0 00 0 10
8 0* 1 0 01 0 11
9 0 ** 0 00 0 01 0 10 0 11
10 1 00 1 00
11 1 01 1 01
12 10 * 1 00 1 01
13 1 10 1 10
14 1 11 1 11
15 11 * 1 10 1 11
16 1* 0 1 00 1 10
17 1* 1 1 01 1 11
18 1 ** 1 00 1 01 1 10 1 11
19 *0 0 0 00 1 00
20 *0 1 0 01 1 01
21 * 0* 0 00 0 01 1 00 1 01
22 *1 0 0 10 1 10
23 *1 1 0 11 1 11
24 * 1* 0 10 0 11 1 10 1 11
25 * *0 0 00 0 10 1 00 1 10
26 * *1 0 01 0 11 1 01 1 11
27 *** 0 00 0 01 0 10 0 11 1 00 10 1 11 0 11 1
Teorema Fundamental de GA
Schemata permitem analizar o efeito global da reprodução e
dos operadores genéticos.
● Efeito da Seleção
● Efeito do Crossover
● Efeito da Mutação
Efeito da Seleção
i∈ H n
m(H, t+1) = n . ∑ fi / ∑ fj
Efeito do Crossover
● Ex: A vai cruzar com outro genitor; o que acontece a H1 e H2?
Ponto de crossover
A 0 1 1 1 0 0 0
H1 * 1 * * * * 0
H2 * * * 1 0 * *
Efeito da Mutação
● Seja, pm a probabilidade de uma posição sofrer
mutação.
● 1- pm é a probabilidade de sobrevivência.
● H tem O(H) posições fixas
● Assim, a probabilidade de sobrevivência do schema é:
(1-- pm)O(H)
(1
● Sabendo que pm « 1, então
O(H).p
O(H). pm ]
Após Após
Seleção Cros sover
c om p(H) O(H) Repres . f(H) m(H,t +1) real Repres. m(Ht +1) real Repres.
=∑
i∈H
f i / m(H,t) = m(H, t) . f(H)/ f médio = m(H, t) . f(H) / f médio[1 -p c .δ(H) / (L-
1)]
Processando Schemata
Número P opulaç ão x f(x) P rob. Número Result . Pares de Geni tores e Nova População x f(x )
I nic ial Inteiro x2 S el eç ão Des cen. Roleta Pont os de Corte Inteiro x2
Após Após
Seleção Cros sover
c om p(H) O(H) Repres . f(H) m(H,t +1) real Repres. m(Ht +1) real Repres.
Após S eleç ão
Real
S chemat a comp(H) O(H) Repres ent a f(H) m(H,t +1) Representant es
H1 1 * * * * 0 1 10 {1,2,3,4, 822,2 10, 0000001 10 {1,2,3, 4, 5, 6, 7,8,9,10}
H2 * 1 0 * * 1 2 0 {} 0 0 0 {}
H3 1 * * * 0 4 2 8 {1,2, 3, 5, 6 856,5 8,33373875 10 {1,2,3, 4, 5, 6, 7,8,9,10}
H4 4 0 0 {} 0 0 0 {}
H5 4 0 0 {} 0 0 0 {}
Efeito da Cardinalidade
x Binário Nã o Bi nário Aptidão
0 0 0 0 0 A 0
1 0 0 0 1 B 1
2 0 0 1 0 C 4
3 0 0 1 1 D 9
4 0 1 0 0 E 16
5 0 1 0 1 F 25
6 0 1 1 0 G 36
7 0 1 1 1 H 49
8 1 0 0 0 I 64
9 1 0 0 1 J 81
10 1 0 1 0 K 100
11 1 0 1 1 L 121
12 1 1 0 0 M 144
13 1 1 0 1 N 169
14 1 1 1 0 O 196
15 1 1 1 1 P 225
Espa ço 16 16
Cardi nalida de 2 16
Sche mata 81 17
Conclusões
Princípios de Escolha da
Representação
● Representatividade
– deve representar todo o espaço de busca relevante ao
problema
● Schemata
– deve prestigiar a formação de schemata curtos e de baixa
ordem
● Alfabeto
– deve utilizar um alfabeto mínimo que permita a expressão
natural do problema
Desempenho de Algoritmos
Genéticos
Temas relacionados:
● Convergência
– Decepção
– Epistasia
– Multimodalidade
– Ruído
● Medidas de Convergência
– Medidas de Monitoração
– Medidas de Previsão
● Algoritmos Alternativos
– Algoritmos Messy
Convergência
Como caracterizar o sucesso ou insucesso de um GA?
● GAs não garantem a convergência para um ponto ótimo
em problemas de otimização.
● GAs podem encontrar soluções sub-ótimas em espaço
complexos que satisfaçam as expectativas.
● Convergência é fortemente influenciada pela
modelagem: representação, decodificação, avaliação,
operadores, técnicas e parâmetros.
● Outros fatores que afetam a convergência:
– Decepção
– Epistasia
Decepção
● Ocorre quando, em uma função, o ponto ótimo está
cercado pelos piores pontos.
● Os blocos construtores são desorientados, devido à
função ou código usados, e há dificuldade de se encontrar
boas soluções (longo tempo).
● Por definição: Decepção ocorre quando os melhores
schemata de ordem k não instanciam o ponto ótimo.
● Problemas artificiais são criados para avaliar o
desempenho de GAs.
Problema Mínimo de
Decepção (PMD)
● Problema que viola a hipótese dos blocos contrutores:
– existem schemata curtos, de baixa ordem e com alta aptidão
que levam a schemata incorretos de mais alta ordem.
● Two-bit Problem
– Criado por Goldberg (1987) para avaliar o desempenho de GAs
11 é o ponto ótimo, então
f(11) > f(10) ; f(11) > f(01) e f(11) > f(00)
● Para não haver decepção em competição de schemata
de ordem 1 devemos satisfazer às duas condições:
1) f(1*) ≥ f(0*) e 2) f(*1) ≥ f(*0)
Problema Mínimo de
Decepção (PMD)
● Considerando todos valores positivos temos:
f(00) + f(01) > f(10) + f(11) ➨ f(01) - f(10) > f(11) - f(00)
● Como
f(11) - f(00) > 0 ➨ f(01) - f(10) > 0 ➨ f(01) > f(10)
● Analogamente
f(00) - f(10) > f(11) - f(01)
● Como
f(11) - f(01) > 0 ➨ f(00) - f(10) > 0 ➨ f(00) > f(10)
● Resta saber a relação entre f(00) e f(01):
– Tipo I: f(01) > f(00) ➨ f(11)>f(01)>f(00)>f(10)
– Tipo II: f(00) > f(01) ➨ f(11)>f(00)>f(01)>f(10)
Representação Gráfica do
PMD
Tipo I Tipo II
Aptidão
Aptidão
Atrator
Decepcionante
01 01
11 11
00 00
10 10
Epistasia
● Biologia: Interação funcional de genes: quando um gene
não responsável por uma característica influencia o
resultado desta característica, diz-se que os genes são
epistáticos.
● Em GAs: quando há interdependência entre genes.
● Desse modo, schemata de menor ordem não contém toda
informação significativa.
● Schema significativo precisa representar também genes
dependentes.
● Construção de blocos deve partir de schemata de maior
ordem.
Multimodalidade
● A e xistência de vários ótimos locais promove a
ocorrência de atratores que afastam a convergência
do ponto ótimo. Exemplo: F6(x,y)
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
Ruído
● Representações Ruidosas:
– quando é impossível representar de maneira exata o objeto
desejado.
● Funções Ruidosas:
– quando a função de avaliação retorna diferentes avaliações
para o mesmo cromossoma.
● Exemplo:
Pcross, Pmut, GAP
Algoritmos Alternativos
● Algoritmos que buscam melhor desempenho
(convergência) através de métodos não convencionais
em algoritmos genéticos.
● Algoritmo Messy (Goldberg)
– Idealizado de modo a relaxar a rigidez posicional da
representação tradicional.
– Aumenta as chances de aproximar genes interdependentes que
estão inicialmente distantes.
– Adequado para problemas epistáticos.
Algoritmo Messy
● Representação:
– cada gene é representado por 2 valores: (locus, alelo).
Ex: Cromossoma [0 1 0 0 1 1] é representado por
[ (1 0) (2 1) (3 0) (4 0) (5 1) (6 1) ]
● Operadores:
– Cut: escolhe o ponto de corte e corta cromossomas
[ (1 0) (2 1) (3 0) (4 0) ] [ (5 1) (6 1) ]
– Splice: concatena os cromossomas
[ (1 0) (2 1) (3 0) (4 0) (5 1) (6 1) ]
– A aplicação do Splice não é vinculada a realização do Cut.
Messy
● Consequências:
– Independência posicional dos genes
– Sobre-especificação: mais de um gene com o mesmo locus
– Sub-especificação: determinado locus não está representado
● Exemplo:
[ (1 0) (4 0) (3 1) (5 0) (2 1) ] e [ (2 0) (1 1) (3 0) (5 1) (4 1) ]
● Operador Cut:
[ (1 0) (4 0) (3 1) ] [ (5 0) (2 1) ] e [ (2 0) (1 1) (3 0) (5 1) ] [ (4 1) ]
● Operador Slice:
[ (1 0) (4 0) (3 1) (2 0) (1 1) (3 0) (5 1) ] ➨ sobre-especificado
[ (5 0) (2 1) (4 1) ] ➨ sub-especificado
Computação Evolucionária
em Machine Learning
Programas capazes de construir novo conhecimento
ou de aperfeiçoar conhecimento existente, usando
informação de entrada.
Ambiente
do •Aplicações:
Problema •Jogos
•Robótica
•Biologia e Medicina
Informação
•Engenharia
Novo Aprendizado
•Ciências Sociais
Conhecimento
por
Computador
Jogador A Jogador A
Restrições:
Características do DP
l jogo não cooperativo para 2 jogadores
l pode ser disputado em torneio entre vários jogadores
l Axelrod promoveu 2 torneios mundiais de estratégias p/ DP
l Estratégia vencedora: Tit_for_Tat (Anatol Rapoport)
– coopera na primeira jogada e depois repete a titude do oponente na
jogada anterior.
– “Coopera no primeiro encontro e a seguir retribui na mesma moeda”
l Axelrod usou Algoritmos Genéticos para evoluir novas
estratégias; as 8 melhores estratégias (humanas) dos
torneios serviram para avaliar os indivíduos (ambiente de
avaliação estático).
Modelagem do GA
l Indivíduo (Estratégia)
– um indivíduo do GA representa uma estratégia de um jogador cuja
atitude é função dos 3 últimos resultados (história).
l Representação
– Ao final de cada jogada podemos ter 4 possibilidades:
• Os dois jogadores delataram: DD 11 Punishment
• Apenas o jogador A delatou: DC 10 Temptation
• Apenas o jogador B delatou: CD 01 Sucker
• Nenhum jogador delatou: CC 00 Reward
– Nas últimas 3 jogadas há: 4 x 4 x 4= 64 histórias diferentes
– Cromossoma possui 64 bits: 1 ou 0 (D ou C)
– Cada bit define a atitude do jogador para cada uma das 64 histórias
– Posição do bit identifica a história
Representação
Posição 0 1 2 ...... 63 6 bits
História CCCCCC DCCCCC CDCCCC ...... DDDDDD
Base 2 000000 100000 010000 ...... 111111
Base 4 RRR TRR SRR ...... PPP
String 0 1 1 ...... 1 010000
Decisão C D D ...... D
coopera delata delata ...... delata (SRR)4 = 2
Modelagem do GA
l Avaliação
– cada indivíduo (estratégia) da população joga com cada um
dos 8 oponentes um torneio de 151 partidas
m
Ai = ∑ pi,j / m pi,j : pontos do jogador i na partida j
m: total de partidas contra todos oponentes
l Operadores Genéticos
– crossover e mutação sobre binários
l Seleção
– avaliação na média è 1 cruzamento
– avaliação acima da média è 2 cruzamentos
– avaliação abaixo da média è 0 cruzamentos
Resultados
l Indivíduos evoluiram regras de comportamento a partir da
interação com outros indivíduos.
l 40 rodadas de 50 gerações de 20 indivíduos.
l O GA evoluiu estratégias que venceram Tit-for-Tat.
l Cromossomas de aptidão média eram tão bons quanto as
melhores heurísticas.
l Características das estratégias:
– traem no 1° e no 2° movimentos;
– sabem pedir desculpas e entrar em cooperação;
– têm comportamento diferenciado para indivíduos traidores e não-
traidores
Padrões encontrados
l Maioria dos indivíduos apresentava os seguintes padrões:
l C após (CC) (CC) (CC)
– “Não deixei o barco virar, continue cooperando”.
l D após (CC) (CC) (CD)
– “Aceite a provocação, traia depois que outro traiu por nada”.
l C após (CD) (DC) (CC)
– “Aceite as desculpas, coopere após cooperação ser restabelecida”.
l C após (DC) (CC) (CC)
– “Coopere quando cooperação mútua é restabelecida depois de
uma agressão”.
l D após (DD) (DD) (DD)
– “Aceite a provocação, traia após três agressões”.
Segundo GA
l Axelrod desenvolveu um segundo experimento,
permitindo que os indivíduos jogassem uns contra os
outros e contra si mesmos (ambiente de avaliação
dinâmico).
l Nas primeiras gerações, estratégias cooperativas não
encontravam reciprocidade e tendiam a desaparecer.
l Após 10 a 20 gerações, o panorama se revertia: GA
encontrava estratégias de cooperação recíproca, que
puniam traição.
l Essas estratégias não foram derrotadas pelas menos
cooperativas e conseguiram proliferar nas gerações
seguintes.