Escolar Documentos
Profissional Documentos
Cultura Documentos
Natasha Queiroz
Objetivo
Introduzir e demonstrar as principais tcnicas de IA aplicadas em jogos acadmicos e comerciais.
ROTEIRO
Introduo Tcnicas de IA para jogos Exemplos Prticos
O Estado da Arte
Consideraes Finais
Determinstica X No-Determinstica
Principais Tcnicas
O Futuro
Determnistica
Tcnicas fceis de implementar,
X No-Determinstica
Tcnicas difceis de implementar,
entender e testar;
Rpidas, quando comparadas s
entender e testar;
Lentas, quando comparadas s
tcnicas no-determinsticas;
Previsveis. Com o passar do
tcnicas no-determinsticas;
Imprevisveis. O comportamento
tempo, o jogador capaz de prever com exatido o comportamento do NPC, diminuindo a diverso e longevidade do jogo.
do NPC pode variar de acordo com as aes do jogador, aumentando a diverso e longevidade do jogo.
Principais Tcnicas
Cheating; Finite State Machines; Fuzzy Logic; Pathfinding; Rules-based AI Systems; A-Life techniques; Entre outras.
O Futuro
O prximo grande passo em IA Alguns
no-determinstica;
Foco maior na inteligncia dos
jogos comerciais, nos ltimos anos, destacaram-se por uso de IA no-determinstica, marcando um novo patamar na IA dos jogos eletrnicos, tais como: Creatures, Black & White, Battlecruiser 3000AD, Dirt Track Racing, Fields of Battle e Heavy Gear.
problema de Chasing and Evading se divide em duas partes: primeiro, define-se qual dos dois se deve fazer. Segundo, executa-se o algoritmo responsvel pelo movimento;
Pode-se adicionar uma terceira
Uma tcnica de Chasing/Evading pode ser implementada em um mundo contnuo ou em um mundo tile-based, pouco diferindo no cdigo;
Dependendo da necessidade do jogo, escolhe-se a forma mais simples possvel que possa atender aquela situao especfica.
Pattern Movement
Muito
utilizado para simular movimentaes complexas dos NPCs, mas que na verdade so prdeterminadas;
A movimentao do NPC ocorre
Vrios padres podem ser carregados em situaes diferentes, fazendo com que a movimentao fique variada e parea de grande complexidade;
simples
aos
mais
Pelo fato de ser uma tcnica determinstica, pode se tornar previsvel, diminuindo a diverso e longevidade do jogo.
Pattern Movement
Pattern Movement
diversas tcnicas de Pathfinding e a utilizao de uma delas depende de uma srie de fatores, tais como:
O destino esttico ou
mvel? Existem obstculos no caminho? Se existem obstculos, esses obstculos so mveis? Como o terreno? O caminho mais curto sempre a melhor soluo?
Para a maior parte dos problemas de Pathfinding, existe um algoritmo bastante conhecido, chamado A*;
Em alguns casos, principalmente nos mais simples, o A* no a melhor escolha. Esses casos sero abordados a seguir.
de linguagens de programao extremamente simples que so utilizadas para moldar tarefas especficas do jogo;
Podem
Os scripts podem ser lidos e executados quando o jogo for iniciado ou durante o prprio jogo, quando um determinado evento acionado;
ser utilizadas pelos desenvolvedores no momento da produo do jogo bem como por jogadores aps o jogo ter sido lanado, visando a sua expanso;
Pode utilizar uma linguagem de script
Com os scripts, pode-se alterar atributos, comportamentos e respostas dos NPCs, bem como lidar com eventos do jogo;
apropriada, como Lua ou Python, ou ter uma sintaxe especfica para o jogo;
O jogo se torna extremamente expansvel e manutenvel, podendo ser alterado significativamente sem necessidade de se desenvolver uma nova verso.
FiniteState Machines
Mquinas de Estados Finitos so
estruturas lgicas compostas por um conjunto de estados e um conjunto de regras de transio entre esses estados;
No caso dos jogos, so bastante
FiniteState Machines
FiniteState Machines
FiniteState Machines
FiniteState Machines
Substituindo o estado Atacando um Inimigo pelos estados Procurando Posio de Ataque, Desferindo Golpe e Esquivando.
FiniteState Machines
FiniteState Machines
Fuzzy Logic
A essncia da lgica difusa que tudo uma questo de nveis - Lofti
do que sistemas baseados em regras tradicionais para efetuarem as mesmas tarefas. - Timothy Masters
Aplicaes em jogos: Navegao de unidades atravs de obstculos, waypoints, etc. Controle de deciso.
Fuzzy Logic
Fuzzy Logic
Mapear os inputs com valores reais para inputs fuzzy, usando funes de associao. Exemplo: uma funo de associao para o peso de uma pessoa.
Fuzzy Logic
Segunda etapa:
De posse dos inputs fuzzy, pode-se produzir algum output ou concluso combinando certas regras (fuzzy rules). Uso de axiomas fuzzy:
Fuzzy Logic
Criatura de um jogo decide se deve atacar um jogador: Variveis de entrada: distncia, sade da criatura e ranking do jogador.
Fuzzy Logic
Variveis de sada (aes): fugir, atacar ou fazer nada. Algumas possveis regras:
Output gerado:
Fuzzy Logic
Necessria quando se exige um resultado real de um processamento fuzzy. Mtodo simples: atribuir valores s variveis de sada e calcular a mdia ponderada. Exemplo anterior: valor -10 para fugir, 1 para fazer nada e 10 para atacar. Resultado:
Rule-BasedAI
Sistemas baseados em regras consiste em um conjunto de regras if-then que so usadas para fazer inferncias e tomar decises. Possuem dois componentes:
Memria de trabalho;
Armazena fatos ou assertivas feitas pelas regras. Contm regras if-then que operam sobre os fatos armazenados na memria de trabalho.
Rule-BasedAI
Rule-BasedAI
Fase 1: casamento de regras aos fatos atuais. Fase 2: resoluo de conflitos de regras. Fase 3: executar a regra.
Ao invs de tentar casa a parte if das regras com os fatos, tenta-se casar a parte else. A partir da, tenta-se inferir quais regras foram acionadas para se atingir aquele fato. recursiva e de difcil implementao.
Basic Probability
Inserir aleatoriedade; Calcular probabilidades de acerto, etc; Definir habilidades de personagens; Inserir probabilidades em transies de estado; Adaptabilidade e tomada de decises.
Basic Probability
Dado um evento E que possa ocorrer de n maneiras dentro de um experimento que possui N resultados possveis (espao amostral N), define-se a probabilidade de E como: P(E) = n/N
Propriedades:
0 <= P(A) <= 1; Se A o espao amostral, ento P(A) = 1; P(A') = 1 P(A); Se A e B so mutuamente exclusivos, P(A U B) = P(A) + P(B); Se A e B no so mutuamente exclusivos, Probabilidade condicional: Frmula de Bayes:
Bayesian Networks
Grafos cujos nodos representam variveis aleatrias e cujos elos representam relaes causais entre essas variveis. Exemplo:
Bayesian Networks
Exemplo de inferncia usando rede bayesiana (NPC decidir se abre um ba em procura de tesouro, dado que ele pode estar ou no fechado e/ou com armadilha):
P(armadilha) Verdadeiro Falso PT 1 - PT Rede Bayesiana Armadilha verdadeiro falso P(fechado | armadilha) Verdadeiro PLt PLf Falso 1 - PLt 1 - PLf
Bayesian Networks
Exemplo de inferncia usando rede bayesiana (NPC decidir se abre um ba em procura de tesouro, dado que ele pode estar ou no fechado e/ou com armadilha):
Digamos que um NPC tenha experimentado abrir 100 bas e obteve os seguintes resultados: 37 bas tinham armadilhas. Destes, 29 estavam fechados. Dos 63 bas que no tinham armadilhas, 18 estavam fechados. Temos ento as seguintes probabilidades:
Ento, se um NPC notar que o ba est fechado, temos a seguinte probabilidade de que este ba contenha uma armadilha: A inferncia estatstica melhora o palpite do NPC, simulando uma aprendizagem.
Bayesian Networks
As tabelas de probabilidade crescem exponencialmente, de acordo com o nmero de possveis valores das variveis ou de acordo com o nmero de nodos parentes, tornado-as computacionalmente invivel.
Neural Networks
Em termos intuitivos, Redes Neurais Artificiais (RNAs) so modelos matemticos inspirados nos princpios de funcionamento dos neurnios biolgicos e na estrutura do crebro. Estes modelos tm capacidade de adquirir, armazenar e utilizar conhecimento experimental. Buscam simular computacionalmente habilidades humanas tais como aprendizado, generalizao, associao e abstrao.
Neural Networks
ESTRUTURA DE UMA REDE NEURAL camada de entrada: em que as unidades recebem os padres. a camada intermediria: onde feito processamento e a extrao de caractersticas. camada de sada: que conclui e apresenta o resultado final. Quanto maior o nmero de camadas, melhor a capacidade de aprendizado.
Neural Networks
Aprendizagem de Estruturas de Redes Neurais
Existem, basicamente, 3 tipos de aprendizado nas redes neurais artificiais: Supervisionado: neste tipo, a rede neural recebe um conjunto de entradas padronizados e seus correspondentes padres de sada, onde ocorrem ajustes nos pesos sinpticos at que o erro entre os padres de sada gerados pela rede tenham um valor desejado; No-supervisionado: neste tipo, a rede neural trabalha os dados de forma a determinar algumas propriedades dos conjunto de dados. A partir destas propriedades que o aprendizado constitudo; Hbrido: neste tipo ocorre uma "mistura" dos tipos supervisionado e nosupervisionado. Assim, uma camada pode trabalhar com um tipo enquanto outra camada trabalha com o outro tipo.
Neural Networks
Aplicaes para Redes Neurais em Jogos
Na rea de jogos e de sistemas de realidade virtual, as redes neurais apresentam como caracterstica principal a capacidade de capturar comportamentos e predisposies em determinados padres.
GeneticAlgorithms
A idia do desenvolvimento dos algoritmos genticos
partiu dos conhecimentos da biologia, atravs da teoria da evoluo de Darwin, da a denominao desta abordagem de evolutiva; Nesta tcnica, diversos indivduos diferentes so gerados aleatoriamente e somente os mais adaptados sobrevivem. O fundamento bsico desta tcnica criar indivduos, pontu-los de acordo com suas aes e, aps isso, escolher os mais aptos e fazer um cruzamento, gerando assim novos indivduos possivelmente mais adaptados.
GeneticAlgorithms
Vantagens dos Algoritmos Genticos
Uma de suas vantagens a simplificao que permite na formulao e soluo de problemas otimizao. Algoritmos genticos normalmente com descries de entradas formadas por cadeias de bits de tamanho fixo. Eles possuem um paralelismo implcito decorrente da avaliao independente de cada uma dessas cadeias de bits, ou seja, pode-se avaliar paralelamente a viabilidade de um conjunto de parmetros para a soluo do problema de otimizao em questo.
GeneticAlgorithms
Algoritmos Genticos x Mundo Real
A idia por trs do algoritmo gentico consiste em gerar, atravs de regras especficas, um grande nmero de cromossomos (indivduos), populao, de forma a promover uma varredura to extensa quanto necessria do espao de solues. Vale salientar que cada cromossomo corresponde a um ponto no espao de solues do problema de otimizao.
GeneticAlgorithms
O Algoritmo dos algoritmos genticos
Observa-se que cada iterao do algoritmo gentico corresponde aplicao de um conjunto de quatro operaes bsicas: clculo de aptido (fitness evaluation), seleo (selection), cruzamento (crossover) e mutao (mutation). Ao fim destas operaes cria-se uma nova populao, chamada de gerao (generation) que, espera-se, representa uma melhor aproximao da soluo (best solution) do problema de otimizao que a populao anterior. A populao inicial gerada atribuindo-se aleatoriamente valores aos genes (pense um gene como um repositrio que armazena algo) de cada cromossomo. A aptido bruta de um indivduo da populao medida por uma funo de erro, tambm chamada de funo objetivo (fitness function) do problema de otimizao.
A aptido bruta em seguida normalizada (aptido normalizada), para permitir um melhor controle do processo de seleo. Como critrios de parada do algoritmo em geral so usados a aptido do melhor indivduo em conjunto com a limitao do nmero de geraes. Outros critrios podem envolver, por exemplo, um erro abaixo de um valor especificado pelo projetista para um determinado parmetro do problema.
GeneticAlgorithms
Algoritmos Genticos em Jogos
Interessante em situaes onde no possvel prever o comportamento do jogador;
difcil criar NPCs para todas as situaes; Os NPCs se adaptam ao longo do jogo; Inicia-se com uma populao aleatria;
Os melhores iro sobreviver Exemplo: Multiplayer RPG O jogador escolhe seu personagem: cavaleiro, mgico, etc
O NPC tem que se adaptar para enfrentar o adversrio
Pac-Man
Chasing and Evading Pathfinding
SilvesterMob
O que ;
Campo,
Proposta;
Objetivo.
Conceitos Geogrficos
LIMITE E LIMIAR
DENSIDADE E INTENSIDADE
Caractersticas do SilvesterMob
Pntano Floresta
Mapa
com quatro reas geogrficas; NPCs inteligentes; Salvar jogo; Itens, Inimigos e Sistema de Batalha.
Campo Plancie
Desafios do SilvesterMob
"Desculpe, mas voc no pode
Desenvolvimento do SilvesterMob
CLASSES DO JOGO
Diagrama de Classes
Desenvolvimento do SilvesterMob
INTELIGNCIA ARTIFICIAL
Mquinas de Estados
Resultados do SilvesterMob
INVENTRIO REAS DO JOGO
Resultados do SilvesterMob
CASA 1 DO CAMPO VENDA DE ITENS
Resultados do SilvesterMob
CASA 2 DO CAMPO COMPRA DE ITENS
SilvesterPEC
Spore
The Sims 3
The Sims 3
GTA IV
Referncias
(BOURG, 2004) Bourg, David. Seemann, Glenn. AI For Game Developers. OREILLY. 2004.
(SCHWAB, 2004) SCHWAB, Brian. AI Game Engine Programming. Hingham: Charles River Media. 2004.