Documente Academic
Documente Profesional
Documente Cultură
Jogos Digitais
Agradeo e dedico estas aulas ao Prof. Osrio
Sumrio
1. 2. 3. 4.
Introduo
Duas categorias bsicas de jogos Quebra-cabea (brain teasers) Jogos de tabuleiro (board games) Uso de tcnicas clssicas de Inteligncia Artificial Abordagem extremamente importante O jogo visto como um problema de busca Busca o qu? Uma soluo tima (otimizao)
Introduo
Quebra-cabea (brain teasers) Torre de Hanoi, Caixeiro Viajante, puzzle de 8 peas, missionrio e os canibais, presa/predador, resta 1, problema dos baldes, alocao de espao, ... Jogos de tabuleiro (board games) Jogo da velha, damas, connect-4, othello, backgammon,xadrez, go, ...
Espao de Busca
Estado atual
Prximo estado
Espao de Busca
O problema sendo definido da seguinte maneira: Estados iniciais (1 ou mais) Estados finais (zero ou mais solues) Operadores (aes) que efetuam a transio do estado En para En+1
Espao de Busca
8-puzzle
1 2 3 8 4 7 5 6
...
8 2 4
5 3 6
7 1
1 2 3 4 8
7 5 6
1 3
4 2 8
7 5 6
1 2 3
4 5 8
7 6
1 2 3
4 8
7 5 6
4S
2L ...
1 4 7 2 5 8
5O
3 6
8N
Espao de Busca
8-puzzle S1 S2 ... S3 Sn Vrios estados iniciais
Espao de Busca
A 5 4 D 4 B 5 G 2 E 4 F 3 4 C
3 S
Espao de Busca
S A B C D E F G B C D E C F G A B E F G A C G B F D E
Busca Livre
Algoritmos usados em quebra-cabeas O objetivo encontrar a soluo do problema explorando o espao de busca Sem interveno de oponente Busca cega (fora bruta) Busca em profundidade (Depth search) Busca em largura (Breadth search) Busca exaustiva (British Museum Search) Busca no determinstica (Nondeterministic search)
UNISINOS - Joo Ricardo Bittencourt
Busca Livre
Algoritmos usados em quebra-cabeas Busca heurstica (trajetrias e labirintos) Hill Climbing Search Beam Search Best-First Search Optimal Search Branch-and-Bound Search A* Search
Busca em profundidade
S A B C D E F G
Menor complexidade computacional (menor custo) Pode no encontrar uma soluo Permite incluir uma profundidade mxima Implementado com recursividade ou com uma pilha Deve-se marcar o nodo visitado Critrio de parada:
Busca em largura
S A B C D E F B D E C F A B E F G A C G B F D E
Busca em largura
Alta complexidade computacional No se sabe se chega em uma soluo em tempo finito Implementado com recursividade ou com uma fila Critrio de parada:
Achou a soluo
Busca exaustiva
Combina buscas em largura e profundidade Acha todas as solues possveis para o problema Seleciona a melhor soluo depois de achar todas as solues Necessita definir um critrio o que uma melhor soluo?
Busca condicionada
Algoritmos usados em jogos possui um adversrio O objetivo encontrar a melhor ao (maximize a vitria) em um determinado instante de tempo t Tem a presena de um oponente Principais algoritmos Minimax Minimax +Alpha-beta
Busca Minimax
So dois jogadores o MAX e o MINI Sempre que o MAX joga este tenta maximizar uma funo (aumentar as chances de vitria) Sempre que o MINI joga este tenta minimizar uma funo (minimizar as chances do adversrio) Quem comea o MAX A mesma rvore usada para os dois adversrios
Busca Minimax
Pegar 1 ou 2 palitos e no pode ser o ltimo a jogar 5 Jog1. 4 2 2 1 0 1 1 0 Jog2. 3 Jog1. 2 Jog2. 1 Jog1.
3 1 0
Busca Minimax
Pegar 1 ou 2 palitos e no pode ser o ltimo a jogar 5 Jog1. 4 2 2 1 0 1 1 Jog2. 3 Jog1. 2 Jog2. 0 1 Jog1.
3 1
-1
-1
+1
-1
+1
+1 +1
-1
Busca Minimax
Pegar 1 ou 2 palitos e no pode ser o ltimo a jogar 5 Jog1. MAX 4 2 2 1 0 1 1 Jog2. MINI 3 Jog1.MAX 2 Jog2. MINI 0 1 Jog1. -1 MAX
3 1
-1
-1
+1
-1
+1
+1 +1
Busca Minimax
-1
1
+1 +1
0 2 1
Jog2. MINI
-1
+1
0
2 1
+1
1
-1
+1
-1
+1
+1
-1
0
Propagar Mini e Max Mini (menor dos dois filhos) Max (maior dos dois filhos)
+1
G A
Maximizar a busca eliminando sub-rvores 10? A Faz uma busca pr-fixada No momento A 10 (maior valor)
C
10
D 20
E 10
B C G F E D A
Maximizar a busca eliminando sub-rvores 10? A Se G for >= 5, C = 5 (sobe o menor) Se G <5, C=<5 (que no vence 10) Logo no precisa procurar em G G
10
5? E 10 F 5
D 20