Elaboração do Capítulo 3

Fases, comentários, sugestões, críticas e ideias durante a elaboração do capítulo (Voltar para capítulo final)


Autores do Capítulo: DMT, CGC, CAS


Comentário CSP - 1a. Fase

Avaliação Geral: A

Muito bom trabalho. A estrutura está bastante avançada, e há um número razoável de boas referências. Algumas sugestões de mudanças e adições estão assinaladas abaixo.

O principal é manter o foco deste capítulo em modelos e simuladores de seres humanos (ou grupos deles), e não em modelos de sistemas humano-computacionais. Em um certo sentido, este capítulo deve abordar a questão da complexidade de modelamento de pessoas, como componentes de sistemas mais complexos.


Comentário CSP - 2a. Fase

Avaliação Geral: A

É evidente que vocês estão fazendo um bom trabalho de pesquisa, e desenvolvendo bem o tema. Só acho que é preciso suavizar o tom de revisão bibliográfica e deixar o trabalho com mais exemplos. Não exagerem nas enumerações.


O capítulo 1 do livro de Gilbert e Troitzsch dá uma idéia inicial do papel e evolução de simulação em Ciências Sociais [1], S4SSchapter 1.pdf.

O capítulo 3 do livro de Gilbert e Troitzsch fala sobre dinâmica de sistemas e modelos globais [1], S4SSchapter 3.pdf. Utiliza o simulador STELLA (veja links).

Os programas listados no livro estão disponíveis no website do livro http://cress.soc.surrey.ac.uk/s4ss/.

Uma versão trial do simulador STELLA está disponível para download do site da ISEE Systems http://www.iseesystems.com/.

DMT: Silverman apesenta em seu artigo [2] (Silverman2002.pdf) um framework para a utilização em simulação de humanos, integrando propostas de multi-agentes, teoria de jogos e comportamentos humanos que envolvem habilidades, stress e emoção.

Pinhanez [3] explora fontes de modelos psicológicos e dramáticos para sistemas de serviço.

Picard [4] explora no capítulo 7 o problema de sintetizar emoções. No capítulo 6 ela discute alguns métodos para reconhecer emoções (é uma boa introdução para algumas das questões do capítulo 7).

Os textos do grupo do Pentland [5], [6], e [7] exploram sinais sociais entre grupos de pessoas e como reconhecê-los e utilizá-los em várias aplicações.

CGC: NetLogo: um ambiente programável que visa a modelagem e a simulação de sistemas descentralizados, baseado em agentes, capaz de atuar nos campos das Ciências Sociais. Possui linguagem de programação simples, recursos de interface gráfica e simulação participativa, biblioteca com modelos, entre outros recursos.

PCH: Destado dois artigos de divultagação da revista Superinteressante que são relacionados à modelagem de emoções:

