Aprendizado de Máquina Aplicado à Jogos Leandro Soriano Marcolino 14 de novembro de 2006 Inteligência Artificial para Jogos
Introdução Por que utilizar técnicas de aprendizado? IA é um diferencial Capacidade de adaptação leva a crer que o NPC entende o que está fazendo Inteligência Artificial para Jogos 2/22
Jogos cada vez mais complexos torna difícil o uso de IA convencional Scripts complexos contem erros facilmente Baldur s Gate: Shadows of Amn deveria ter dragões invencíveis, mas falhas na IA permitia a jogadores fracos matá-los Inteligência Artificial para Jogos 3/22
Adaptação permite manter o nível de desafio do jogo Para relaxar [os astronautas] sempre podiam jogar com o HAL um grande número de jogos semi-matemáticos, incluindo dama, xadrez e poliominós. Se HAL usasse toda sua capacidade, ele podia vencer facilmente qualquer um; mas isso seria ruim para a moral. Por isso, ele foi programado para vencer apenas cinquenta por cento do tempo, e seus companheiros humanos pretendiam não saber disso. (2001: Uma Odisséia no Espaço. Escrito por Clarke em 1968) Inteligência Artificial para Jogos 4/22
Técnicas de Aprendizado Algoritmos Genéticos Redes Neurais Redes Neurais Evolutivas Aprendizado por Reforço Inteligência Artificial para Jogos 5/22
Formas de Aprendizado Aprendizado Offline Forma mais segura de se utilizar aprendizado em jogos Inteligência Artificial para Jogos 6/22
Aprendizado Supervisionado Black & White Creatures Inteligência Artificial para Jogos 7/22
Aprendizado Online Adaptação automática ao estilo e tática do jogador Publicadoras de jogos são relutantes em lançar jogos com aprendizado online O jogo pode aprender comportamento inferior Inteligência Artificial para Jogos 8/22
Nascar Racing 2003 Season e The Fall Of Max Payne mudam parâmetros da IA automaticamente Descent 3: Mercenary e WWII: Frontline Command possuem variações da IA definidas manualmente e escolhem durante o jogo qual variação estará em curso Inteligência Artificial para Jogos 9/22
Necessidades Computacionais do Aprendizado Online Velocidade Eficácia Robustez Eficiência Inteligência Artificial para Jogos 10/22
Dynamic Scripting When error is corrected whenever it is recognised as such, the path of error is the path of truth. Hans Reichenbach (1891-1953). Desenvolvido para atender as quatro necessidades computacionais do aprendizado online Inspirado pelas técnicas de aprendizado por reforço Requer menos tentativas para o aprendizado Inteligência Artificial para Jogos 11/22
Funcionamento São mantidos várias bancos de regras, um para cada classe de agente do jogo Sempre que um agente é gerado, o banco de regras é usado para criar um script que controlará o seu comportamento A probabilidade de uma regra ser selecionada para o script é influenciada pelo peso da regra Inteligência Artificial para Jogos 12/22
A adaptação consiste em alterar o peso das regras de acordo com o sucesso ou fracasso de seu uso nos scripts Inteligência Artificial para Jogos 13/22
Inteligência Artificial para Jogos 14/22
Necessidades IA do jogo em scripts Conhecimento do domínio para que as regras do banco de dados sejam boas Uma função de avaliação para conhecer o sucesso das regras Inteligência Artificial para Jogos 15/22
Melhorias Para aumentar o conhecimento do domínio, podemos executar o seguinte procedimento: 1. Adaptação Online: Usamos aprendizado online contra jogadores e IA desenvolvida manualmente 2. Adaptação Offline: Usamos aprendizado offline para descobrir táticas que: Superem os melhores resultados do aprendizado online Inteligência Artificial para Jogos 16/22
Resolvam as situações em que o aprendizado online fracassou 3. Melhoramentos: As táticas descobertas pelo aprendizado offline são analizadas e utilizadas para melhorar o conhecimento do domínio do aprendizado online. O passo 1 pode ser repetido para validação Inteligência Artificial para Jogos 17/22
Conclusão Nasrudin Mullah começou a chamar a atenção do povo no mercado: Escutem todos! Vocês querem conhecimento sem dificuldades, verdade sem mentiras, atingir objetivos sem esforço, progresso sem sacrifício? Em pouco tempo juntou uma multidão, todos gritando: Sim, sim! Excelente! disse Mullah. Eu apenas queria saber. Pode confiar que eu contarei a vocês se um dia descobrir como conseguir tudo isso. Inteligência Artificial para Jogos 18/22
Conhecimento sem dificuldades: Eficiência Verdade sem mentiras: Conhecimento correto do domínio, Robustez Atingir objetivos sem esforço: Velocidade Progresso sem sacrifício: Eficácia Inteligência Artificial para Jogos 19/22
Nasrudin acredita que os quatro requerimentos são impossíveis Conseguimos alcançá-los com Dynamic Scripting Técnica criticada por ser simples, mas é a simplicidade que a faz atender as quatro necessidades computacionais Inteligência Artificial para Jogos 20/22
Atualmente as publicadoras tem medo de usar aprendizado online Quando uma utilizar, as outras serão forçadas a usar também devido a competitividade do mercado Inteligência Artificial para Jogos 21/22
Referências Adaptative Game AI, tese de Pieter Spronck - http://www.cs.unimaas.nl/p.spronck/pubs/ ThesisSpronck.pdf Site do Pieter Spronck - http://www.cs.unimaas.nl/p.spronck Inteligência Artificial, Stuart Russel e Peter Norvig Inteligência Artificial para Jogos 22/22