Algoritmos Genticos e Computao Evolutiva em Jogos de

  • Slides: 26
Download presentation
Algoritmos Genéticos e Computação Evolutiva em Jogos de Entretenimento Bruno Campagnolo de Paula bruno@ppgia.

Algoritmos Genéticos e Computação Evolutiva em Jogos de Entretenimento Bruno Campagnolo de Paula bruno@ppgia. pucpr. br IA para Jogos

Objetivo e Sumário Explicar a teoria de Algoritmos Genéticos mais que sucintamente; n Apresentar

Objetivo e Sumário Explicar a teoria de Algoritmos Genéticos mais que sucintamente; n Apresentar aplicações de AGs em Jogos de Entretenimento; n Apresentar os principais desafios e aplicabilidade desta técnica; n 9/17/2020 IA para Jogos 2

Algoritmos Genéticos n n Método que imita o processo de evolução; Passos: ¨ Gerar

Algoritmos Genéticos n n Método que imita o processo de evolução; Passos: ¨ Gerar uma codificação para as possíveis parâmetros para a solução do problema; ¨ Criar uma população inicial aleatoriamente; ¨ Calcular a adequabilidade (“fitness”) de cada indivíduo à solução; ¨ Aplicar reprodução ou mutação para gerar novos indivíduos; ¨ Repetir o processo até conseguir uma boa solução. 9/17/2020 IA para Jogos 3

9/17/2020 IA para Jogos 4

9/17/2020 IA para Jogos 4

Conceitos principais de AGs n n Gene: representação de cada parâmetro de um indivíduo;

Conceitos principais de AGs n n Gene: representação de cada parâmetro de um indivíduo; Cromossomo (genótipo): conjunto de genes, representando uma possível solução para um problema; População: Conjunto de indivíduos no espaço de busca; Geração: Iteração completa que gera uma nova população; 9/17/2020 IA para Jogos 5

Conceitos principais dos AGs n n Adequabilidade (Fitness): Aptidão do indivíduo em resolver um

Conceitos principais dos AGs n n Adequabilidade (Fitness): Aptidão do indivíduo em resolver um problema; Seleção: Os indivíduos mais aptos de uma geração selecionados. Quanto maior a aptidão, maior a chance de ser selecionado; Cruzamento (60%, geralmente): reprodução entre indivíduos; Mutação (0, 1 a 5%): alteração de um gene de um indivíduo aleatoriamente. 9/17/2020 IA para Jogos 6

Conceitos principais dos AGs n Cruzamento (crossover): 9/17/2020 IA para Jogos 7

Conceitos principais dos AGs n Cruzamento (crossover): 9/17/2020 IA para Jogos 7

Conceitos importantes n Elitismo: ¨ Transferência dos n melhores indivíduos da geração atual para

Conceitos importantes n Elitismo: ¨ Transferência dos n melhores indivíduos da geração atual para a posterior; n Técnicas de escalonamento: ¨ Quanto mais um indivíduo é adequado mais ele tem chance de ser escolhido; n Tipos de crossover: em quantos pontos o crossover pode ser feito. 9/17/2020 IA para Jogos 8

Exemplo de cálculo de fitness n Ex: 0: 0000, 1: 0001, . . .

Exemplo de cálculo de fitness n Ex: 0: 0000, 1: 0001, . . . 9: 1001, +: 1010, -: 1011, *: 1100, /: 1101, 1110 e 1111 ignorados ¨ 2+3*5 -4: ¨ 4+9: n 0010 1010 0011 1100 0101 1011 0100 1010 1001 1111 Ex: Encontrar expressões que forneçam o resultado 42. Fitness = 1 / abs(res - 42) 2+3*5 -4 = 21 fitness: 1/abs(21 -42) = 1/21 ¨ 7*7+1 -6 = 44 fitness: 1/abs(44 -42) = 1/2 ¨ 6*7 = 42 fitness: 1/0! ¨ 9/17/2020 IA para Jogos 9

Exemplos n Evolução de imagens (geração procedural): ¨ http: //www. genarts. com/karl/p apers/siggraph 91.

Exemplos n Evolução de imagens (geração procedural): ¨ http: //www. genarts. com/karl/p apers/siggraph 91. html n Uso de AGs em Pathfinding: ¨ http: //www. shiffman. net/itp/cla sses/nature/week 10_s 06/path finding/ 9/17/2020 IA para Jogos 10

Exemplos n http: //physics. syr. edu/courses/mirror/ biomorph/ Relojoeiro cego; Geração automática de indivíduos; Idéia

Exemplos n http: //physics. syr. edu/courses/mirror/ biomorph/ Relojoeiro cego; Geração automática de indivíduos; Idéia para o Spore; Gene 1 a 8: Controla a forma; Gene 9: Profundidade da recursão; Gene 10 a 12: Cor; Gene 13: Cor dos segmentos; Gene 14: Tamanho de separação entre os segmentos; ¨ Gene 15: Forma usada para o desenho. ¨ ¨ ¨ ¨ 9/17/2020 IA para Jogos 11

Exemplos n http: //www. genarts. com/karl/evolved-virtualcreatures. html ¨ Uma população de centenas de criaturas

Exemplos n http: //www. genarts. com/karl/evolved-virtualcreatures. html ¨ Uma população de centenas de criaturas virtuais é criada; ¨ Cada criatura se testa sua capacidade de realizar determinadas tarefas: nadar, pular, seguir, competir, etc; ¨ As mais bem sucedidas crescem, são copiadas, combinadas e geram uma nova população; ¨ Surgem comportamentos emergentes. 9/17/2020 IA para Jogos 12

Aplicações em Jogos na Academia ou em Jogos Independentes 9/17/2020 IA para Jogos 13