Tudo está em Jogo (http://super.abril.com.br/ciencia/tudo-esta-jogo-442854.shtml): Este artigo aborda um pouco sobre a teoria dos jogos, modelos dilema do prisioneiro, jogos de soma um e modelagem matemática da emoção.

Sentidos: Sinto muito (http://super.abril.com.br/ciencia/sentidos-sinto-muito-445721.shtml): Este artigo aborda as recentes pesquisas na área do mapeamento e sentidos e emoções associadas a eles.

MTH: Cynthia Breazeal e Rodney Brooks [8] (Breazeal-Brooks-03.pdf) apresentam em seu artigo sobre emoções aplicados à robôs.

MAK: Kaspar é um robô humanóide de tamanho de uma criança

"Nosso objetivo é estudar os tipos de interações entre humanos e robôs com um conjunto mínimo de recursos expressivos. O objetivo não é o realismo perfeito, mas o realismo ideal para a interação rica […] O rosto é uma máscara de borracha de silicone, que é suportado em uma moldura de alumínio. Possui dois olhos DOF equipados com câmeras de vídeo, e uma boca capaz de abrir e sorrindo. "

KASPAR é descrito em http://homepages.feis.herts.ac.uk/~comqkd/Dautenhahn-etal-Revised-CompleteDocument-web.pdf Página 7. neste documento mostra fotos do rosto de Kismet (um outro robô) expressando emoções (imitando caras tipicamente usado em quadrinhos).

Um vídeo recente http://kaspar.feis.herts.ac.uk/video/kasparWM.wmv

KASPAR interagindo com crianças autistas http://www.youtube.com/watch?v=D6gTHPoO9VI

RSS: Valdemar Setzer argumenta sobre o porque dos modelos e simulações serem limitados, se comparados a humanos. [9]

Artigo descrevendo o reconhecimento de pose e o modelamento físico usado no Kinect da XBox [13].
O vídeo está disponível em http://www.istartedsomething.com/20110319/microsoft-research-reveals-guts-of-kinect-technology/ .

Algo parecido com Kinect feito no MIT Media Lab em 1996 - The KidsRoom http://www.youtube.com/user/101cp#p/u/7/eOMn7bGsfTI e http://www.youtube.com/user/101cp#p/u/6/tit17WU8jcg .

Modelos Comportamentais Motores para HCI, capítulo escrito por Mackenzie no livro do Carroll [11].

Cognitive Work Analysis, capítulo escrito por Penelope Sanderson no livro do Carroll [12].

Para quem quiser entender a teoria por trás de algoritmos genéticos, leia o belo livro do Holland [10].

Artigo clássico de Rabiner and Juang para entender Hidden Markov Models: [23].

[RDP] Artigo: Detecting emotional state of a child in a conversational computer game.
Os autores apresentam uma metodologia de reconhecimento automático de características dialógicas, incluindo aspectos emocionais. A pesquisa teve como objeto de análise as vozes de crianças de sete a catorze anos enquanto participavam de um jogo de computador ativado pela voz.

[RDP] Artigo: Computational Models of Emotion
Os autores do artigo apresentam uma visão geral sobre o estado da arte na área de modelagem de emoções humanas, elucidando aspectos teóricos referentes às áreas que concorrem para o estabelecimento dos modelos computacionais de emoções.

RGH: Tarefas básicas de inferência em modelos temporais (dos quais HMM é um caso particular), descritas no livro de Russell e Norvig (2003) [43].

  • Filtragem (ou monitoramento): Calcular a distribuição posterior sobre o estado atual, dada toda a evidência até o momento. A filtragem é o que um agente racional precisa fazer, a fim de manter o controle do estado atual, de forma que possam ser tomadas decisões racionais.
  • Previsão: Calcular a distribuição posterior sobre um estado futuro, dada toda a evidência até o momento. A previsão é útil para avaliar cursos de ação possíveis.
  • Suavização (ou percepção tardia): Calcular a distribuição posterior sobre um estado passado, dada toda a evidência até o momento. A percepção tardia fornece uma estimativa melhor do estado do que a estimativa que estava disponível na época porque incorpora uma evidência maior.
  • Explicação mais provável: Encontrar a sequência de estados que mais provavelmente gerou um conjunto de observações. Os algoritmos para esta tarefa são úteis em muitas aplicações, inclusive no reconhecimento de fala.

Tutorial para entender o básico de Agent-Based Modelling and Simulation publicado por Macal and North: [20].

Descrição do ambiente MASON por Luke et alli. [18].

Artigo da Maíra Gatti sobre validação de sistemas multi-agentes [22].

ECT: Artigo com uma introdução teórica e prática aos prinicipais assuntos relacionados a projeto e construção de agentes inteligentes. [25]

ECT: Artigo que aborda vários conceitos sobre redes complexas, como tipos de redes do mundo real (incluindo redes sociais), propriedades das redes, modelos de gráficos e modelos de crescimento de redes. [26]

O artigo de Heath et al. - A Survey of Agent-Based Modeling Practices (January 1998 to July 2008), analisa 279 artigos sobre Modelagem Baseada em Agentes para discussão de melhorias na área, averiguando os trabalhos em termos de ano de publicação, área de estudo, softwares de simulação utilizados, o objetivo da simulação, os critérios de validação, técnicas de validação e descrição completa da simulação. Disponível em http://jasss.soc.surrey.ac.uk/12/4/9.html.

O artigo de Izquierdo, L. R.; Izquierdo, S. S.; Galán, J. M. e San, J. I., - Techniques to Understand Computer Simulations: Markov Chain Analysis, tem como objetivo auxiliar na compreensão da dinâmica de modelos de simulação que foram implementados e podem ser executados em um computador (modelos de computador). Os autores consideram que um expressivo número de modelos de computador na literatura de simulação sociais podem ser representados como cadeias de Markov de tempo homogêneo. Desta forma, o trabalho trata de conceitos necessários para realizar uma análise formal de qualquer cadeia de Markov de tempo homogêneo e a utilidade destes conceitos demonstrada por meio de uma análise de 10 modelos de simulação social. Disponível em http://jasss.soc.surrey.ac.uk/12/1/6.html.

Artigo de Epstein: Why Model? Disponível em http://jasss.soc.surrey.ac.uk/11/4/12.html.

Artigo que trata da comparação de modelos baseados em agentes e equações diferenciais, de autoria de Rahmandad, H. e Sterman, J. [38].


Sistemas Baseados em Agentes - contribuição de Maíra Gatti

  • Introdução a Inteligência Artificial Distribuída [14]
  • Introdução a Engenharia de Software de Sistemas Multi-Agentes [15]
  • Agents Inteligentes [16] [17]
  • Simulação de Agentes (Sistemas Sociais, Econômicos e Biológicos) [18] [19] [20]
  • Arquitetura e Validação de Simulação de Agentes [22]

Aplicações e Bibliotecas de Inteligência Artificial e Agentes Inteligentes

  • ABLE - The Agent Building and Learning Environment (IBM)
  • JTP: An Object-Oriented Modular Reasoning System
  • The Rule Application with Boolean Logic and Fuzzy Logic
  • JOONE – Java Object Oriented Neural Engine
  • JReLM – Java Reinforcement Learning Module

Frameworks de Simulação de Agentes (Sistemas Sociais, Econômicos e Biológicos)

  • MASON
  • Repast
  • RepastJ
  • NetLogo
  • SSOA (Arquitetura e Validação)

Middlewares de Agentes

  • Jade
  • JadeX
  • Jason

PCH: A revista de divulgação National Geographic fez um artigo na edição de Julho de 2007 sobre a teoria dos enxames que explora o comportamento emergente. O nome da matéria chama-se Inteligência Coletiva e ela aborda diversos aspectos da natureza relacionados ao comportamento de agentes.
Referência: Miller, Peter. Teoria dos Enxames. Revista National Geographic, Julho 2007, pg. 40-52.


Curiosidades
MTH: Noticia relacionado ao capítulo 7 do Picard: First robot able to develop and show emotions is unveiled
JDC: Relacionado ao texto [3] sobre a formação de uma imagem humana, um bom exemplo de antropomorfismo na literatura brasileira é a cachorra Baleia, do livro Vidas Secas, de Graciliano Ramos. O animal é visto, por diversas pessoas, como um personagem mais humano, que os próprios humanos.
RSS: Nesse vídeo, Deb Roy apresenta como foi monitorar e acompanhar os primeiros anos do filho, e dando como exemplo a evolução da palavra "gaga" em "water" Deb Roy: The birth of a word

DMT: Artigo que analisa o realismo percebido por usuários sobre uma conversa com, sem e com gestos dessincronizados. Interessante também pela abordagem de testes e análise deste tema. [24]

ECT: Notícia sobre o Living Earth Simulator (LES, ou Simulador da Terra Viva), sobre um grupo de cientistas que pretende criar um simulador para recriar tudo o que acontece na terra: Link

DMT: Vídeos apresentando a forma que o Kinect captura as informações de profundidade.

Ele utiliza um projetor de infra vermelho para projetar padrões sobre o ambiente e através das deformações destes padrões se captura a profundidade.
Empresa que produz este sensor: [http://www.primesense.com/?p=514]

O artigo de Salvi [27] apresenta de forma mais detalhada o método de captura de profundidade utilizando esta proposta.


texto do capítulo começa aqui


Proposta de estrutura para o capítulo e bibliografia

1. Introdução

- Apresentar o(s) objetivo(s) do capítulo e o contexto
— Objetivo principal do capítulo: apresentar as abordagens para modelar humanos, de forma a servir como ferramental para a modelagem de sistemas humano-computacionais.
— Contexto: modelagem e simulação (visão geral).

1.1. Modelagem e Simulação (enriquecer o contexto)

- Basear-se do capítulo 1: “Simulation and social science”, de Gilbert e Troitzsch.
- Modelos explicativos e preditivos.
- Artigo de Epstein: Why Model?

Os termos modelagem e simulação são amplamente empregados na especificação de comportamentos de sistemas. Desta forma, torna-se necessária uma explicação sobre referidos assuntos, abordando conceitos, as relações entre ambos assuntos, as justificativas que levam a aplicabilidade de modelagem e simulação, descrevendo alguns benefícios.

Modelo pode ser definido como a simplificação do mundo (estruturas e sistemas), em uma escala menor, com menos detalhes, menor nível de complexidade [1].

Simulação pode ser tratada como uma forma de modelagem, possuindo um elevado potencial para entendimento de processos sociais, principalmente devido ao fato das facilidades advindas do uso de computadores [1]. As simulações auxiliam em uma série de atividades, como na obtenção do melhor entendimento para algumas características da sociedade, predição, substituição por capacidades humanas, treinamento (simuladores de voo), entretenimento, assistir descobertas e formalização. Outra classificação trata de modelagem nos domínios descritivo e preditivo [11].

2. Níveis de Modelagem de Aspectos Humanos

- Comentar os diferentes níveis (notas de aula dia 21/03): interação entre pessoas, interação entre pessoas e recursos, física, emoções, raciocínio, humanidade, entre outros.
- Capítulo 7 do livro da Picard.
- Draft do Prof. Pinhanez [3].
- Texto Sanderson [12], mostrando uma forma de análise destes níveis.
- Texto de MacKenZie [11] para apresentar formas de modelar níveis motores e sensoriais.
- Esses diferentes níveis demandam diferentes formas de modelagem, as quais podem ser mais complexas, simples ou mais adequadas.
- Por isso é importante determinar e levantar o “nível de modelagem”.

- Pentland2000 [29] : Survey sobre formas de se detectar, rastrear, identificar humanos e interpretar seus comportamentos.

2.1. Físico (jogo Ragdoll Cannon, Kinect, Detecção de padrões físicos (faces, gestos))

RGH: A dinâmica de populações pode ser modelada por diversas formas, mas principalmente considerando os aspectos físicos. O artigo de Moussaïd et al. [102] mostra como regras simples podem modelar o comportamento de pedestres e desastres envolvendo multidões. Este modelo, em particular, é guiado por informação visual e prevê trajetórias individuais e padrões coletivos de movimento com bons resultados quantitativos em uma grande gama de dados empíricos e experimentais. As distâncias de obstruções nas linhas de vista dos agentes são responsáveis por sua decisão em mudar de velocidade e direção, similar ao que ocorre na abordagem de análise de vizinhança na simulação de bandos de pássaros (modelo passaróide ou boids) do artigo seminal de Craig Reynolds [103]. Moussaïd et al. mostram que a combinação das heurísticas comportamentais com forças de contato é responsável por um grande conjunto de complexas dinâmicas coletivas. Os autores, baseados nos bons resultados obtidos, também sugerem que a compreensão da dinâmica de multidões através de heurística cognitiva é fundamental para a preparação de eventos de massa seguros e que é igualmente importante na modelagem de populações e navegação de robôs autônomos.

2.2. Emocional

(CNG)
O modelamento e simulação de emoções e memoria tem sido usado na criação de mundos virtuais onde "humanos sinteticos" são criado com o propósito de criar experiências imersivas a seres humanos que acessas estes mundo. Estes mundos virtuais criados são principamente usados em jogos de video e em ambientes colaborativos de redes sociais (sendo o SecondLife o mais famoso mundo virtual do segundo tipo). Esta modelagem tem maior relevância em "Serious Games" onde interações com entidades virtuais precisam de maior cuidado e detalhe serious games.pdf.

DBD:

No livro de Picard (1997-[4]), no capítulo 7 vemos algumas abordagens para a modelagem e síntese de emoções, onde através desta síntese os agentes podem mudar a maneira como aprendem e como priorizam e escolhem alguma determinada ação. A discussão é dirigida em três aspectos: a síntese de emoções baseadas em mecanismos cognitivos, a síntese de emoções baseadas em múltiplos mecanismos e as influências de se sintetizar as emoções.

A síntese de emoções pode ser feita através de mecanismos cognitivos, como no caso do modelo OCC (Ortony Clore Collins), que utilizando um sistema baseado em regras (rule-based system), que pode sintetizar 22 tipos de emoções, ativadas de acordo com reações a eventos, agentes ou objetos. Além disso, o sistema é interessante por poder estudar o mecanismo de conseqüências emocionais, onde dado o agente sentindo uma determinada emoção, a ação dele será influenciada por esta ação. Um exemplo desta situação em humano é o fato de um filho não guardar os brinquedos corretamente por ter ficado contrariado após receber uma bronca do pai.

No caso dos humanos as emoções também podem ser geradas por influências não-cognitivas de baixo níveis. Um modelo que leva esta característica em consideração é o Cathexis, que considera 4 tipos de fatores para a geração de emoções, vistos abaixo e sintetiza uma variedade de emoções, que podem ser simultaneas, baseados nestes fatores.

  1. Fatores neurais, originados de neurotransmissores e outros processos neuro-químicos;
  2. Fatores sensorio-motores, originados da postura, das expressões faciais, tensão muscular e outros fatores aferentes;
  3. Fatores motivacionais, originados de provocações sensoriais, como a raiva provocada pela dor, por exemplo;
  4. Fatores cognitivos, originados do raciocínio cortical.

2.3. Raciocínio (Cognitivo)

- Fan2005 [44] : artigo de um sistema para tomada de decisões auxiliada por agentes cognitivos.
- Kim2009 [45] : uso de theory of minds para a movimentação de um robô. //
- Gero2002 [46] : uso de cognição para a criação de agentes que geram "designs". //

2.4. Percepção de Humanidade (Draft - Pinhanez)

[IGR]

Segundo [3], assumindo que devido ao fato de um sistema de serviços conter pessoas dentro dele, este serviço é percebido como tendo características humanas, tratado como humano e é esperado que suas ações sejam parecidas com as de humanos, podemos definir a face humana de um sistema como "o conjunto e a configuração de elementos que criam e controlam a percepção de e a interação com as suas características humanas". Uma importante questão é como modelar a face humana de um sistema para que melhorar a interação e minimizar os conflitos com o cliente.

São citados dois modelos principais para a modelagem da face humana de um sistema: modelos psicológicos e modelos dramáticos. O primeiro tipo de modelo procura abstrair uma visão simplificada do complexo comportamento humano e possui como principal nome Carl Jung, enquanto o segundo tipo provê métodos para a criação de seres humanos fictícios e originou-se nas artes, tendo Konstantin Stanislavsky como importante contribuinte, principalmente no teatro.

Um exemplo de modelo psicológico é o zodíaco, que atribui características a humanas a cada um dos signos, que se tornam modelos de comportamentos de humanos. O ventroloquismo pode ser um bom exemplo de modelo dramático, pois o ventríloco cria a ilusão que o boneco tem personalidade e se comporta com um humano. Este exemplo é especialmente interessante em sistemas em que o contato com o cliente não é feito por uma pessoa, mas por um sistema de atendimento automático.

JDC begin
Um exemplo interessante de como a percepção de humanidade pode ser manipulada de formas bem inusitadas é o programa Elisa, feito inicialmente em LISP. Apesar de ser bem simples, pois é basicamente um sistema baseado em regras que define uma função simplificada de como montar respostas, o sistema é capaz de enganar um observador desatento por um pequeno espaço de tempo.
JDC end

2.5. Interação entre pessoas e recursos

2.6. Interação entre pessoas (Social)

DBD:

Uma área que busca modelar as interações sociais e simular as interações sociais é o Socionics [109, 110], que busca desenvolver tecnologias computacionais inteligentes utilizando paradigmas do nosso mundo social e usar a computação para verificar de desenvolver modelos de sociedades e de organizações. Um dos focos desta área é de se modelar computacionalmente algumas teorias sociológicas, de forma a se analisar problemas clássicos da sociologia sob uma nova perspectiva.

Em Gilbert e Troitzsch [1], esta idéia também é levantada, juntos com as dificuldades de se simular as sociedades humanas, onde mesmo uma simulação onde os agentes (pessoas) são programadas com regras simples pode gerar um comportamento complexo quando vistos em conjunto.

DBD (comentário): um ponto interessante de se verificar nesta parte, na minha opinião, é a questão do comportamento emergente, que é citado no livro do Gilbert e Troitzsch, que geralmente só podem ser constatados através das simulações.

2.7. Memória

MDO:
O artigo de [91] explora as várias formas de modelagem computacional da memória humana, em particular (e este é o ponto interessante deste artigo) a memória inconsciente.

DBD:

Freqüentemente podemos encontrar algumas formas de modelagem da memória quando estudamos os mecanismos de aprendizagem, onde um determinado conhecimento (padrão) pode ser armazenado no cérebro através de um estímulo do ambiente, para ser recuperado e utilizado posteriormente. Para o processamento da informação na memória existem três etapas distintas: a codificação, o armazenamento e a recuperação da informação. Do ponto de vista de armazenamento, a memória pode ser dividida em dois tópicos: a memória de curto-prazo, onde estão compilados os conhecimentos que representam o estado "atual" do ambiente onde o indivíduo se situa e a memória de longo prazo, que se refere a área onde o conhecimento é armazenado por um longo período ou até permanentemente.

Em Cooper [94], temos uma abordagem de um componente modelo de um sistema nervoso, baseados no modelo biológico onde a memória se refere a alterações neurais, onde a codificação, o armazenamento e a recuperação das informações são modeladas por este componente.

JDC begin
Na área de Redes Neurais, a memória mais modelada é a memória reflexiva, isto é, uma memória simples relacionada a resposta a estímulos físicos. Essa memória é caracterizada na força das sinapses e na forma da ligação. Outra memória a ser modelada é a memória relacionada ao conhecimento.

Os dois tipos de memória são fundamentalmente diferentes. A memória reflexiva caracteriza-se por:

  1. É necessário muitas repetições para atingir o aprendizado
  2. Normalmente cria numa rede, uma representação sintética de uma função

Já a memória relacionada ao conhecimento, mais dificil de ser modelada, caracteriza-se por:

  1. Uma única repetição é suficiente para atingir o aprendizado, ou memorização.
  2. Normalmente está associada a conhecimentos mais complexos.
  3. Espera-se que possa ser usada para gerar algum tipo de reflexão, de uma forma mais filosófica

JDC end

Uma modelagem computacional destas características no campo de redes neurais artificiais é mostrada em [93], onde a memória é distribuída pela rede e está associada aos pesos sinápticos, que alteram a sinapse na rede, podendo ser utilizados para reconhecer um padrão.

3. Formas de Modelagem e Simulação

- Normativo X Tomada de Decisão X Tentativo

Conforme as formas de modelagem e simulação é possível classificar os modelos segundo três categorias: Normativa, Tomada de Decisão e Tentativa, levando em consideração na classificação, aspectos de complexidade, expressividade e computabilidade.

Os modelos do conjunto Normativo tratam de áreas como Física e Economia, envolvendo, por exemplo, ganhos diferenciados de produtividade [84] e os modelos Tentativos envolvem correlação. O domínio de Tomada de Decisão inclui modelos de otimização, simulação, lembrando que simulações podem ser baseadas em modelos e, híbridos (otimização e simulação). Os aspectos de expressividade e complexidade aumentam considerando a seguinte ordem: Normativos, Tomada de Decisão e Tentativos, à medida que a computabilidade é reduzida seguindo a mesma ordem. Desta forma, modelos tentativos são considerados de alta expressividade e complexidade, mas de baixa computabilidade.

3.1. Abordagens

- Comentar para cada uma dessas abordagens aspectos positivos e negativos. Em seguida, citar exemplos de trabalhos que seguem tais abordagens.
- Lista de abordagens, ressaltando que muitos trabalhos mesclam tais abordagens.

Na literatura, pode-se encontrar uma série de abordagens que procuram fornecer subsídios (modelos, sistemas, teorias e ferramentas), visando a modelagem e a simulação do ser humano ou de grupos de seres humanos, tarefas que envolvem comportamento, atitudes, reações, questões ambientais, culturais, sociais, físicas, psicológicas, emocionais, entre outras.

Desta forma, considerando a complexidade que caracteriza as tarefas de modelar e simular seres humanos, as abordagens apresentam, não somente aspectos positivos, mas negativos também, ou seja, vantagens e desvantagens, o que leva determinados trabalhos a combinarem mais de uma abordagem para obtenção de resultados mais consistentes.

A seguir, seguem algumas abordagens, tais como: Dinâmica de Sistemas, Autômatos Celulares, Modelos de Filas, Teoria de Jogos, Modelos Estocásticos (divididos em Redes Bayesianas, Cadeias de Markov e Hidden Markov Models), Principal Component Analysis, Sistemas Multi-agentes, Redes Neurais e Sistemas Baseados em Regras.

3.1.1. Dinâmica de Sistemas (Modelos Globais)

- Capítulo 3 do livro de Gilbert e Troitzsch
//- Citar do Forrester: Industrial Dynamics & Urban Dynamics & World Dynamics (site com rápidas explicações http://dieoff.org/page23.htm). //

Dinâmica de Sistemas é uma abordagem que visa ao entendimento do comportamento de um sistema considerado complexo no decorrer do tempo, como por exemplo, um sistema social. A abordagem baseia-se na compreensão da estrutura interna do próprio sistema em questão, ou seja, na explicação do relacionamento entre variáveis presentes no próprio sistema, usando modelos qualitativos e quantitativos, inclusive, simulações computacionais [55] [54].

Desta forma, pode-se verificar por meio de modelos e simulações, efeitos indesejáveis no sistema, o que pode auxiliar gestores ou administradores no processo de tomada de decisões. Os modelos e as simulações facilitam a modificação de variáveis (inclusive o tempo), permitindo experimentos para a descrição do comportamento do sistema no futuro. Diversas ferramentas podem ser usadas na modelagem e simulação da complexidade de sistemas, sendo que algumas serão descritas na seção de Simuladores e Ferramentas.

A Dinâmica de sistemas, de acordo com [1], procura modelar uma parte da realidade. Esta parte é considerada como um sistema, dotado de propriedades e dinâmicas, o qual é descrito por meio de equações matemáticas, destacando as equações de diferença e equações diferencais, que possibilitam derivar o estado futuro baseando-se no estado atual do sistema.

Tal abordagem origina-se na chamada Dinâmica Industrial, concebida por Jay W. Forrester. Segundo [47], a Dinâmica Industrial consiste no estudo das características de feedback da informação da atividade industrial com o intuito de mostrar como a interação entre estrutura organizacional, políticas e tempo de atraso em decisões e ações, contribuem para o sucesso de uma organização. Desta forma, a Dinâmica Industrial envolve as interações entre fluxos de informação, dinheiro, pedidos, materiais, pessoas e equipamentos em uma indústria ou corporação.

Seguindo a linha de sistemas dinâmicos e, visando ao entendimento de sistemas de maior complexidade social, Jay W. Forrester estendeu seu trabalho, inicialmente voltado a indústria, para áreas urbanas, criando a denominada Dinâmica Urbana. Esta abordagem procurava investigar o crescimento e o declínio de uma determinada cidade, englobando aspectos relacionados à indústrias, residências e pessoas [48]. O autor ainda investiu em uma evolução, elaborando a Dinâmica Mundial, que analisava o ambiente (natureza) e o ser humano, com seus sistemas sociais e sua tecnologia, verificando como as interações entre tais aspectos poderiam influenciar o crescimento, a mudança e o stress da sociedade [49].

3.1.2. Autômatos Celulares

//- Hegselmann1998 [39]: artigo apresenta o uso de abordagens utilizando cellular automata para a simulação de dinâmicas sociais. //

//- Koenderink2009 [40]: este artigo apresenta o uso de um modelo de cellular automata hierárquico para simulação biológica e social. //

O Autômato Celular pode ser descrito como um modelo discreto, constituído por células que assumem finitos estados no decorrer do tempo, baseando-se um conjunto de células vizinhas e regras determinísticas. As células são dispostas em espaços regulares, com número finito de dimensões, propiciando uma evolução ao ponto de produzir uma nova geração de células a cada aplicação de regras.

Em síntese, as principais características dos Autômatos Celulares são: as células devem ser arranjadas em um espaço D-dimensional regular; o tempo, o estado e espaço devem ser discretos; as células alteram seus estados conforme as regras locais; todas as células adotam seus estados de um conjunto finito de estados; em cada período as células são atualizadas, podendo ser sequencialmente ou simultaneamente; a mesma regra de transição é aplicada a todas as células [51].

Os Autômatos Celulares foram concebidos inicialmente por John von Neumann e Stanislaw Ulam, visando pesquisas nas áreas de crescimento e auto-reprodução, fato ocorrido na década de 1940. Os modelos passariam a ser empregados em uma série de áreas, tais como: erosão do solo, colisão de galáxias, dinâmicas de fluído e difusão, entre outras. No domínio das ciências sociais, tal abordagem foi tratada primeiramente por James M. Sakoda, que desenvolveu um modelo baseado em Autômatos Celulares para a área social [39] .

A modelagem baseada em Autômatos Celulares demonstra ser uma abordagem interessante para a compreensão de dinâmicas sociais, contemplando relações entre seres humanos nos níveis micro e macro, visto que trata de um conjunto de propriedades relevantes no contexto, tais como: localidade, sobreposição, vizinhança e interações repetidas [39]. Além disso, simulações podem ser realizadas a partir dos modelos baseados em Autômatos Celulares, o que contribui ainda mais para o entendimento de tais dinâmicas sociais, pois torna o processo mais eficiente.

Um exemplo do emprego de Autômatos Celulares em sistemas sociais pode ser encontrado em [40]. O trabalho descreve dinâmicas comportamentais baseadas em um sistema social de três níveis ou camadas, classificadas de indivíduos ou agentes, partes ou grupos e Controle de Alto Nível ou Governo. Há uma hierarquia a ser respeitada entre os níveis, com cada qual possuindo mecanismos e regras próprios, fundamentais na organização de informações e tomadas de decisão. Ocorrem interações entre os níveis adjacentes e as regras governam o comportamento dos indivíduos visando atividades cooperativas.

3.1.3. Modelos de Filas

- Artigo do Mandelbaum

Fila é a ocorrência da procura ou demanda por um determinado serviço não suportada pelo sistema, ou seja, uma fila é formada quando a demanda é maior que a capacidade do sistema de fornecer determinado serviço em um certo momento [56].

Neste contexto, a demanda é representada pelo número de clientes, que por sua vez, são representados por um grupo de pessoas, visto que este capítulo trata da modelagem de seres humanos (comportamento humano). Embora na teoria de filas, cliente é um termo de aplicação geral, não somente usado para especificar seres humanos, mas também para definir processos em um computador, pacotes em uma rede de comunicação, por exemplo.

Nos modelos de fila, um problema a ser considerado é o abandono da fila por parte de clientes (pessoas). Para exemplificar, Mandelbaum e Zeltyn realizaram um trabalho para modelar o abandono de uma fila por clientes, neste caso, pessoas que estão esperando por atendimento (serviço) em Call Centers (prestadores de serviço). O objetivo consistiu em verificar a impaciência do cliente, aspecto diretamente ligado a satisfação do mesmo, visto que a impaciência é um fator determinante no abandono de filas, ao mesmo tempo, de elevado grau de subjetividade.

O modelo considerou a demanda (número de clientes) para determinar fatores desejáveis em centros de atendimento, tais como: número de agentes (atendentes), tempo médio de atendimento, não tratando de atendimentos com prioridades diferentes (ordem de chegada determina a posição na fila) [57]. Embora o trabalho demonstrasse que o modelo não foi fiel a realidade em um experimento realizado, os autores argumentaram que apesar da complexidade do mundo real, é necessária a elaboração de modelos para esta finalidade (entendimento de filas), dada a importância de problemas desta natureza (insatisfação do cliente).

3.1.4. Teoria de Jogos

(RAT)
Teoria dos jogos diz respeito ao que acontece quando pessoas, nações ou objetos, interagem entre si [97]. Atualmente, a teoria dos jogos esta cada vez mais sendo aplicada a diversos campos de estudo, como economia, psocilogia, ciências políticas, leis e biologia [31].

[MTH]
Os resultados da teoria dos jogos tanto podem ser aplicados a simples jogos de entretenimento como a aspectos significativos da vida em sociedade. Um exemplo deste último tipo de aplicações é o Dilema do prisioneiro popularizado pelo matemático Albert W. Tucker, e que tem muitas implicações no estudo da cooperação entre indivíduos. Os biólogos utilizam a teoria dos jogos para compreender e prever o desfecho da evolução de certas espécies.

(DBG)
** Coloquei a referencia [111], tem um pedaço aberto no Google Books, achei uma boa introdução sobre o assunto, o autor se preocupa em explicar conceitos, sem muita matemática pesada, a leitura é fácil. **
(DBG) Definimos um jogo como um conjunto de restrições sobre as ações e interesses de cada jogador, entretanto, não há restrições sobre qual ação cada jogador pode tomar. A entidade básica de um jogo é o jogador, que pode ser interpretado como uma pessoa, uma organização ou até mesmo um grupo de indivuos tomando decisões.

(DBG) Existem 2 tipo de jogos: os cooperativos e os não-cooperativos. Os Jogos cooperativos tem como caraterística a possibilidade de troca de informação entre os jogadores, formando coalisões de usuários para tomada de decisões. Nos jogos não-cooperativos cada decisão é tomada de maneira independente, apenas com as informações que um jogador tem disponível, sem qualquer tipo de contrato com os demais jogadores. Na literatura os jogos não-cooperativos são mais amplamente estudados.

- Goeree1999 [31]: uso de teoria de jogos + modelos estocásticos.

3.1.5. Modelos Estocásticos

Modelos estocásticos [43, parte V] levam em consideração que os valores de um certo modelo não são determinísticos, considerando probabilidades para os resultados obtidos. Devido ao fato que muitos dos comportamentos humanos ou sociais não são, em muitas vezes, determinísticos, mas possuem incertezas, estes modelos são amplamente utilizados na literatura para modelar ou simular humanos dentro de um sistema. Outro problema comum na modelagem humana está no fato que em muitos dos casos, os dados capturados possuem erros e ruídos, o uso dos modelos estocásticos se torna não só útil, mas crucial nesses casos, de forma a filtrar, estimar ou até mesmo prever estes resultados.

Dentre os estudos efetuados nessa área, diferentes modelos foram criados, se tornando boas ferramentas para se modelar e simular humanos em diferentes níveis e diferentes formas. Nesta seção, serão apresentados três dos modelos que são amplamente utilizados na literatura. São eles, redes Bayesianas (Bayesian network), cadeias de Markov Monte Carlo (Markov Chain Monte Carlo) e modelos ocultos de Markov (Hidden Markov Models).

Estes três modelos são modelos temporais, ou podem ser estendidos para contemplar tais informações. Desta forma, considerando variações dos estados no ambiente ao longo do tempo e carregando tais informações para refinamento dos resultados. Tarefas básicas destes modelos temporais incluem a:

  • Filtragem (ou monitoramento): Calcular a distribuição posterior sobre o estado atual, dada toda a evidência até o momento. A filtragem é o que um agente racional precisa fazer, a fim de manter o controle do estado atual, de forma que possam ser tomadas decisões racionais.
  • Previsão: Calcular a distribuição posterior sobre um estado futuro, dada toda a evidência até o momento. A previsão é útil para avaliar cursos de ação possíveis.
  • Suavização (ou percepção tardia): Calcular a distribuição posterior sobre um estado passado, dada toda a evidência até o momento. A percepção tardia fornece uma estimativa melhor do estado do que a estimativa que estava disponível na época porque incorpora uma evidência maior.
  • Explicação mais provável: Encontrar a sequência de estados que mais provavelmente gerou um conjunto de observações. Os algoritmos para esta tarefa são úteis em muitas aplicações, inclusive no reconhecimento de fala.

Todos os resultados destas tarefas podem ser utilizadas para a modelagem e simulação de pessoas, como será apresentado nesta seção.

3.1.5.1. Redes Bayesianas

As Bayesian Networks [43, p. 482] são modelos que permitem representar de forma sintética variáveis com probabilidade e as formas de como elas se relacionam, caso seus relacionamentos sejam acíclicos (i.e. Não existem ciclos na representação de forma de grafo do modelo). Esta representação permite facilitar, de forma significativa, o cálculo das probabilidades de uma variável que se deseja estimar, uma vez que o modelo apresenta que a probabilidade de uma variável da rede depende somente dos nós diretamente relacionados. Outra grande vantagem destes modelos está no fato que os parâmetros da rede podem ser treinados com situações reais, permitindo que o modelador não necessariamente tenha conhecimento absoluto das situações a serem modeladas.

Considere um caso de um sistema de alarme, que é acionado ao ocorrer um terremoto ou um roubo, e duas pessoas (A e B) que recebem este alarme. Quando uma delas recebe o alarme, essa faz imediatamente uma ligação para a outra avisando sobre o fato. Porém, em todo o modelo pode se considerar erros, como por exemplo, a pessoa A pode ligar para B, por engano, mesmo que o alarme não tenha ocorrido. Neste caso podemos representar este modelo com a rede bayesiana apresentada pela figura 1. Assim, o modelo de Bayesian network permite, através destas distribuições de probabilidades, estimar, por exemplo, a probabilidade de ter ocorrido um terremoto dado à observação de que ocorreu a ligação de um dos membros.

bayesianNet.PNG

A variação deste modelo para a utilização temporal é denominada Dynamic Bayesian Network. O outro modelo a ser apresentado nesta seção, o Hidden Markov Model, pode ser considerado como sendo parte deste modelo dinâmico de bayesiano. Maiores detalhes sobre as formas uso deste modelo podem ser encontrados no livro de Russell [43, p. 482, p. 542] ou pelo artigo de Ghahramani [58].

Trabalhos como o de Park e Aggarwal [59] ou de Möenne-Loccoz et al. [60] modelam comportamentos ou interações entre humanas, como violência ou abraços, utilizando este tipo de modelo através de sequencias de vídeos. Outra modelagem humana, onde este modelo é aplicado, está no uso classificadores como os de pele, rosto ou expressões, como apresentado por Sebe et al. [61].

Os trabalhos apresentados nesta seção apresentam, de forma rápida, o potencial de uso destes modelos em bayesian network. O bayesian network e dynamics bayesian network são modelos muito amplos, não se resumindo somente aos usos apresentados aqui. Mas, através destes trabalhos, é possível de se apresentar o potencial de uso para modelar situações onde existem muitas incertezas no modelo adotado e muitas das variáveis se correlacionam.

// - Liao2005 [41]: sistema para monitorar stress humano utilizando um modelo de redes bayesianas. //

3.1.5.2. Cadeias de Markov

//- Pentland1999 [28]: modelagem de human behaviours utilizando Cadeias de Markov e Filtros de Kalman.
- Izquierdo2009 [37]: Techniques to Understand Computer Simulations: Markov Chain Analysis. //

[MTH]
Dá-se o nome de processo de Markov a um dado fenômeno que possa ser classificado em estados finitos e discretos, e cuja probabilidade de transição entre tais estados, num intervalo de tempo também discreto, dependa apenas do estado corrente e do estado seguinte. À seqüência de estados seguindo este processo dá-se o nome de cadeia de Markov(Shamblin, 1979).

Estas definições podem ser exemplificadas por fenômenos sociais. Suponha a existência de três possíveis classificações sociais para um indivíduo de uma população: classes A, B e C. Têm-se aí três estados discretos, ou seja, não há meio termo entre as classes. A probabilidade de um indivíduo sair da classe C e ir para a classe B pode ser determinada por estudos estatísticos que observem a taxa de indivíduos que, ao longo de um determinado período, migram entre estas classes. Têm-se aí um Processo de Markov. Logo, a transição destes indivíduos entre as classes constitui uma Cadeia de Markov.

3.1.5.3. Hidden Markov Models (HMM)

Uma técnica amplamente utilizada para a modelagem de humanos baseado em métodos estocásticos é o Hidden Markov Model (HMM) [43 p.533]. O HMM, um modelo temporal, se torna uma forte ferramenta para a modelagem humana em muitos casos, pois ela permite que o criador do modelo não necessariamente conheça e capture com exatidão o processo por trás de um comportamento humano, dependendo somente da observação das ações das pessoas. Outra grande característica da HMM é o fato que ele também permite que o modelo seja treinado por pessoas de forma a capturar as suas características. Por fim, como todo modelo temporal, ele permite carregar informações anteriores ao longo do processo estocástico, retornando um resultado mais refinado que algoritmos estáticos.

O HMM permite modelar um processo duplamente estocástico no qual o processo é oculto e somente os resultados são observáveis. Isto significa que, o HMM permite modelar situações onde não é possível a observação do processo como um todo, i.e. o processo é oculto (hidden), mas é possível se observar os eventos resultantes deste processo, e a modelagem criada possui incertezas em ambos o processo e os resultados dos estados.

Para tornar a explicação mais simples, tome um caso de exemplo onde uma pessoa joga uma ou mais moedas e reporta o resultado (cara ou coroa) para o observador. Porém, o observador não consegue ver o processo de jogar a moeda em si. Neste caso, a forma de modelar estes eventos se torna um grande problema, uma vez que não pode se dizer ao certo se a pessoa, que está jogando as moedas, está jogando uma moeda normal e reportando o resultado. Ou se a pessoa possui uma moeda normal, uma viciada para cara e outra viciada para coroa, utiliza a moeda normal para definir qual das moedas viciadas ela vai utilizar, e dado este resultado ela joga uma das moedas viciadas e somente depois disso ela reporta o resultado. A figura 1 apresenta o modelo de máquina de estados para estes casos apresentados. Em ambos os casos, a probabilidade de se obter cara ou coroa são de 0.5, assim, somente com as observações não é possível dizer ao certo se o modelo é correto e como o modelo se comporta internamente. Estes são casos onde o HMM se torna uma forte ferramenta para se obter informações, prever resultados, filtrar os resultados ou suavizar os resultados. Maiores detalhes, explicações do HMM e aspectos que este modelo envolve podem ser encontrados no trabalho de Rabiner e Juang [62].

hmm.PNG

Muitos trabalhos de reconhecimento de voz utilizam este modelo em HMM [63, 64]. Isso se deve ao fato que este tipo de problema pode ser, de forma relativamente fácil, convertido em um modelo de HMM de N-estados com uma sequência de vetores quantizados.

Através deste modelo, também é possível de se obter outras informações através da fala, por exemplo, a emoção contida na fala, como apresentado no trabalho de Nwe et al [65]. Neste trabalho, os autores capturam a emoção contida na fala através de um HMM discreto como classificador e coeficientes de força de frequência logarítmica para representar os sinais da voz. Já, Furui et al [66] apresentam critérios para predição de informações de modelos em HMM, de forma a possibilitar a predição de falas.

Dong et al. [7] utilizam o HMM, além de modelos baseados em máquinas de vetores e modelos e influências, para obter características como nível de ênfase, atividade, repetição de palavras e influência por meio de falas. Através destes parâmetros os autores, por sua vez, modelam uma dinâmica de discussão em grupos, podendo, por sua vez, analisar e prever os resultados de uma discussão dentro de um grupo.

Além da utilização em reconhecimento de falas, o HMM pode ser largamente utilizado para modelar diferentes características humanas, como no trabalho de Chuing e Liu [67], onde os autores detectaram alguns comportamentos humanos dentro de um centro de enfermagem (como comer, ir ao banheiro, chamar um enfermeiro, entre outros) utilizando streams de vídeos. Kelley et al. [68] apresentam um modelo para detectar intenções humanas para interações humano-robôs, utilizando modelos de HMM, visão computacional e a Theory of Minds. Já, Starner e Pentland [69] apresentam um modelo destinado ao reconhecimento de gestos para linguagens de sinais americanas.

Yang et al. [30] apresentam o uso de HMMs em treinamento de robôs, para que esses possam reconhecer, caracterizar e emular habilidades humanas como gestos. Esse trabalho, e o de Dong et al., fornecem indícios de que esta ferramenta pode, não só capturar dados de pessoas, mas também é possível de se modelar e simular humanos em determinados sistemas.

Desta forma, através destes trabalhos, é possível observar que o HMM é uma forte ferramenta para modelar e simular diferentes aspectos humanos, notando-se sua vasta utilização na literatura. Um possível motivo estaria no fato que muitas das características humanas, como comportamentos e intenções, não serem bem explícitas, sendo somente possível se observar as ações resultantes destas características, como o movimento. Assim, o HMM, pela sua proposta, apresenta-se como um modelo mais próximo da realidade e mais robusto para a modelagem e simulação de humanos.

3.1.6. Principal Component Analysis (PCA)

Outra ferramenta amplamente utilizada na modelagem de humanos é a Principal Component Analysis (PCA) [70]. A PCA é um procedimento que converte um grupo de observações, possivelmente correlacionados, para um conjunto de valores de variáveis não correlacionadas. Através de procedimento é possível de se obter variáveis, denominadas de eigenvectors, que são vetores que melhor representam um conjunto de dados dentro do espaço de observações. Como exemplo, considere a distribuição de pontos 2D como apresentada na figura X. Neste caso, a PCA, permite retornar os vetores v1 e v2, que representam de forma mais apropriada estes pontos que a base ortogonal utilizada inicialmente.

PCA.png

Uma vez que, levantar características de pessoas através dos dados de observações, pode não ser uma tarefa simples, a PCA se torna uma forte ferramenta. Permitindo que o criador do modelo obtenha características, em forma de vetores ortogonais, que melhor representam estes dados, sem que o modelador possua conhecimento prévio ou heurísticas para esta representação. Outra utilidade da PCA deriva-se de uma das suas características, o fato dela retorna um número de componentes principais menor ou igual ao número de variáveis original. Desta forma, ela permite simplificar o espaço de representação original, simplificando, por sua vez, a caracterização de certos padrões.

Kirby e Sirovich [71] utilizam esta característica de redução de variáveis para representação de um determinado espaço de dados para gerar características para a representação de faces. Utilizando este conceito, Turk e Pentland [72] apresentam uma forma de reconhecimento de faces. Neste trabalho, Turk e Pentland inicialmente capturam uma base de dados de diferentes imagens, de resolução de NxN pixeis, de faces humanas. Considera-se um espaço vetorial de NxN, onde cada imagem é tratada como sendo um ponto dentro deste espaço, e todas as imagens capturadas são plotadas neste espaço. Uma PCA é executada dentro deste espaço para se levantar as variáveis (imagens) mais representativas, denominadas de eigenfaces. Para se detectar se uma imagem é uma face, basta verificar se esta imagem se aproxima do espaço composto pelas eigenfaces, e é possível de se verificar se esta imagem é de uma pessoa conhecida, verificando se esta imagem se aproxima de um rosto conhecido do banco através dos pesos relativos ao eigenface.

A técnica de PCA também pode ser utilizada para detectar diferentes características de humanos. Sanger apresenta em seu trabalho [((bibicite Sanger2000))] uma representação de movimentos de braços através da sobreposição de movimentações características levantada por PCA. Já, Raskin e Terry [74] apresentam um estudo de características que predominam em pessoas narcisas, através de questionários psicológicos efetuados em uma população.

Eagle e Pentland [((bibicite EaglePentland06))] aprestam uma proposta para a caracterização de padrões de comportamentos humanos, denominados de eigenbehavious, através da localização das pessoas em relação a horários e dias de semana e o uso de PCA. Neste trabalho, os autores coletaram dados de diferentes pessoas dentro da universidade MIT durante um período. Através desta analise, os autores observam que comportamento das pessoas, em um determinado dia, pode ser representado por alguns comportamentos padrões, e através destes padrões, pode-se prever o comportamento no resto do dia destas pessoas com uma acurácia de 79%. Outro resultado obtido pelos autores aponta que através destes comportamentos, pode se gerar grupos de afiliação, e prever, com 96% de acurácia, o comportamento restante do dia deste grupo.

Assim, estes trabalhos apresentados nesta seção, mostram a capacidade de uso da PCA para levantar e/ou simplificar a melhor caracterização de determinados dados observados, mesmo quando estas características não são possíveis de se levanta a principio por serem não triviais. Além disso, é possível de se detectar ou prever outros dados observados utilizando estas características levantadas.

3.1.7. Sistemas Multi-Agentes

- Wooldridge2009 [42]: definição de sistemas multi-agentes.
- Silverman02 [2]: framework para simulação de multi-agentes com emoções.
- Johansson2010 [34]: uso de uma transição temporal em multi-agentes com emoções.
- Gero2002 [46] : uso de cognição para a criação de agentes que geram "designs".
- artigos postados por Maíra Gatti.

(CPT: Reescrevi este parágrafo) Sistemas Multi-agentes, como o próprio nome diz, consistem em sistemas computacionais compostos por elementos denominados agentes. Os agentes, por sua vez, possuem determinadas características, sendo as principais: a autonomia, tomando decisões de forma independente dos outros agentes no que diz respeito às ações a serem executadas para atingir objetivos e; a capacidade de interação com outros agentes [42].//

CPT: Agentes em geral podem ser definidos como sistemas computacionais capazes de atuar de forma independentemente e autônoma visando atingir as suas metas, interagindo com o ambiente computacional no que se encontram e com outros agentes nesse ambiente. A definição de agente no entanto é abrangente, pois inclui desde agentes reativos, que percebem o estado do ambiente e reagem, até agentes que raciocinam e mantém um modelo mental de crenças, desejos e até emoções [46].

CPT: Um Sistema Multi-Agente consiste em um conjunto (homogêneo ou heterogêneo) de Agentes que interagem no ambiente, cooperando, coordenando e negociando para cumprir as suas metas individuais e globais. A partir destas interações em muitas ocasiões o sistema apresenta um comportamento emergente. O comportamento emergente ocorre a partir da interação entre os agentes a um nível, gerando um comportamento em um nível mais alto [1], por exemplo, em um time de futebol, o comportamento individual de cada agente não determina a posse de bola maior para um ou outro time, mas essa estatística da equipe é gerada pela interação entre os agentes (os jogadores de ambos os times) dentro do jogo.

CPT: Os Sistemas Multi-Agente abrem uma possibilidade muito grande para a simulação de comportamento social, pois permite modelar comportamentos e reações de agentes individuais (pessoas) em um ambiente (sociedades ou organizações) de forma heterogênea, para observar a evolução do ambiente a partir das interações desses agentes. Como um exemplo, [92] propõe um modelo de evolução de grupos rebeldes em uma sociedade, modelando as pessoas, políticos e rebeldes como agentes que interagem e surgem dentro de uma sociedade que simula a realidade. Este modelo foi desenvolvido utilizando MASON [88], um simulador que será detalhado na Seção 4.

RGH: Agentes dotados de mecanismos de simulação de emoções podem parecer ser mais reais, como conjectura Silverman [2], mesmo se desprovidos de mecanismos de raciocínio mais elaborados. Frente a isso, Silverman propõe um framework para facilitar o estudo de diferentes modelos de comportamento em agentes. A integração de computação emotiva ao modelo de agentes não apenas habilita-os a tomar melhores decisões mas também torna-os mais convincentes durante a interação com humanos. Entretanto, apesar de um bom esforço de modelagem, seu trabalho não reconstitui eventos históricos com simulação, o que ajudaria em muito na validação do modelo. É importante lembrar que comportamento convincente não é suficiente para o estudo do comportamento emergente.

(CNG)
Instituições eletrônicas são ambientes normativos que regulam interações entre agentes e/ou pessoas. O principio das instituições eletrônicas é modelar o que são instituições, que são um conjunto de convenções e normas que definem as interações de pessoas. Este modelo foi implementado para comercio eletronico mediado por agentes. Assim, instituições eletrônicas foram empregadas para leilões eletrônicos onde lances são feitos por agentes autonomos ou pessoas distribuídas fisicamente ei.pdf. Recentemente foi criado um sistem para o gerenciamento de recursos é controlado por politicas definidas 56_garrido_ccia09.pdf

3.1.8. Redes Neurais

[MAK] [98] An Introduction to Neural Networks é uma introdução boa e completa sobre redes neurais

[MTH]
[95] Redes Neurais Artificias são sistemas paralelos compostos por unidades de processamento simples, dispostas em camadas e altamente interligadas e elas foram construídas baseado no cérebro humano. Esse tipo de sistema é uma forma diferente de conceber sistemas de computação que não executam programas, mas comportam-se, reagem, se organizam e aprendem, adquirindo capacidade de generalização.

- Bhatti2004 [32]: reconhecimento de emoções através de voz.
- Kim2009 [45] (2a vez): uso de redes neurais para o Theory of Minds.

As pesquisas em Redes Neurais, ou Redes Neurais Artificiais, de forma abreviada, RNAs, tiveram seu início com o estudo de McCulloch e Pitts, publicado em 1943. Os pesquisadores se basearam no neurônio biológico para formular uma proposta de modelo matemático capaz de determinar o funcionamento do neurônio [52].

JDC begin
A função mais básica de redes neurais é classificação e aproximação de funções. Alguns usos comuns de RNA são:

  1. Classificação de entradas, usando algoritmos de aprendizado para aprender a classificação.
  2. Levantar um sistema de controle atraves do aprendizado de funções

Criar um sistema de controle pode ser feito com redes neurais, usando-a para aprender as respostas do sistema e depois inverter a rede, para que ela possa, dado um estado do objeto a ser controlado, fornecer a entrada que o fará atingir o estado desejado.

JDC end

[MTH]
[96] Exemplo de um neurônio de McCulloch-Pitts (1943)

redes04.png

Considerando uma unidade j em uma dada rede, a resposta dessa unidade é expressa por:

redes03.png

onde a função sinal(sgn) assume dois valores:

redes02.png

"mi" é o limiar("bias") e,

redes01.png

A partir da formalização do neurônio, foi possível constituir uma rede (diversos neurônios e conexões entre os mesmos), tarefa favorecida com o desenvolvimento da computação. Desta forma, pode-se dizer que RNAs são modelos matemáticos simulados em computador inspirados no cérebro humano.

[RDP] Atualmente, RNAs têm sido utilizadas tanto na previsão do comportamento do mercado financeiro para a construção de estratégias de compra e venda de ações[Bosaipo] quanto na precificação das próprias ações [ Mello]. Sistemas baseados em RNAs também são utilizados para recuperação de informação em grandes bases documentais, como é o caso da Web [Ferneda], em Análises de Sequências (nucleotídeos ou aminoácidos), obtidas a partir do seqüenciamento de genomas de diversos organismos [LNCC], em aplicações de OCR (Optical Character Recognition) e em experimentos de física de alta energia [Silva]. Estes poucos exemplos dão uma noção da diversidade de suas aplicações.

Redes Neurais são compostas por unidades de processamento simples, que podem ser executadas em paralelo, dispostas em camadas e interligadas,; armazenam informações e desenvolvem capacidade adaptativa, visto que comportam-se reagindo, organizando e aprendendo.

O desenvolvimento de RNAs pode seguir a metodologia proposta por [53], composta pelas seguintes etapas:

a) Definição do problema: averiguar as características do problema para determinar se são condizentes com a utilização de RNAs. Características consideradas desejáveis em uma aplicação para RNAs incluem: regras de resolução de problemas (regras desconhecidas ou difíceis de determinar) e disponibilidade de um grande número de exemplos. Com relação às áreas de aplicação, exemplos envolvem: reconhecimento de formas geométricas, tratamento de sinais, visão, fala, previsão e modelagem, auxílio à tomada de decisão, robótica, entre outras;

b) Seleção e adequação dos dados: é importante a disponibilidade de dados, considerando quantidade e qualidade. Por exemplo, um pequeno conjunto de dados pode significar que a rede não criará um modelo representativo adequado para um bom desempenho quando submetida à situações reais. Outras considerações que envolvem os dados: devem englobar todos os aspectos do problema a ser resolvido e, em geral, devem ser convertidos para um formato quando forem utilizados pela rede;

c) Treinamento da rede: consiste na aplicação do algoritmo de aprendizagem selecionado à todos os exemplos do conjunto de treinamento iterativamente, até que a rede alcance um comportamento desejável. Caso tal comportamento não venha a ser atingido, deve-se realizar uma avaliação dos dados, podendo levar a uma nova adequação dos dados (retornar a etapa anterior);

