Framework motivacional aplicado a NPCs

Slides:



Advertisements
Apresentações semelhantes
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Advertisements

Software Básico Silvio Fernandes
Vicente Vieira Filho Orientadora: Patrícia Tedesco
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Amintas engenharia.
Robótica Industrial (ENE109) Apresentação do Curso
Resultados da Pesquisa "Identificação de Valores de Jovens Brasileiros – Uma Nova Proposta", realizada pela Profª. Dra. Rosa Maria Macedo, da PUC de São.
Agentes Inteligentes Agentes Inteligentes.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
03/08/2011 Professor Leomir J. Borba- –
Técnicas de orçamento de capital
Interação entre objetos
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Metodologia Científica e Tecnológica
SISTEMAS DE EQUAÇÕES.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Caro Professor, Este material de apoio é gratuito e para uso exclusivo em sala de aula. Não pode ser comercializado. Ele não contém vírus ou qualquer instrumento.
Auditoria de Segurança da Informação
Marcelo Nascimento dos Santos
Aula 8 Orientação à Objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
CEP – Controle Estatístico de Processo
Listas Encadeadas.
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
1 ESTATÍSTICA. 2 UDIII - Relação Entre Duas ou Mais Variáveis ESTATÍSTICA Ass 01: Regressão Múltipla (2 a Parte)
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Como aplicar leis da lógica
Aprendizado de Máquina
DFD – Data Flow Diagram Diagrama de Fluxo de Dados
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Aprendizado de Máquina Aula 13
Aprendizado de Máquina Aula 8
Comunicação Social Criação e Produção de Sites
Dinâmica do Movimento Plano de um Corpo Rígido: Força e Aceleração
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Object Oriented Software Construction (MEYER, Bertrand)
Árvores binárias de pesquisa com balanceamento
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
PROBLEMAS DE TRANSPORTE
Sistemas Operacionais
Entendendo as definições de classe
EXERCÍCIOS PARA GUARDA-REDES
EMPREENDEDORES EM AÇÃO PROF. NILSON R. FARIA Colégio Wilson Joffre.
O PROCESSO DE CRÉDITO INFORMAÇÕES C´S DO CRÉDITO AVALIAÇÃO DE RISCO
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
1.
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
Redes Neuronais/Neurais/ Conexionistas Introdução
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Rio Verde - Goiás - Brasil
Divisão da Qualidade Assegurada Departamento da Qualidade
Cinemática Plana de um Corpo Rígido Cap. 16
CALENDÁRIO 2013 MÓDULO II.
Prof. Dr. Vinicius Ponte Machado
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Financeiro – Contas a Receber
Contagem Sequencial do Estoque
Transcrição da apresentação:

Framework motivacional aplicado a NPCs Autor: Marcos Vinicius Policarpo Côrtes Orientador: Esteban Walter Gonzalez Clua Sonhos não são projetos. Desintrospecte-os... Niterói, 1 de julho de 2009

Framework motivacional Introdução Áreas de pesquisa: Vida Artificial Agentes com emoções, Atores sintéticos IA Representação simbólica de conhecimento Interface Homem-Máquina Interação com o usuário/jogador Engenharia de Software Arquitetura e análise Games Arquitetura de Game Engines Framework motivacional Game Engine Objetivo: Simular “comportamento verossímil” em NPCs

Introdução Contribuições Análise dos modelos de agentes emocionais de base fisiológica Aplicação de framework motivacional para controle de NPCs Arquitetura de GameEngine por GameObjects componentizados (construção) Arquitetura de agentes por componentes

Introdução O que é “comportamento verossímil”? Porque “comportamento verossímil”? Como fazer “comportamento verossímil”? Como avaliar “comportamento verossímil”?

Agentes com emoção Modelo proposto Domínio e aplicação Framework motivacional Jogo exemplo

Agentes com emoção Conceito subjetivo, não há consenso Ciência cognitiva busca relacionar os eventos emocionais com outras estruturas cognitivas, como memória, comportamento e tomada de decisão

Agentes com emoção Classificação: Modelos ([RODRIGUES 07], [SEP 07] e [MORGADO 05] ) Emoções puras (Ex. Elkman) Avaliação (Ex. OCC) Neuro-fisiológicos (Ex. Damásio) Agentes ([MORGADO 05] ) Fisiológica (nossa abordagem) Cognitiva Arquitetural

Agentes com emoção Modelos de base fisiológica Utilizam uma dinâmica fisiológica para representar a motivação do sistema e simular as emoções Exemplos: Abbott [CAÑAMERO 97] Cathexis [VELASQUEZ 96] Kismet [BREAZEAL 00]

Modelo proposto Modelo fisiológico baseado nos modelos de [VELASQUEZ 96] e [BREAZEAL 00] Objetivo: Simplificar e minimizar os modelos anteriores Possui histórico em utilização em jogos [POZZER 06] Orientado a controle de ações, e não somente a seleção de expressão facial

Modelo proposto Ontologia Influi Processo É um > Permite > Compor- tamentos Drives Processo Consuma> Sensor Permite > É um > Facilita Influi Emoção Compor- tamentos Drives Sensor Emoção

Modelo proposto Processo Unidade fundamental que generaliza as outras. Possui um valor associado e limites inferiores e superiores (thresholds) Possui duas regras de operação: Manter o seu valor entre os limites (bem-estar, homeostase, wellbeing). Caso extrapole um limiar, se torna ativo Quando ativo, influenciar (excitar ou inibir) outros processos

