Técnicas de GameAI: Uma visão geral -...
-
Upload
hoangkhanh -
Category
Documents
-
view
217 -
download
0
Transcript of Técnicas de GameAI: Uma visão geral -...
![Page 1: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/1.jpg)
Prof. Marcelo Henrique dos Santos
Técnicas de GameAI:
Uma visão geral - continuação
![Page 2: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/2.jpg)
Técnicas de GameAI
Movimentação
“Estacionando”
”Vagando”
Desvio de Obstáculos
Pathfinding
Simples
Desvio de Obstáculos
A*
Waypoints
![Page 3: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/3.jpg)
Movimentação
“Estacionando”
d = distância calculada
dmin = distância mínima desejada do alvo
fdes = fator de desaceleração (< 1 e depende da dinâmica do jogo) Ex: 0.3
Vaprox = velocidade de aproximação
Vorig = velocidade sem levar em conta a aproximação
![Page 4: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/4.jpg)
Movimentação
”Vagando”
• passar a impressão de movimento aleatório
• 1ª idéia – variar direção do NPC aleatoriamente
problema ...
–não natural - movimentos bruscos
solução ...
![Page 5: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/5.jpg)
Movimentação
”Vagando”
a dinâmica do movimento é controlada por rv, dv e max_dram
![Page 6: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/6.jpg)
Movimentação
Desvio de Obstáculos
• retângulo de detecção ou outras formas. ex:
• largura igual ao raio de “batida”
• quanto mais rápido o veículo mais longo o retângulo fica
![Page 7: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/7.jpg)
Movimentação
Desvio de Obstáculos
• 1º passo – achar o ponto de intersecção mais próximo
...
A. desconsiderar obstáculos fora do alcance do retângulo de detecção
B. desconsiderar obstáculos atrás, converter coordenadas de obstáculos
com possível colisão para coordenadas locais e verificar coordenada y
C. verificar se obstáculos se sobrepõe ao retângulo, expandir raio do
obstáculo por metade da largura do retângulo e verificar coordenada
![Page 8: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/8.jpg)
Movimentação
Desvio de Obstáculos
D. achar o ponto de intersecção mais próximo
![Page 9: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/9.jpg)
Movimentação
Desvio de Obstáculos
• 2º passo – calcular força de frenagem e força lateral
![Page 10: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/10.jpg)
Movimentação
Desvio de Obstáculos
• caso 3D ...
– obstáculos = esferas
– retângulo = cilindro
![Page 11: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/11.jpg)
Pathfinding
• Pathfinding, ou busca de caminhos é um dos problemas mais
comuns no desenvolvimento de jogos, e está presente na maioria dos
gêneros.
• patrulhamento
• desvio de obstáculos
• perseguição
• planejamento de trajetória
• mirar (se tem obstáculo deve ser previsto) mover-se e atirar
![Page 12: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/12.jpg)
Pathfinding
Caso Simples
• pode-se utilizar algoritmos de perseguição e fuga
abstração:
ponto inicial = predador
ponto final = presa
problema ...
obstáculos
![Page 13: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/13.jpg)
Pathfinding
Desvio de Obstáculos
Estratégias
Contornar Obstáculos
– obstáculos maiores
– critério de saída do modo “contorno”...
pseudo-código pathfinding simples + desvio
Início
ENQUANTO
não chegou ao destino
ESCOLHA um próximo passo rumo ao destino
SE o local está vazio, mova-se até ele
SENÃO escolha outra direção segundo estratégia de
desvio de obstáculos
FIM ENQUANTO
Fim
Verificar textos deste slide que estão “Atrás” do código e
eu não consegui decifrar...)
![Page 14: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/14.jpg)
Pathfinding
Waypoints
• utilização de rotas interligando os pontos principais
em um mapa é uma técnica usada em jogos.
• cada nó do grafo representa um waypoint que
contém informações sobre como chegar até os nós vizinhos.
exemplo: jogos de corrida.
Na pista pode ser definidas diversas
rotas com características diferentes.
Cada carro começa seguindo uma rota
e muda quando necessário
(ex: carros na sua frente)
![Page 15: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/15.jpg)
Pathfinding
A*
• cálculo de caminho ótimo + desvio de obstáculos
• modelagem:
(quadrado, retângulos, hexágonos, outros)
– utilização de grafo (vizinhança)
– cada ladrilho = um nó no grafo
![Page 16: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/16.jpg)
Pathfinding
A*
A* mantém duas listas:
– nós abertos: armazena todos os nós que precisam ser
verificados,
– nós fechados: armazena os nós que não precisam
mais ser verificados no momento.
![Page 17: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/17.jpg)
Pathfinding
A*
• o ponto crucial aqui é escolher qual dos nós fará
parte do caminho a ser percorrido.
• função de avaliação F(n) que é o resultado da soma
F(n) = G(n) + H(n)
• onde G(n) custo do nó inicial ao nó candidato ex: 10 quadrado horizontal ou vertical e de 14 diagonal(~10*√2)
• e H(n) é a função heurística, indica o custo estimado do nó
candidato até o destino final
ex: método Manhattan, número de quadrados horizontal e
vertical até o alvo, ignorando movimento diagonal, e ignorando
qualquer obstáculo que pode estar no caminho
![Page 18: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/18.jpg)
Pathfinding
A*
1. coloca-se o nó inicial na lista de abertos;
2. nós adjacentes (filhos) também na lista de abertos,
se não estiverem, menos obstáculos ou nós da lista de
fechados;
3. coloca-se o nó inicial na lista de nós fechados;
![Page 19: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/19.jpg)
Pathfinding
A*
4. se nó adjacente está na lista aberta, verificar se o
G agora é mais baixo do que o já na lista se não for,
não fazer nada;
se for, trocar o pai do nó adjacente para o nó selecionado e
recalcular o F;
5. repetir até nó-destino ser adicionado à lista de abertos
(algoritmo termina em “sucesso”), ou a lista de abertos fique
vazia (falha na busca de um caminho).
![Page 20: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/20.jpg)
Pathfinding
A*
Exemplo
legenda:
verde = lista aberta
azul = lista fechada
![Page 21: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/21.jpg)
Algoritmos de busca em grafo:
B*
• Bellman-Ford algorithm
• Best-first search
• Bidirectional search
• Breadth-first search
D*
• Depth-first search
• Depth-limited search
• Dijkstra's algorithm
• Floyd–Warshall algorithm
• Hill climbing
• Iterative deepening depth-first search
• Johnson's algorithm
• Uniform-cost search
![Page 22: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/22.jpg)
Algoritmo MiniMax
• Faz uma caminhamento em profundidade completo da árvore!
• Se a profundidade é m e em cada estado existem b jogadas
possíveis, a ordem de complexidade é O(bm)
• Ou seja esse algoritmo não é prático para jogos reais
• Mas serve para análise matemática e como base para
algoritmos mais eficientes
![Page 23: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/23.jpg)
Multiplayer games
O MiniMax pode ser estendido para jogos com múltiplos jogadores
Uso de um vetor de utilidades
Alianças
Podem ocorrer naturalmente no processo de maximizar a função de
utilidade
![Page 24: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/24.jpg)
Qual o problema com o MiniMax?
![Page 25: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/25.jpg)
Alpha-Beta Pruning
Problema com o MiniMax
# de estados é exponencial
Pruning = Poda
Não examinar grandes partes da árvore,
diminuindo assim o custo
Alpha-Beta Prunning
Retorna a mesma ação do MiniMax, mas elimina
caminhos que não influenciam a decisão
![Page 26: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/26.jpg)
α-β pruning example
![Page 27: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/27.jpg)
α-β pruning example
![Page 28: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/28.jpg)
α-β pruning example
![Page 29: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/29.jpg)
α-β pruning example
![Page 30: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/30.jpg)
α-β pruning example
![Page 31: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/31.jpg)
Alpha-Beta Pruning
a = o maior valor já
encontrado no caminho
(melhor alternativa p/ MAX)
ß = o menor valor já
encontrado no caminho
(melhor alternativa p/ MIN)
Se v é pior que alpha,
MAX vai evitá-lo
![Page 32: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/32.jpg)
Alpha-Beta Pruning
• A eficiência do algoritmo depende da ordem
em que os nodos são examinados
![Page 33: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/33.jpg)
Decisões Imperfeitas, em Tempo Real
Minimax mesmo c/ Alpha Beta Prunning não
é factível para jogos complexos
Solução:
Parar a busca antes de chegar ao final
É necessário:
Função de Avaliação (Evaluation Function):
fornece uma estimativa da utilidade daquele
estado (Heurística)
Teste de Parada (Cutoff Test): decide em quando
parar a busca
![Page 34: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/34.jpg)
Funções de Avaliação
• Devem tentar manter a mesma ordenação da função de utilidade final
• Não podem demorar muito
• Devem estar relacionadas com as “chances de ganhar o jogo”
• Chances? Jogo é determinístico!?
• Incerteza computacional ao invés de incerteza da informação
![Page 35: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/35.jpg)
Funções de Avaliação
• Análise de características (features) do estado corrente
• Divisão em classes de equivalência • Conjuntos de estados com características similares
• Para cada classe, determina-se por experiência: •%Vitórias, %Empates, %Derrotas
• Função de avaliação é calculada como uma média ponderada. •Ex. 72% Vitória, 20% Derrota, 8% empate
Eval(S) = (0.72 x 1) + (0.2 x -1) + (0.08 x 0) = 0.52
•Requer muitas classes e experiência...
![Page 36: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/36.jpg)
Funções de Avaliação
• Uma forma mais fácil é dar valor diretamente as
features •Xadrez: Peão = 1, Cavalo / Bispo = 3, etc...
•“Estrutura de peões”, “Proteção do rei”, etc...
• A função de avaliação é computada através de uma
combinação linear ponderada •Eval(S) = w1.f1 (s) + w2.f2 (s) + ... + wn.fn (s)
•Funções não lineares também podem ser usadas •Um par de bispos tem mais valor que o dobro de um só
•Leva em consideração as outras peças
•De novo, experiência / aprendizado é necessário
![Page 37: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/37.jpg)
Teste de Parada
• If Cutoff-Test(State, Depth) return Eval(state)
• Forma mais comum: profundidade fixa
• Problemas: e se na próxima jogada...
![Page 38: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/38.jpg)
Teste de Parada
• A função de avaliação somente deve ser aplicada
a estados que não vão sofrer mudanças bruscas
de valor •Quiescence Search
• Efeito Horizonte: jogada
catastrófica que vai
acontecer inevitavelmente
em um futuro próximo,
fora do horizonte de busca
![Page 39: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/39.jpg)
Poda
• Singular Extensions • Ultrapassar a profundidade limite para ações que
são “claramente melhores”
Na prática, diminui o branching factor (poda)
• Forward Prunning • Ignorar certos movimentos possíveis
• Humanos fazem isso inconscientemente
• Não há garantias...
• Interessante para movimentos simétricos
![Page 40: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/40.jpg)
Xadrez na Prática
• Suponha uma função de avaliação e um PC que
• consiga investigar 10^6 nodos/s
• 200 x 10^6 nodos por jogada (3 minutos)
• Branching Factor: 35: 35^5 = 50 x 10^6
• Minimax = 5 jogadas (jogador mediano)
• Alpha-Beta = 10 Jogadas (expert)
• Para virar um Grande-Mestre: • Função de avaliação bem ajustada
• Banco de jogadas (abertura e término)
• Supercomputador...
![Page 41: Técnicas de GameAI: Uma visão geral - continuaçãomarcelohsantos.com/aulas/include/2Sem_2018/inteligenciaArtificial...Prof. Marcelo Henrique dos Santos Técnicas de GameAI: Uma](https://reader034.fdocumentos.com/reader034/viewer/2022052611/5c80660f09d3f242188ccf24/html5/thumbnails/41.jpg)
Jogos Não-Determinísticos (sorte)
• Exemplo: Gamão
• As jogadas possíveis são determinadas
depois que se jogam os dados
• Não é possível construir uma árvore como no
caso do xadrez e aplicar o minimax
• Solução: • Incluir nodos intermediários com as chances
• Algoritmo: ExpectiMinimax