d) Teste da rede: implica no teste da rede, visando a verificação do modelo criado pela mesma. Tal verificação consiste em determinar o nível de acerto na utilização de dados que não foram aplicados à rede. Caso o nível de acerto não esteja em um patamar aceitável, pode-se alterar o algoritmo de aprendizagem, a topologia de rede ou o conjunto dos dados (requer retorno as etapas anteriores);

e) Uso em campo: nesta etapa, o modelo criado pode ser implementado para uso contínuo, independente do algoritmo de aprendizagem, o que não significa a inexistência de erros. Deve-se ressaltar, conforme mencionado nas etapas “c” e “d”, que em certos casos é necessário retornar a uma etapa anterior, por exemplo, quando a finalidade de uma etapa não é atingida ou deseja-se resultados melhores.

Com relação à modelagem e simulação de seres humanos, as RNAs podem ser úteis, visto que os problemas desta natureza possuem características condizentes com o emprego de tais redes. Um exemplo, é o estudo de [32], o qual propiciou o desenvolvimento de um sistema de reconhecimento de emoções baseado em discurso (fala) independentemente de idioma, no qual a classificação de emoções é realizada por uma Rede Neural Modular.

As entradas para a rede neural são características selecionadas por meio de uma abordagem de seleção, a qual envolve a aplicação de SFS (Sequential Forward Selection) com uma rede, denominada Rede Neural de Regressão Geral, que atua em conjunto com um método de seleção baseado em consistência. Desta forma, tais características, levantadas a partir de estudos prosódicos, são identificadas e extraídas de dados de discursos. Um conjunto de discursos emocionais de diferentes pessoas falando diversos idiomas foi coletado para testes de viabilidade do sistema, rendendo resultados satisfatórios.

