Você está na página 1de 30

GT-JeDi - Curso de Desenv.

de Jogos IA para Jogos

Fernando Osrio
2006/2

IA para Jogos
Tpicos abordados... Introduo Inteligncia Artificial

GAME AI

IA clssica: Jogos de Raciocnio Soluo de problemas Jogos de Tabuleiro (Board games) Busca em Espao de Estados (Trees and adversarial search) IA clssica: Jogos de Ao em Labirintos Busca de caminhos (Path finding) Planejamento de aes e trajetrias (Path planning) Deslocamento / Navegao (Motion & Navigation) Prximos tpicos: Agentes inteligentes e Aprendizado

IA para Jogos
Tpicos abordados...

GAME AI

Agentes Inteligentes Comportamento: falsa IA e o comportamento inteligente Agentes Reativos Agentes Cognitivos / Deliberativos Agentes com Arquitetura Hierrquica e Hbridos Controle baseado em Autmatos (FSA, RdP) Controle baseado em Regras (RBS) Controle Adaptativo: agentes que aprendem Agentes Autnomos Inteligentes Estratgias em Jogos Aprendizado de mquinas em Jogos (ML4Games)

IA para Jogos
Tpicos abordados... Aprendizado de mquinas em Jogos Machine Learning for Games

GAME AI

Raciocnio baseado em Casos (RBC / CBR) Redes Neurais Artificiais (RNA / ANN) rvores de Deciso (AD / IDT) RNA-FSA Aprendizado por Reforo (RL) Meta-Modelos: cinemtica, dinmica Perfil de Usurios AI SDKs & CIA: AI Tools, Team AI, PLN, etc.

IA para Jogos
BIBLIOGRAFIA IA - Inteligncia Artificial (Artificial Intelligence)

GAME AI

NILSSON, N. J. Artificial Intelligence: A New Synthesis. San Mateo: Morgam Kaufmann Publishers, 1998. 536p. RUSSEL, R.; NORVIG, P. Artificial Intelligence: A modern Approach Englewood Cliffs, Prentice Hall, 1995. 932p. WINSTON, Patrick H. Artificial Intelligence. (3rd. edition) Addisons-Wesley Publishing, 1992, 737p. LUGER, Geore F. Inteligncia Artificial. Bookman. 2004. RICH, Elaine; KNIGHT, Kevin. Inteligncia artificial. 2. ed. So Paulo: Makron, 1993. 722 p. WEISS, Gerhard (Ed.). Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press: Cambridge, Massachusetts. 1999. 585 p. Aprendizado de Mquina (Machine Learning) REZENDE, Solange (Ed.). Sistemas Inteligentes : Fundamentos e Aplicaes. Barueri: Editora Manole, 2003. 525 p. MITCHELL, T. M. Machine learning. New York: McGraw-Hill. Series in Computer Science, 1997. 414p. HAYKIN, Simon. Neural Networks: A Comprehensive Foundation. Prentice-Hall. 2nd Ed, 1999. 842p. (Traduo: Redes Neurais: Princpios e Prtica. Bookman, 2001). MITCHELL, Melanie. An introduction to genetic algorithms. MIT Press, 1996. 209.p. EBERGART, R.; SIMPSON, P. K.; DOBBINS, R. Computational intelligence PC tools. Reading: Academic Press Professional, 1990. 464p. BRAGA, Antnio; LUDERMIR, Teresa; CARVALHO, Andr. Redes Neurais Artificiais: Teoria e Aplicaes. LTC, 2000. 262p. QUINLAN, J. R. C4.5: Programs for machine learning. San Mateo: Morgan Kaufmann Publishers, 1993. 302p. IA em Jogos (AI for Games) WATT, Alan; Policarpo, Fabio. 3D Games : real-time rendering and software technology . Harlow: Addison-Wesley, 2001. FUNGE, J. D. AI for Games and Animation: A Cognitive Modeling Approach. Natick, MA: AK Peters, 1999. 212 p. RABIN, S. AI Game programmng Wisdom. Charles River Media Ed. 2002. BUCKLAND, Mat. AI Techniques for Game Programming. Premier Press Game Development Serie. 2002. 481 p. (Ateno ao buscar na Biblioteca pois foi cadastrado incorretamente como A1 - "a um"). SHWAB, Brian. AI Game Engine Programming. Charles River Media. 2004. Serie: Game Programming Gems. Vol. 1, 2, 3, 4. Charles River Media.

