Download - Algoritmo Genetico
1. Problema1. Problema2. Representação2. Representação3.3. DecodificaçãoDecodificação4. Avaliação4. Avaliação5. Operadores5. Operadores6. Técnicas6. Técnicas7. Parâmetros7. Parâmetros
Componentes de um Algoritmo GenéticoComponentes de um Algoritmo Genético
1. PROBLEMA1. 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. REPRESENTAÇÃO2. REPRESENTAÇÃO
® 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çãoevolução da solução
® ser compatível com os operadores (crossover e mutação)
representação adequada sucesso, evoluçãosucesso, evolução
Representação é fundamental na modelagem de um GA e deve:
2. REPRESENTAÇÃO2. REPRESENTAÇÃO
Método de Solução ↔
–– NuméricoNumérico–– OrdemOrdem–– GrupoGrupo–– InteiroInteiro–– MistoMisto
Representação
–– Binário, RealBinário, Real–– ListaLista–– VetorVetor–– InteiroInteiro–– ExEx: Real e : Real e
ListaLista
BINÁRIO CODIFICANDO REALBINÁRIO CODIFICANDO REAL
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
(máxi-míni)x10p diferentes soluções
domínio de xi
Precisão Precisão èè 1/101/10pp
O binário é um contador de unidades de precisão
Decodificação para Real:
xi real = xi bin . ________ + míni(máxi-míni)
2ki - 1
se xibin=(0 0 ... 0) xi real = mínise xibin=(1 1 ... 1) xi real = máxi
Representação:
k1 bits k2 bits kt bits
x1 x2 xt
...
2ki (máxi-míni)x10p ≥
onde,
Precisão = (máxi-míni)2ki - 1
REPRESENTAÇÃO BINÁRIAREPRESENTAÇÃ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ÇÃO3. 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
ADBCE A→D→B→C→E(Σdist.=18)
∈
A
C
B ED7Km
3Km4Km1Km
3Kmcidades
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.
4. AVALIAÇÃO4. AVALIAÇÃO
f i
f jj
n
( )
( )=∑
1
5. OPERADORES5. OPERADORES
1.1. CrossoverCrossover
2. Mutação2. Mutação
3. Inversão3. Inversão
4. Operadores específicos ao problema4. Operadores específicos ao problema
Atuam no processo de criação de novos indivíduos (descendentes):
6. TÉCNICAS6. 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ÂMETROS7. 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éticoDesenvolvimento de um Algoritmo Genético
procedure algoritmo_genéticobegin
t = 0 ; primeira geraçãoinicializa P(t) ; população inicial aleatóriaavalia P(t) ; calcula f(i) p/ cada indivíduowhile (not condição_parada) dobegin
t = t + 1 ; próxima geraçãoseleciona P(t) de P(t-1)altera P(t) ; crossover e mutação
avalia P(t) ; calcula f(i) p/ cada indivíduoend
end
Sistemas de DesenvolvimentoSistemas de Desenvolvimento
l ICADEMOl Genesis, Genesysl WinGenesisl GENOCOPl GeneHunterl Evolver 4.0l Escapadel Sugall Bibliotecas específicas (C, Pascal, etc)
– TNA/C++,
Algoritmos GenéticosAlgoritmos Genéticos
l Exemplos GA1-1 a GA6-1l 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çãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA1-1
Função F6Função F6
Função Função F6(x,y)F6(x,y)
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1F6(x,0)
-100 - 50 0 50 100
x
Características da F6Características da F6
l Objetivo: Maximizar F6l Uma única solução ótima: F6(0,0)=1l Difícil de otimizar: vários mínimos locais
F6(x,y) = 0,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x2 + y2 ))2
RepresentaçãoRepresentação
l Binária codificando reall 2 Variáveis: x, yl Domínio: x,y ∈ [-100, +100]l Precisão: 4 a 5 casas decimaisl log2 2x106 ≤ Ki ≤ log2 2x107
l Ki=22 Ô total de 44 bits
ExemploExemplol Cromossoma:
00001010000110000000011000101010001110111011
l Dividido em x e y:0000101000011000000001 1000101010001110111011
l Convertidos para base 10:165377 e 2270139
l Multiplicados por: 200/222-17,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çãoMó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âmetrosParâ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âmetrosParâ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âmetrosParâ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 RoletaSeleção pela Roleta
Método Método por por ComputadorComputador
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)
Objetivo: Selecionar indivíduos aleatoriamente, proporcionando maiores chances de reprodução aos mais aptos.
Exemplo da RoletaExemplo da Roleta
1 2 3 4 5 6 7 8 9 108 2 17 7 2 12 11 7 3 78 10 27 34 36 48 59 66 69 76
Cromossoma
Aptidão
∑ Ai
23 49 76 13 1 27 573 7 10 3 1 3 7
Número Aleatório
Selecionado
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çãoMó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
MutaçãoMutaçã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
1 0 1 0 0,801 0,102 0,266 0,373 1 0 1 01 1 0 0 0,128 0,96 0,005 0,84 1 1 1 00 0 1 0 0,768 0,473 0,894 0,001 0 0 1 1
Cromossoma Número Aleatório Novo Cromossoma
CrossoverCrossover
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
1 0 1 1 0 10 0 1 1 0 0
1 0 1 1 0 00 0 1 1 0 1
P1
P2
F1
F2
ponto de corte aleatórioÚ
Evolução X ConvergênciaEvoluçã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 diversidadena população
Análise de DesempenhoAnálise de Desempenho
l Melhor de um Experimento (valor)l Curva dos Melhores por Geraçãoll Curva da Média de Melhores de Vários Curva da Média de Melhores de Vários
ExperimentosExperimentos
Média de ExperimentosMédia de Experimentosl 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 seguintel GAs são estocásticos: desempenho varia a cada experimentol 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çãoAe(t): aptidão do melhor indivíduo em t no experimento eA(t): média em #_Experimentos das aptidões dos melhores
indivíduos a cada geração t
Média de ExperimentosMédia de Experimentos
Média de Experimentos
0,00
0,50
1,00
1 2 3 4 5
Experimentos
Ava
liaçã
o
ExperimentosMelhores nas gerações1a. 2a. 3a. 4a. Média
ger 1 0,6 0,5 0,8 0,5 0,60ger 2 0,7 0,5 0,8 0,7 0,68ger 3 0,7 0,6 0,9 0,7 0,73ger 4 0,8 0,6 0,9 0,8 0,78
Curva da Média de Experimentos
0
5000
10000
15000
20000
25000
300001 5 9 13 17 21 25 29 33 37 41 45 49
Gerações
Apt
idão
A(t
)
Característica da Curva de DesempenhoCaracterística da Curva de Desempenho
•bom desempenho no início da evolução
•pouco ou nenhum desempenho no final
Curva Média de Experimentos para Curva Média de Experimentos para F6(x,y)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 20,82435787 00,99995432 4
ICADEMOICADEMO
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA1-1
ICADEMO
Novas Técnicas e ParâmetrosNovas Técnicas e Parâmetros
l Técnicas de Aptidãol Elitismol Reprodução Steady Statel Ajuste dos Parâmetros
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA2-1 a GA2-5
Medida de AptidãoMedida de Aptidãol O que ocorre se alterarmos a F6 para:
F6 (x,y) = 0,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x2 + y2 ))2
Medida de AptidãoMedida de Aptidãol O que ocorre se alterarmos a F6 para:
F6Elevada(x,y) = 999,5 - (sen √ x2 + y2 )2 - 0,5
(1,0 + 0,001 (x2 + y2 ))2
l Formato F6 = formato F6 elevadal Melhor cromossoma para F6 = melhor para F6 elevadal Avaliação de F6 elevada = avaliação F6 + 999
è Todavia, GA 1-1 para F6Elevada não apresenta desempenho algum.è PORQUE?
Aptidão = AvaliaçãoAptidã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çãobest 0,979worst 0,066average 0,514
l Dbest = 1,905l Dworst = 0,128è forte pressão seletiva em
favor do melhor
l F6Elevada avaliaçãobest 999,979worst 999,066average 999,514
l Dbest = 1,0005l Dworst = 0,9996è melhor e pior cromossomas
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.
.
Técnicas de AptidãoTé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
WindowingWindowing
l Obtenha a avaliação mínima na população.l Atribua a cada cromossoma I uma aptidão igual a:
Ai = (fi - 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
Normalização LinearNormalizaçã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 ComparativoExemplo Comparativo
6 5 4 3 2 1200 9 8 7 4 1200 9 8 7 4 160 50 40 30 20 10
101 81 61 41 21 1199 8 7 6 3 0
Rank dos cromossomas
Avaliação original
Aptidão é avaliação
Normalização Linear, taxa=10
Normalização Linear, taxa=20
Windowing
• 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
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA2-1
ICADEMO
ElitismoElitismo
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çãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA2-2
ICADEMO
Algoritmo Genético Algoritmo Genético TradicionalTradicional
l Representação Binárial Reprodução com substituição da populaçãol Elitismol Normalização Linearl Crossover de 1 ponto e Mutação
– Algoritmo de partida em aplicações– Apresenta bom desempenho em vários problemas
Reprodução Reprodução Steady Steady StateState
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 é trocadal valor de GAP determina relação entre exploitation e
exploration
120110100999581766758444236222019171085
386
121885817
12011010099958176675844423622386
121885817
12112011010099958881766758584442383622176
avaliações de P(t)
crie nnovos
substitua os npiores
avaliações de P(t+1)
Exemplo de Exemplo de Steady StateSteady StateC19C18C17C16C15C14C13C12C11C10C9C8C7C6C5C4C3C2C1
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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
GA2-3
ICADEMO
Steady State Steady State sem Duplicadossem 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 desprezadosl Maior overhead para teste de igualdade
Novos Técnicas, Parâmetros Novos Técnicas, Parâmetros e Operadorese Operadores
l Crossover de 2 pontosl Crossover Uniformel Operadores Independentes e Seleção
de Operadoresl Interpolação dos Parâmetros
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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)
GA3-1 a GA 3-3
Crossover Crossover de 2 Pontosde 2 Pontos
l Semelhante ao crossover de 1 pontol 2 pontos são escolhidos aleatoriamentel Crossover de 1 ponto não consegue combinar todos os padrões
de dois genitores
1 1 0 1 1 0 0 1 0 1 1 0 1 10 0 0 1 0 1 1 0 1 1 1 1 0 0
P1
P2
F1
F2
1 1 0 1 0 1 1 0 1 1 1 0 1 10 0 0 1 1 0 0 1 0 1 1 1 0 0
1 1 0 1 1 0 0 1 0 1 1 0 1 10 0 0 1 0 1 1 0 1 1 1 1 0 0
P1
P2
pontos de corte
Crossover Crossover UniformeUniforme
l A contribuição de cada genitor é decidida aleatoriamente por um padrão
l Capacidade de combinar quaisquer padrões
1 0 0 1 0 1 10 1 0 1 1 0 1
1 1 0 1 0 0 1
F1
F2
P1P2
Padrão
Operadores IndependentesOperadores 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.
OP1
OP3
OP2
OP4
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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)
GA3-1
ICADEMO
l Módulo de AvaliaçãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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)
GA3-2
ICADEMO
DesempenhoDesempenho
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.
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Início:CrossoverMutação
Meio:CrossoverMutação
Fim:CrossoverMutação
66 6666 6
666
6 6
66
666
66
6
6
Interpolação de ParâmetrosInterpolação de Parâmetros
l Consiste na variação dos valores dos parâmetrosdo 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çãoFunção de Avaliação: Função binária F 6
l Módulo de PopulaçãoTécnica de Representação: Binária 44 bits
Técnica Inicializaçãoda 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,01
Taxa Crossover: 0,7
é Técnica de Parametrização: Interpolar Pesos dos Operadores
é de (70 30) a (50 50)
GA3-3
ICADEMO
gráfico
11
Algoritmos Genéticos HíbridosAlgoritmos Genéticos Híbridos
● Consiste na construção de um GA inspirado no “algoritmo de otimização em uso” em determinado problema (se houver).
AlgAlg. Híbrido = . Híbrido = AlgAlg. Em Uso + . Em Uso + AlgAlg. Genético. Genético
● Hibridizar:– Adotar REPRESENTAÇÃO em uso– Adaptar OPERADORES– Adotar HEURÍSTICAS de otimização
VantagensVantagens
● Modelo incorpora o conhecimento no domínio do problema;
● Resulta num sistema mais familiar para o usuário;● Algoritmo em uso pode fornecer “sementes” para o
GA, garantindo soluções melhores.● 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
22
Representação Representação por por Números Números ReaisReais
Cromossomas são estruturas contendo números reais.Cromossomas são estruturas contendo números reais.
● Hibridizando com “algoritmo em uso” para a otimização da função f6 (x,y)
● “Algoritmo em uso” ≡ Busca Exaustiva de x e y reais
••Gera x e y Gera x e y ∈∈∈∈∈∈∈∈ ℜℜℜℜℜℜℜℜ aleatoriamente;aleatoriamente;••Calcula f6 para o par (x,y);Calcula f6 para o par (x,y);••Salva (x,y) e f6(x,y);Salva (x,y) e f6(x,y);••Retorna a melhor avaliaRetorna a melhor avaliaçãção se tempo esgotado;o se tempo esgotado;••Retorna ao primeiro passo;Retorna ao primeiro passo;
HibridizaçãoHibridizaçã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
33
CrossoverCrossover
● Cromossoma é uma lista de reais: (x,y)(x,y)● Crossover de 1 ou 2 pontos ou Uniforme sobre lista:● Exemplo: Crossover Uniforme Problema com 4 variáveis
PP1 1 ≡≡≡≡≡≡≡≡ (x(x11, y, y11, t, t11, z, z11)) FF1 1 ≡≡≡≡≡≡≡≡ (x(x22,, yy11, t, t11, z, z22))➨➨➨➨➨➨➨➨
PP2 2 ≡≡≡≡≡≡≡≡ (x(x22, y, y22, t, t22, z, z22)) FF2 2 ≡≡≡≡≡≡≡≡ ((xx11, y, y22, t, t22,, zz11))PadrPadrããoo≡≡≡≡≡≡≡≡ 0 1 1 00 1 1 0
Crossover Crossover de Médiade Média
●● Cruzamento específico para o problemaCruzamento específico para o problema●● Se dois cromossomas são promissores, a média de Se dois cromossomas são promissores, a média de
seus valores reais pode levar a uma melhor soluçãoseus valores reais pode levar a uma melhor soluçãoPP1 1 ≡≡≡≡≡≡≡≡ (x(x11, y, y11))
➨➨➨➨➨➨➨➨ FF1 1 ≡≡≡≡≡≡≡≡ ( (( (xx11++xx22)/2, ()/2, (yy11++ yy22)/2))/2)PP2 2 ≡≡≡≡≡≡≡≡ (x(x22, y, y22))
● A média entre dois valores pode resultar em valores mais próximos do valor desejado.
44
CrossoverCrossover de Médiade Média
● Crossover aritmético é uma combinação linear de dois vetores (genitores) PP1 1 e PP22 na geração t:
FF11 = a . P= a . P11 + (1+ (1--a) Pa) P22FF22 = a . P= a . P22 + (1+ (1--a) Pa) P11
●● a =a =ctecte : crossover uniforme●● a =f(t)a =f(t) : crossover não-uniforme (a depende
da idade da população)
MutaçãoMutação
●● Mutação de realMutação de real– substitui cada número real em um cromossoma por um
número real aleatório (se teste probabilidade=TRUE)(x(x11, y, y11)) ➨➨➨➨➨➨➨➨ (x(x11, , yyrandrand))
●● CreepCreep– busca uma solução próxima através de ajustes
aleatórios em ambas as direções (+ e -)(x(x11, y, y11)) ➨➨➨➨➨➨➨➨ (x(x1 1 ±±±±±±±± ∆∆∆∆∆∆∆∆x, yx, y11±±±±±±±± ∆∆∆∆∆∆∆∆y)y)∆∆∆∆∆∆∆∆ ≡≡≡≡≡≡≡≡ pequeno ou grandepequeno ou grande
55
CreepCreep -- Método de Ajuste 1Método de Ajuste 1XXt t + + ∆∆∆∆∆∆∆∆ ((mmááxx -- XXtt)) se bit sorteado =0
●● XXtt+1 +1 ==XXtt -- ∆∆∆∆∆∆∆∆ ((XXtt -- mmíínn) ) se bit sorteado =1
máx e mín = limites do domínio de x
●● ∆∆∆∆∆∆∆∆ (s) = s . (s) = s . randrandrand = número aleatório ∈ [0, p], p≤≤≤≤ 1
●● O ajuste varia com o valor de O ajuste varia com o valor de pp::se p = pequeno ➨ ajuste menor
se p = grande ➨ ajuste maior
CreepCreep -- Método de Ajuste 2Método de Ajuste 2XXt t + + ∆∆∆∆∆∆∆∆ (t, (t, mmááxx-- XXtt)) se bit sorteado =0
●● XXtt+1 +1 ==XXt t -- ∆∆∆∆∆∆∆∆ (t, (t, XXtt --mmíínn) ) se bit sorteado =1
t= geração; máx e mín = limites do domínio de x.
●● ∆∆∆∆∆∆∆∆ (t, s) = s . ( 1 (t, s) = s . ( 1 -- randrand (1 (1 -- tt////////T)T) b 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
●● A probabilidade de A probabilidade de ∆∆∆∆∆∆∆∆ (t, s) ser pr(t, s) ser próóximo de zero ximo de zero aumenta com o naumenta com o núúmero de geramero de geraçõções.es.
66
CreepCreep -- Método de Ajuste 2 Método de Ajuste 2
randrand●● O operador busca uniformemente no espaço no O operador busca uniformemente no espaço no
início da evolução (t=pequeno), e mais localmente no início da evolução (t=pequeno), e mais localmente no final da evolução (t=grande)final da evolução (t=grande)
ss∆∆∆∆∆∆∆∆ (t, s)(t, s)
11
tt////////T=0,50; b=2T=0,50; b=2
ss∆∆∆∆∆∆∆∆ (t, s)(t, s)
tt////////T=0,90; b=2T=0,90; b=2
11 randrand
● Módulo de Av aliação➩ Função de Avaliação: Função F6 real
● Módulo de População➩ Técnica de Representação: Lista de números reais➩ Técnica Inicialização da População: Números reais aleatóriosTécnica Eliminação da População: Elimina o últimoTécnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5Técnica de Seleção de Genitores: RoletaTé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: 100Total de Indivíduos: 4000
● Módulo de ReproduçãoTé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)
GA5-1
77
Binária x ReaisBiná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 bits2400 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.
88
Distância de Distância de HammingHamming
● Rep. Binário Valor Real
CC11 = 0 1 1 1 1 1= 0 1 1 1 1 1 31 31
CC22 = 1 0 0 0 0 0= 1 0 0 0 0 0 3232
➨➨➨➨➨➨➨➨ distância = 6distância = 6
● Rep. Real Valor Real
CC11 = 31= 31 3131
CC22 = 32= 32 3232
➨➨➨➨➨➨➨➨ distância = 1distância = 1
1
GA em Otimização GA em Otimização CombinatorialCombinatorial
● Problemas onde a busca da solução depende da avaliação de diversas combinações (ORDEM) dos elementos considerados
– Problema do Caixeiro Viajante– Problemas de Planejamento– Problemas de Cronogramas– Alocação de Salas–– Grafos: ColorirGrafos: Colorir, Particionar, Percorrer
Problema de Colorir o GrafoProblema de Colorir o Grafo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
● Regras:– Colorir os nós do grafo de
modo a maximizar a soma total dos pesos.
– Pares de nós conectados por um arco não podem possuir a mesma cor
I-P peso
índice
2
Algoritmo GulosoAlgoritmo Guloso
● Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
● Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
● Solução Ótima p/ 1 cor:(9, 4, 2) ➨ ∑ Pi = 32
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Algoritmo GulosoAlgoritmo Guloso
● Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
● Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
● Solução Ótima p/ 1 cor:(9, 4, 2) ➨ ∑ Pi = 32
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
3
Algoritmo GulosoAlgoritmo Guloso
● Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
● Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
● Solução Ótima p/ 1 cor:(9, 4, 2) ➨ ∑ Pi = 32
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Algoritmo GulosoAlgoritmo Guloso
● Considera apenas uma das possíveis soluções, colorindo os nós em ordem decrescente de peso.
● Nós em ordem decrescente de peso:(9, 7, 8, 4, 2, 6, 5, 1, 3)
● Solução Ótima p/ 2 cores:(9, 4, 2) e ( 7, 6, 5) ➨ ∑ Pi = 32 + 26
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
4
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
● Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
● Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
● Algoritmo Guloso começae para no nó 7
5
Aplicando o Algoritmo GulosoAplicando o Algoritmo Guloso
2-8
7-15
1-12
3-14
4-135-9
6-10
● Nós em ordem decrescente de peso:(7, 3, 4, 1, 6, 5, 2)
● Soluções Ótimas:– 1 cor: (1, 5, 3)– 2 cores: (2, 4, 6)
Características do ProblemaCaracterísticas do Problema
● A modificação dos pesos, número de cores e arcos, altera radicalmente a solução do problema.
● Estratégias como o algoritmo guloso não funcionam bem para todos os problemas de colorir o grafo.
● Heurísticas (Ex: avaliar 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.
● Algoritmos Genéticos oferecem uma solução (sub-ótima ou ótima) para qualquer problema de colorir o grafo.
6
Componentes de um Algoritmo GenéticoComponentes de um Algoritmo Genético
1. Problema1. Problema2. 2. RepresentaçãoRepresentação3. Decodificação3. Decodificação4. Avaliação4. Avaliação5. Operadores5. Operadores6. Técnicas6. Técnicas7. Parâmetros7. Parâmetros
Tentando a Representação Tentando a Representação BináriaBiná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
Cromossoma ≡ 0 1 0 1 1 0 0 0 1Nó 1 2 3 4 5 6 7 8 9
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
7
Avaliando Representação Avaliando Representação BináriaBinária
● C é um cromossoma ILEGALILEGAL.● 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:C ≡ 0 1 0 1 0 0 0 0 0
Nó 1 2 3 4 5 6 7 8 9
● C ainda poderia ter o nó 6, ou 8 ou 9 colorido e ser legal.
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
Representação Baseada em Representação Baseada em OrdemOrdem
● 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
8
ExemploExemplo
1-5
9-158-107-13
4-9 5-6 6-7
2-8 3-4
● Cromossoma = listaC1 ≡(9, 7, 8, 4, 2, 6, 5, 1, 3)C2 ≡(2, 3, 7, 4, 9, 6, 5, 1, 8)C3 ≡(4, 5, 1, 2, 9, 6, 8, 7, 3)
● C1 C2 C3 resultam na solução ótima p/ 1 cor:(9, 4, 2) ➨ ∑ Pi = 32
● Informação codificada é a ordem relativa dos nordem relativa dos nóóss
Operadores GenéticosOperadores 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, 88,, 4, 2, 3, 5, 1, 88)F2 ≡(2, 66, 7, 4, 9, 66, 5, 1, 3)
● Descendentes são cromossomas ilegais: nós repetidos e ausência de determinados nós.
● Crossover e mutação devem garantir uma lista válida de todos os nós
9
Modelagem do Algoritmo GenéticoModelagem do Algoritmo Genético
1. Problema1. Problema•• Problema de Colorir o GrafoProblema de Colorir o Grafo
2. Representação2. Representação•• Permutação dos índices dos nósPermutação dos índices dos nós
3. Decodificação3. Decodificação•• Da esquerda para direita, atribui uma cor válida ao próximo nóDa esquerda para direita, atribui uma cor válida ao próximo nó
4. Avaliação4. Avaliação•• ∑ Pi
5. Operadores5. Operadores•• Crossover Crossover Uniforme Baseado em Ordem Uniforme Baseado em Ordem ●● Mutação porMutação por EmbaralhamentoEmbaralhamento
Crossover Crossover Uniforme Baseado Uniforme Baseado em Ordemem Ordem
● Dados dos genitores P1 e P2, , criar descendente F1;● Gere um padrão de bits do mesmo comprimento que os
genitores;● Preencha F1, copiando o genitor P1 nas posições em que
o padrão é igual a “1”;● Faça uma lista dos elementos de P1 associados com os
bits “0” do padrão;● Permute estes elementos de modo que eles apareçam na
mesma ordem em que aparecem em P2 ;● Preencha as lacunas de F1 com os elementos ordenados
no passo anterior;
10
ExemploExemplo
1 2 3 4 5 6 7 88 6 4 2 7 5 3 1
0 1 1 0 1 1 0 0
P1
P2
Padrão
- 2 3 - 5 6 - -8 - - 2 - - 3 1
F1
F2
8 2 3 4 5 6 7 18 4 5 2 6 7 3 1
F1
F2
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
Mutação porMutação por EmbaralhamentoEmbaralhamento
● Seleciona aleatoriamente uma sub-lista docromossoma
● Embaralha sub-lista
1 2 3 4 5 6 7 8 9
1 2 3 6 4 8 7 5 9
11
● Módulo de Av aliação➩ Função de Avaliação: Avaliador do problema de
colorir o grafo ∑∑∑∑ Pi
● Módulo de População➩ Técnica de Representação: Lista de nós➩ Técnica Inicialização da População: Permutação aleatóriaTécnica Eliminação da População: Elimina o últimoTécnica de Reprodução: Steady State s/ duplicados
Gap Testar de 5 em 5Técnica de Seleção de Genitores: RoletaTé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: 100Total de Indivíduos: 4000
● Módulo de ReproduçãoTé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)
GA6-1
Problema de Colorir o GrafoProblema de Colorir o Grafo
● Grafo com 100 nós ➨➨➨➨ 100! permutações diferentes● 3 cores possíveis● 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))
12
Busca AleatóriaBusca Aleatória
● Muitas vezes não temos como comparar os resultados obtidos por um GA.
● Nestes casos, podemos usar a busca exaustiva como base de comparação.
● Gera-se uma curva média de desempenho para a busca aleatória com o mesmo número de tentativas que o GA.
● Um modelo de GA desempenhando abaixo da busca exaustiva deve provavelmente conter erros de modelagem e/ou programação.
Busca AleatóriaBusca Aleatóriaprocedure busca_aleatóriabegin
t = 0 ; primeira geraçãoinicializa P(t) ; população inicial aleatóriaav alia P(t) ; calcula f(i) p/ cada indivíduosalv a_melhor de P(t) ; salva melhor indivíduo
while (not total_indivíduos) dobegin
t = t + 1 ; próxima geraçãoinicializa P(t) ; população aleatóriaav alia P(t) ; calcula f(i) p/ cada indivíduocompara_melhor P(t) com melhor P(t-1)salv a_melhor
endend
13
Resultados do GA 6Resultados do GA 6--11
● GA 6-1 é em média 7,4% que a busca aleatória após 4000 tentativas:– média GA 6-1= 1030010300; média busca aleatória=96009600
● GA 6-1 é em média 7,4% que a Algoritmo Guloso:– máximo do Alg. Guloso= 95909590
● GA 6-2 com pop_size=1200 e total_indivíduos=10000 encontrou avaliação=1059410594
1
GA em Otimização de GA em Otimização de PlanejamentoPlanejamento
● Planejamento envolve:
● Otimizar: –– “Alocar , no tempo, os recursos para a execução das “Alocar , no tempo, os recursos para a execução das
tarefas, respeitando as restrições e condições, de modo tarefas, respeitando as restrições e condições, de modo a alcançar os objetivos do problema.”a alcançar os objetivos do problema.”
ProcedimentosProcedimentosRecursosRecursosTarefasTarefasTempoTempoObjetivos Objetivos Restrições e condiçõesRestrições e condições
ExemplosExemplos
– 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
2
Variáveis Típicas do Variáveis Típicas do Planejamento Planejamento
●● Restrições de RecursosRestriçõ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 TemporaisRestrições Temporais
– horário de funcionamento preferenciais;– tempo de transporte de material entre máquinas
●● Reajuste das MáquinasReajuste das Máquinas– tarefas exigem setup de máquinas (automático ou manual).
Variáveis Típicas do Variáveis Típicas do Planejamento Planejamento (cont.)(cont.)
●● PrioridadePrioridade– tarefas possuem prioridades diferentes (prazo de entrega,
emergência, manutenção, tipo de cliente etc).●● EstoqueEstoque
– matéria prima: disponibilidade, ordem de desempilhamento●● ReprogramaçãoReprogramação
– reprogramação das máquinas em casos de contingências●● PrecedênciaPrecedência
– certas tarefas não podem ser programadas antes que outras tenham terminado.
3
Características do Características do PlanejamentoPlanejamento
● 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 Problema Simples de Planejamento de ProduçãoPlanejamento 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
4
Tarefas Tempo Execução Recursos Utilizados pelas Tarefas
Exemplo de Tarefas: Exemplo de Tarefas: a..ua..uTempo de Execução de cada tarefa: Tempo de Execução de cada tarefa: 1, 21, 2 ou ou 3 3 horashorasRecursos requeridos por cada tarefa: Recursos requeridos por cada tarefa: ““ . . ”” = recurso não requerido= recurso não requerido
“ “ aa”” = recurso requerido= recurso requerido
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 gh 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 . qr 1 r . . . . . . . . . r r . r . . . . . r . . . . . .s 3 . . . s s . . . s s . . . . . s . . . . . s . . . .t 1 t . . . . . . . . . . . . . t . . t t . . . . . . .u
Exemplo de PlanejamentoExemplo de Planejamento
● Planejamento parcial das tarefas em ordem alfabética
TempoHora
1234567891011
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .. . b . . . . b . b . . b . b b . . b . b . . . . . . . .
. f d f f f d . f d . . d . . . . . . . f d f f f . f . f d
. . d . . . d . . d . . d . . . . . . . . d . . . . . . . d
. . d . . . d . . d . . d . . . . . . . . d . . . . . . . dg . g . e e e g . e . . g . g g g e . . . g g . g g e . . eg . g . e e e g . e . . g . g g g e . . . g g . g g e . . eg . g . e e e g . e . . g . g g g e . . . g g . g g e . . e. f . f f f . . f . . . . . . . . . . . f . f f f . f . f .g . g . . . . g . . . . g . g g g . . . . g g . g g . . . .
5
Modelagem do Algoritmo GenéticoModelagem do Algoritmo Genético
1. Problema1. Problema2. 2. RepresentaçãoRepresentação3. Decodificação3. Decodificação4. Avaliação4. Avaliação5. Operadores5. Operadores6. Técnicas6. Técnicas7. Parâmetros7. Parâmetros
RepresentaçãoRepresentação
● Cromossoma ≡ permutação (lista) de tarefas
P1 = (a, b, c, d, e, . . . . t)P2 = (d, s, e, h, g, . . . . i)
● cromossoma codifica a ordem e a vez (posição) nas quais as tarefas serão planejadas
● requer decodificador ≡ construtor de planejamentos legais
6
Decodificador doDecodificador do CromossomaCromossoma
● Constrói soluções LEGAIS● Concentra todo o conhecimento no domínio do
problema: restrições, recursos, horários, etc.● 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 doDecodificador do CromossomaCromossoma
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.
7
P = (P = (tt, c, s, a) , c, s, a) Hora
1234567891011
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .
Hora1234567891011
P = (P = (tt, , cc, s, a) , s, a)
8
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . . s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
Hora1234567891011
P = (P = (tt, , cc, , ss, a) , a)
Hora1234567891011
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . .. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . . s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
P = (P = (tt, , cc, , ss, , aa) ) ➨➨ 7 horas 7 horas
9
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .Hora
1234567891011
P = (P = (tt, a, s, c) , a, s, c)
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . .. a . . . . a a . . . a a . . . . . . . a . . . . . . . . .. a . . . . a a . . . a a . . . . . . . a . . . . . . . . .
Hora1234567891011
P = (P = (tt, , aa, s, c) , s, c)
10
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .
Hora1234567891011
P = (P = (tt, , aa, , ss, c) , c)
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .
Hora1234567891011
P = (P = (tt, , aa, , ss, , cc) ) ➨➨ 6 horas 6 horas
11
AvaliaçãoAvaliaçã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
– pt = pesos de todas as ttarefas– pn = pesos das tarefas nnão planejadas– pp = pesos das tarefas pplanejadas– pv = pesos das tarefas que vviolaram restrição
●● AAi i ≥≥≥≥≥≥≥≥ 0; 0; AAi i = 0 = 0 ➨➨➨➨➨➨➨➨ nenhuma planejada;nenhuma planejada; AAi i = 2 = 2 ∑∑∑∑∑∑∑∑ ppt t ➨➨➨➨➨➨➨➨ todastodas
t n p v
Avaliando OperadoresAvaliando Operadores
●● Mutação Baseada em OrdemMutação Baseada em Ordem●● Mutação Baseada em PosiçãoMutação Baseada em Posição●● Mutação porMutação por EmbaralhamentoEmbaralhamento●● Crossover Crossover Baseado em OrdemBaseado em Ordem●● CrossoverCrossover Baseado em PosiçãoBaseado em Posição●● Recombinação de AdjacênciasRecombinaçã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
12
Avaliação de DesempenhoAvaliação de Desempenho
● Avaliação dos Operadores isoladamente:– só mutação– só crossover
● Combinando os Melhores Operadores● Busca Aleatória para comparar resultados
– gera uma lista de tarefas e avalia● Espaço de Representação = 90! = 10138
● Média de 50 Experimentos de 3000 Indivíduos: média dos melhores a cada instante
Busca AleatóriaBusca Aleatória
13
Mutação Baseada em OrdemMutação Baseada em Ordem
● duas tarefas são selecionadas aleatoriamente e a segunda é colocada na frente da primeira
● Exemplo:
(aa b c d ee f) (a bb c dd e f)⇓ ⇓
(ee aa b c d f) (a dd bb c e f)● operador preserva ordem relativa de parte do
cromossoma
Mutação Baseada em PosiçãoMutação Baseada em Posição
● troca as posições de duas tarefas escolhidas aleatoriamente
(aa b c d ee f) (a bb c dd e f)⇓ ⇓
(ee b c d aa f) (a dd c bb e f)
● operador não preserva a ordem relativa das posições selecionadas em relação as tarefas do meio
14
Mutação porMutação por EmbaralhamentoEmbaralhamento
● 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 |)
● operador tem maior poder de dispersão da população
Resultados da MutaçãoResultados da Mutação
● Testes sem crossover e com elitismo● Mutação é mais efetiva que busca aleatória● Mutação baseada em ordem é mais efetiva● Embaralhamento é melhor que busca aleatória● Operadores de mutação são heurísticos, por isso são
melhores que busca aleatória
15
Resultados da MutaçãoResultados da Mutação
Crossover Crossover de Ordemde Ordem● Posições são selecionadas aleatoriamente● Ordem das tarefas nas posições selecionadas em um genitor é
imposta nas tarefas correspondentes no outro genitorP1 = a bb cc d ee f g hh i jP2 = e ii bb d ff a j gg c hposições ✶✶✶✶ ✶ ✶✶✶ ✶ ✶✶✶ ✶ ✶✶✶
F1 = a _ c d e _ _ h _ jF2 = _ i _ d f a j g _ _
F1 = a ii c d e bb ff h gg jF2 = bb i cc d f a j g ee hh
16
Crossover Crossover de Posiçãode Posição● Posições são selecionadas aleatoriamente● Posições das tarefas em um genitor são impostas nas tarefas
correspondentes no outro genitorP1 = a bb cc d ee f g hh i jP2 = e ii bb d ff a j gg c hposições ✶✶✶✶ ✶ ✶✶✶ ✶ ✶✶✶ ✶ ✶✶✶
F1 = _ ii bb _ ff _ _ gg _ _F2 = _ b cb c _ ee _ _ hh _ _
F1 = a ii bb c f f d e gg h jF2 = i bb cc d ee f a hh j g
Recombinação de AdjacênciasRecombinação de Adjacências● Crossover combina a informação de adjacências entre as
tarefas presentes nos genitores
P1 = a b c d e fP2 = b d c a e f
P1 ➩ ab bc cd de ef fa informação de adjacênciaP2 ➩ bd dc ca ae ef fb informação de adjacência
F = b c d e a fF ➩ bc cd de ea af fb informação de adjacência
17
Recombinação de AdjacênciasRecombinação de Adjacências
● Operador foi originalmente criado para o problema do Caixeiro Viajante (TSP)
A
C
B ED7Km
3Km4Km1Km
3Kmcidades
A D B C E
● No TSP temos:– informação de adjacência é importante– direção (ordem) entre 2 cidades não importa (A B = B A)
Resultados do Resultados do CrossoverCrossover
● Testes sem mutação e com elitismo (rápida evolução no início, nada acontece após 1000 indivíduos)
● Crossover de ordem apresenta resultado equivalente ao de posição: são de fato o mesmo operador !!são de fato o mesmo operador !!
● Recombinação de Adjacências é equivalente a busca aleatória no problema de planejamento
18
Resultados do Resultados do CrossoverCrossover
Combinando Combinando CrossoverCrossover e e MutaçãoMutaçã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%)
● Curvas menos inclinadas no início e menos planas no final● 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.
19
Crossover Crossover (50%) + Mutação (50%)(50%) + Mutação (50%)
VariandoVariando--se os Pesos de se os Pesos de CrossoverCrossover + Mutação+ Mutação
Fundamentos MatemáticosFundamentos Matemáticos
Como e porque Algoritmos Como e porque Algoritmos Genéticos funcionam?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”
SchemaSchema● Buscando padrões de jogadores de seleção
Masculino
Gostam de Futebol
Feminino> 30 anos
Médico
Sexo ProfissãoGostoIdade
Jogadores Jogadores da Seleçãoda Seleção
Aptidão dos PadrõesAptidão dos Padrões
Masculino XXI>30
Sexo ProfissãoGostoIdade
Masculino XXI<30
Feminino XXX
X MédicoSimX
baixabaixa
baixabaixa
boaboa
baixabaixa
Masculino
Gostam de Futebol
FemininoJogadores Jogadores da Seleçãoda Seleção> 30 anos
MédicoAptidão
Representação de um Representação de um SchemaSchema
● Utiliza-se um símbolo adicional: ✴✴ = don’t= don’t carecare
● Exemplo: H= 1 1 H= 1 1 ✴✴✴✴✴✴✴✴
H é um padrão que descreve todos os cromossomas do espaço 23 , cujos os dois primeiros bits são iguais a ‘1’, não importando os demais.
InterpretaçãoInterpretação● f(x) = x2 , x ∈ 23
●● Seja o Seja o schemaschema: : H= 1 1 H= 1 1 ✴✴✴✴✴✴✴✴● 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.
● Para esta conjectura “podem” existir numa determinada população dois representantes: 110 e 111.
●● 110 e 111 “pertencem” a H= 1 1 110 e 111 “pertencem” a H= 1 1 ✴✴✴✴✴✴✴✴
Número de Número de SchemataSchemata● Seja o espaço de busca KL onde:
K ≡ número de elementos do alfabeto de representaçãoL ≡ comprimento do cromossoma
➨ Total de Schemata = (K+1) L
● Exemplo: K=2; L=3
23 = 8 pontosTotal de Schemata = 27
Ordem de umOrdem de um SchemaSchema● Ordem ou Especificidade O(H)O(H) ≡ número de posições fixas (diferentes de *)
presentes no schema
H= 0 1 1 H= 0 1 1 ✴✴✴✴✴✴✴✴ 1 1 ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ O(H) =4O(H) =4
H= 0 H= 0 ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ O(H) =1O(H) =1
Comprimento de um Comprimento de um SchemaSchema● δ(H) ≡ distância entre a primeira e a última posições
específicas (diferentes de *) no schema.
H= 0 1 1 H= 0 1 1 ✴✴✴✴✴✴✴✴ 1 1 ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ δδδδδδδδ(H) =4(H) =4
H= 0 H= 0 ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ ✴✴✴✴✴✴✴✴ δδδδδδδδ(H) =0(H) =0
Representação GeométricaRepresentação GeométricaSchemata Schemata de Ordem 3: Pontosde Ordem 3: Pontos
010
101
111
001000
110
100
011
Representação GeométricaRepresentação GeométricaSchemata Schemata de Ordem 2: Linhasde Ordem 2: Linhas
010
101
111
001000
110
100
00✶✶✶✶
0✶✶✶✶ 0
✶✶✶✶ 00
1✶✶✶✶ 1
11✶✶✶✶
01✶✶✶✶
10✶✶✶✶
✶✶✶✶ 11✶✶✶✶ 10
1✶✶✶✶ 0
0✶✶✶✶ 1
✶✶✶✶ 01
011
Representação GeométricaRepresentação GeométricaSchemataSchemata de Ordem 1: Planosde Ordem 1: Planos
010
101
111
001000
110
100
✶✶✶✶ 0 ✶✶✶✶
✶✶✶✶ ✶ ✶✶✶ 0 ✶✶✶✶ ✶ ✶✶✶ 1
1 ✶✶✶✶ ✶ ✶✶✶
011✶✶✶✶ 1 ✶✶✶✶
0✶✶✶✶ ✶ ✶✶✶
Indivíduos Pertencentes ao Indivíduos Pertencentes ao um um SchemaSchema
● 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 1 00 1 11 1 01 1 1
Indivíduos Pertencentes ao Indivíduos Pertencentes ao SchemaSchema
Sch ema Indivídu os1 0 0 0 0 0 02 0 0 1 0 0 13 0 0 * 0 0 0 0 0 14 0 1 0 0 1 05 0 1 1 0 1 16 0 1 * 0 1 0 0 1 17 0 * 0 0 0 0 0 1 08 0 * 1 0 0 1 0 1 19 0 * * 0 0 0 0 0 1 0 1 0 0 1 110 1 0 0 1 0 011 1 0 1 1 0 112 1 0 * 1 0 0 1 0 113 1 1 0 1 1 014 1 1 1 1 1 115 1 1 * 1 1 0 1 1 116 1 * 0 1 0 0 1 1 017 1 * 1 1 0 1 1 1 118 1 * * 1 0 0 1 0 1 1 1 0 1 1 119 * 0 0 0 0 0 1 0 020 * 0 1 0 0 1 1 0 121 * 0 * 0 0 0 0 0 1 1 0 0 1 0 122 * 1 0 0 1 0 1 1 023 * 1 1 0 1 1 1 1 124 * 1 * 0 1 0 0 1 1 1 1 0 1 1 125 * * 0 0 0 0 0 1 0 1 0 0 1 1 026 * * 1 0 0 1 0 1 1 1 0 1 1 1 127 * * * 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Schemata Schemata representados por representados por um indivíduoum indivíduo
● Um indivíduo representa 2L schemata.● Para cada uma das L posições de um indivíduo, define-se
um schema diferente, usando o símbolo presente no indivíduo ou o símbolo ‘ ✴ ’.
● Exemplo: 0 1 0 representa os seguintes schemata:0 1 0✴ 1 00 ✴ 00 1 ✴0 ✴ ✴
✴ 1 ✴✴ ✴ 0✴ ✴ ✴
Porque utilizar Porque utilizar schemaschema??● Porque considerar (K+1) L ao invés de considerar apenas KL
indivíduos? ● John Holland procurou mostrar com schemata, o paralelismo da
busca através do espaço de soluções.● Há mais informações nos schemata para guiar a busca do que
simplesmente nos indivíduos.● Numa população de n indivíduos, onde cada indivíduo representa 2L
schemata, há entre 2L e n.2L schemata, dependendo da diversidade da população.
● J. Holland mostrou que o número de schemata processados a cada geração é proporcional a n3
● Paralelismo Implícito ➨➨➨➨ um GA processa n3 schemata em paralelo, enquanto avalia n indivíduos.
Teorema Fundamental de GATeorema Fundamental de GA
Schemata permitem analizar o efeito global da reprodução e dos operadores genéticos.
●● Efeito da SeleçãoEfeito da Seleção
●● Efeito do Efeito do CrossoverCrossover
●● Efeito da MutaçãoEfeito da Mutação
Efeito da SeleçãoEfeito da Seleção
● Seja m(H,t)m(H,t) o número de representantes do schema H na população no ciclo t.
● Sabemos que, ppi i = = ffii / / ∑∑∑∑∑∑∑∑ ffjj é a probabilidade do cromossoma i ser escolhido.
● Então, o número esperado de representantes de H no ciclo seguinte (t+1) é:
m(H, t+1) = n . m(H, t+1) = n . ∑∑∑∑∑∑∑∑ii∈∈∈∈∈∈∈∈ HH
ffii / / ∑∑∑∑∑∑∑∑nn
ffjj
● Definindo a aptidão média do schema H, como
f(H) = f(H) = ∑∑∑∑∑∑∑∑ii∈∈∈∈∈∈∈∈ H H
ffii / m(H,t) / m(H,t) então,
m(H, t+1) = m(H, t) . n . f(H)m(H, t+1) = m(H, t) . n . f(H) / / ∑∑∑∑∑∑∑∑nn
ffjj
● Como ffmédiomédio = = ∑∑∑∑∑∑∑∑nn
ffjj / n / n então,
m(H, t+1) = m(H, t) . f(H)/ m(H, t+1) = m(H, t) . f(H)/ ffmédiomédio
Analisando podemos dizer que:
1- Schemata com aptidão acima da média proliferam;
2- Schemata com aptidão abaixo da média tendem a
desaparecer.
m(H, t+1) = n . m(H, t+1) = n . ∑∑∑∑∑∑∑∑ii∈∈∈∈∈∈∈∈ HH
ffii / / ∑∑∑∑∑∑∑∑nn
ffjj
Taxa de EvoluçãoTaxa de Evolução● Supondo H acima da média de um fator constante C
estacionário, a partir de t=0:m(H, t+1) = m(H, t) . (m(H, t+1) = m(H, t) . (ffmédiomédio + C.+ C.ffmédiomédio) / ) / ffmédiomédio
m(H, t+1) = m(H, t) . (1+C)m(H, t+1) = m(H, t) . (1+C)
● Assim,para qualquer t temos:
m(H, t+1) = m(H, 0) . (1+C)m(H, t+1) = m(H, 0) . (1+C)tt
O número ocorrências nas gerações sucessivas de bons (maus) schemata, cresce (decresce) exponencialmente.
Efeito do Efeito do CrossoverCrossover● Ex: AA vai cruzar com outro genitor; o que acontece a HH11 e HH22?
0 1 1 1 0 0 0
* 1 * * * * 0
* * * 1 0 * *
AA
HH11
HH22
Ponto de crossover
HH11 será destruído e padrão não será transmitido aos descendentes a não ser que par genitor de A possa recuperar padrão.
HH22 sobrev iv erá e será transmitido a um dos descendentes.
Probabilidade de DestruiçãoProbabilidade de Destruição
ppdd = = δδδδδδδδ(H) (H) //////// (L(L--1)1)● A probabilidade de sobrevivência de H é,
ppss = 1 = 1 -- δδδδδδδδ(H) (H) //////// (L(L--1)1)● Então, considerando a probabilidade do crossover e
a recuperação de H após o crossover temos,
ppss ≥≥≥≥≥≥≥≥ 1 1 -- ppcc ..δδδδδδδδ(H) (H) //////// (L(L--1)1)
● Portanto,
m(H, t+1) m(H, t+1) ≥≥≥≥≥≥≥≥ m(H, t) . f(H) m(H, t) . f(H) //////// ffmédiomédio [1 [1 -- ppcc ..δδδδδδδδ(H) (H) //////// (L(L--1)]1)]
Efeito da MutaçãoEfeito da Mutação● Seja, ppm m a probabilidade de uma posição sofrer
mutação.●● 11-- ppm m é a probabilidade de sobrevivência.● H tem O(H) posições fixas● Assim, a probabilidade de sobrevivência do schema é:
(1(1-- ppmm))O(H)O(H)
● Sabendo que ppm m « 1, então
(1(1-- ppmm))O(H)O(H) ≈≈≈≈≈≈≈≈ 1 1 -- O(H) . O(H) . ppmm
Teorema Fundamental de GATeorema Fundamental de GA
m(H, t+1) m(H, t+1) ≥≥≥≥≥≥≥≥ m(H, t).f(H) m(H, t).f(H) //////// ffmédiomédio [1[1-- ppcc ..δδδδδδδδ(H) (H) //////// (L(L--1)].[1)].[1 1 --
O(H).O(H).ppmm ]]
“Schemata curtos, de baixa ordem e com alta aptidão tendem a proliferar nas gerações sucessivas, a uma taxa
exponencial.”
Hipótese dos Blocos Hipótese dos Blocos ConstrutoresConstrutores
Assim como uma criança cria grandes castelos empilhando pequenos blocos, um algoritmo genético
busca desempenho próximo do ótimo através da
justaposição de schemata curtos, de baixa ordem e de alta aptidão, ou blocos construtores.
Processando Processando SchemataSchemataNú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 Descen.Roleta Pontos de Corte Inteiro x2
1 0 1 1 0 1 13 169 0,14 0,58 1 0 1 1 0 | 1 0 1 1 0 0 12 1442 1 1 0 0 0 24 576 0,49 1,97 2 1 1 0 0 | 0 1 1 0 0 1 25 6253 0 1 0 0 0 8 64 0,05 0,22 0 1 1 | 0 0 0 1 1 0 1 1 27 7294 1 0 0 1 1 19 361 0,31 1,23 1 1 0 | 0 1 1 1 0 0 0 0 16 256
S oma 1170 1,00 4,00 4 1754Média 293 0,25 1 1 439Máximo 576 0,49 1,97 2 729
P rocessamento de Schemata
Após ApósSeleção Crossover
com p(H) O(H) Repres. f(H) m(H,t+1) real Repres. m(Ht+1) real Repres.
H1 1 * * * * 0 1 2,4 469 3,2 3 2,3,4 3,2 3 2,3,4H2 * 1 0 * * 1 2 2,3 320 2,18 2 2,3 1,64 2 2,3H3 1 * * * 0 4 2 2 576 1,97 2 2,3 0 1 4
= ∑i∈ H
fi / m(H,t) = m(H, t) . f(H)/ fmédio= m(H, t) . f(H) / fmédio[1 -pc .δ(H) / (L-1)]
Processando Processando SchemataSchemataNú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 Descen.Roleta Pontos de Corte Inteiro x2
1 0 1 1 0 1 13 169 0,14 0,58 1 0 1 1 0 | 1 0 1 1 0 0 12 1442 1 1 0 0 0 24 576 0,49 1,97 2 1 1 0 0 | 0 1 1 0 0 1 25 6253 0 1 0 0 0 8 64 0,05 0,22 0 1 1 | 0 0 0 1 1 0 1 1 27 7294 1 0 0 1 1 19 361 0,31 1,23 1 1 0 | 0 1 1 1 0 0 0 0 16 256
S oma 1170 1,00 4,00 4 1754Média 293 0,25 1 1 439Máximo 576 0,49 1,97 2 729
P rocessamento de Schemata
Após ApósSeleção Crossover
com p(H) O(H) Repres. f(H) m(H,t+1) real Repres. m(Ht+1) real Repres.
H1 1 * * * * 0 1 2,4 469 3,2 3 2,3,4 3,2 3 2,3,4H2 * 1 0 * * 1 2 2,3 320 2,18 2 2,3 1,64 2 2,3H3 1 * * * 0 4 2 2 576 1,97 2 2,3 0 1 4
= ∑i∈ H
fi / m(H,t) = m(H, t) . f(H)/ fmédio= m(H, t) . f(H) / fmédio [1 - pc .δ(H) / (L-1)]
Planilha Fundamentos de GAPlanilha Fundamentos de GA
1 1 1 1 0 0 28 784 0,0953539 0,953539 2 1 1 1 0 0 52 1 1 1 0 0 28 784 0,0953539 0,953539 0 1 1 1 0 0 53 1 1 1 1 0 30 900 0,1094624 1,094624 3 1 1 1 1 0 24 1 1 1 0 1 29 841 0,1022865 1,022865 3 1 1 1 0 0 25 1 1 1 1 0 30 900 0,1094624 1,094624 1 1 1 1 1 0 16 1 1 1 1 0 30 900 0,1094624 1,094624 0 1 1 1 1 0 17 1 1 1 1 0 30 900 0,1094624 1,094624 0 1 1 1 1 0 58 1 1 1 1 0 30 900 0,1094624 1,094624 0 1 1 1 1 0 59 1 0 1 1 1 23 529 0,0643396 0,643396 1 1 1 1 1 0 510 1 1 1 0 0 28 784 0,0953539 0,953539 0 1 1 1 0 0 5
10 10S oma 286 8222 1 10 10Média 28,6 822,2 0,1 1 1Máximo 30 900 0,1094624 1,094624 3
P rocessamento de SchemPopulação 10 (até 10)Crossover 0,6 (0 a 1)Mutação 0,08 (0 a 1)Gerações 20
Após S eleçãoReal
comp(H) O(H) Representa f(H) m(H,t+1) RepresentantesH1 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 {}
S chemata
NúmResult . Roleta
Núm. Descende
Prob. Seleção
Execução A utomát icax i nteiroP opulação Ini cial f(x ) = x̂ 2
Configurações
Pares de Genitores e P ontos de Corte
Executar
Gerar Pop ulação
No va Ge ração
Crossover
Seleção
Mu tação
Evo lu ir Geraç ões
Efeito da CardinalidadeEfeito da Cardinalidadex Binário Nã o Binário Aptidão
0 0 0 0 0 A 01 0 0 0 1 B 12 0 0 1 0 C 43 0 0 1 1 D 94 0 1 0 0 E 165 0 1 0 1 F 256 0 1 1 0 G 367 0 1 1 1 H 498 1 0 0 0 I 649 1 0 0 1 J 8110 1 0 1 0 K 10011 1 0 1 1 L 12112 1 1 0 0 M 14413 1 1 0 1 N 16914 1 1 1 0 O 19615 1 1 1 1 P 225
Espa ço 16 16Cardinalida de 2 16Sche mata 81 17
ConclusõesConclusões
● GA explora similaridades em codificações arbitrárias através de schema.
● A codificação binária é simples e eficiente, oferecendo o número máximo de schemata, porém nem sempre é adequada.
● A representação de cromossomas é fundamental para o desempenho de um GA.
Princípios de Escolha da Princípios de Escolha da RepresentaçãoRepresentaçã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 util izar um alfabeto mínimo que permita a expressão
natural do problema
Desempenho de Algoritmos Desempenho de Algoritmos GenéticosGené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ênciaConvergênciaComo 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çãoDecepçã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 melhoresschemata de ordem k não instanciam o ponto ótimo.
● Problemas artificiais são criados para avaliar o desempenho de GAs.
Problema Mínimo de Problema Mínimo de Decepção (PMD)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 GAs11 é o ponto ótimo, entãof(11) > f(10) ; f(11) > f(01) e f(11) > f(00)
● Para não haver decepção em competição de schematade ordem 1 devemos satisfazer às duas condições:
1) f(1*) ≥≥≥≥ f(0*) e 2) f(*1) ≥≥≥≥ f(*0)
isto é, melhores schemata de ordem K=1 instanciam o ótimo
Problema Mínimo de Problema Mínimo de Decepção (PMD)Decepção (PMD)
● Decepção ocorre se um das relações não se verificar. Exemplo:1) f(0*) > f(1*) ➨➨➨➨ f(00) + f(01) > f(10) + f(11)
2 2
2) f(*0) > f(*1) ➨➨➨➨ f(00) + f(10) > f(01) + f(11)2 2
● As duas expressões não podem se verificar simultaneamente no PMD (senão 11 não será o ponto ótimo).
● Escolhemos a condição 1)
Problema Mínimo de Problema Mínimo de Decepção (PMD)Decepção (PMD)
● Considerando todos valores positivos temos:f(00) + f(01) > f(10) + f(11) ➨➨➨➨ f(01) - f(10) > f(11) - f(00)
● Comof(11) - f(00) > 0 ➨➨➨➨ f(01) - f(10) > 0 ➨➨➨➨ f(01) > f(10)
● Analogamentef(00) - f(10) > f(11) - f(01)
● Comof(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 Representação Gráfica do PMDPMD
11
10
00
01
Tipo I
Aptid
ão
11
10
00
01
Tipo II
Aptid
ão
Atrator
Decepcionante
Num GA, se a proporção do ponto 00 é maior na população inicial, o GA converge para para 00
Num GA, com a mesma proporção dos pontos na população inicial, o GA converge para para 11
EpistasiaEpistasia● 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ãoepistá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.
MultimodalidadeMultimodalidade● A existência de vários ótimos locais promove a
ocorrência de atratores que afastam a convergência do ponto ótimo. Exemplo: F6(x,y)
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
RuídoRuí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:
GA1 Otimiza Parâmetros do GA2 GA2
Pcross, Pmut, GAP
Best, média
Medidas de ConvergênciaMedidas de Convergência● Medidas de Monitoração
– procuram acompanhar o comportamento da população ao longo da execução do GA.
• On-line• Off-line• Best-so-far• Proporção dos Valores dos alelos
● Medidas de Previsão– estimar o grau esperado de dificuldade de um problema
para o GA realizar a convergência a um ponto ótimo . • FDC (Fitness Distance Correlation)
– avaliação dos pontos aumenta a medida que estes se aproximam do ponto ótimo.
OnOn--lineline ee OffOff--lineline
● A medida On-line premia a rápida obtenção de boas soluções● A medida Off-line premia melhores soluções, independente do
tempo necessário para encontrá-las.(De Jong)
medida (t) = medida (t) = 1 1 ∑∑∑∑∑∑∑∑T T
f f ** (t) (t) TT
– On-line: f f ** e e (t) (t) = valor da função dos indivíduos.– Off-line: f f ** e e (t) (t) = valor da função dos melhores indivíduos.
● Em aplicações executadas “OFF-LINE”, o número total de avaliações do GA não é tão importante quanto para as aplicações que são executadas “ON-LINE”.
ExemploExemplo
● Sejam 5 indivíduos criados em 5 passos até o momento:{17, 21, 13, 28, 22}
● A medida On-line(t) é a média das avaliações de todos os indivíduos avaliados até o passo de avaliação t.On-line(t=3) = (17+21+13)/3=17On-line(t=4) = (17+21+13+28)/4=19,75On-line(t=5) = (17+21+13+28+22)/5=20,2
● A medida Off-line(t) é o valor médio das avaliações dos melhores indivíduos encontrados a cada passo de avaliação até o passo t.Off-line(t=3) = (17+21+21)/3=19,66Off-line(t=4) = (17+21+21+28)/4=21,75Off-line(t=5) = (17+21+21+28+28)/5=23
Proporção dos Valores dos Proporção dos Valores dos AlelosAlelos
● Um gene converge quando o seu alelo é o mesmo para, pelo menos, 95%da população. (De Jong)
● A convergência do GA ocorre quando todos os genes da representação superam a taxa de 95%.
● A proporção de alelos permite avaliar o grau de convergência de um GA ao longo da execução e ser usada como critério de parada.
FDC (FDC (Fitness Distance Fitness Distance CorrelationCorrelation))
● Calcula a correlação entre Aptidão e Distância (ao ponto ótimo global) para os pontos do espaço de busca de um problema.
●● FDC = FDC = cov cov (F,D)/ (F,D)/ σσσσσσσσ(F) . (F) . σσσσσσσσ(D)(D)●● FDCFDC =1/n [1/n [∑∑∑∑∑∑∑∑ ((ffii -- ffavav) () (ddii -- ddavav)] /)] / σσσσσσσσ(F) . (F) . σσσσσσσσ(D)(D)● Correlação é a covariância normalizada entre -1 e 1● FDC próximo a -1 indica que a avaliação dos pontos
aumenta a medida que estes se aproximam do ponto ótimo.
Algoritmos AlternativosAlgoritmos 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.
AlgoritmoAlgoritmo MessyMessy● 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.
MessyMessy● 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áriaem Machine Learning
Programas capazes de construir novo conhecimentoou de aperfeiçoar conhecimento existente, usando
informação de entrada.
Ambientedo
Problema
Aprendizadopor
Computador
Informação
Novo
Conhecimento
•Aplicações:•Jogos•Robótica•Biologia e Medicina•Engenharia•Ciências Sociais
Dilema dos Prisioneiros
l Algoritmo Genético é usado para “aprender” umaestratégia para um jogo.
l INDIVÍDUO ≡ estratégia de jogo, regra de comportamentol APTIDÃO ≡ função da interação com outros jogadores
(pontuação)
l AMBIENTE ≡ interativo entre indivíduos coevolventesl Problema é usado para estudar fatores associados com a
evolução de cooperação e agressão em comunidadessociais.(Merrill Flood & Melvin Dresher 1950s)
Dilema dos Prisioneirosl Dois suspeitos de terem cometido um crime estão em celas separadas
e a polícia propõe um acordo. O que pode acontecer?
l Os prisioneiros têm duas opções:– Delatar : fazer um acordo com a polícia e delatar o parceiro– Cooperar : manter silêncio sobre o delito e cooperar com o parceiro
l O que pode acontecer ?– Nenhum aceita trair
– Apenas um trai
– Ambos traem
Recompensa = Máximo - Penalidade
l Nenhum aceita trair:– ambos cooperam e recebem pequena punição (2 anos) por
falta de provas; Recompensa intermediária= (5-2) =3l Apenas um trai:
– o traidor é libertado (0 anos); o outro é punido (5 anos) ;recompensa por trair é uma Tentação=(5-0) =5; recompensado ingênuo (Sucker) baixa= (5-5)=0.
l Ambos traem:– punição intermediária (Punishment) para ambos (4 anos)
=(5-4)=1
Tabela de Recompensas
(γ1, γ1) (γ2, γ3)
(γ3, γ2) (γ4, γ4)
C
C
D
D
Jogador B
Jogador A
D = Delatar
C = Cooperar
Restrições:
γ3> γ1> γ4> γ2 è delatar é mais atraente do que cooperar porém,
2 γ1> γ2 + γ3 è cooperar aumenta a recompensa de ambos a longo prazo
γ2 + γ3 > 2 γ4 è se ambos sempre delatam o resultado é ainda pior
(3, 3) (0, 5)
(5, 0) (1, 1)
C
C
D
D
Jogador B
Jogador A
D = Delatar
C = Cooperar
Características do DP
l jogo não cooperativo para 2 jogadoresl pode ser disputado em torneio entre vários jogadoresl Axelrod promoveu 2 torneios mundiais de estratégias p/ DPl Estratégia vencedora: Tit_for_Tat (Anatol Rapoport)
– coopera na primeira jogada e depois repete a titude do oponente najogada anterior.
– “Coopera no primeiro encontro e a seguir retribui na mesma moeda”
l Axelrod usou Algoritmos Genéticos para evoluir novasestratégias; as 8 melhores estratégias (humanas) dostorneios serviram para avaliar os indivíduos (ambiente deavaliaçã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 bitsHistória CCCCCC DCCCCC CDCCCC ...... DDDDDDBase 2 000000 100000 010000 ...... 111111Base 4 RRR TRR SRR ...... PPPString 0 1 1 ...... 1 010000Decisão C D D ...... D
coopera delata delata ...... delata (SRR)4 = 2
l Posição no cromossoma corresponde a uma história.l Conteúdo de cada posição corresponde à atitude do jogador.l Símbolos da base 4 correspondem às iniciais da tabela de
recompensa (Reward, Temptation, Sucker e Punishment).– R=0, T=1, S=2, P=3
– Exemplo: (RST)4= Rx40 + Sx41 + Tx42 = 000110 = 24
Representação
l Para fazer a estratégia funcionar no início do jogo, sãoadicionados 6 bits correspondentes a 3 partidas hipotéticas.
Posição 0 1 2 ...... 63 6 bitsHistória CCCCCC DCCCCC CDCCCC ...... DDDDDDBase 2 000000 100000 010000 ...... 111111Base 4 RRR TRR SRR ...... PPPString 0 1 1 ...... 1 010000Decisão C D D ...... D
coopera delata delata ...... delata (SRR)4 = 2
•Atitude na primeira jogada = D.
•Na 2ª e 3ª jogadas utiliza-se partedos 6 bits e os resultados reais.
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 partidasAi = ∑∑
m 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 dainteraçã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 osoutros e contra si mesmos (ambiente de avaliaçãodinâmico).
l Nas primeiras gerações, estratégias cooperativas nãoencontravam reciprocidade e tendiam a desaparecer.
l Após 10 a 20 gerações, o panorama se revertia: GAencontrava estratégias de cooperação recíproca, quepuniam traição.
l Essas estratégias não foram derrotadas pelas menoscooperativas e conseguiram proliferar nas geraçõesseguintes.