[MAK]

3.1.9-0 Support Vector Machines (SVM)

Support Vector Machines (SVM) é um método matemático para classificar objetos. É chamado um large-margin-classifier (classificador de margem grande), porque o classificador é escolhido de forma que a área ao redor do hiperplano (que separa os objetos no espaço), que é livre de objetos, é máxima. Para achar um hiperplano é necessário que os objetos são linearmente seperavéis. Como isso muitas vezes não é possível para um espaço dado, é applicado o kernel-trick, que é uma transormação do espaço dado para um espaço de dimensão maior onde os objetos são linearmente separavéis.

3.1.9 CSP: Sistemas Baseados em Regras (Rule-Based Systems)

MDO:
Para entendimento, teoria e prática de sistemas baseados em regras (entre outros pertencentes ao mundo de sistemas baseados em conhecimento), uma ótima bibliografia é [50].

Considerando que situações, como por exemplo, diagnóstico, interpretação de dados, otimização ou comportamento social, podem ser expressas por meio de regras bem estabelecidas, foram concebidos os sistemas baseados em regras. Um sistema baseado em regras é uma espécie de modelo que adota regras explícitas para expressar o conhecimento do domínio de um determinado problema. O sistema possibilita por meio da relação entre conhecimento e fatos sobre um certo problema, a inferências de regras relacionadas a tais fatos.