GAME AI

IA para Jogos Introduo Inteligncia Artificial

CONCEITOS BSICOS:

INTELIGNCIA

GAME AI

Modelo Cognitivo Humano => Inteligncia Natural Inteligncia Artificial

REPRODUZIR A INTELIGNCIA HUMANA

- O que Inteligncia ? - O que um ser Inteligente ?

CONCEITOS BSICOS:

INTELIGNCIA

GAME AI

REPRODUZIR A INTELIGNCIA HUMANA

- O que Inteligncia ? - O que um ser Inteligente ? * Associao de idias e conceitos * Concluir coisas * Capacidade de aprendizado * Acmulo de conhecimentos * Raciocnio: lgico, abstrato, deduo, analogia, induo, inferncia, sntese, anlise * Uso prtico de experincias e conhecimentos passados * Tomada de decises * Criar coisas novas (criatividade) * Saber o que eu sei (saber explicar) * Interao * Comunicao

CONCEITOS BSICOS:

INTELIGNCIA

GAME AI

REPRODUZIR A INTELIGNCIA HUMANA

-Conceito de Inteligncia:
CAPACIDADE DE RESOLVER PROBLEMAS CAPACIDADE DE RACIOCNIO (Conhecimento + Manipulao) CAPACIDADE DE APRENDER / SE ADAPTAR / MELHORAR CAPACIDADE DE SE COMUNICAR

- Realizar Atividades Inteligentes - Sistemas Inteligentes: * Sistemas Especialistas


* Sistemas de Apoio ao Diagnstico e a Deciso * Reproduo de atividades tpicas dos seres humanos: Fala, Audio, Viso, Deslocamento, Manipulao de Objetos, etc. * Jogos: jogo da velha, xadrez, jogos de ao

CONCEITOS BSICOS:

INTELIGNCIA

GAME AI

REPRODUZIR A INTELIGNCIA HUMANA

-Conceito de Inteligncia:
CAPACIDADE DE RESOLVER PROBLEMAS CAPACIDADE DE RACIOCNIO (Conhecimento + Manipulao) CAPACIDADE DE APRENDER / SE ADAPTAR / MELHORAR CAPACIDADE DE SE COMUNICAR

- Realizar Atividades Inteligentes


- Comportamento inteligente de artefatos em ambiente complexo * percepo * raciocnio * aprendizado * comunicao * ao e planejamento

MQUINAS PODEM PENSAR? O que so mquinas? O que pensar? O que quer dizer podem? RESOLUO DE PROBLEMAS

GAME AI

A maioria dos problemas interessantes do ponto de vista da I.A. no dispem de solues algortmicas, ou tem solues algortmicas conhecidas mas sua complexidade as torna impraticveis SISTEMA INTELIGENTE Um sistema inteligente deve ser capaz de adaptar-se a novas situaes, raciocinar, entender relaes entre fatos, descobrir significados, reconhecer a verdade e aprender com base em sua experincia

CONCEITOS BSICOS: Inteligncia Artificial:

INTELIGNCIA

GAME AI

- Busca em Espao de Estados - Heursticas - Representao e Manipulao de Conhecimentos - Analogia: CBR - Case Based Reasoning - Inferncia: Sistemas Especialistas, KBS / RBS - Incerteza e Possibilidade: Certainty Factor, Fuzzy Logic / FIS - Probabilidade: Bayesian Belief Networks - Linguagens: Lgica e Resoluo de Problemas: Prolog - Sistemas Multi-Agentes

