Sunteți pe pagina 1din 24

Inteligncia Artificial para Jogos

Busca de Solues no Espao de Busca


Prof. MSc. Joo Ricardo Bittencourt

Update: 13 Ago. 2012 joaorb@unisinos.br

Tome a plula vermelha

Jogos Digitais
Agradeo e dedico estas aulas ao Prof. Osrio

Inteligncia Artificial para Jogos UNISINOS

Sumrio
1. 2. 3. 4.

Introduo Espao de Busca Algoritmos de Busca Livre Algoritmos de Busca Condicionada

UNISINOS - Joo Ricardo Bittencourt

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)

UNISINOS - Joo Ricardo Bittencourt

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, ...

UNISINOS - Joo Ricardo Bittencourt

Espao de Busca

Usar a seguinte notao (baseada em grafos) Uma ao

Estado atual

Prximo estado

UNISINOS - Joo Ricardo Bittencourt

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

Cria-se uma rvore de busca

UNISINOS - Joo Ricardo Bittencourt

Espao de Busca
8-puzzle
1 2 3 8 4 7 5 6

...

8 2 4

5 3 6

7 1

Vrios estados iniciais

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

Diferentes movimentos Pea N S L O

4S

2L ...
1 4 7 2 5 8

5O
3 6

8N

Uma soluo final


UNISINOS - Joo Ricardo Bittencourt

Espao de Busca
8-puzzle S1 S2 ... S3 Sn Vrios estados iniciais

Diferentes movimentos Pea N S L O

Uma soluo final


UNISINOS - Joo Ricardo Bittencourt

Espao de Busca
A 5 4 D 4 B 5 G 2 E 4 F 3 4 C

3 S

Cada aresta tem um custo associado

UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

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:

Achou a soluo Atingiu a profundidade mxima


UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

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?

UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

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

UNISINOS - Joo Ricardo Bittencourt

Busca Minimax

Jogos dos Palitos

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

UNISINOS - Joo Ricardo Bittencourt

Busca Minimax

Jogos dos Palitos

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

Pontuar os nodos terminais Em geral: +1 (vitria), 0, -1 (derrota)

-1

UNISINOS - Joo Ricardo Bittencourt

Busca Minimax

Jogos dos Palitos

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

Classificar os nodos como Min (tem um trao) e Max (sem trao)

UNISINOS - Joo Ricardo Bittencourt

Busca Minimax

Jogos dos Palitos

Pegar 1 ou 2 palitos e no pode ser o ltimo a jogar Jog1. MAX +1 5

-1
1

+1 +1
0 2 1

Jog2. MINI

-1

+1
0

2 1

+1
1

Jog1.MAX 2 Jog2. MINI 1 Jog1. -1 MAX

-1

+1

-1

+1

+1

-1
0

Propagar Mini e Max Mini (menor dos dois filhos) Max (maior dos dois filhos)

+1

UNISINOS - Joo Ricardo Bittencourt

G A

Busca Minimax Alpha-Beta

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

UNISINOS - Joo Ricardo Bittencourt

B C G F E D A

Busca Minimax Alpha-Beta

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

UNISINOS - Joo Ricardo Bittencourt

S-ar putea să vă placă și