Basicamente, os módulos de um sistema desta natureza são:

a) Base de conhecimento: representada por uma base de regras de um domínio do conhecimento. De maneira simplificada, as regras são descritas da seguinte forma: Se a então b, onde a é a especificação de situação (condição) e b é a consequência desencadeada no caso da condição ser atendida;

b) Memória: para armazenar fatos iniciais ou hipóteses sobre o problema em questão;

c) Interface do usuário: para introdução de dados por parte do usuário, como fatos e, apresentação das conclusões;

d) Interpretador de regras: também conhecido como mecanismo de inferência, é constituído pelo algoritmo que realiza a correspondência entre os fatos iniciais, introduzidos pelo usuário e armazenados na memória e as regras existentes na base de conhecimento, procurando a regra mais adequada ao domínio.

RGH: Sistemas baseados em regras são a principal forma de implementação de sistemas especialistas [99]. Este último tipo de sistema visa a construção de programas que simulam o conhecimento humano em algum domínio específico através de um processo mais semelhante à lógica humana, que é mais abstrata e descentralizada que especificações formais de resolução de problemas.

RGH: Um problema prático dos primeiros sistemas baseados em regras é que cada regra era testada isoladamente sobre cada fato na memória. O algoritmo Rete [100], originalmente proposto em 1974, foi um marco importante nesta área, pois permitiu resolver problemas práticos, obtendo melhor performance às custas do uso adicional de memória por meio de uma representação em grafo dos fatos e regras, que encontra todos os objetos que casam com todos os padrões de forma eficiente e, em teoria, independente do número de regras no sistema. Rete suporta encadeamento progressivo de regras de inferência, e pode ser logicamente descrito como repetida aplicação de modus ponens ($(P \land (P \Rightarrow Q)) \Rightarrow Q$) [101].