Aquisio de Conhecimentos Representao de Conhecimentos Linguagens de IA Interao

* Ferramentas Usadas:

Grandes Desafios Atuais: - Linguagem / PLN - Viso Artificial - Robtica - Conhecimento Reproduzir Humanos

* SISTEMAS ESPECIALISTAS
Base de Conhecimentos (regras + fatos) Converso para um formato de representao interno Explicitao Conhecimentos sobre uma rea de aplicao: Conhecimentos do especialista Teorias sobre o domnio de aplicao Resultados de experincias praticas (casos conhecidos)

GAME AI

Histria da I.A.

GAME AI

.A.I ad sotnemadnuF *
Matemtica Filosofia Sociologia Neuro-fisiologia Gentica Cincias Cognitivas

.A.I

Lingstica

IA

Psicologia

Computao

GAME AI

IA para Jogos Parte I

IA Clssica em Jogos
Jogos de Raciocnio Soluo de problemas

GAME AI

Torre de Hanoi, 8 Puzzles, brainteasers (quebra-cabeas), ... Busca de Solues no Espao de Estados/Configuraes

Jogos de Tabuleiro:
Tic-Tac-Toe (Jogo da Velha) Connect-4 Othello BackGammon Chess Go

Jogos com Adversrios: Game Playing Game as Search Problem

IA Clssica em Jogos
Jogos de Raciocnio

GAME AI

Soluo de problemas Torre de Hanoi, brainteasers, ... Busca de Solues no Espao de Estados/Configuraes Jogos de Tabuleiro:
Tic-Tac-Toe (Jogo da Velha) Connect-4 Othello BackGammon Chess Go
+---+---+---+ | X | | | +---+---+---+ | O | O | X | +---+---+---+ | O | | | +---+---+---+

Jogos com Adversrios: Game Playing Game as Search Problem

IA Clssica em Jogos
Jogos de Raciocnio

GAME AI

Soluo de problemas Torre de Hanoi, brainteasers, ... Busca de Solues no Espao de Estados/Configuraes
6 5 4 3 2 1 a . . . . . . b . . . . . O c . . . . X X d e f g a b c d e f g 6 5 4 3 2 1 . . . . . . . . . . .Jogos de Tabuleiro: . . . . X O X O . . . . . . . . . . Tic-Tac-Toe (Jogo da Velha) . . . . . . X . . . . . . Connect-4 . . . O . . . . O . John Tromp . . X X . . . Othello . O X O . O . BackGammon Connect-4 Opening Database - Donated/Created by John Tromp Chess Contains all legal 8-ply positions in the game of connect-4 in which neither player has won yet, and in which the next move is not forced Go Database: 67557 instances, 42 nominal attributes [UCI-ML]

Jogos com Adversrios: Game Playing Game as Search Problem

IA Clssica em Jogos
Busca de Solues no Espao de Estados

GAME AI

Achar a soluo atravs de uma pesquisa nos possveis estados do sistema (possveis estados do sistema = espao de estados) - Definio de um problema: > Estados iniciais (1 ou mais) > Estados Finais (0 ou mais solues) > Operadores que levam de um estado a outro > Construo de uma rvore de busca
op3

e1
op2 op1

e2
op6

e3
op4

e1
op2

op1

e2
op6 op7

e3
op9 op4 op5 op9

e4
op7

e6
op10 op8

e5
op8

e5 e6 e3

e7

e4
op11

e7

op10

e7

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS Tipos de Busca - Quanto a estratgia: 1. BUSCA CEGA ou NO INFORMADA 1.1. Busca em Largura (Breadth-First) 1.2. Busca em Profundidade (Depth-First) 1.3. Busca Exaustiva (British Museum Search) 2. BUSCA HEURSTICA: A* Tipos de Busca - Quanto ao problema:
2 7 6 9 5 1

GAME AI

8 Puzzle

4 3 8

Magic Square

1. Mecanismo de busca livre: Problemas em geral (quebra-cabea) 2. Mecanismos de busca condicionada: Jogos com mais de 1 jogador (Adversarial Search) Presa as jogadas do oponente

