Inteligência Computacional para Jogos Eletrônicos - PDF
Download "Inteligência Computacional para Jogos Eletrônicos"
Bianca Affonso Eger
1 Inteligência Computacional para Jogos Eletrônicos
2 Papéis da IA em Jogos Adversários Aliados Personagens de apoio NPC s (Non-player Character) Comentaristas Controle de câmera Geração de fases Nivelamento da dificuldade
3 Histórico 1770: O turco, criado por Wolfgang von Kempelen, que supostamente jogava xadrez com perfeição.
4 Histórico Pac-man conta com movimentos padronizados dos inimigos, porém cada fantasma tem um modo diferente de caçar o jogador
5 Como anda a IA nos Jogos Os jogos estão chegando a um patamar artístico incrível, com gráficos extraordinários, simulando a física real e tendo uma inteligência artificial bem convincente. Com o avanço dos jogos, é cada vez mais comum o uso das mais diversas técnicas de inteligência artificial. Antigamente os desenvolvedores pouco se preocupavam com a IA, preocupando-se mais com os gráficos do game e sua jogabilidade. Hoje o cenário esta mudando. A Inteligência Artificial está cada vez mais forte no desenvolvimento de um jogo. Proporcionando principalmente uma maior diversão ao jogo.
6 Mas o que é afinal AI? Inteligência artificial em jogos é o uso de técnicas que possibilitam a implantação de rotinas complexas de tomada de decisões no software. Tudo isso para encontrar caminhos, tomar decisões, agir de acordo com a situação, aprender. A inteligência artificial tem grandes aplicações em jogos, ao tentar atribuir ao computador um comportamento humano.
7 Técnicas para Programar AI em Jogos Máquinas de Estado Maquinas de Estado baseada em Pilha Lógica Fuzzy Uso de scripts Sistema de mensagens Ferramentas de autoria Algoritmos Genéticos Combinação de física com grafos Matrizes e Árvores de Decisão Sistemas Baseados em Regras Sistema baseado em planejamento Redes Neurais Sistemas baseados dados Uso de Agentes Combinação de física com grafos Vida artificial
8 Técnicas de Inteligência Artificial em Jogos - Máquinas de Estado Finita Uma máquina de estados é basicamente composta por um conjunto de estados e um conjunto de regras de transição entre estes estados. Ou seja, o personagem está configurado com uma série de regras e possui regras de transição para ver se o personagem deve alterar o estado inicial, como por exemplo, se ele viu um oponente e se vale a pena ir atrás dele. As desvantagens em utilizar as FSM são os comportamentos repetitivos, caso uma situação se repita. E a questão do desempenho, pois quanto mais complexo for o ambiente, maior será o número de estados e transições na qual o FSM terá de prever. Aumentando seu custo.
9 Técnicas de Inteligência Artificial em Jogos - Agentes Um agente inteligente pode ser um personagem na qual pode raciocinar e tomar suas próprias decisões, baseadas tanto em regras quanto no cenário do jogo em si. Além disso, é possível criar emoções que podem deixar um personagem mais realista. Uma abordagem interessante para se utilizar em agentes é a arquitetura BDI, baseada em 3 conceitos: Crenças, desejos e intenções.
10 Técnicas de Inteligência Artificial em Jogos - Lógica Fuzzy Lógica Difusa é uma generalização da lógica booleana que admite valores lógicos intermediários entre a falsidade e a verdade (como o talvez). A lógica difusa normalmente está associada ao uso de uma teoria de conjuntos fuzzy. A lógica fuzzy permite representar num sistema computacional valores onde lógicas clássicas não conseguiriam representar, como pouca comida, muito perto, e outros eventos não contáveis (ou imprecisos). Uma estratégia interessante para se utilizar é a mistura entre a lógica Fuzzy e as FSMs.
11 Técnicas de Inteligência Artificial em Jogos - Algoritmos de Pathfinding Os personagens precisam criar rotas, e não podem fazer coisas que comprometam seu funcionamento, como, por exemplo, atravessar paredes ou andar em cima de um lago. Por isso, os programadores aplicam algoritmos de pathfinding (procura por caminhos). Este tipo de lógica é importante para que o personagem faça uma rota satisfatória e normalmente mais curta, e não ande a esmo pelo cenário. Além disso, o algoritmo deverá calcular possíveis novos obstáculos que o personagem poderá se deparar, como uma nova parede, outros personagens, possíveis projéteis que o podem atingir (como uma bala de uma pistola), e qualquer variável do ambiente que possa interromper a ação deste personagem.
12 Técnicas de Inteligência Artificial em Jogos - Redes Neurais São sistemas não lineares que imitam o mecanismo de processamento do cérebro humano. Elas são redes computadorizadas onde a sua estrutura é similar a um cérebro humano, tendo nós de rede (neurônios) e conexões entre os nós. A vantagem de usar uma rede neural é que a rede pode aprender e armazenar conhecimento para uso posterior. Num game de futebol, a aplicação de redes neurais pode ser utilizada para que jogadores de futebol aprendam a interceptar a bola durante uma partida.
13 Técnicas de Inteligência Artificial em Jogos - Algoritmo genético Um algoritmo genético é uma técnica de procura utilizada na ciência da computação para achar soluções aproximadas em problemas de otimização e busca. Algoritmos genéticos são uma classe particular de algoritmos evolutivos que usam técnicas inspiradas pela biologia evolutiva como hereditariedade, mutação, seleção natural e recombinação. Algoritmos genéticos diferem dos algoritmos tradicionais de otimização em basicamente quatro aspectos: Se baseiam em uma codificação do conjunto das soluções possíveis, e não nos parâmetros da otimização em si; Os resultados são apresentados como uma população de soluções e não como uma solução única; Não necessitam de nenhum conhecimento derivado do problema, apenas de uma forma de avaliação do resultado; Usam transições probabilísticas e não regras determinísticas
14 Técnicas de Inteligência Artificial em Jogos - Sistemas Baseados em Regras Trata-se de um sistema de apoio à decisão que procura representar o modo de raciocínio e o conhecimento utilizado por especialistas na resolução de problemas no seu âmbito de especialidade. É definido através de um conjunto de parâmetros e um conjunto de regras que trabalham sobre estes parâmetros, de modo que durante a tomada de decisão, essas regras são então processadas.
15 Técnicas de Inteligência Artificial em Jogos -Sistema Baseado em Planejamento O planejamento de IA aplicado a jogos digitais é o armazenamento de planos de ação e fazer com que o usuário escolha o plano mais adequado numa determinada situação. Também pode permitir ao personagem decidir qual estratégia ele pode utilizar (além do próprio personagem criar a sua estratégia). Uma vantagem desta técnica é que as ações do personagem não são tão repetitivas (diferente dos personagens com o sistema de Máquina de estado Finita, por exemplo).
16 Inteligência Computacional para Jogos Eletrônicos
Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva
Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente
HISTÓRIA, EVOLUÇÃO E TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL NA CRIAÇÃO DE JOGOS ELETRÔNICOS
HISTÓRIA, EVOLUÇÃO E TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL NA CRIAÇÃO DE JOGOS ELETRÔNICOS SOUZA NETO, Natal Vieira de (Unitri) natal.mam@gmail.com SÁ, Angela Abreu Rosa de (UFU) angela_abreu@yahoo.com SILVA,
Ministério da Educação Instituto Federal de Educação, Ciência e Tecnologia Sudeste de Minas Gerais - Campus Rio Pomba Bacharelado em Ciência da Computação 1) Considere os termos abaixo e complete. Inteligência
Fabrício Jailson Barth BandTec
Introdução à Inteligência Artificial Fabrício Jailson Barth fabricio.barth@bandtec.com.br BandTec 1 o semestre de 2012 Objetivos e Sumário O que é Inteligência Artificial (IA)? Objetivos da IA. Influência
Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por
Inteligência Artificial Prof. Rafael Stubs Parpinelli DCC / UDESC-Joinville parpinelli@joinville.udesc.br www.joinville.udesc.br/portal/professores/parpinelli Material de apoio: Stuart Russel, Peter Norvig.
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO NORTE DE MINAS GERAIS CAMPUS MONTES CLAROS 1 PERÍODO
6.4 Matriz Curricular do Curso de Ciência da Computação 6.4.1 Componentes curriculares obrigatórios 1 PERÍODO Teórica Prática Hora-aula Horas Cálculo I 6 2 8 144 120 - Geometria Analítica e Vetores - Dados
Inteligência Artificial. Aula 1 Prof. Nayat Sánchez Pi
Inteligência Artificial Aula 1 Prof. Nayat Sánchez Pi Curso: Inteligência Artificial Página web: http://nayatsanchezpi.com Material: Livro texto: Inteligência Artiicial, Russell & Norvig, Editora Campus.
INF 1771 Inteligência Artificial Apresentação da Disciplina Edirlei Soares de Lima O que é Inteligência Artificial? Área de pesquisa que tem como objetivo buscar métodos ou dispositivos
PCS3616. Programação de Sistemas (Sistemas de Programação) Visão Geral
PCS3616 Programação de Sistemas (Sistemas de Programação) Visão Geral Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional
Tópicos Especiais: Inteligência Artificial REDES NEURAIS
Tópicos Especiais: Inteligência Artificial REDES NEURAIS Material baseado e adaptado do Cap. 20 do Livro Inteligência Artificial de Russell & Norvig Bibliografia Inteligência Artificial Russell & Norvig
Aplicação de Inteligência Artificial em Jogos Eletrônicos
Aplicação de Inteligência Artificial em Jogos Eletrônicos Glauco B. R. Filho Faculdade de Engenharia de Sorocaba (FACENS) Caixa postal 355 18087-125 Sorocaba SP Brasil gbelinir@gmail.com Resumo: Um mercado
4 Modelagem do jogador
4 Modelagem do jogador Essa técnica também é conhecida como modelagem de adversários ou oponentes, como usada por alguns autores (Herik05, Bakkes09). Baseada no conceito de modelagem de estudantes usado
Inteligência Artificial. Prof. Elder Rizzon Santos
+ Inteligência Artificial Prof. Elder Rizzon Santos ersantos@inf.ufsc.br + Um computador capaz de ganhar do melhor jogador de xadrez do mundo é inteligente? n http://www.time.com/time/photoessays/10questions/
Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)
Computação Bioinspirada Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) 1 Principais tópicos Computação Bioinspirada Computação Biológica Biologia Computacional
Estudo comparativo de Inteligência Artificial em jogos
Estudo comparativo de Inteligência Artificial em jogos Jonas de Carvalho Felinto 1, Helen Cristina de Mattos Senefonte 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal
Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais
Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais Abstract. Jader Teixeira 1, Alex Vinícios Telocken 1 1 Universidade de Cruz Alta (UNICRUZ) jader033139@unicruz.edu.br,
Aprendizado de Máquina Aplicado à Jogos
Aprendizado de Máquina Aplicado à Jogos Leandro Soriano Marcolino 14 de novembro de 2006 Inteligência Artificial para Jogos Introdução Por que utilizar técnicas de aprendizado? IA é um diferencial Capacidade
Introdução a Sistemas Inteligentes
Introdução a Sistemas Inteligentes Conceituação Prof. Ricardo J. G. B. Campello ICMC / USP Créditos Parte do material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo
Professor Paulo Gurgel Pinheiro. 26 de Outubro de 2010
Professor Paulo Gurgel Pinheiro MC906A - Inteligência Articial Instituto de Computação Universidade Estadual de Campinas - UNICAMP 26 de Outubro de 2010 1 / 58 http://www.ic.unicamp.br/ pinheiro/ pinheiro@ic.unicamp.br
Ensinando a Programação
Pensando a Programação Meu primeiro Robô Brincando de Robô Ensinando a Programação Matemática Biologia Física Programação de computadores - Raciocínios apropriados 1 Lógica de Programação? É a técnica
1 Introdução a Inteligência Artificial Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução a Conceitos Agindo de forma humana Pensando como humano Pensando racionalmente
Universidade Fernando Pessoa 11 de março de 2016 Porto
Autor: Raúl C. Morgado Doutorando Orientador: Luís B. Gouveia Professor Associado Universidade Fernando Pessoa 11 de março de 2016 Porto Introdução Cibersegurança Inteligência Artificial Inteligência Artificial
INTELIGÊNCIA ARTIFICIAL Primeiro Teste 29 de Outubro de 2011 17:00-18:30 Este teste é composto por 9 páginas contendo 11 perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas com
Inteligência Artificial Apresentação da disciplina Conceitos básicos Prof. Paulo Martins Engel Informática UFRGS Prof. Paulo Martins Engel Objetivos Apresentar uma visão geral da Inteligência Artificial,
Aprendizado. O que é Aprendizado? Capítulo 5
Aprendizado Capítulo 5 309 O que é Aprendizado?...mudanças que tornam sistemas capazes de adaptar-se e realizar tarefas semelhantes de maneira mais eficiente [Simon] 310 1 Tipos de Aprendizado Refinamento
UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas Tecnologia em Desenvolvimento de Sistemas 8º Semestre Inteligência Artificial II 1. Introdução A Inteligência Artificial (IA) é
2284-ELE/5, 3316-IE/3
INTELIGÊNCIA ARTIFICIAL 2284-ELE/5, 3316-IE/3 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2007/2008 Resolução de Problemas No âmbito da IA, o conceito de problema pode
1 UM JOGO DE DAMAS EVOLUTIVO Leonardo Filipe Batista Silva de Carvalho 1*, Helio Cavalcante Silva Neto 1**, Roberta Vilhena Vieira Lopes 1*** 1 Mestrado em Modelagem Computacional de Conhecimento Universidade
Desenvolvimento de um simulador de jogo de estratégia em tempo real. Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda
Desenvolvimento de um simulador de jogo de estratégia em tempo real Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda Departamento de Ciência da Computação Instituto de Matemática
2 Sistemas MultiAgentes em Jogos
2 Sistemas MultiAgentes em Jogos Recentemente, tem crescido o interesse sobre o tema multiagente por parte dos desenvolvedores de jogos eletrônicos. Este interesse foi motivado pelo surgimento das Graphics
TECNOLOGIA DE GRUPO. Introdução Aplicação da razão associação de objetos similares Biólogos; Bibliotecários classificação Manufatura
Introdução Aplicação da razão associação de objetos similares Biólogos; Bibliotecários classificação Manufatura Uma família de projeto Tecnologia de Grupo (GT) a percepção de que muitos problemas são similares,
Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR
Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas
Algoritmos 2 - Introdução
DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto
Luis Otavio Alvares Filipo Perotto. Quais os limites da IA? Inteligência no homem e na máquina. Por quê? X
Questões sobre a entrevista de Marvin Minsky Discussão sobre IA Na sua opinião, o que caracteriza uma máquina inteligente? O que você entende por conhecimento de senso comum? Luis Otavio Alvares Filipo
Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2
Otimização Otimização em Redes Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 51 Conteúdo
Algoritmos e Estruturas de Dados Prof. Mauro L. C. Silva 1/10 Ciência da Computação Estudo de Algoritmos uma das atividades principais Ênfase no Estudo dos Dados: Armazenamento Manipulação Refinamento
Animação comportamental. Controlo de grupos de objectos. Sistemas de partículas Comportamento de grupos (Flocks, Herds, Schools) Agentes autónomos
Controlo de grupos de objectos Sistemas de partículas Comportamento de grupos (Flocks, Herds, Schools) Agentes autónomos Controlo de grupos de objectos Considera-se um número moderado de membros (muito