105
1. Problema 1. Problema 2. Representação 2. Representação 3. 3. Decodificação Decodificação 4. Avaliação 4. Avaliação 5. Operadores 5. Operadores 6. Técnicas 6. Técnicas 7. Parâmetros 7. Parâmetros Componentes de um Algoritmo Genético Componentes de um Algoritmo Genético 1. PROBLEMA 1. PROBLEMA GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor : muitos parâmetros e variáveis; mal estruturados: com condições e restrições, difíceis de serem modeladas matematicamente; grandes espaços de busca onde não é possível a busca exaustiva.

Algoritmo Genetico

Embed Size (px)

Citation preview

Page 1: 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.

Page 2: Algoritmo Genetico

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

Page 3: Algoritmo Genetico

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

Page 4: Algoritmo Genetico

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

Page 5: Algoritmo Genetico

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):

Page 6: Algoritmo Genetico

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.

Page 7: Algoritmo Genetico

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++,

Page 8: Algoritmo Genetico

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

Page 9: Algoritmo Genetico

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

Page 10: Algoritmo Genetico

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

Page 11: Algoritmo Genetico

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

Page 12: Algoritmo Genetico

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

Page 13: Algoritmo Genetico

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.

Page 14: Algoritmo Genetico

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

Page 15: Algoritmo Genetico

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Ú

Page 16: Algoritmo Genetico

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

Page 17: Algoritmo Genetico

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

Page 18: Algoritmo Genetico

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

Page 19: Algoritmo Genetico

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

Page 20: Algoritmo Genetico

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

Page 21: Algoritmo Genetico

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?

Page 22: Algoritmo Genetico

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.

.

Page 23: Algoritmo Genetico

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

Page 24: Algoritmo Genetico

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

Page 25: Algoritmo Genetico

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.

Page 26: Algoritmo Genetico

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

Page 27: Algoritmo Genetico

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

Page 28: Algoritmo Genetico

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

Page 29: Algoritmo Genetico

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

Page 30: Algoritmo Genetico

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

Page 31: Algoritmo Genetico

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

Page 32: Algoritmo Genetico

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

Page 33: Algoritmo Genetico

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

Page 34: Algoritmo Genetico
Page 35: Algoritmo Genetico

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

Page 36: Algoritmo Genetico

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

Page 37: Algoritmo Genetico

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.

Page 38: Algoritmo Genetico

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

Page 39: Algoritmo Genetico

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.

Page 40: Algoritmo Genetico

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

Page 41: Algoritmo Genetico

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.

Page 42: Algoritmo Genetico

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

Page 43: Algoritmo Genetico

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

Page 44: Algoritmo Genetico

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

Page 45: Algoritmo Genetico

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

Page 46: Algoritmo Genetico

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

Page 47: Algoritmo Genetico

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.

Page 48: Algoritmo Genetico

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

Page 49: Algoritmo Genetico

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

Page 50: Algoritmo Genetico

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

Page 51: Algoritmo Genetico

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;

Page 52: Algoritmo Genetico

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

Page 53: Algoritmo Genetico

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))

Page 54: Algoritmo Genetico

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

Page 55: Algoritmo Genetico

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

Page 56: Algoritmo Genetico

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

Page 57: Algoritmo Genetico

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.

Page 58: Algoritmo Genetico

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

Page 59: Algoritmo Genetico

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 . . . .

Page 60: Algoritmo Genetico

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

Page 61: Algoritmo Genetico

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.

Page 62: Algoritmo Genetico

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)

Page 63: Algoritmo Genetico

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

Page 64: Algoritmo Genetico

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)

Page 65: Algoritmo Genetico

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

Page 66: Algoritmo Genetico

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

Page 67: Algoritmo Genetico

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

Page 68: Algoritmo Genetico

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

Page 69: Algoritmo Genetico

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

Page 70: Algoritmo Genetico

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

Page 71: Algoritmo Genetico

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

Page 72: Algoritmo Genetico

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

Page 73: Algoritmo Genetico

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.

Page 74: Algoritmo Genetico

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

Page 75: Algoritmo Genetico

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

Page 76: Algoritmo Genetico

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.

Page 77: Algoritmo Genetico

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

Page 78: Algoritmo Genetico

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

Page 79: Algoritmo Genetico

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

Page 80: Algoritmo Genetico

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

Page 81: Algoritmo Genetico

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✴ ✴ ✴

Page 82: Algoritmo Genetico

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

Page 83: Algoritmo Genetico

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

Page 84: Algoritmo Genetico

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.

Page 85: Algoritmo Genetico

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

Page 86: Algoritmo Genetico

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.

Page 87: Algoritmo Genetico

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)]

Page 88: Algoritmo Genetico

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

Page 89: Algoritmo Genetico

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

Page 90: Algoritmo Genetico

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

Page 91: Algoritmo Genetico

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

Page 92: Algoritmo Genetico

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)

Page 93: Algoritmo Genetico

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.

Page 94: Algoritmo Genetico

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

Page 95: Algoritmo Genetico

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”.

Page 96: Algoritmo Genetico

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.

Page 97: Algoritmo Genetico

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.

Page 98: Algoritmo Genetico

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

Page 99: Algoritmo Genetico

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)

Page 100: Algoritmo Genetico

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

Page 101: Algoritmo Genetico

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).

Page 102: Algoritmo Genetico

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

Page 103: Algoritmo Genetico

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

Page 104: Algoritmo Genetico

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”.

Page 105: Algoritmo Genetico

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.