10

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS: No caminho da soluo... 4 A 3
Exemplos de Problemas Quebra-cabea:

GAME AI

4 B C

S
1. Caixeiro viajante 2. Torre de Hanoi 3. Labirinto 4 4. Puzzle 8 peas 5. Missionrio e os canibais 6. Homem, lobo, carneiro e a alface 7. Problema dos baldes 8. Quadrados mgicos 9. Resta 1 10. Problema do depsito: alocao de espao

G 3

D 2

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS
Custo...

GAME AI

4 A 3 5 5 B

4 C

S 4

G 3

D 2

11

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

S A D

A
A

C
B

G
C

F
S G

rvore de Busca

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

S A D

Depth-First Search:
C E - Busca em Profundidade - Algoritmo Leve - Pode no chegar na soluo - Podemos inserir limite de profundidade F Algoritmo de Busca: - Open Set / Closed Set = Pendente / J visitou - Select = Usa uma pilha, retira do topo - Critrios de parada: Sucesso, Profundidade

12

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

S A D

D Breadth-First Search:

Algoritmo de Busca: - Open Set / Closed Set - Select = Usa uma fila, insere no final - Critrios de parada: Sucesso

- Busca em Largura Tempo finito? - Algoritmo Pesado - Deve chegar na soluo (no se sabe quando)

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

S A D

Nveis de Dificuldade: 0aN

D Breadth-First Search:

Algoritmo de Busca: - Open Set / Closed Set - Select = Usa uma fila, insere no final - Critrios de parada: Sucesso

- Busca em Largura Tempo finito? - Algoritmo Pesado - Deve chegar na soluo (no se sabe quando)

13

IA Clssica em Jogos
British Museum Search

GAME AI

S D

Busca Exaustiva: breadth + depth Achar TODAS as solues possveis para o problema Seleciona a melhor depois de achar todas as solues

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

1. Busca Livre em espao de estados - Problemas / Quebra-cabeas 1.1. Busca Cega 1.1.1. Busca em Profundidade (Depth-Search) 1.1.2. Busca em Largura (Breadth-Search) 1.1.3. Busca no determinstica (Nondeterministic Search) 1.1.4. Busca exaustiva (British Museum Search - tima) 1.2. Busca Heurstica 1.2.1. Hill Climbing Search 1.2.2. Beam Search 1.2.3. Best-Fisrt Search 1.2.4 Optimal Search 1.2.4.1. Branch-and-Bound Search 1.2.4.2. A* Search 2. Busca Condicionada em espaos de estados - Jogos / Adversrio externo

14

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

Busca condicionada em Jogos: Trees and Adversarial Search No caminho da vitria... - Caminhos possveis dependem das reaes do adversrio - Exemplo de jogos tratados pela I.A.: Jogo da Velha Gamo Damas Xadrez Go Othello - Jogos tambm so uma procura do caminho em um espao de estados, onde desejamos seguir o caminho que leva a vitria - Heursticas: Avaliar as jogadas (boa, ruim) e a situao/evoluo do jogo Algortmo mais usados: Minimax Minimax + Alpha-Beta

IA Clssica em Jogos
BUSCA EM ESPAO DE ESTADOS

GAME AI

Busca condicionada em Jogos:

Jogo da Velha

Algoritmo Minimax

15

IA Clssica em Jogos
MiniMax Procedure
- Alternncia de jogadores - Construo de uma rvore com camadas alternadas (Mini e Max)

GAME AI

* Exemplo: Jogo dos 5 palitos - Objetivo: pegar 1 ou 2 palitos e no ser o ltimo a jogar
Cenrio 1: Jogador 1: Retira 2 palitos Jogador 2: Retira 2 palitos Jogador 1: Retira o ltimo (perde)
Nro. de Palitos

Cenrio 2: Jogador 1: Retira 1 palito Jogador 2: Retira 2 palitos Jogador 1: Retira 1 palito Jogador 2: Retira o ltimo (perde)

