INF 1771 – Inteligência Artificial

Slides:



Advertisements
Apresentações semelhantes
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Advertisements

IA Importância da IA em jogos Aplicações.
Inteligência Artificial
Fluxo em Redes Prof. Ricardo R. Santos.
Resolução por algoritmos de Busca
Métodos para representação de estruturas hierárquicas
Busca com Informação Busca com informação Busca Gulosa Busca A*
Algoritmos.
Inteligência Artificial I
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Introdução à Computação Gráfica Recorte
Busca Heurística - Informada
- Conceitos e termos - Aplicações
CAPÍTULO Introdução 2. Programação de tarefas de robôs
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Missionários e Canibais
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
ESTRUTURA DE COMUNICAÇÃO DE DADOS
6ª Mostra de Produção Científica da Pós-Graduação Lato Sensu
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
CONTEUDO ROBÓTICA MÓVEL 1.1. Percepção Sensores do Nomad XR4000
INF 1771 – Inteligência Artificial
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Estratégias de Busca com informação e exploração
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
INTELIGÊNCIA ARTIFICIAL
INF 1771 – Inteligência Artificial Aula 12 – Planejamento Edirlei Soares de Lima.
Busca com informação e exploração
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial Aula 13 – Hierarchical Task Network (HTN) Edirlei Soares de Lima.
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Técnicas de Modelagem para Aplicações em Computação Gráfica
INF 1771 – Inteligência Artificial
Tópicos Avançados em Inteligência Artificial
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Estrutura de Decisão Multipla
Pesquisa Operacional Conceitos básicos.
Projeto e Implementação de Jogos Eletrônicos
Busca Combinatorial e Métodos de Heurística
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Geometria Computacional Fecho Convexo
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
Busca Competitiva Disciplina: Inteligência Artificial
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
Disciplina: Inteligência Artificial Universidade de Itaúna
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
WAYPOINTS E PATHFINDING Prof. Rafael Oliz. Introdução  Locomover-se no espaço do jogo é uma ação fundamental dos NPCs em qualquer gênero de jogo.  A.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Professor Marcos Eric Barbosa Brito
INF 1771 – Inteligência Artificial
Transcrição da apresentação:

INF 1771 – Inteligência Artificial Aula 21 – Waypoints e Pathfinding Edirlei Soares de Lima <elima@inf.puc-rio.br>

Introdução Locomover-se no espaço do jogo é uma ação fundamental dos NPCs em qualquer gênero de jogo. A busca de caminhos deve ser implementada de maneira muito eficiente, pois será executada muitas vezes por vários personagens durante o jogo

Waypoints Waypoints são uma representação aproximada do terreno (amostragem). Fornecem representações mais econômicas do que as malhas poligonais dos cenários. Estrutura de grafos.

Construção de Grafos de Navegação Um grafo de navegação é uma estrutura de grafo formada por um conjunto de waypoints. Existem várias formas de representar a geometria do ambiente do jogo, da mesma forma existem várias estratégias para converter a informação espacial em uma estrutura de grafo: Pontos de Visibilidade Tiles (Grid) Geometria Expandida NavMesh

Pontos de Visibilidade A criação de um grafo de navegação baseado em Pontos de Visibilidade consiste na adição de nós em pontos importantes do ambiente. Os pontos do grafo devem ter pelo menos uma linha reta de visão para algum outro ponto.

Pontos de Visibilidade Geralmente o processo de adição dos pontos de visibilidade é feito manualmente pelo game designer. Se o jogo restringe o movimento dos agentes somente sobre as arestas do grafo, como ocorre no Pac-man, esta solução é a escolha perfeita. Entretanto, se o grafo é projetado para um jogo onde os agentes têm maior liberdade de movimentos é necessário realizar mais algumas tarefas.

Pontos de Visibilidade 1) Procura o nó visível A mais próximo da posição do NPC; 2) Procura o nó visível B mais próximo da posição destino; 3) Usa um algoritmo para encontrar o caminho de menor custo entre A e B; 4) Move o NPC para o nó A; 5) Move o NPC sob o caminho calculado no passo 3; 6) Move o NPC do nó B até a posição destino.

Tiles (Grid) Este tipo de abordagem é muito comum em jogos de estratégia em tempo real (RTS). Geralmente são grafos grandes e complexos, organizados por meio de quadrados ou hexágonos. Cada nó do grafo representa o centro de cada célula e as arestas representam a vizinhança de cada célula.

Tiles (Grid) O grande problema desta abordagem é que o número de vértices e arestas pode se tornar rapidamente muito elevados. Para um mapa com 100 x 100 células, tem-se 10.000 nós e 78.000 arestas.

Geração Automática de Waypoints Quadtree Polígonos Convexos Waypoint no centro ou vértices Waypoint de inicio ou objetivo Waypoint

Geração Automática de Waypoints Pontos de Canto Preenchimento de Espaço com Círculos ou Cilindros Waypoint no centro ou vértices Waypoint de inicio ou objetivo Waypoint

Pathfinding Uma vez definido o grafo de navegação é possível utilizar técnicas de busca para encontrar caminhos entre dois pontos. O algoritmo de busca mais utilizado em jogos é o A*. Normalmente é possível calcular boas funções heurísticas. O caminho gerado pelo A* é composto por uma lista de vértices por onde o agente deve passar para chegar ao destino.

Suavização de Caminhos Geralmente o caminho encontrado forma uma linha sinuosa (zigzag), visto que o espaço representado pelos waypoints é discretizado em pontos. Geralmente sempre existe uma forma de suavizar o caminho encontrado traçando-se um novo caminho que remove vértices não necessários.

Suavização de Caminhos

Otimizações Em algumas situação do jogo, pode ser necessário que várias unidades realizem buscas por caminhos simultaneamente. Isso pode gerar um pico de carga da CPU que pode resultar em interrupções momentâneas do fluxo do jogo. Técnicas de Otimização: Caminhos pré-calculados Custos pré-calculados Busca de caminhos hierárquica.

Caminhos Pré-Calculados Tabela pré-calculada com os melhores caminhos do grafo de navegação. Armazena-se somente o próximo nó que deve ser seguindo do nó atual ao nó destino.

Custos Pré-Calculados Saber qual o melhor caminho entre dois nós somente é útil quando se sabe onde se deseja ir. Uma tabela pré-calculada com os custos de locomoção entre quaisquer dois nós também é uma informação muito util.

Busca de Caminhos Hierárquica Esta estratégia consiste em achar o caminho de modo gradativo, partindo-se de uma solução grosseira até uma solução mais refinada.

Leitura Complementar Millington, I.; Funge, J.: Artificial Intelligence for Games, 2nd Ed., Morgan Kaufmann, 2009.