algoritmos genéticos adriano joaquim de o cruz ©2003 nce/ufrj [email protected]
TRANSCRIPT
![Page 2: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/2.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 2
Sumário
Introdução Aplicações Operadores Exemplos
![Page 3: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/3.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 3
Algoritmos Genéticos Nas minhas investigações debaixo do
sol, vi ainda que a corrida não é para os ágeis, nem a batalha para os bravos, nem o pão para os prudentes, nem a riqueza para os inteligentes, nem o favor para os sábios: todos estão à mercê das circunstâncias e da sorte.
Eclesiastes 9,12
![Page 4: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/4.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 4
O Problema? Existem problemas para os quais algoritmos
rápidos não são conhecidos. Encontrar a solução é buscar em um espaço
onde vivem potenciais soluções a que melhor resolve o nosso problema.
Quando este espaço é muito grande, encontrar a melhor solução pode levar tempo demais
É possível obter soluções aproximadamente ótimas usando algoritmos probabilísticos.
![Page 5: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/5.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 5
Algoritmos Genéticos
Técnica prática e robusta de busca e otimização
Baseados nos conceitos da seleção natural
É um método estocástico de busca
![Page 6: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/6.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 6
Exemplos de problemas
Encontrar o máximo (mínimo) de uma função.
Encontrar um bom conjunto de regras para um sistema nebuloso.
Encontrar o melhor agente para atuar como jogador digital.
![Page 7: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/7.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 7
A Metáfora
A metáfora que está por trás dos AGs é a da seleção natural.
Na natureza, o problema de cada espécie é o de encontrar as melhores adaptações que a façam sobreviver em um ambiente complicado, muitas vezes hostil e que está sempre mudando.
![Page 8: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/8.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 8
Evolução?
Há na natureza evolução no sentido de melhoria?
Evolução pressupõe caminhar em direção a um indivíduo ideal.
![Page 9: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/9.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 9
Adaptação? Não seria mais apropriado
falar em melhor adaptação ao ambiente
Na natureza sobrevivem não os mais evoluídos e sim os mais adaptados a um determinado ambiente.
![Page 10: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/10.jpg)
Termos e Definições
![Page 11: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/11.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 11
Adaptação
O conjunto de características de um indivíduo, que o distingue dos demais, determina sua capacidade de sobrevivência.
Estas características são determinadas pelo seu material genético.
![Page 12: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/12.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 12
MecanismosNa natureza a competição por recursos escassos em ambientes hostis ou que se alteram faz com que os mais aptos sobrevivam e consigam se reproduzir.
Através da reprodução com parceiros os genes destes indivíduos são então transmitidos aos seus descendentes.
Este processo contínuo de seleção e reprodução dos mais aptos pode conduzir a indivíduos cada vez mais adaptados.
![Page 13: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/13.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 13
Seres Vivos - Cromossomos
Cadeias organizadas de ADN (DNA) e proteínas encontrados nas células
Contém informações que permitem a geração de um novo ser.
É uma peça de ADN contendo diversos genes, elementos reguladores e outras sequências de nucleotídeos.
A palavra cromossomo vem do grego chroma (cor) e soma (corpo) devido a propriedade de poder ser tingido facilmente. (fonte wikipedia)
![Page 14: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/14.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 14
Seres Vivos - Cromossomos
![Page 15: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/15.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 15
Seres Vivos - Genes Responsáveis por características específicas de cada
ser.
Podem assumir diferentes valores (alelos).
Diferentes combinações de valores (genótipos) levam a diferenças em características do ser (fenótipos).
Por exemplo, dois genes para olhos castanhos (fenótipo castanho), dois genes para olhos verdes (fenótipo verde), um gene para olhos verdes e outro para olhos castanhos (depende de como eles trabalham juntos).
![Page 16: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/16.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 16
Seres Vivos - Reprodução
Cromossomos são encontrados em pares. Indivíduos possuem duas cópias de seus genes
(reprodução sexuada). Gametas produzidos durante a fertilização possuem
um representante de cada par. Gametas de dois indivíduos se unem para formar
um novo indivíduo. Durante a produção dos gametas
– Recombinação: troca de parte das cadeias de um par– Mutação: alteração em uma ou mais posições dos
cromossomos.
![Page 17: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/17.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 17
Seres Vivos - Reprodução
![Page 18: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/18.jpg)
Na Simulação
![Page 19: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/19.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 19
Cromossomo
Indivíduos representam soluções potenciais em uma população.
Em AG um indivíduo é representado por um único “cromossomo”.
![Page 20: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/20.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 20
Cromossomo
Usualmente, cada possível solução é codificada como uma cadeia de bits, o cromossomo ou genótipo.
Cada parametro codificado na solução é chamado de um gene.
F(x,y,z)
Gene xGene x Gene yGene y Gene zGene z
![Page 21: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/21.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 21
População
AGs mantém um conjunto de indivíduos formando populações de soluções.
Indivíduos devem ser avaliados segundo uma função de aptidão.
Indivíduos mais aptos terão mais chances de propagar sua informação genética.
![Page 22: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/22.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 22
Gerações
A cada geração o AG cria uma nova população.
Esta criação de indivíduos é baseada em operadores genéticos.
A evolução de uma geração para outra é feita em três fases: avaliação da aptidão, seleção dos mais aptos e reprodução.
![Page 23: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/23.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 23
Fluxo do AGInício
Gera População
Inicial
AvaliaSeleciona
PaisGeração
Atual
GeraFilhos
Mutação
Cruzamento
PróximaGeração
OK?Não
Aleatoriamente
![Page 24: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/24.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 24
Componentes de um AG Uma representação das soluções potenciais. Uma forma de criar a população inicial. Uma função de avaliação que faz o papel do
ambiente e ordena as soluções por um critério de qualidade.
Operadores genéticos que alteram a composição dos filhos gerados.
Valores para os vários parâmetros: tamanho da população, probabilidades de aplicação dos operadores, número de gerações etc.
![Page 25: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/25.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 25
Codificação de Soluções
A codificação transforma pontos no espaço de soluções em cadeias de bits.
Codificações são maneiras de traduzir o conhecimento sobre o problema para o ambiente dos AGs.
Considere f(f(xx,,yy,,zz)) e que x=3x=3, y=1y=1, z=0z=0 O cromossomo de 12 bits com genes
de 4 bits seria 001100110001000100000000
![Page 26: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/26.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 26
Codificação de Soluções 1
A codificação determina a resolução da solução.
Considere uma variável codificada em 1616 bits.
Considere que esta variável pode assumir valores entre 0 e 2 inclusive.
A codificação divide o intervalo [0,2] em 221616-1-1 pedaços.
![Page 27: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/27.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 27
População Inicial
A população inicial é gerada aleatoriamente.
Em algumas soluções várias populações são criadas.
Estas populações podem evoluir paralelamente de forma cooperativa ou não.
![Page 28: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/28.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 28
Avaliação da Aptidão
O primeiro passo após gerar uma população de soluções e calcular a aptidão de cada solução.
Em um problema de maximização de funções esta avaliação significa calcular o valor da função para cada indivíduo.
![Page 29: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/29.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 29
Seleção
Após a avaliação deve-se gerar uma nova população a partir da atual.
A seleção escolhe que indivíduos participarão deste processo.
A probabilidade de um indivíduo ser selecionado é proporcional a sua aptidão (método da roleta).
![Page 30: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/30.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 30
Cruzamento Cruzamento e o operador genético
aplicado a pares selecionados de pais. Deste cruzamento espera-se que as
boas características de prévias gerações sejam passadas as próximas.
![Page 31: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/31.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 31
Cruzamento 1 Cruzamentos em um ponto é o modo
mais comum.
Cruzamentos ocorrem com uma probabilidade.
![Page 32: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/32.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 32
Cruzamento 2
Considere os dois indivíduos abaixo, cada um com 8 bits (7 até 0).
Considere um ponto de corte no bit 5.
1011011011110111
0110110001000010
PaisPais
xx1011010001000010
0110111011110111
FilhosFilhos
xx
![Page 33: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/33.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 33
Cruzamento 3
Filhos podem ultrapassar seus paisultrapassar seus pais caso herdem as melhores características de cada pai.
E se os indivíduos atuais não contém os genes da solução?
Será que temos os genes para telepatia?
![Page 34: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/34.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 34
Mutação Mutação é capaz de gerar novos
cromossomos espontaneamente. A maneira mais comum é trocar o valor de
um bit com uma probabilidade, geralmente, igual a um valor baixo (taxa de mutação).
Evita que a população entre em estagnação. Moradores de uma ilha no meio do oceano.
![Page 35: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/35.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 35
Exemplo
Considere o problema de achar o máximo da função y = sen(10*x)*sen(x)
Parâmetros: População = 20 Gerações = 30 Probabilidade de cruzamento=1.0 Probabilidade de mutação = 0.01 Bits para codificação = 8
![Page 36: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/36.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 36
Representação Usaremos um vetor binário de 8 bits para
representar os valores reais da variável x. O domínio da variável x ([0..3]) tem comprimento 3
e escolhemos uma representação com 8 bits. 8 bits dividem o domínio em 28-1 fatias A conversão de vetor binário para real se faz em
dois passos: Converte o vetor binário da base 2 para 10 (valor
x'). Acha o valor de x: x = 0 + x' * (3/(28 - 1))
![Page 37: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/37.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 37
Representação exemplo
Considere x' = 00010001 x' = 17 x = 0 + 17 * ( 3 / 255) = 0.2
![Page 38: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/38.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 38
Representação resumindo Precisamos de D casas decimais T é o tamanho do intervalo 2(n - 1) < T * 10D < 2n
n será o número de bits Exemplo: D = 6 e T = 3 2097152=22 1 < 3000000 < 22 2=4194304 Intervalo: x
1..x
2 ---- n bits
x = x1 + x' * (x
2/(2n-1))
![Page 39: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/39.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 39
Função e o máximo
0 0.5 1 1.5 2 2.5 3
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1234567891011121314151617181920
![Page 40: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/40.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 40
Evolução OK
0 5 10 15 20 25 30-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Generations
Fitn
ess
Best AveragePoorest
![Page 41: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/41.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 41
Função e máximo não OK
0 0.5 1 1.5 2 2.5 3
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1234567891011121314151617181920
![Page 42: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/42.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 42
Evolução
0 5 10 15 20 25 30-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Generations
Fitn
ess
Best AveragePoorest
![Page 43: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/43.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 43
Aprendendo Estratégia
O dilema dos prisioneiros. Dois prisioneiros em celas diferentes. Impossível se comunicarem. Cada um deles pode acusar o outro (A)
ou ficar calado/cooperar (C).
![Page 44: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/44.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 44
Punições x Prêmios
Jog 1 Jog 2 P1 P2 Comentário
Acusa Acusa 1 1 Punição
Acusa Coopera 5 0 Tentação
Coopera Acusa 0 5 Tentação
Coopera Copera 3 3 Prêmio
![Page 45: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/45.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 45
O Dilema
Cada um dos prisioneiros deve decidir se deve cooperar com o outro prisioneiro ou trair e procurar uma pena menor.
![Page 46: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/46.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 46
Como jogar?
Jogo entre dois jogadores. Em cada jogada os jogadores decidem
o que fazer. Pontos são atribuídos de acordo com a
tabela. Após um certo número de jogadas, o
jogador com mais pontos vence.
![Page 47: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/47.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 47
Representando as estratégias
Considerar estratégias determinísticas. Considerar os resultados das três
últimas jogadas para decidir o que fazer.
Desde que há 4 possibilidades temos 4x4x4=64 histórias diferentes.
![Page 48: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/48.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 48
Representando as estratégias 1
64 bits indicam o que fazer para cada uma história possível (acusar ou cooperar)
Podemos usar seis bits para representar as três jogadas iniciais (imaginárias) para a primeira jogada.
Total de 70 bits.
![Page 49: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/49.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 49
Representando as estratégias 2 Possível cromossomo: AACCA...ACC Considerando o bit mais à direita
como a estratégia 1 (=C cooperar) e o mais à esquerda como estratégia 70 (=A acusar).
A estratégia 3 tem como próxima jogada A=acusar
Esta estratégia pode estar representando a história: CC; AC; CA
![Page 50: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/50.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 50
Algoritmo
Escolha uma população inicial. Cada jogador recebe uma cadeia aleatória de bits (As e Cs), representando uma estratégia.
Teste cada jogador para testar sua eficácia. O resultado de cada jogador é a média de todos os jogos.
Selecione os jogadores que irão reproduzir
![Page 51: Algoritmos Genéticos Adriano Joaquim de O Cruz ©2003 NCE/UFRJ adriano@nce.ufrj.br](https://reader034.vdocuments.pub/reader034/viewer/2022042623/552fc0f8497959413d8b4737/html5/thumbnails/51.jpg)
@2002 Adriano Cruz NCE e IM - UFRJ Algoritmos Genéticos 51
Algoritmo 1
Um jogador mediano recebe um parceiro; um jogador acima de um desvio padrão acima da média recebe dois; um ruim nada.
Os jogadores são casados e usa-se mutação.
Assim temos uma nova geração.