Aplicações em Jogos na Academia ou em Jogos Independentes 9/17/2020 IA para Jogos 13

Jogador automático de Go-Moku n Ver: http: //laseeb. isr. ist. utl. pt/portas_abertas/gomoku/ slide/sld 001.

Jogador automático de Go-Moku n Ver: http: //laseeb. isr. ist. utl. pt/portas_abertas/gomoku/ slide/sld 001. htm n Gene: representa uma jogada, ou seja, uma posição x e y; Cromossomo: seqüência de jogadas, ou seja, uma estratégia; Fitness: calculado a partir do número total de peças à volta de uma posição. n n 9/17/2020 IA para Jogos 14

Pacman n n Aplicação: típico jogo de presapredador; Codificação possível para um indivíduo (fantasma):

Pacman n n Aplicação: típico jogo de presapredador; Codificação possível para um indivíduo (fantasma): ¨ Cada gene assume 4 valores possíveis (cima, baixo, esquerda e direita) que indicam o que fazer quando se chega a uma intersecção. 9/17/2020 IA para Jogos 15

GA Racer n n n Demo que permite a visualização gráfica da evolução de

GA Racer n n n Demo que permite a visualização gráfica da evolução de um grupo de veículos; Possibilita a alteração de diversos parâmetros referentes a AGs. Genoma é codificado por: ¨ Direção|Aceleração|Direção|Aceleração. . . n A cada iteração, é aplicado um valor de direção e aceleração para o indivíduo. 9/17/2020 IA para Jogos 16

Algoritmos Genéticos em Robocode Usa programação genética; n Terceiro lugar em competição direta robôs

Algoritmos Genéticos em Robocode Usa programação genética; n Terceiro lugar em competição direta robôs contruídos por humanos; n 9/17/2020 IA para Jogos 17

Algoritmos Genéticos em Robocode n Ver monografia em anexo (Eric e Fernando)! 9/17/2020 IA

Algoritmos Genéticos em Robocode n Ver monografia em anexo (Eric e Fernando)! 9/17/2020 IA para Jogos 18

Algoritmos genéticos em Jogos de Estratégia em Tempo Real Ver: http: //www. cs. unimaas.

Algoritmos genéticos em Jogos de Estratégia em Tempo Real Ver: http: //www. cs. unimaas. nl/p. spronck/Pubs/ Ponsen. CGAIDE. pdf n Usa scripting dinâmico; n Usa o engine aberto Stratagus/Wargus: n ¨ http: //wargus. sourceforge. net/ 9/17/2020 IA para Jogos 19

9/17/2020 IA para Jogos 20

9/17/2020 IA para Jogos 20

9/17/2020 IA para Jogos 21

9/17/2020 IA para Jogos 21

Algoritmos genéticos em Jogos de Estratégia em Tempo Real Cada cromossomo possui um conjunto

Algoritmos genéticos em Jogos de Estratégia em Tempo Real Cada cromossomo possui um conjunto de estados. n Genes para: n ¨ Contrução (B), Pesquisa (R), Economia (E), Combate (C). 9/17/2020 IA para Jogos 22

Warning Forever Jogo de Nave; n Cada vez que o chefe é morto, é

Warning Forever Jogo de Nave; n Cada vez que o chefe é morto, é gerado um novo indivíduo com características mais eficazes em relação ao ataque feito. n 9/17/2020 IA para Jogos 23

Algoritmos genéticos em jogos comerciais Na realidade não há nenhuma aplicação real e comercial,

Algoritmos genéticos em jogos comerciais Na realidade não há nenhuma aplicação real e comercial, mas possibilidades de aplicação; n Creatures, The Sims 2, etc. n 9/17/2020 IA para Jogos 24

Bibliografia complementar n AI Game Programming Wisdom 2: ¨ n Kalyanpur, Aditya. PACMAN using

Bibliografia complementar n AI Game Programming Wisdom 2: ¨ n Kalyanpur, Aditya. PACMAN using Genetic Algorithms and Neural Networks. ¨ n http: //www. ece. umd. edu/~adityak/Pacman. pdf Marc Ponsen and Pieter Spronck (2004). Improving Adaptive Game AI with Evolutionary Learning. Computer Games: Artificial Intelligence, Design and Education (CGAIDE 2004) (eds. Quasim Mehdi, Norman Gough, Stéphane Natkin and David Al-Dabass), pp. 389 -396. University of Wolverhampton. (Presented at the CGAIDE 2004). ¨ n 11. 4 Building Better Genetic Algorithms; http: //www. cs. unimaas. nl/p. spronck/Pubs/Ponsen. CGAIDE. pdf Jogador automático de Go-Moku ¨ http: //laseeb. isr. ist. utl. pt/portas_abertas/gomoku/slide/ sld 001. htm 9/17/2020 IA para Jogos 25

Resumo n n n n De: http: //www. pdj. com. br/trab_academicos/andre_kishimoto. pdf#search=%22%22 algoritmos %20

Resumo n n n n De: http: //www. pdj. com. br/trab_academicos/andre_kishimoto. pdf#search=%22%22 algoritmos %20 gen%C 3%A 9 ticos%22%20 jogos%22 3. 2. 5 – Algoritmos genéticos (DALMAU, 2004) cita que um dos usos de algoritmos genéticos em jogos pode ser a geração de uma população, criando diferentes indivíduos de acordo com um DNA virtual, sendo esse representado por um vetor de valores, cada um sendo um parâmetro da espécie a ser modelada. Essa técnica pode ser utilizada para a criação de pedestres em um jogo onde o mundo virtual seja uma cidade. (DALMAU, 2004) e (LAMOTHE, 1999) também citam o uso de algoritmos genéticos para mutação ou evolução de personagens. 9/17/2020 IA para Jogos 26