Modelo proposto Processo

Modelo proposto Drive Pulsão: desejos e vontades inconscientes ou fisiológicas Incrementa com o tempo Comportamentos podem consumá-lo (diminuir o seu valor)

Modelo proposto Emoção Estado excepcional, que demonstra uma configuração interna do agente através de uma expressão comunicativa Emoções puras de Elkman Decrementa com o tempo Somente valores positivos

Modelo proposto Comportamento Ações ou planos que o sistema pode tomar para alterar um estado do mundo Somente valores positivos Decrementa exponencialmente

Modelo proposto Sensor Influência do mundo externo (percepções) dentro do sistema motivacional O sensor e outros processos avaliam as percepções (marcador somático de Damásio) (a) Pode ser simplificado ao número de percepções de um sensor (b) a) b)

Modelo proposto Discretização Emoção Sensor Drives Compor- tamentos ?

Modelo proposto Discretização Discretização Loop formal Erro conceitual Performance Solução Direta não Ignora fator temporal (ingênuo) Eficiente Direta (usa-se valores dos processos) Temporal Simples sim Aproximação temporal Semi-direta( usa-se valores anteriores dos processos Contínua Exato ou aproximação formal Não eficiente ???? (algum solucionador de equações não lineares)

Domínio e aplicação Games – RPG – Action RPG Propõe ao jogador ultrapassar desafios para observar a história. A vitória não é um fator tão importante. Narrativa, dos personagens e dos efeitos gráficos são mais importantes

Domínio e aplicação Engine Sistema de apoio ao desenvolvimento de um determinado estilo de jogo: Engine = Motor + Editor + banco de dados de recursos Motor = Desenvolvimento próprio, vários frameworks Editor = Tiled + XML Recursos: RPG Maker 2000 + Internet Requisitos 2D Jogabilidade de um Action RPG (Ex. Zelda) Possuir recursos de percepção e atuação de agentes (para suporte do framework motivacional)

Domínio e aplicação Arquitetura GameObject - Component Em vez de herdar uma classe base (GameObject) para criar nossas novas entidades, usamos uma GameObject simples e adicionamos a ela os componentes que precisamos [PASSOS 08, BILLAS 03]

Domínio e aplicação Arquitetura GameObject - Component Problema: Manutenção das referências entre componentes gera código fora da lógica do domínio e exige manutenção complexa. Solução: Usar Dependency Injection [PASSOS 08] //IA referencia componentes tradicionalmente public class IA: SoftComponent { public Animacao mAnimacao;   public Items mItems; public bool init(Scene scene) //Resgata o componente SoftComponent sc = parent.getComponent(“Animacao”); //Verifica integridade if(sc==null)return false; if(!(sc is Animacao)) return false; //Atribui o valor mAnimacao = (Animacao)sc; } //IA referencia componentes por Dependency Injection public class IA: SoftComponent { [Injection(“Animacao”)] public Animacao mAnimacao;   [Injection(“Items”)] public Items mItems; public bool init(Scene scene) //não precisa fazer nada }

Framework motivacional Arquitetura do agente (IMotAgent) Visto como um componente a ser usado pela aplicação Uma lista de atuadores que deve ser fornecida A aplicação implementa os atuadores Uma lista de sensores que são oferecidas A aplicação solicita os sensores que devem ser preenchidos com percepções (tal como um buffer)

Framework motivacional Fluxo principal do agente (EditableMotAgent)

Método run do Processor

Jogo exemplo Jogo: O jogador controla um detetive e deve eliminar os assassinos em uma cidade povoada por civis

Jogo exemplo Rede de processos Sensors Drives Emotions Behaviors Alvejado Cansaço Felicidade Andar Ouvir tiro Passear Medo Conversar Ouvir paradeiro Interação Tristeza Fugir Conversado Segurança Contar paradeiro Receber prenda Descansar Intimidado Atirar Intimidar

Jogo exemplo Exemplo 1: Influência de “Conversar” em “Felicidade”

Jogo exemplo Exemplo 2: Influência de “Ouvir Tiro” em “Segurança”, “Fugir” e “Medo”

Considerações finais (trabalhos feitos) Simplificação feita em relação aos modelos de [BREAZEAL 98] e [VELASQUEZ 96] para ser usado eficientemente em simuladores e games Análise da discretização Arquitetura de Engine Game-Component para RPG 2D Ganchos estabelecidos (marcador somático, seleção de comportamentos) para trabalhos futuros Trabalho Realizado/Trabalho Esperado = 70% Resultado Obtido/Resultado Esperado = 40%~60%

Considerações finais (trabalhos futuros) Tal como cita [MORGADO 05], método apresenta limitações quando a escalabilidade. Sendo necessário aumentar esta escalabilidade sem perder a performance Adicionar algoritmos simbólicos (tornar sistema híbrido) Alterar equação do processo para que ele possua um raio de valores fixo e o sistema gere menos oscilações bruscas Melhorar sistema de seleção/coordenação de comportamentos Usar políticas mais ricas e/ou ontologias de domínio Usar algoritmos de aprendizagem Simplificar as ações e usar planejamento Investigar marcador somático de Damásio e aplicá-lo Ganho: Sistema passará a selecionar alvo de atuação (um agente selecionará um outro específico para interagir, e não um qualquer ou o mais próximo)

Obrigado! Dúvidas? “Shinji: Então, onde começa meu sonho? Rei: Ele é a continuação da realidade. Shinji: Onde começa... minha realidade? Rei: Onde termina teu sonho...”