Jog. 1

Jog. 2

3 1 0 2 1 0 2 1

4
Jog. 1 Jog. 1

3 1 1 2
Jog. 2

IA Clssica em Jogos
MiniMax Procedure
Nro. de Palitos

GAME AI

Jog. 1

5
Jog. 2

3 1
-1

4
Jog. 1

2 0
-1

2 1
+1

3
Jog. 2

0
-1

1
+1

1
+1

2
Jog. 1

0
+1

1
-1

Etapas do algoritmo: - Pontuao nos nodos terminais da rvore de busca (usualmente: +1, 0, -1) - Classificar os nodos como do tipo Max (jog. 1 - Livre escolha ou = ) ou Mini (jog. 2 - Adversrio escolhe = ) - Propagar os mini (menor dos dois filhos) e os max (maior dos dois filhos)

16

IA Clssica em Jogos
MiniMax Procedure
Nro. de Palitos

GAME AI

Jog. 1

5
+1
Jog. 2

3
-1

4
+1
Jog. 1

1
-1

2
+1

2
+1

3
+1
Jog. 2

0
-1

1
+1

0
-1

1
+1

1
+1

2
-1
Jog. 1

0
Propagao dos Mini e Max...
+1

1
-1

Para obter o melhor caminho, seguir a melhor pontuao! (Em alguns casos podemos tambm limitar a profundidade da rvore) => Agora voc pode fazer o mesmo para o Jogo da Velha!!

IA Clssica em Jogos
MiniMax Procedure Corte Alpha-Beta

GAME AI

- Limitar a procura tirando proveito das relaes existentes entre as sub-rvores - Procedimentos: Corte Alpha e Corte Beta

A
10

A
10

B
10

C
5

B
10

C
20

D
20 Corte Alpha:

E
10

F
5

G
??

D
5 Corte Beta:

E
10

F
20

G
??

Sabendo-se que A recebe o maior entre B e C e que no lado de C existe um valor igual a 5 (logo um valor menor ou igual a 5 ser selecionado em C => pois este um nodo tipo Mini), ento no precisamos examinar a sub-arvore G.

Sabendo-se que o nodo A o menor entre B e C, podemos desprezar a sub-rvore G pois esta certamente maior ou igual a 20, e vamos guardar o menor valor entre B e C

17

IA Clssica em Jogos
Busca condicionada em Jogos:
Trees and Adversarial Search Triunfo da IA:

GAME AI

* Do Jogo da Velha ao Jogo de Xadrez * Deep Blue / IBM http://www.chess.ibm.com/ http://www.inf.unisinos.br/~osorio/protect/iasi/docs/deepblue-faq.pdf * Fim do Jogo?

IA Clssica em Jogos
Busca condicionada em Jogos:
Trees and Adversarial Search Triunfo da IA:

GAME AI

* Do Jogo da Velha ao Jogo de Xadrez * Deep Blue / IBM http://www.chess.ibm.com/ http://www.inf.unisinos.br/~osorio/protect/iasi/docs/deepblue-faq.pdf * Fim do Jogo? Ainda no... - Jogos de Azar e Jogos com Dados (BackGammon) - GO: Computer Go tournaments ( http://intelligentgo.org/ ) The most famous, due to its US$1,000,000 prize for winning against a professional player, was the International Go Competition sponsored jointly by Acer Incorporated and the Ing Chang-Ki Wei-Chi (Go) Educational Foundation since 1985. This prize, known as the Ing Prize, unfortunately expired in 2000 and has not been extended. - JOGOS DE AO / INTERATIVOS!

18

GAME AI

IA para Jogos Parte II

IA para Jogos
Tpicos abordados... Parte II

GAME AI

IA clssica: Jogos de Raciocnio [parte I] Soluo de problemas Jogos de Tabuleiro (Board games) Busca em Espao de Estados (Trees and adversarial search) IA clssica: Jogos de Ao em Labirintos [parte II] Busca de caminhos (Path finding) Planejamento de aes e trajetrias (Path planning) Deslocamento / Navegao (Motion & Navigation)

