Aprendizado de M´
aquina
Aplicado `
a Jogos
Leandro Soriano Marcolino
14 de novembro de 2006
Introdu¸
c˜
ao
Por que utilizar t´ecnicas de aprendizado?
• IA ´e um diferencial
• Capacidade de adapta¸c˜ao leva a crer que o NPC
• 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˜oes invenc´ıveis, mas falhas na IA permitia
a jogadores fracos mat´a-los
• Adapta¸c˜ao permite manter o n´ıvel de desafio do jogo
“Para relaxar [os astronautas] sempre podiam jogar com o HAL um grande n´umero de jogos semi-matem´aticos, incluindo dama, xadrez e poliomin´os. 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˜ao
T´
ecnicas de Aprendizado
• Algoritmos Gen´eticos
• Redes Neurais
• Redes Neurais Evolutivas • Aprendizado por Refor¸co
Formas de Aprendizado
• Aprendizado Offline
– Forma mais segura de se utilizar aprendizado em jogos
• Aprendizado Supervisionado – Black & White
– Creatures
• Aprendizado Online
– Adapta¸c˜ao autom´atica ao estilo e t´atica do
jogador
– Publicadoras de jogos s˜ao relutantes em lan¸car
jogos com aprendizado online
– Nascar Racing 2003 Season e The Fall Of Max
Payne mudam parˆametros da IA
automatica-mente
– Descent 3: Mercenary e WWII: Frontline
Com-mand possuem varia¸c˜oes da IA definidas
manu-almente e escolhem durante o jogo qual varia¸c˜ao
estar´a em curso
Necessidades Computacionais
do Aprendizado Online
• Velocidade • Efic´acia • Robustez • EficiˆenciaDynamic 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´ecnicas de aprendizado por
re-for¸co
– Requer menos tentativas para o aprendizado
Funcionamento
• S˜ao mantidos v´arias bancos de regras, um para
cada classe de agente do jogo
• Sempre que um agente ´e gerado, o banco de
regras ´e usado para criar um script que controlar´a
o seu comportamento
• A adapta¸c˜ao consiste em alterar o peso das regras de acordo com o sucesso ou fracasso de seu uso nos scripts
Necessidades
• IA do jogo em scripts
• Conhecimento do dom´ınio para que as regras do banco de dados sejam boas
• Uma fun¸c˜ao de avalia¸c˜ao para conhecer o sucesso
das regras
Melhorias
Para aumentar o conhecimento do dom´ınio, po-demos executar o seguinte procedimento:
1. Adapta¸c˜ao Online: Usamos aprendizado online
contra jogadores e IA desenvolvida manualmente
2. Adapta¸c˜ao Offline: Usamos aprendizado offline
• Resolvam as situa¸c˜oes em que o aprendizado online fracassou
3. Melhoramentos: As t´aticas descobertas pelo
aprendizado offline s˜ao analizadas e utilizadas
para melhorar o conhecimento do dom´ınio do aprendizado online. O passo 1 pode ser repetido
para valida¸c˜ao
Conclus˜
ao
Nasrudin Mullah come¸cou a chamar a aten¸c˜ao do povo no mercado:
“Escutem todos! Vocˆes querem conhecimento sem dificul-dades, verdade sem mentiras, atingir objetivos sem esfor¸co, progresso sem sacrif´ıcio?”
Em pouco tempo juntou uma multid˜ao, todos gritando: “Sim, sim!”
• Conhecimento sem dificuldades: Eficiˆencia
• Verdade sem mentiras: Conhecimento correto do dom´ınio, Robustez
• Atingir objetivos sem esfor¸co: Velocidade
• Progresso sem sacrif´ıcio: Efic´acia
• Nasrudin acredita que os quatro requerimentos
s˜ao imposs´ıveis
• Conseguimos alcan¸c´a-los com Dynamic Scripting
• T´ecnica criticada por ser simples, mas ´e a
simpli-cidade que a faz atender as quatro necessidades computacionais
• Atualmente as publicadoras tem medo de usar aprendizado online
• Quando uma utilizar, as outras ser˜ao for¸cadas a
usar tamb´em devido a competitividade do
mer-cado
Referˆ
encias
• 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