RGH: Dentre os principais sistemas baseados em regras que estendem o algoritmo Rete para uso em problemas de mais larga escala, podemos citar:

  • CLIPS [104]: Inicialmente desenvolvido pela NASA mas agora de domínio público, é provavelmente uma das ferramentas mais utilizadas atualmente para a construção de sistemas especialistas, devido à sua velocidade e ao fato de ser um sistema aberto. É a implementação oficial de Rete II [105], um sucessor proprietário de Rete que, além de obter melhor performance em bases maiores [106], inclui outras melhorias como suporte a encadeamento regressivo.
  • JRules [107]: Um tipo de Sistema de Gerenciamento de Regras de Negócio (Business Rule Management System (BRMS)) desenvolvido pela ILOG, posteriormente adquirida pela IBM. JRules emprega uma extensão de Rete denominada RetePlus [108], incremental, que proporciona maior desempenho para tipos de aplicações envolvendo computação e correlação.

4. Simuladores e Ferramentas

- STELLA, NetLogo, MASON, ALICE, Simula, MATER, entre outros (referências: Simuladores e Jogos).
MDO:
- Excelente software para modelagem e verificação da dinâmica de redes Bayesianas: Genie e Smile - Clique aqui para baixá-los a partir do site da Universidade de Pittsburgh. Genie é o software de modelagem (que roda em Windows) e Smile uma biblioteca portável. Ambos são muito simples de instalar e utilizar, porém facilitam muito o estudo de redes de Bayes.

Para a prática da modelagem e da simulação de sistemas, uma série de recursos computacionais, simuladores e ferramentas, foi desenvolvida, a citar: DYNAMO, STELLA, NetLogo, MASON, SimCidade, entre outros. Alguns destes simuladores e ferramentas serão mostrados a seguir, ressaltando que o objetivo é apresentar uma breve descrição dos mesmos, sendo que maiores detalhes poderão ser encontrados nas referências.

DYNAMO é uma linguagem destinada a construção de modelos dinâmicos de sistema, sendo considerada a primeira linguagem para esta finalidade [1]. É uma linguagem de simulação para manipulação de um número arbitrário de equações.

STELLA é uma linguagem de simulação de modelos dinâmicos de sistema, semelhante ao DYNAMO, desenvolvida para as plataformas Macintosh e Windows. No entanto, possui algumas características adicionais, como a interface gráfica. Há a possibilidade de experimentar o aplicativo por 30 dias antes de efetuar a compra, se desejar, podendo inclusive, usar alguns exemplos disponibilizados no site, classificados de acordo com áreas, como: biologia, matemática, social, entre diversas outras.

Na Figura ….. é apresentada a estrutura de um modelo de dinâmica de imigração (social), com aspectos relacionados às populações de México e Estados Unidos, disponibilizado no site. Além disso, pode-se encontrar na página eletrônica, tutoriais e estudos de casos, discutindo resultados de simulações executadas usando STELLA [87].

STELLA2.png

Figura …: Simulador STELLA com modelo de dinâmica de imigração

O NetLogo é um ambiente programável que visa a modelagem e a simulação de sistemas descentralizados. É uma ferramenta gratuita, baseada em agentes, capaz de atuar no campo das ciências sociais. Possui linguagem de programação simples, recursos de interface gráfica e simulação participativa, biblioteca com modelos, entre outros recursos [90]. Na figura ….. é apresentada a tela inicial do NetLogo, versão 1.4.2.

NetLogo2.png

Figura ….: Tela inicial do NetLogo

MASON é um simulador multi-agentes de eventos discretos, baseado na tecnologia Java. Contém uma biblioteca com diversos modelos e ferramentas para a visualização (2D e 3D), sendo que para a visualização tridimensional é preciso instalar a API (Application Programming Interface) Java3D. Na Figura ….. é apresentado um modelo sendo executado no browser [88].

MASON2.png

Figura …: Simulação de comportamento de partículas usando o MASON

SimCidade é um simulador baseado em agentes reativos, desenvolvido no Brasil, empregado para simulação de crescimento urbano. Foi aplicado inicialmente para a cidade de Bauru, situada no estado de São Paulo, usando na calibração e validação do protótipo, dados geográficos, extraídos a partir de imagens de satélite, que representavam a ocupação e utilização efetiva do uso do solo da cidade citada. Os resultados foram considerados satisfatórios segundo os autores, indicando que sistemas multi-agentes são aplicáveis a modelagem de problemas desta natureza [89].

Outros simuladores, que empregam a ideia de jogabilidade serão descritos na próxima seção, que apresenta diversos jogos, amplamente empregados nas tarefas de modelagem e simulção de seres humanos.

5. Modelamento e Simulação de Pessoas em Jogos Digitais

Dentro das diversas áreas de computação, a área de jogos digitais é uma das áreas que tem grande foco na modelagem e simulação de humanos. Isso se deve ao fato que pessoas se tornam uma chave central dentro da área de jogos, seja esta pessoa, o próprio jogador, as pessoas com quem ela irá jogar com ou contra, ou até mesmo os personagens virtuais que participam e contribuem para a construção da experiência lúdica do jogador. Devido a este fato, muitos trabalhos têm como objetivo atingir um modelo ou forma de simulação de humanos realista e/ou natural, transpondo aos jogadores da existência desse personagem real ou virtual, seja através de algoritmos computacionais, ou, seja através de esforços nas formas de design dessas pessoas. Outra característica destes ambientes está no fato deles modelarem casos reais e mais específicos para cada jogo, isso leva a um estudo mais aprofundado do caso de uso, podendo se levantar características mais profundas destes modelos, e assim, criando um esforço mutuo computacional e de design, podendo gerar modelos mais específicos, porém mais realistas.

Trabalhos como os de Shotton et al. [13] e Wang e Popovi [75] apresentam formas de modelar e incluir o usuário dentro de um ambiente virtual, de forma que possam interagir de forma natural dentro deste ambiente. Shotton et al. utiliza a uma extensão da técnica de arvores de decisão, denominada floresta de decisões, para determinar qual parte do corpo um pixel de um mapa de profundidades pertence, dado os seus vizinhos e treinamentos prévios. Utilizando essa informação da posição das partes do corpo, é possível de se obter a possível pose do jogador. Um ponto importante neste trabalho é o fato do sistema ser implementado se focando em jogos. Uma vez que o sistema utiliza treinamento prévio para a detecção, poses que não foram treinadas previamente podem possuir baixa probabilidade de acerto, porém, no caso de uso em jogos algumas sequencias de possíveis poses podem ser consideradas, assim melhorando a taxa de acertos.

Outros trabalhos como os de Pinhanez et al. [76] e de Bibick et al. [77], apesar de não tratarem diretamente com jogo digitais, mas sim, entretenimento digital, também utilizam este conceito de modelar o usuário dentro do sistema computacional. Um ponto importante é que ambos os trabalhos tem como parte central o uso de design do ambiente para uma narrativa, permitindo uma modelagem mais precisa do usuário, assim, enriquecendo a experiência narrativa dos usuários. A figura X apresenta imagens dos dois sistemas apresentados aqui.

SingSong.png kidsRoom.png

Figura X: imagens dos sistemas de Pinhanez et al. [76] e de Bibick et al. [77]

Já, trabalhos como os de Muller et al. [78] e Tokunaga et al. [79] apresentam formas de representar outras pessoas que participam jogando com ou contra o jogador. Muller et al. apresentam uma proposta para interação a distancia para jogos entre jogadores pela rede. Aqui, as interações e imagem dos jogadores são projetadas na tela, de forma a aumentar o engajamento dos jogadores sobre distancia. Tokunaga et al., por sua vez, apresentam uma forma de representar os jogadores remotos dentro do ambiente virtual, de forma que a diferença do estilo e realismo, existente convencionalmente entre as imagens do jogadores e do ambiente virtual, não quebrem a experiência do jogo. Para tal, os autores propõe a representação dos jogadores e ambiente com um estilo não foto-realístico similar, assim, tentado modelar os jogadores e ambiente com um estilo único, de forma a unificar a imagem de ambos, e por sua vez, aumentar a imersão dos jogadores. A figura X apresenta o trabalho de Tokunaga et al.

tokunaga2009.png

A modelagem e simulação de comportamentos de personagens virtuais, que criem a ilusão de sua existência real, é um dos grandes desafios buscados pela área de jogos. Diversos trabalhos utilizam os conceitos apresentados na seção “Formas de Modelagem e Simulação” com o design de personagens para atingir este objetivo. Pivazyan [80] apresenta proposta de formas de detecção de caminho considerando variáveis randômicas. Por exemplo, para se exercer uma detecção de caminho a se seguir dentro de um mapa, um simples algoritmo de A* pode ser utilizado. Porém, em muitas situações de jogos, existem variáreis a se considerar, e muitas delas podem não ser determinística, sendo randômicas. Considere no exemplo de detecção de caminho, a existência de inimigos que atacam o jogador, regidos de regras randômicas. Neste caso, a simples implementação do algoritmo de A* não cria uma movimentação natural, assim, a autora apresenta um algoritmo para a detecção de um caminho que considera estas variáreis randômicas.

Outro exemplo do uso de modelos mais parecidos com humanos é o trabalho de Breyer [81]. Neste trabalho, apresenta-se uma proposta de escolha de alvos utilizando uma forma elíptica de visão, ao contrario de um leque de visão, também considerando aspectos humanos, como a Pivazyan. Já Lynch [82], tenta incluir aspectos como personalidades nos personagens virtuais, utilizando conceitos de psicologia, de forma a criar personagens virtuais mais realistas e naturais.

Além, destes trabalhos acadêmicos apresentados aqui, existem inúmeros exemplos de jogos que tentam modelar e simular ações e comportamentos humanos de forma simplificada, mas que criam uma sensação de realismo e naturalidade dos personagens. Exemplos estes, como o do jogo Simcity [85], modelado uma cidade e sua evolução, ou o jogo the Sim [86], que modela a vida e o dia-a-dia de uma pessoa. O projeto Façade [83], por sua vez, apresenta uma narrativa interativa utilizando personagens simulados, onde o jogador pode conversar com estes tentando resolver o problema desses personagens. Este trabalho se mostra interessante, não só devido a sua repercussão na área de jogos, mas também, por integrar de forma direta à narrativa do jogo à modelagem e simulação de humanos.

Através desses trabalhos apresentados nessa seção, podemos levantar que muitos jogos digitais possuem fortes resultados na modelagem e simulação de pessoas. Considera-se que este fato vem de algumas características desta área que são:

  • Foco nas pessoas como centro de pesquisa e desenvolvimento. Sejam estas pessoas os jogadores, as pessoas que jogam contra ou com, ou personagens virtuais.
  • Uso de casos reais, e mais específicos, Possibilitando o levantamento de características mais profundas e criando uma sinergia entre design e computação.

Desta forma, considera-se que é crucial de se pesquisar trabalhos desta área quando se trata de modelagem e simulação de humanos.

6. Discussão Final

6.1. Comparação das Diferentes Abordagens