19

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Achando o caminho... Do Pac-Man a Robtica Autnoma

GAME AI

Labirinto: * Grade * Mapa

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Achando o caminho... Do Pac-Man a Robtica Autnoma Path Finding Path Planning Motion & Navigation Algoritmos de Busca
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

GAME AI

2 12345678901234567890

BUSCA CEGA ou NO INFORMADA 1. Busca em Largura (Breadth-First) 2. Busca em Profundidade (Depth-First) 3. Busca Exaustiva (British Museum Search)

20

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Busca Heurstica: 1. Preso no labirinto atrs das grades: Algoritmo A* Alguns destes problemas tendem a se tornar intratveis dependendo do tamanho do espao de estados a ser analisado...

GAME AI

1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

2 12345678901234567890

Qual a soluo ? OTIMIZAR = USAR UMA HEURSTICA

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Busca Heurstica: 4 A 3 S 4 D 2 E 4 F 5 5 B 4 C

GAME AI

21

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Busca Heurstica: Custo do Caminho 4 A 3 S 4 D 2 E 4 F 5 5 B 4 C

GAME AI

G 3

IA para Jogos
IA clssica: Jogos de Ao em Labirintos

GAME AI

Busca Heurstica: Custo Estimado (distncia em linha reta) A B 6.7 11.0 G 4 D 2 8.9 6.9 E 4 F 3.03 C 4.0

10.4

22

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Hill Climbing Search - Conhecemos uma informao que permite avaliar os caminhos - Heurstica: depth-first + minimizar o custo (distncia absoluta)

S
10.4

8.9

Problemas Conhecidos:

10.4

6.9

- Mximos locais x Global - Armadilhas: Cumes, Planaltos, Vales - Resumindo: podemos ficar bloqueados...
6.7
A B C

3.0

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Hill Climbing Search - Conhecemos uma informao que permite avaliar os caminhos - Heurstica: depth-first + minimizar o custo (distncia absoluta)

S
10.4

8.9

Problemas Conhecidos:

10.4

6.9

E
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 12345678901234567890

6.7
C 6.7 4.0 G

A 10.4

S 11.0 8.9 2 6.9 4 3.0 3

- Mximos locais x Global - Armadilhas: Cumes, Planaltos, Vales - Resumindo: podemos ficar bloqueados...

23

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Hill Climbing Search - Conhecemos uma informao que permite avaliar os caminhos - Heurstica: depth-first + minimizar o custo (distncia absoluta)

S
10.4

8.9

Problemas Conhecidos:

10.4

6.9

E
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 12345678901234567890

6.7

Solues Conhecidas: - Beam Search... (n melhores) - Best First... (melhor opo) - Branch and Bound => A*

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Branch-and-Bound Search - Conhecemos uma informao que permite avaliar os caminhos e o custo total - Heurstica: avana e volta caso se arrependa do caminho adotado

S
4

D
* Dicas - Hints - Sabemos que o custo timo total 13 SDEFG = 13 (menor caminho) - Podemos desprezar os caminhos onde a soma atinge 13. Exemplo: SDAB e tudo que estiver abaixo deste caminho
4 A 3 S 4 5 5 S 11.0 8.9 2 6.9 4 3.0 3 B 4 C A 10.4 G 3 D 2 E 4 F 4 D B

A
4

E
4

B
13
6.7 4.0 G C

F
3

G
13

- Mximos locais x Global - Armadilhas: Cumes, Planaltos, Vales - Resumindo: podemos ficar bloqueados...

24

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Branch-and-Bound Search com estimativa - Conhecemos uma informao que permite avaliar os caminhos e o custo total - Heurstica: avana e volta caso se arrependa do caminho adotado

S
4 8.9 5

C=13.4

A
10.4

D
C=12.9

2 6.9

