ção de um jogo com ência artificial e aprendizado … · implementação de um jogo com...
TRANSCRIPT
![Page 1: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/1.jpg)
Implementação De Um Jogo Com Implementação De Um Jogo Com Inteligência Artificial e Inteligência Artificial e
Aprendizado ProbabilísticoAprendizado Probabilístico
Aluno: Rogério Cazelato PapettiOrientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
MAC 499Trabalho de Formatura Supervisionado
IMEUSP
![Page 2: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/2.jpg)
Agenda
PacMan Proposta Maya & Panda3D Algoritmos Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides
![Page 3: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/3.jpg)
PacMan
![Page 4: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/4.jpg)
História
Lançado na década de 1980 Estrondoso sucesso Regras Básicas:
Pacman deve capturar todas as PacDots do cenário
Fantasmas o perseguem O PacMan perde uma vida ao encostar num
fantasma O PacMan ganha pontos ao coletar bônus (maçãs)
![Page 5: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/5.jpg)
PacMan: Um Clássico
![Page 6: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/6.jpg)
Inteligência Artificial no Jogo
Fantasmas Algoritmo Determinístico
Engenharia reversa
Movimentos Pacman Estratégia vencedora
Pattern (Padrão) Jogo 'Perfeito'
![Page 7: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/7.jpg)
Proposta
Desenvolver Inteligência Artificial Para Fantasmas
Algoritmos Movimentação Aprendizado
Implementar esses algoritmos na prática PacMan 3D
Regras adaptadas
![Page 8: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/8.jpg)
Maya
Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, antialiasing
![Page 9: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/9.jpg)
Modelagem PacMan
![Page 10: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/10.jpg)
Modelagem Fantasma
![Page 11: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/11.jpg)
Panda3D
Framework para implementação do jogo Suporte a Python e C++
Python é preferível
Classes Auxiliares Articulações das Personagens Gerenciar Colisões Física Básica
Movimentação de Fluídos
![Page 12: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/12.jpg)
Implementação
Colisões Manipulação Câmera Manipulação de Modelos 3D Timers Tasks
![Page 13: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/13.jpg)
Colisões no Panda3D
Collision Solids Collision Handlers Collision Entries Bitmask
![Page 14: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/14.jpg)
Collision Solids
Esfera Cilindro Plano Segmento de reta ou reta
![Page 15: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/15.jpg)
Collision Solids Exemplo
![Page 16: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/16.jpg)
Collision Handlers
Diversos tipos Gerador de Eventos Armazenador de Colisões 'Collision Pusher' 'Collision Floor'
![Page 17: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/17.jpg)
Collision Handlers Exemplo
![Page 18: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/18.jpg)
Collision Bitmask Exemplo
![Page 19: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/19.jpg)
Algoritmo de Movimentação
Baseado na visão e percepção do mapa do fantasma
Visão e Percepção Qual objeto mais próximo Está muito perto de uma parede Existe alguma entrada lateral ou esquina Está sobre uma PacDot
Sorteia uma jogada segundo probabilidades Estabelecidas para cada ação
![Page 20: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/20.jpg)
Algoritmo De Aprendizado
Modifica probabilidade de cada ação Análise a cada fim de jogo
Tempo de Vida Capturou PacMan Instante da Jogada
![Page 21: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/21.jpg)
Resultados e Conclusões
Fantasma Movimentação
Decisões Aprendizado
Probabilidades Viesadas Probabilidades Não Viesadas
![Page 22: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/22.jpg)
Referências
RUSSELL, Stuart ; NORVIG, Peter “Artificial Intelligence: A Modern Approach” Prentice Hall Series in Artificial Intelligence, 1995 .
Site Panda3D: www.panda3d.org Site Maya: www.everything4maya.com
![Page 23: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/23.jpg)
Dúvidas
![Page 24: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/24.jpg)
1
Implementação De Um Jogo Com Implementação De Um Jogo Com Inteligência Artificial e Inteligência Artificial e
Aprendizado ProbabilísticoAprendizado Probabilístico
Aluno: Rogério Cazelato PapettiOrientador: Marcelo Finger
CoOrientador: Flávio Soares Corrêa
MAC 499Trabalho de Formatura Supervisionado
IMEUSP
![Page 25: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/25.jpg)
2
Agenda
PacMan Proposta Maya & Panda3D Algoritmos Resultados e Conclusões Dúvidas Demonstração (se houver tempo) Total: 23 slides
![Page 26: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/26.jpg)
3
PacMan
![Page 27: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/27.jpg)
4
História
Lançado na década de 1980 Estrondoso sucesso Regras Básicas:
Pacman deve capturar todas as PacDots do cenário
Fantasmas o perseguem O PacMan perde uma vida ao encostar num
fantasma O PacMan ganha pontos ao coletar bônus (maçãs)
![Page 28: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/28.jpg)
5
PacMan: Um Clássico
![Page 29: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/29.jpg)
6
Inteligência Artificial no Jogo
Fantasmas Algoritmo Determinístico
Engenharia reversa
Movimentos Pacman Estratégia vencedora
Pattern (Padrão) Jogo 'Perfeito'
![Page 30: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/30.jpg)
7
Proposta
Desenvolver Inteligência Artificial Para Fantasmas
Algoritmos Movimentação Aprendizado
Implementar esses algoritmos na prática PacMan 3D
Regras adaptadas
![Page 31: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/31.jpg)
8
Maya
Modelagem 3D Manipulação de figuras geométricas Implementação de animações Recursos como sombra, antialiasing
![Page 32: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/32.jpg)
9
Modelagem PacMan
![Page 33: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/33.jpg)
10
Modelagem Fantasma
![Page 34: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/34.jpg)
11
Panda3D
Framework para implementação do jogo Suporte a Python e C++
Python é preferível
Classes Auxiliares Articulações das Personagens Gerenciar Colisões Física Básica
Movimentação de Fluídos
![Page 35: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/35.jpg)
12
Implementação
Colisões Manipulação Câmera Manipulação de Modelos 3D Timers Tasks
![Page 36: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/36.jpg)
13
Colisões no Panda3D
Collision Solids Collision Handlers Collision Entries Bitmask
![Page 37: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/37.jpg)
14
Collision Solids
Esfera Cilindro Plano Segmento de reta ou reta
![Page 38: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/38.jpg)
15
Collision Solids Exemplo
![Page 39: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/39.jpg)
16
Collision Handlers
Diversos tipos Gerador de Eventos Armazenador de Colisões 'Collision Pusher' 'Collision Floor'
![Page 40: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/40.jpg)
17
Collision Handlers Exemplo
![Page 41: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/41.jpg)
18
Collision Bitmask Exemplo
![Page 42: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/42.jpg)
19
Algoritmo de Movimentação
Baseado na visão e percepção do mapa do fantasma
Visão e Percepção Qual objeto mais próximo Está muito perto de uma parede Existe alguma entrada lateral ou esquina Está sobre uma PacDot
Sorteia uma jogada segundo probabilidades Estabelecidas para cada ação
![Page 43: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/43.jpg)
20
Algoritmo De Aprendizado
Modifica probabilidade de cada ação Análise a cada fim de jogo
Tempo de Vida Capturou PacMan Instante da Jogada
![Page 44: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/44.jpg)
21
Resultados e Conclusões
Fantasma Movimentação
Decisões Aprendizado
Probabilidades Viesadas Probabilidades Não Viesadas
![Page 45: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/45.jpg)
22
Referências
RUSSELL, Stuart ; NORVIG, Peter “Artificial Intelligence: A Modern Approach” Prentice Hall Series in Artificial Intelligence, 1995 .
Site Panda3D: www.panda3d.org Site Maya: www.everything4maya.com
![Page 46: ção De Um Jogo Com ência Artificial e Aprendizado … · Implementação De Um Jogo Com Inteligência Artificial e ... Desenvolver Inteligência Artificial Para Fantasmas Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022081402/6073e46ccf79050bc703072e/html5/thumbnails/46.jpg)
23
Dúvidas