- Resumir todos os trabalhos, comparando-os (gerar uma tabela? Ou gráfico? apresentando o posicionamento dos trabalhos, em relação a aspectos do nível de modelagem, abordagem, complexidade, expressividade, computabilidade).

Referências

Artigos:

1. Gilbert, G.N. and K.G. Troitzsch, Simulation for the social scientist. 2nd ed. 2005, Maidenhead, England ; New York, NY: Open University Press. xi, 295 p. Chapter 1 S4SSchapter 1.pdf. Chapter 3 S4SSchapter 3.pdf.
2. (DMT) Silverman, B.G.; Johns, M.; Weaver, R.; O'Brien, K,; Silverman, R., Human Behavior Models for Game-Theoretic Agents: Case of Crowd Tipping. Cognitive Science Quarterly, 2002. Volume 2, Issue 3/4, Fall/Winter 2002. Silverman2002.pdf.
3. Pinhanez, C. The Human Facet of a Service System. DRAFT. human facet pinhanez ver mar11.pdf
4. Picard, R.W., Affective Computing. 1997, Cambridge, Massachusetts: The MIT Press. 292. Chapter 6 picard chapter 6.pdf. Chapter 7 picard chapter 7.pdf.
5. Pentland, A. Social Dynamics: Signals and Behavior. In IEEE Int'l Conf. Developmental Learning (ICDL) 2004, Oct. 20-22, San Diego, CA. TR-579.pdf
6. Eagle, N. and Pentland, A. Eigenbehaviors: Identifying Structure in Routine. Ubicomp '06, September 17-21, 2006, Orange County, CA TR-601.pdf
7. Wen Dong, Ankur Mani, Alex Pentland, Bruno Lepri, and Fabio Pianesi. Modeling Group Discussion Dynamics. Submitted to the IEEE Transactions on Autonomous Mental Development. (April 2009) TR-628.pdf
8. Breazeal, Cynthia; Brooks, Rodney, Robot Emotion: A Funcional Perspective (tirado do site: http://robotic.media.mit.edu/, acessado em 20/03/2011)
9. Setzer, V. W. AI - Artificial Intelligence or Automated Imbecility? Can machines think and feel? http://www.ime.usp.br/~vwsetzer/AI.html
10. Holland, J.H., Adaptation in natural and artificial systems : an introductory analysis with applications to biology, control, and artificial intelligence. 1st MIT Press ed. Complex adaptive systems. 1992, Cambridge, Mass.: MIT Press. xiv, 211 p.
11. Mackenzie, I.S. Motor Behavior Models for Human-Computer Interaction. In: Carroll, J.M., HCI models, theories, and frameworks : toward a multidisciplinary science. Morgan Kaufmann series in interactive technologies. 2003, San Francisco, Calif.: Morgan Kaufmann. xvi, 551 p. mackenzie 03.pdf
12. Sanderson, P. Cognitive Work Analysis. Carroll, J.M., HCI models, theories, and frameworks : toward a multidisciplinary science. Morgan Kaufmann series in interactive technologies. 2003, San Francisco, Calif.: Morgan Kaufmann. xvi, 551 p. sanderson 03.pdf
13. Shotton, J., et al. Real-Time Human Pose Recognition in Parts from Single Depth Images. in To appear in CVPR'11. 2011. BodyPartRecognition MSR 11.pdf
14. Weiss, G. Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press, 2000.
15. Nicholas R. Jennings. 2000. On agent-based software engineering. Artif. Intell. 117, 2 (March 2000), 277-296. DOI=10.1016/S0004-3702(99)00107-1 http://dx.doi.org/10.1016/S0004-3702(99)00107-1 jennings00.pdf
16. Joseph Bigus, Jennifer Bigus. Constructing Intelligent Agents Usgin Java, Second Edition. Ed. Wiley.
17. A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: A BDI reasoning engine. In R. Bordini, M. Dastani, A. Seghrouchni, and J. Dix, editors, Multi-Agent Programming. Kluwer, 2005.
18. Sean Luke, Claudio Cioffi-Revilla, Liviu Panait, Keith Sullivan, and Gabriel Balan. 2005. MASON: A Multiagent Simulation Environment. Simulation 81, 7 (July 2005), 517-527. DOI=10.1177/0037549705058073 http://dx.doi.org/10.1177/0037549705058073 luke05.pdf
19. Charles M. Macal and Michael J. North. 2006. Tutorial on agent-based modeling and simulation part 2: how to model with agents. In Proceedings of the 38th conference on Winter simulation (WSC '06), L. Felipe Perrone, Barry G. Lawson, Jason Liu, and Frederick P. Wieland (Eds.). Winter Simulation Conference 73-83.
20. Charles M. Macal and Michael J. North. 2010. Tutorial on agent-based modeling and simulation. Journal of Simulation (2010) 4, 151–162 macal10.pdf Slides: MacalNorth slides.pdf
21. MIller, Peter. Teoria dos Enxames. Revista National Geographic Brasil, Julho de 2007, pg. 40-52
22. Gatti, Maíra Athanázio de Cerqueira; Lucena, Carlos José Pereira de. Engineering Self-Organizing Emergent Multi-Agent Systems: A Design Method and Architecture. Rio de Janeiro, 2009. 153p. DSc Thesis — Departamento de Inform´atica, Pontif´ıcia Universidade Cat´olica do Rio de Janeiro. gatti09.pdf
23. Rabiner, L.R. and B.H. Juang, An Introduction to Hidden Markov Models. IEEE ASSP Magazine, 1986. 3(1): p. 4-16. rabiner86.pdf
24. DMT Cathy Ennis, Rachel McDonnell, and Carol O'Sullivan. 2010. Seeing is believing: body motion dominates in multisensory conversations. In ACM SIGGRAPH 2010 papers (SIGGRAPH '10), Hugues Hoppe (Ed.). ACM, New York, NY, USA, , Article 91 , 9 pages. DOI=10.1145/1833349.1778828 http://doi.acm.org/10.1145/1833349.1778828 Siggraph2010.pdf
25. ECT: M. Wooldridge and N. R. Jennings, Intelligent agents: theory and practice, Knowledge Eng. Rev., vol. 10(2), pp. 115–152, 1995. Wooldridge.Jennings.95.pdf
26. ECT: M. E. J. Newman. The structure and function of complex networks. SIAM Review, 2003. graphsurvey.pdf
27. DMT Salvi, J.; Pagès, J.; Batlle, J. Pattern codification strategies in structured light systems. In Pattern Recognition (April 2004), vol. 37, pp. 827–849. 6, 47 structured.pdf
28. Alex Pentland and Andrew Liu. 1999. Modeling and prediction of human behavior. Neural Comput. 11, 1 (January 1999), 229-242. DOI=10.1162/089976699300016890 http://dx.doi.org/10.1162/089976699300016890
29. Pentland, A.; , "Looking at people: sensing for ubiquitous and wearable computing ," Pattern Analysis and Machine Intelligence, IEEE Transactions on , vol.22, no.1, pp.107-119, Jan 2000. doi: 10.1109/34.824823. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=824823&isnumber=17859
30. Jie Yang; Yangsheng Xu; Chen, C.S.; , "Human action learning via hidden Markov model," Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on , vol.27, no.1, pp.34-44, Jan 1997. doi: 10.1109/3468.553220. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=553220&isnumber=12030
31. Jacob K. Goeree and Charles A. Holt; “Stochastic game theory: For playing games, not just for doing theory”, PNAS September 14, 1999 vol. 96 no. 19 10564-10567, doi: 10.1073/pnas.96.19.10564
32. Bhatti, M.W.; Yongjin Wang; Ling Guan; , "A neural network approach for human emotion recognition in speech," Circuits and Systems, 2004. ISCAS '04. Proceedings of the 2004 International Symposium on , vol.2, no., pp. II- 181-4 Vol.2, 23-26 May 2004 doi: 10.1109/ISCAS.2004.1329238 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1329238&isnumber=29377
33. Cuayahuitl, H.; Renals, S.; Lemon, O.; Shimodaira, H.; , "Human-computer dialogue simulation using hidden Markov models," Automatic Speech Recognition and Understanding, 2005 IEEE Workshop on , vol., no., pp.290-295, 27-27 Nov. 2005 doi: 10.1109/ASRU.2005.1566485 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1566485&isnumber=33227
34. Johansson, A.; Dell'Acqua, P.; , "Introducing time in emotional behavior networks," Computational Intelligence and Games (CIG), 2010 IEEE Symposium on , vol., no., pp.297-304, 18-21 Aug. 2010 doi: 10.1109/ITW.2010.5593342 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5593342&isnumber=5593317
35. Heath, B.; Hill, R. e Ciarallo, F. A Survey of Agent-Based Modeling Practices (January 1998 to July 2008), Journal of Artificial Societies and Social Simulation, Vol. 12, nº 4, 2009, URL: http://jasss.soc.surrey.ac.uk/12/4/9.html.
36. Epstein, J. M. Why Model? Journal of Artificial Societies and Social Simulation, Vol. 11, nº 4, 2008, URL: http://jasss.soc.surrey.ac.uk/11/4/12.html.
37. Izquierdo, L. R.; Izquierdo, S. S.; Galán, J. M. e San, J. I., Techniques to Understand Computer Simulations: Markov Chain Analysis, Journal of Artificial Societies and Social Simulation, Vol. 12, nº 1, 2009, URL: http://jasss.soc.surrey.ac.uk/12/1/6.html.
38. Rahmandad, H. e Sterman, J. Heterogeneity and Network Structure in the Dynamics of Diffusion: Comparing Agent-Based and Differential Equation Models, Management Science, vol 54, no. 5, 2008. Rahmandad_Sterman.pdf
39. Hegselmann, R. and Flache A. Understanding Complex Social Dynamics: A Plea For Cellular Automata Based Modelling, Journal of Artificial Societies and Social Simulation vol. 1, no. 3, 1998, URL: http://jasss.soc.surrey.ac.uk/1/3/1.html
40. Koenderink, J.J.; Richards, W.; , "Multi-level Cellular Automata & Social Dynamics," Computational Science and Engineering, 2009. CSE '09. International Conference on , vol.4, no., pp.174-180, 29-31 Aug. 2009. doi: 10.1109/CSE.2009.239 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5284197&isnumber=5282960
41. Wenhui Liao, Weihong Zhang, Zhiwei Zhu, and Qiang Ji. 2005. A Real-Time Human Stress Monitoring System Using Dynamic Bayesian Network. In Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Workshops - Volume 03 (CVPR '05), Vol. 3. IEEE Computer Society, Washington, DC, USA, 70-. DOI=10.1109/CVPR.2005.394 http://dx.doi.org/10.1109/CVPR.2005.394
42. Wooldridge, M. An Introduction to MultiAgent Systems. Issue 2, John Wiley & Sons, 2009.
43. Russell, S.; Norvig, P. Artificial Intelligence - A Modern Approach. Issue 2, Prentice-Hall, 2003, ISBN:0137903952.
44. Xiaocong Fan, Shuang Sun, Michale McNeese, and John Yen. 2005. Extending the recognition-primed decision model to support human-agent collaboration. In Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems (AAMAS '05). ACM, New York, NY, USA, 945-952. DOI=10.1145/1082473.1082616 http://doi.acm.org/10.1145/1082473.1082616
45. Kyung-Joong Kim and Hod Lipson. 2009. Towards a "theory of mind" in simulated robots. In Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking Papers (GECCO '09). ACM, New York, NY, USA, 2071-2076. DOI=10.1145/1570256.1570278 http://doi.acm.org/10.1145/1570256.1570278
46. John S Gero. 2002. Computational models of creative designing based on situated cognition. In Proceedings of the 4th conference on Creativity \& cognition (C\&C '02). ACM, New York, NY, USA, 3-10. DOI=10.1145/581710.581712 http://doi.acm.org/10.1145/581710.581712
47. Forrester, J. W. Industrial Dynamics. Cambridge: Productivity Press, 1961.
48. Forrester, J. W. Urban Dynamics. Portland: Productivity Press, 1969.
49. Forrester, J. W. World Dynamics. Cambridge: Wright-Allen Press, 1971.
50. Gonzales, Avelino J.; Dankel, Douglas D. - the Engineering of Knowledge-Based Systems, Theory and Practice - Prentice Hall, ISBN 0-13-276940-9, 1993.
51. Casti, J L. Reality rules: Picturing the world in mathematics , Volume I: The Fundamentals. John Wiley and Sons: New York, NY, 1992.
52. McCulloch, W.S., Pitts, W., “A Logical Calculus of the Ideas Immanent in Nervous Activity”, Bulletin of Mathematical Biophysics, Vol. 5, pp. 115-133, 1943.
53. Kinnebrock, W., Neuronale Netze – Grundlagen, Anwendungen, Beispiele, R. Oldenbourg Verlag, GmbH, 1992.
54. Sterman, J. Business dynamics: systems thinking and modelling for a complex world. Boston: Irwin McGraw-Hill, 2000.
55. Morecroft, J. D. W., & Sterman, J. D. Modeling for learning organizations. Portland: Productivity Press, 1994.
56. Kleinrock, L., Queueing systems. Vol.2, Chapter 3, New York: John Wiley, 1975.
57. Mandelbaum, A. and S. Zeltyn, Service Engineering in Action: The Palm/Erlang-A Queue, with Applications to Call Centers, in Advances in Services Innovations, D. Spath and K.-R. Fahnrich, Editors. 2007, Springer-Verlag: Berlin.
58. Zoubin Ghahramani. 1997. Learning Dynamic Bayesian Networks. In Adaptive Processing of Sequences and Data Structures, International Summer School on Neural Networks, "E.R. Caianiello"-Tutorial Lectures, C. Lee Giles and Marco Gori (Eds.). Springer-Verlag, London, UK, 168-197.
59. Sangho Park and J. K. Aggarwal, A hierarchical Bayesian network for event recognition of human actions and interactions. MULTIMEDIA SYSTEMS Volume 10, Number 2, 2004, 164-179, DOI: 10.1007/s00530-004-0148-1.
60. Nicolas Möenne-Loccoz, François Bré mond, and Monique Thonnat. 2003. Recurrent Bayesian network for the recognition of human behaviors from video. In Proceedings of the 3rd international conference on Computer vision systems (ICVS'03), James L. Crowley, Justus H. Piater, Markus Vincze, and Lucas Paletta (Eds.). Springer-Verlag, Berlin, Heidelberg, 68-77.
61. Sebe, N.; Cohen, I.; Huang, T.S.; Gevers, T.; , "Human-computer interaction: a Bayesian network approach," Signals, Circuits and Systems, 2005. ISSCS 2005. International Symposium on , vol.1, no., pp. 343- 346 Vol. 1, 14-15 July 2005
doi: 10.1109/ISSCS.2005.1509924 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1509924&isnumber=32297
62. Rabiner, L.R. and B.H. Juang, An Introduction to Hidden Markov Models. IEEE ASSP Magazine, 1986. 3(1): p. 4-16.
63. Poritz, A. (1982). Linear predictive hidden Markov models and the speech signal. IEEE (Vol. 7, pp. 1291-1294). Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1171633
64. Rose, R. C., & Juang, B. H. (1996). Hidden Markov models for speech and signal recognition. Electroencephalography And Clinical Neurophysiology Supplement, 45(4), 137-152. Retrieved from http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Citation&list_uids=8930521
65. Nwe, T. (2003). Speech emotion recognition using hidden Markov models. Speech Communication, 41(4), 603-623. Retrieved from http://linkinghub.elsevier.com/retrieve/pii/S0167639303000992
66. Furui, S. (2005). Predictive hidden Markov model selection for speech recognition. Ieee Transactions On Speech And Audio Processing, 13(3), 377-387. Retrieved from http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1420372
67. Pau-Choo Chung and Chin-De Liu. 2008. A daily behavior enabled hidden Markov model for human behavior understanding. Pattern Recogn. 41, 5 (May 2008), 1572-1580. DOI=10.1016/j.patcog.2007.10.022 http://dx.doi.org/10.1016/j.patcog.2007.10.022
68. Richard Kelley, Alireza Tavakkoli, Christopher King, Monica Nicolescu, Mircea Nicolescu, and George Bebis. 2008. Understanding human intentions via hidden markov models in autonomous mobile robots. In Proceedings of the 3rd ACM/IEEE international conference on Human robot interaction (HRI '08). ACM, New York, NY, USA, 367-374. DOI=10.1145/1349822.1349870 http://doi.acm.org/10.1145/1349822.1349870
69. Thad E. Starner and Alex Pentland. Visual Recognition of American Sign Language Using Hidden Markov Models. Master Thesis, Massachusetts Institute of Technology. 1995
70. Jolliffe, I.T. Principal Component Analysis. 2nd ed., 2002 Springer Series in Statistics.
71. M. Kirby and L. Sirovich. 1990. Application of the Karhunen-Loeve Procedure for the Characterization of Human Faces. IEEE Trans. Pattern Anal. Mach. Intell. 12, 1 (January 1990), 103-108. DOI=10.1109/34.41390 http://dx.doi.org/10.1109/34.41390
72. Matthew Turk and Alex Pentland. 1991. Eigenfaces for recognition. J. Cognitive Neuroscience 3, 1 (January 1991), 71-86. DOI=10.1162/jocn.1991.3.1.71 http://dx.doi.org/10.1162/jocn.1991.3.1.71
73. Sanger, T D. Human Arm Movements Described by a Low-Dimensional Superposition of Principal Components. 2000. The Journal of Neuroscience, 1 February 2000, 20(3): 1066-1072.
74. Raskin, R.; Terry, H. A principal-components analysis of the Narcissistic Personality Inventory and further evidence of its construct validity. Journal of Personality and Social Psychology, Vol 54(5), May 1988, 890-902. doi: 10.1037/0022-3514.54.5.890
75. Robert Y. Wang and Jovan Popovi. 2009. Real-time hand-tracking with a color glove. ACM Trans. Graph. 28, 3, Article 63 (July 2009), 8 pages. DOI=10.1145/1531326.1531369 http://doi.acm.org/10.1145/1531326.1531369
76. Claudio S. Pinhanez, Kenji Mase, and Aaron Bobick. 1997. Interval scripts: a design paradigm for story-based interactive systems. In Proceedings of the SIGCHI conference on Human factors in computing systems (CHI '97). ACM, New York, NY, USA, 287-294. DOI=10.1145/258549.258758 http://doi.acm.org/10.1145/258549.258758
77. Aaron F. Bobick, Stephen S. Intille, James W. Davis, Freedom Baird, Claudio S. Pinhanez, Lee W. Campbell, Yuri A. Ivanov, Arjan Sch\&\#252;tte, and Andrew Wilson. 1999. The KidsRoom: A Perceptually-Based Interactive and Immersive Story Environment. Presence: Teleoper. Virtual Environ. 8, 4 (August 1999), 369-393. DOI=10.1162/105474699566297 http://dx.doi.org/10.1162/105474699566297
78. Florian 'Floyd' Mueller, Stefan Agamanolis, Frank Vetere, and Martin R. Gibbs. 2009. A framework for exertion interactions over a distance. In Proceedings of the 2009 ACM SIGGRAPH Symposium on Video Games (Sandbox '09), Stephen N. Spencer (Ed.). ACM, New York, NY, USA, 143-150. DOI=10.1145/1581073.1581096 http://doi.acm.org/10.1145/1581073.1581096
79. Daniel Makoto Tokunaga, Ricardo Nakamura, and Romero Tori. 2009. Non-photorealistic 3D video-avatar. In SIGGRAPH '09: Posters (SIGGRAPH '09). ACM, New York, NY, USA, , Article 101 , 1 pages. DOI=10.1145/1599301.1599402 http://doi.acm.org/10.1145/1599301.1599402
80. Pivazyan, K. NPC Decision Making: Dealing with Randomness. . Game Programming Gem 6, Charles River Media.
81. Breyer, M. Fast Target Ranking Using an Artificial Potential Field. Game Programming Gem 5, Charles River Media.
82. Lynch, M. F. All About Attitude: Building Blocks for Opinion, Reputation and NPC Personalities. . Game Programming Gem 7, Charles River Media.
83. Michael Mateas and Andrew Stern. Façade: An Experiment in Building a Fully-Realized Interactive Drama. Game Developers Conference, Game Design track, March 2003.
84. Baumol, W. Macroeconomics of unbalanced growth: The anatomy of urban crisis. Amer. Econom. Rev. 57(June) 415–426, 1967.
85. SimCity - Simulador de Cidades. Disponível em: http://simcitysocieties.ea.com/index.php.
86. The Sims - Simulador de vida humana. Disponível em: http://thesims.ea.com/.
87. STELLA. Disponível em: http://www.iseesystems.com/.
90. NetLogo. Disponível em: http://ccl.northwestern.edu/netlogo/.
91. Tulving, Endel; Schacter, Daniel - Priming and Human Memory Systems - Science 19 January 1990 Vol. 247, no. 4940, pp. 301-306. NetLogo.[91]
92. Cioffi-Revilla, Claudio, and Mark Rouleau. MASON RebeLand: An Agent-Based Model of Politics, Environment, and Insurgency. Proceedings of the Human Behavior-Computational Modeling and Interoperability Conference. 2009.
93. Haykin, Simon. Redes Neurais. 2ed. Porto Alegre: Bookman, 2001.
94. Cooper, L.N., A possible organization of animal memory and learning. Proocedings of the Nobel Symposium on Collective Properties of Physical Systems, pp252-264, New York: Academic Press, 1973.
95. Notação de aula de Redes Neurais, aula 01 file Aula-1-05-1.pdf
96. Notação de aula de Redes Neurais, aula 02 file Aula-2-05-1.pdf
97. Camerer, C. F.; Behavioral Game Theory: Experiments in Strategic Interaction; Princeton University Press; 2003; (http://press.princeton.edu/chapters/i7517.html)
98. Kriesel, D., A Brief Introduction to Neural Networks, www.dkriesel.com, A Brief Introduction to Neural Networks (pdf)
99. Giarratano, J. C. e Riley, G. (1994). Expert Systems: Principles and Programming. (PWS)
100. Forgy, C. L. (1982). Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19, 17-37.
102. Moussaïda, M., Helbingb, D. e Theraulaza, G. (2011) How simple rules determine pedestrian behavior and crowd disasters. Proceedings of the National Academy of Sciences of the United States of America, vol. 108 no. 17
103. Reynolds, C. W. (1987). Flocks, herds and schools: A distributed behavioral model. ACM SIGGRAPH Computer Graphics 21, 25-34.
105. RETE-II
109. German Research Foundation, Priority Programme (SPP 1077) : Socionics. Disponível em: [http://www.tu-harburg.de/tbg/Deutsch/SPP/SPP_Abstract.htm] Acessado em 15 de maio de 2011.
110. Thomas Malsch and Ingo Schulz-Schaeffer (2007). Socionics: Sociological Concepts for Social Systems of Artificial (and Human) Agents. Journal of Artificial Societies and Social Simulation vol. 10, no. 1.
111. Martin J. Osborne & Ariel Rubinstein, 1994. A Course in Game Theory, MIT Press Books, The MIT Press, edition 1, volume 1, number 0262650401.

Links:

Simuladores:

  • MAK: Ferramentas de reconhecimento do rosto (face recognition)
  1. Look-Alike Meter, faça upload das fotos de uma criança e seus pais para ver se é mais mãe ou pai http://celebridades.myheritage.com.br/medidor-correspondencia
  2. Teste qual celebridade você parece http://celebridades.myheritage.com.br/FP/Company/try-face-recognition.php
  • ECT: MASON: Um simulador multi-agente Java para eventos discretos. MASON
  • ECT: MATER: Modelo computacional da Universidade de Coimbra que objetiva reproduzir os padrões históricos de ocupação populacional. MATER

Jogos:

RDP: Scratch - Ambiente de programação interativa, criado no Lifelong Kindergarten Group (MIT Media Lab), que permite criar jogos, simulações e muito mais. O programa é mundialmente reconhecido e utilizado como ferramenta educacional que facilita o ensino de programação para crianças "de todas as idades".

RDP: Yenka - Ambiente de programação interativa, similar ao Scratch. Também permite a criação de jogos e simulações de humanos com forte apelo educacional.

Observação: arquivos poderão ser removidos.

Files:

No files attached to this page.


(Voltar para capítulo final)