* Custo composto: C(caminho) = C(viajado) + C(falta) C(viajada) = Conhecido C(falta) = Valor Estimado

A
4
C=19.4

E
4

C=12.9

6.7
4 A 3 S 4 5 5 S 11.0 8.9 2 B 4 C A 10.4 G 3 D 2 E 4 F 4 D B

B
13
6.7 4.0 G C

3.0

F
3

C=13.0

G
13

6.9 4

3.0 3

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

A* Search => Select: Sempre busca o melhor da lista Open - Heurstica: Custo (Caminho) = Custo (Caminho Percorrido) + Custo (Caminho Restante)

- Simplificao: eliminar caminhos redundantes Exemplo => SD... SA... SD... SAD... (D novamente usado, caminho maior) SAB... S A
3

D
4

S A D
4

A* Search:
Branch-and-Bound + Simplificao

B
7

D
8

25

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

A* Search: O ALGORITMO QUE A ESTRELA DOS JOGOS

http://www.inf.unisinos.br/~osorio/ia.html

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
1. Preso no labirinto atrs das grades: Algoritmo A*

GAME AI

2. Explorador com conhecimento do ambiente: o mapa da mina Grafo de Visibilidade + Caminho timo (Dijkstra) * Espao de configurao * Grafo de Visibilidade * Caminho timo 3. Explorando outros potenciais do mapa... - Campos Potenciais - Diagramas de Voronoi

26

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Mapa da Geometria do Ambiente: Grafo de Visibilidade + Caminho timo (Dijkstra)

Referncias: Farlei Heinen Robtica Autnoma: A integrao entre planificao e comportamento reativo. Editora Unisinos - 2000. Sist. de Controle Hbrido para RMAs (Mestrado) 2002.
Web: http://ncg.unisinos.br/robotica/

IA para Jogos

Labirinto: Busca Heurstica

GAME AI

Mapa da Geometria do Ambiente: Grafo de Visibilidade + Caminho timo (Dijkstra)

Jogos: Grafo de Visibilidade Pr-calculado

Referncias: Farlei Heinen Robtica Autnoma: A integrao entre planificao e comportamento reativo. Editora Unisinos - 2000. Sist. de Controle Hbrido para RMAs (Mestrado) 2002.
Web: http://ncg.unisinos.br/robotica/

27

IA para Jogos
Ambiente Desconhecido: SMPA Sense, Model, Plan, Act Construo do Mapa (memria)

Labirinto: Busca Heurstica

GAME AI

=>

Jogos: Mundo perfeito Sem rudo, sensores ideais, posio precisa

IA para Jogos
IA clssica: Jogos de Ao em Labirintos

GAME AI

Navegar preciso... => Deslocando-se nos Labirintos Execuo do planejamento da trajetria.


PROBLEMAS: * Desvio de Obstculos em Robtica - Obstculos conhecidos - Obstculos desconhecidos (parados) - Obstculos desconhecidos (em movimento) * Desvio de Obstculos em Jogos - Obstculos no definidos no mapa inicial: estticos (posio conhecida) - Obstculos no definidos no mapa inicial: mveis

28

IA para Jogos
IA clssica: Jogos de Ao em Labirintos

GAME AI

Navegar preciso... => Deslocando-se nos Labirintos Execuo do planejamento da trajetria.

Arquitetura de Controle para Agentes Autnomos...

IA para Jogos
IA clssica: Jogos de Ao em Labirintos
Volta as origens... Do Pac-Man a Robtica Autnoma

GAME AI

Jogos de Raciocnio Soluo de problemas Jogos de Tabuleiro Jogos com adversrios Busca no espao de configuraes Busca Cega: Depth, Breadth, British Busca Condicionada: MiniMax Busca Heurstica: A* Jogos: Labirintos Grades A* Mapas Grafo de visibilidade Caminho timo Jogos e Robtica Planejamento de trajetria Navegao Evitar obstculos AGENTES AUTNOMOS INTELIGENTES

29

GAME AI

...

...

30